सरल शब्दों में, यह धारणा आधार और व्युत्पन्न वर्ग के समान है।
बेस क्लास टेम्प्लेट में, आप 'और' के साथ सभी सामान्य विवरणों का उल्लेख करते हैं, जिसका अर्थ है कि इसका उपयोग उन अन्य yaml अनुभाग का विस्तार करने के लिए किया जा सकता है जिनकी इन क्षेत्रों को आवश्यकता है। अब जब आप एक और खंड बनाते हैं जो इस 'बेस क्लास' प्रकार की संरचना के कॉन्फिग मान का सुपरसेट है, तो आप बेस क्लास एंकर (यानी 'और' के साथ शुरू हुआ) के साथ '*' का उपयोग करते हैं। आप वास्तव में 'बेस क्लास' सेक्शन को रखने के लिए '<<:' का उपयोग यमल धारणा के रूप में करते हैं, जिसे आप बाद में ओवरराइड कर सकते हैं।
vsm:
stub_nsx_mgr: &MGR_CTRL_STUB
username: ADMIN
password: $DEFAULT_PASSWORD
deployment: ovf
build: $PR_BUILD
vmnics:
- network: $MANAGEMENT_NETWORK_0
vc: vc_0
ovf_options:
- --diskMode=$DISKMODE
- --deploymentOption=$DEPLOYMENT_OPTION
$MGR_0:
<<: *MGR_CTRL_STUB
ovf_path_regex: 'appliance.*\.ovf'
ovf_options:
- --diskMode=$DISKMODE
- --deploymentOption=$DEPLOYMENT_OPTION
$CTRL_0:
<<: *MGR_CTRL_STUB
ovf_options:
- --diskMode=$DISKMODE
- --allowExtraConfig
$CTRL_1:
*MGR_CTRL_STUB
लेकिन, यदि आप विस्तारित क्षेत्रों को ओवरराइड नहीं करना चाहते हैं, तो आप '<<:' को छोड़ सकते हैं