This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
属性-默认源构造
properties-default-sources 构造类似于 parameters-default-sources 构造。parameters-default-sources 构造允许在样本中重用(来自其他样本的)现有参数,properties-default-sources 构造允许用户根据现有来源指定组件的属性。
组件的属性可以分布在样本的多个部分中。例如,属性可能来自对象参数、返回对象的替换、其他组件的属性或其他组件的输出。在此类情况下,您需要在组件的定义中重新定义在样本的其他部分中出现的属性。显然,这是多余的,且可能会导致出错。为了解决此问题,可以使用 properties-default-sources 构造。properties-default-sources 构造是一个列表,其中每项均标识组件的一些属性的一个来源。
例如,假定一个创建 lbvserver 配置的组件。此组件应按以下所示定义 lbvserver 的属性。
parameters:
-
name: lb
type: ns::lbvserver
components:
-
name: lb-comp
type: ns::lbvserver
properties:
name: $parameters.lb.name
ipv46: $parameters.lb.ipv46
port: $parameters.lb.port
servicetype: $parameters.lb.servicetype
lbmethod: $parameters.lb.lbmethod
<!--NeedCopy-->
在上述示例中,看到 components 部分中定义的所有属性的值均取自 $parameters.lb 对象。尽管它们取自一个来源,但在样书中再次定义了属性。此外,如果向 $parameters.lb 对象添加与 lbvserver 的配置相关的新子参数,您需要更新 lb-comp 组件以添加与新子参数对应的新属性。
为了避免重新定义属性以及为了提取某个组件的所有相关属性而无需明确在 properties 部分中列出它们,可以使用 properties-default-sources 构造。上述示例可以编写如下。
parameters:
-
name: lb
type: ns::lbvserver
components:
-
name: lb-comp
type: ns::lbvserver
properties-default-sources:
- $parameters.lb
<!--NeedCopy-->
在上述示例中,通过使用 properties-default-sources 构造,减小了组件定义的规模,这样,您可以简明地定义组件。此外,每当组件的属性的来源更改时,更改会自动反映出来。例如,在 $parameters.lb 对象中添加新属性“persistencetype”时,由于 persistencetype 是 lbvserver 的属性,因此,默认情况下,此属性添加到 lb-comp 的配置。因此,properties-default-sources 构造提供了定义组件的动态接口,而无需担心组件的属性的来源发生的更改。
计算组件的属性
本节讨论如果在组件中使用 properties-default-sources 构造,如何提取属性。首先,样本编译器根据组件的类型(在上述示例中为 lbvserver)标识组件的属性列表。然后,编译器按这些属性的定义顺序(在组件的 properties-default-sources 部分中)从多个来源中提取它们。如果某个属性存在于多个来源中,则出现在最后一个来源中的该属性的优先级高于其他来源中的该属性。最后,可以在组件的 properties 部分中覆盖使用 properties-default-sources 构造提取的属性。请务必注意,components 部分的定义至少应有一个 properties-default-sources 部分或一个 properties 部分。可以有两者。
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.