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 构造
Properties-default-sources 构造类似于 parameters-default-sources 构造。parameters-default-sources 构造允许在 StyleBook 中重用现有参数(来自其他 StyleBook),而 properties-default-sources 构造允许用户根据现有源指定组件的属性。
组件的属性可能分布在 StyleBook 的各个部分。例如,这些属性可能来自对象参数、返回对象的替换项、其他组件的属性或来自其他组件的输出。在这种情况下,您需要在组件定义中重新定义 StyleBook 其他部分中出现的属性。显然,这是冗余的,并且可能导致错误。为了解决此问题,可以使用 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 对象。尽管它们来自单个源,但这些属性在 StyleBook 中再次定义。此外,如果添加了与 lbvserver 配置相关的新子参数到 $parameters.lb 对象,您需要更新 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”)时,此属性会默认添加到 lb-comp 的配置中,因为 persistencetype 是 lbvserver 的一个属性。因此,properties-default-sources 构造提供了一个动态接口来定义组件,而无需担心组件属性源发生更改。
组件属性的计算
本节讨论如果在组件中使用 properties-default-sources 构造,如何获取属性。首先,StyleBooks 编译器根据组件的类型(在上述示例中为 lbvserver)识别组件的属性列表。接下来,编译器按照它们定义的顺序(在组件的 properties-default-sources 部分中)从多个源获取这些属性。如果一个属性存在于多个源中,则最后一个源中出现的属性优先于其他源。最后,通过使用 properties-default-sources 构造获取的属性可以在组件的 properties 部分中被覆盖。重要的是,组件部分的定义应至少包含 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.