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!
依存関係の検出
StyleBook内のコンポーネントは、同じStyleBook内の他のコンポーネントのプロパティまたはセクションを参照できます。コンポーネントはそれ自体で完結したブロックであり、実行される順序と同じ順序で記述されているとは限りません。StyleBookコンパイラは、コンポーネントが記述されている順序をチェックし、論理的な順序で実行します。
例:
components:
-
name: lbvserver-comp
type: ns::lbvserver
properties:
name: mylb
ipv46: 10.102.190.15
port: 80
servicetype: HTTP
-
name: lb-sg-binding-comp
type: ns::lbvserver_servicegroup_binding
condition: $parameters.create-binding
properties:
name: $components.lbvserver-comp.properties.name
servicegroupname: $components.sg-comp.properties.servicegroupname
-
name: sg-comp
type: ns::servicegroup
properties:
servicegroupname: mysg
servicetype: HTTP
<!--NeedCopy-->
上記の例では、lbvserver-comp、lb-sg-binding-comp、sg-compの3つのコンポーネントが定義されています。このStyleBookが実行されると、まずlbvserver-compが作成されます。lb-sg-binding-compはlbvserver-compのプロパティを参照しますが、StyleBookで2番目に定義されているにもかかわらず、次に作成することはできません。これは、lb-sg-binding-compがまだ作成されていないsg-compにも依存しているためです。結果として、コンパイラはコンポーネントの依存関係がコンポーネント作成時に解決されるようにコンポーネントを並べ替え、この並べ替えられたコンポーネントのリストを実行します。上記のStyleBookの実行順序は、lbvserver-comp、sg-comp、lb-sg-binding-compです。
したがって、StyleBookの作成者はコンポーネントの正しい順序について心配する必要はありません。コンポーネントは任意の順序で記述できます。コンパイラは、コンポーネントが互いをどのように参照しているかに基づいて、コンポーネントの正しい実行順序を計算します。この依存関係の検出と並べ替えは、置換セクションと出力セクションでも機能することに注意してください。
循環依存関係
コンポーネントが別のコンポーネントを参照する可能性があるため、StyleBookの定義に依存関係のサイクルが導入される可能性があります。たとえば、コンポーネントAがコンポーネントBで定義されたプロパティを参照し、コンポーネントBが再びコンポーネントAで定義されたプロパティを参照する場合などです。この種の依存関係は循環依存関係と呼ばれます。循環依存関係は自動的に解決できません。StyleBookの作成者は、そのような循環依存関係を排除するために、StyleBookの定義を手動で修正する必要があります。コンパイラは、循環依存関係が存在する場合、それを特定して報告できます。
次の例は、コンポーネントの循環依存関係を示しています。
components:
-
name: lbvserver-comp
type: ns::lbvserver
properties:
name: $components.lb-sg-binding-comp.properties.name
ipv46: 10.102.190.15
port: 80
servicetype: HTTP
-
name: lb-sg-binding-comp
type: ns::lbvserver_servicegroup_binding
condition: $parameters.create-binding
properties:
name: mylb
servicegroupname: $components.sg-comp.properties.servicegroupname
-
name: sg-comp
type: ns::servicegroup
properties:
servicegroupname: mysg
servicetype: $components.lbvserver-comp.properties.servicetype
<!--NeedCopy-->
上記の例では、lbvserver-comp、lb-sg-binding-comp、sg-compの3つのコンポーネントがあります。lbvserver-compはlb-sg-binding-compに依存し、lb-sg-binding-compはsg-compに依存し、sg-compはlbvserver-compに依存します。ここでは、これらのコンポーネント間に依存関係のサイクルが形成されており、これは自動的に解決できません。結果として、このStyleBookは実行できません。StyleBookコンパイラはこれを検出し、StyleBookがNetScaler® ADMにインポートされるのを防ぎます。
共有
共有
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.