DSC リソース マニフェストの解決プロパティ スキーマリファレンス
概要
外部ソースから入れ子になった構成ドキュメントを解決するためにリソースを呼び出す方法を示します。
メタデータ
SchemaDialect: https://json-schema.org/draft/2020-12/schema
SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/resource/manifest.resolve.json
Type: object
形容
DSC が DSC リソースを呼び出して外部ソースを入れ子になった DSC 構成ドキュメントに解決する方法を定義します。 インポーター リソースを
DSC は、次の 3 つの方法でコマンドにデータを送信します。
input
がstdin
されると、DSC は、データを圧縮された JSON オブジェクトとして表す文字列としてデータを送信します。オブジェクト のプロパティ間にスペースや改行はありません。input
がenv
されると、DSC はデータを環境変数として送信します。 プロパティの名前と値を使用して、入力データ オブジェクト内の各プロパティの環境変数を作成します。args
配列に JSON 入力引数定義が含まれている場合、DSC は、データを圧縮された JSON オブジェクトとして表す文字列として、指定された引数にデータを送信します。
input
プロパティを定義せず、JSON 入力引数を定義しない場合、DSC は入力 JSON をリソースに渡すことができません。 1 つのコマンドに対して定義できる JSON 入力引数は 1 つだけです。
input
プロパティ、args
プロパティ配列内の 1 つの JSON 入力引数、またはその両方を定義する必要があります。
必須プロパティ
resolve
定義には、次のプロパティを含める必要があります。
- 実行可能 を
する
プロパティ
実行可能
executable
プロパティは、実行するコマンドの名前を定義します。 値は、システムの PATH
環境変数で検出可能なコマンドの名前、またはコマンドの完全なパスである必要があります。 ファイル拡張子は、コマンドがオペレーティング システムによって実行可能ファイルとして認識されない場合にのみ必要です。
Type: string
Required: true
args
args
プロパティは、コマンドに渡す引数の一覧を定義します。 引数には任意の数の文字列を指定できます。 リソースのプロパティ バッグを表す JSON オブジェクトを引数に渡す場合は、配列内の 1 つの項目を [JSON オブジェクト] として定義できます。これは、jsonInputArg
文字列プロパティを持つ引数の名前と、mandatory
ブール型プロパティを持つコマンドに対して引数が必須かどうかを示します。
Type: array
Required: false
Default: []
Type: [string, object(JSON Input Argument)]
文字列引数
引数配列内の任意の項目には、config
や --format
など、コマンドに渡す静的引数を表す文字列を指定できます。
Type: string
JSON 入力引数
JSON 入力オブジェクトを文字列として受け取るコマンドの引数を定義します。 DSC は、使用可能な場合に名前付き引数に JSON 入力を渡します。 JSON 入力引数は、次のプロパティを持つ JSON オブジェクトとして定義されます。
jsonInputArg
(必須) - コマンドの JSON データを渡す引数 (--input
など)。mandatory
(省略可能) - コマンドの JSON 入力がない場合でも、DSC が常に引数をコマンドに渡す必要があるかどうかを示します。 その場合、DSC は空の文字列を JSON 入力引数に渡します。
引数配列ごとに定義できる JSON 入力引数は 1 つだけです。
コマンドに対して JSON 入力引数と input
の種類を定義すると、DSC は両方の方法で JSON データを送信します。
input
をenv
と JSON 入力引数として定義すると、DSC は JSON 入力の各プロパティの環境変数を設定し、JSON 入力オブジェクトを文字列として定義された引数に渡します。stdin
と JSON 入力引数としてinput
を定義すると、DSC は stdin を介して、および定義された引数に文字列として JSON 入力を渡します。input
プロパティを定義せずに JSON 入力引数を定義した場合、DSC は JSON 入力を文字列として定義された引数にのみ渡します。
input
プロパティを定義せず、JSON 入力引数を定義しない場合、DSC は入力 JSON をリソースに渡すことができません。 これにより、マニフェストが無効になります。 input
プロパティ、args
プロパティ配列の JSON 入力引数、またはその両方を定義する必要があります。
Type: object
RequiredProperties: [jsonInputArg]
インプット
input
プロパティは、リソースに入力を渡す方法を定義します。 このプロパティが定義されておらず、定義で
このプロパティの値は、次のいずれかの文字列である必要があります。
env
- リソースがインスタンスのプロパティを、同じ名前と大文字と小文字の環境変数として指定することを想定していることを示します。このオプションでは、インスタンス プロパティに対して次のデータ型のみがサポートされます。
boolean
integer
number
string
integer
値のarray
number
値のarray
string
値のarray
配列以外の値の場合、DSC は環境変数を as-is指定した値に設定します。 データ型が値の配列である場合、DSC は環境変数をコンマ区切りの文字列として設定します。 たとえば、
[1, 2, 3]
の値を持つプロパティfoo
は、foo
環境変数に"1,2,3"
として保存されます。リソースが
object
値または複数型配列を持つ複合プロパティをサポートする必要がある場合は、代わりにこれをstdin
に設定します。stdin
-stdin
からインスタンスを表す JSON BLOB がリソースに必要であることを示します。 JSON は、リソースのインスタンス スキーマに従う必要があります。
Type: string
Required: false
ValidValues: [env, stdin]