Resource Orchestration Service (ROS) が変更セットを実行することでスタックに適用する変更の影響を理解するために、スタックの変更セットを表示できます。このトピックでは、変更セットに含まれる JSON 変更について説明します。
JSON 変更の要素
変更セットの JSON 変更は、以下の要素で構成されています。要素の詳細については、このトピックの「JSON 変更のデータ構造」セクションをご参照ください。
変更: 変更タイプやエンティティなど、ROS に実行させたい変更操作の詳細。
ResourceChange: リソース名、リソースタイプ、変更操作など、ROS に変更させたいリソースと変更操作の詳細。
ResourceChangeDetail: リソースのプロパティや変更操作前後のリソースの状態など、リソース変更の詳細。
ResourceTargetDefinition: リソースのプロパティや構成など、ROS に変更させたいリソースの定義。
ResourcePropertyChange: 変更前後のプロパティ値や名前など、リソースプロパティの変更の詳細。
ModuleInfo: モジュールに関する情報。
JSON 変更のデータ構造
変更
パラメーター | タイプ | 説明 |
ResourceChange | 構造体 | ROS に変更させたいリソースと、ROS にリソースに対して実行させたい操作。 |
タイプ | 文字列 | ROS に変更させたいエンティティのタイプ。 値を Resource に設定します。Resource の値は、エンティティがリソースであることを指定します。 |
ResourceChange
パラメーター | タイプ | 説明 |
アクション | 文字列 | リソースに対して ROS に実行させたい操作。有効な値: Add: リソースを作成します。
Modify: リソースを変更します。
Remove: リソースを解放します。
|
詳細 | 配列 | リソースへの変更の詳細。Action パラメーターが Modify に設定されている場合にのみ、このパラメーターは有効になります。
説明 このパラメーターは、ROS タイプのスタックでのみ使用できます。 |
論理リソース ID | 文字列 | リソースの論理 ID。論理 ID は、テンプレートで定義されているリソース名です。 |
物理リソース ID | 文字列 | リソースの物理 ID。Action パラメーターが Modify または Remove に設定されている場合にのみ、このパラメーターは有効になります。 |
置換 | 文字列 | 新しいリソースを作成し、既存のリソースを削除することでリソースを変更するかどうかを指定します。Action パラメーターが Modify に設定されている場合にのみ、このパラメーターは有効になります。 ROS タイプのスタックの有効な値: True: ROS は、新しいリソースを作成し、既存のリソースを削除することでリソースを変更します。RequiresRecreation パラメーターを Always に、Evaluation パラメーターを Static に設定した場合、Replacement パラメーターを True に設定する必要があります。
False: ROS は、新しいリソースを作成し、既存のリソースを削除することでリソースを変更しません。RequiresRecreation パラメーターを Never に、Evaluation パラメーターを Static に設定した場合、Replacement パラメーターを False に設定する必要があります。
Conditional: ROS は、新しいリソースを作成し、既存のリソースを削除することでリソースを変更する場合があります。RequiresRecreation パラメーターを Always に、Evaluation パラメーターを Dynamic に設定した場合、Replacement パラメーターを Conditional に設定する必要があります。
説明 RequiresRecreation パラメーターに複数の値を指定した場合、Replacement パラメーターの値は、最も影響の大きい RequiresRecreation 値に基づいて変化します。RequiresRecreation 値の影響は、Always、Conditional、Never の順に減少します。
Terraform タイプのスタックの有効な値:
|
リソースタイプ | 文字列 | リソースタイプ。 |
スコープ | 文字列の配列 | ROS が更新をトリガーするパラメーター。Action パラメーターが Modify に設定されている場合にのみ、このパラメーターは有効になります。有効な値: Properties: リソースの Properties パラメーター
Metadata: リソースの Metadata パラメーター
DeletionPolicy: リソースの DeletionPolicy パラメーター
説明 このパラメーターは、ROS タイプのスタックでのみ使用できます。 |
プロパティの変更 | ResourcePropertyChange の構造体配列 | リソースプロパティへの変更。Action パラメーターが Modify に設定されている場合にのみ、このパラメーターは有効になります。詳細については、ResourcePropertyChange をご参照ください。
説明 このパラメーターは、Terraform タイプのスタックでのみ使用できます。 |
モジュール情報 | ModuleInfo の構造体配列 | リソースが作成されたモジュールに関する情報。このパラメーターは、リソースがモジュールから作成された場合にのみ返されます。詳細については、ModuleInfo をご参照ください。
説明 このパラメーターは、ROS タイプのスタックでのみ使用できます。 |
ResourceChangeDetail
パラメーター | タイプ | 説明 |
変更ソース | 文字列 | ROS が更新をトリガーする理由。有効な値: ResourceReference: 参照されているリソースの物理 ID が変更される可能性があります。
ParameterReference: テンプレートで参照されているパラメーターが変更される可能性があります。
ResourceAttribute: 参照されているリソースの出力プロパティが変更される可能性があります。
DirectModification: テンプレートが変更されています。
Automatic: ALIYUN::ROS::Stack リソースタイプを使用して作成されたネストされたスタックが変更されていない場合、ROS は ChangeSource パラメーターを Automatic に設定します。これは、ネストされたスタックのテンプレートが変更されている可能性があるためです。親スタックを更新する前に、ROS はネストされたスタックのテンプレートを変更しません。
System: リソースの入力値が変更されていない場合でも、ALIYUN::ROS::WaitConditionHandle などの特定の条件または内部メカニズムによって更新がトリガーされます。
|
原因となるエンティティ | 文字列 | ChangeSource パラメーターに関連付けられているエンティティ。以下の情報は、ChangeSource パラメーターと CausingEntity パラメーターの値の関係について説明しています。
ChangeSource パラメーターを ResourceReference に設定した場合、CausingEntity パラメーターの値はリソース名です。 ChangeSource パラメーターを ParameterReference に設定した場合、CausingEntity パラメーターの値はパラメーター名です。 ChangeSource パラメーターを ResourceAttribute に設定した場合、CausingEntity パラメーターの値は リソース名.パラメーター名 の形式になります。 ChangeSource パラメーターを DirectModification に設定した場合、CausingEntity パラメーターの値は null です。 ChangeSource パラメーターを Automatic に設定した場合、CausingEntity パラメーターの値はリソース名です。 ChangeSource パラメーターを System に設定した場合、CausingEntity パラメーターの値はリソース名です。
|
評価 | 文字列 | ROS が目的の値を決定できるかどうか、および変更セットを実行する前に目的の値が変更されるかどうかを指定します。有効な値: |
ターゲット | 構造体 | ROS が更新をトリガーするエンティティの詳細。 |
ResourceTargetDefinition
パラメーター | タイプ | 説明 |
属性 | 文字列 | ROS が更新をトリガーするパラメーター。有効な値: Properties: リソースの Properties パラメーター
Metadata: リソースの Metadata パラメーター
DeletionPolicy: リソースの DeletionPolicy パラメーター
|
名前 | 文字列 | Attribute パラメーターを Properties に設定した場合、Name パラメーターの値はプロパティ名です。それ以外の場合、Name パラメーターの値は null です。
|
再作成が必要 | 文字列 | プロパティの変更によってリソースの再作成が必要になるかどうかを指定します。Attribute パラメーターが Properties に設定されている場合にのみ、このパラメーターは有効になります。有効な値: Never: プロパティの変更によってリソースの再作成は必要ありません。
Conditionally: プロパティの変更によってリソースの再作成が必要になる場合があります。
Always: プロパティの変更によってリソースの再作成が必要になります。
|
ResourcePropertyChange
パラメーター | タイプ | 説明 |
名前 | 文字列 | プロパティ名。 |
変更前の値 | データ型はプロパティによって異なります。 | ROS がプロパティを更新する前のプロパティの値。 |
変更後の値 | データ型はプロパティによって異なります。 | プロパティが更新された後のプロパティの値。 |
ModuleInfo
パラメーター | タイプ | 説明 |
論理 ID 階層 | 文字列 | リソースを含む 1 つ以上のモジュールの連結された論理 ID。モジュールは最も外側の層からリストされ、スラッシュ (/) で区切られます。 次の例では、リソースは親モジュール A 内にネストされたモジュール B から作成されます。 moduleA/moduleB
|
タイプ階層 | 文字列 | リソースを含む 1 つ以上のモジュールの連結されたタイプ。モジュールタイプは最も外側の層からリストされ、スラッシュ (/) で区切られます。 次の例では、リソースは MODULE::ROS::Parent::Example タイプの親モジュール内にネストされた MODULE::ROS::Child::Example タイプのモジュールから作成されます。 MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example
|
参照
JSON 変更を表示する方法の詳細については、「変更セットの表示」をご参照ください。