コンポーネント
StyleBookのComponentsコンストラクトは、StyleBookの中で最も重要なセクションと見なされます。このセクションでは、作成する必要がある構成オブジェクトを定義します。このコンストラクトを使用すると、同じタイプの構成オブジェクトを1つまたは複数作成できます。
componentsコンストラクトは、parametersセクションで提供される入力を使用して、StyleBookによって生成される構成を調整できます。これはオプションのセクションですが、ほとんどのStyleBookにはcomponentsセクションがあります。
次の表は、コンポーネントの主な属性について説明しています。
| 属性 | 説明 |
|---|---|
| 名前 | コンポーネントの名前。英数字の名前を指定できます。名前はアルファベットで始まり、追加のアルファベット、数字、ハイフン(-)、またはアンダースコア(_)を含めることができます。 |
| 説明 | StyleBookにおけるこのコンポーネントの役割の説明。 |
| タイプ | タイプは、このコンポーネントが提供するプロパティを決定します。コンポーネントには2種類のタイプがあります。組み込みタイプ: このタイプはシステムによって提供され、定義する必要はありません。たとえば、NITROエンティティタイプ「lbvserver」や「servicegroup」などです。コンポーネントに組み込みタイプ属性がある場合、NetScaler上にそのタイプの構成オブジェクトを作成します。たとえば、コンポーネントが組み込みタイプ「lbvserver」を参照する場合、このコンポーネントは、構成のターゲットであるNetScalerインスタンス上にロードバランシング仮想サーバーを作成します。複合タイプ: このタイプは、NetScaler Consoleに作成およびインポートした既存のStyleBookを参照します。コンポーネントに複合タイプ属性がある場合、参照されるStyleBookで指定されたすべての構成オブジェクトを、構成のターゲットであるNetScalerインスタンス上に作成します。これにより、複数のStyleBookを組み合わせることができ、各StyleBookが最終構成の一部を作成します。複合StyleBookの詳細については、「複合StyleBookの作成」を参照してください。 |
| プロパティ | コンポーネントタイプ属性に使用できるサブ属性。コンポーネントに有効なプロパティは、そのタイプによって決定されます。組み込みタイプの場合、これらは対応するNitroオブジェクトのプロパティまたは属性です。タイプが別のStyleBookであるコンポーネント、つまり複合タイプの場合、プロパティはそのStyleBookで定義されたパラメーターに対応します。 |
例:
components:
-
name: my-lbvserver-comp
type: ns::lbvserver
properties:
name: $parameters.name
servicetype: HTTP
ipv46: $parameters.ip
port: 80
lbmethod: $parameters.lb-alg
この例では、my-lbvserver-comp というコンポーネントを定義しました。このコンポーネントは ns::lbvserver 型(組み込み型)です。「ns」は、import-stylebooks セクションで指定したネームスペース netscaler.nitro.config とバージョン 10.5 を参照するプレフィックスであり、「lbvserver」はこのネームスペース内の NITRO リソースです。
このセクションのプロパティには、「lbvserver」リソースの必須属性が4つとオプション属性が1つ(lbmethod)含まれており、これらの属性の値を指定できます。この例では、servicetype と port には静的な値を指定し、name、ipv46、lbmethod のプロパティは入力パラメータから値を取得します。パラメータセクションで定義されたパラメータ名は、$parameters.\<name\> の表記を使用して参照します(例: $parameters.ip)。
注
NITRO リソースタイプ(そのコンポーネントプロパティ)の属性名には小文字を使用する必要があります。そうしないと、StyleBook のインポートは失敗します。