JSON更改組成部分
更改集的JSON更改部分由下列部分組成。具體資訊,請參見下文。
Change:具體的更改操作,包含更改類型和要執行操作的對象。
ResourceChange:資源變更內容,包含資源名稱、資源類型和要執行的操作等。
ResourceChangeDetail:資源更改的詳細內容,包含資源屬性和資源更改前後的狀態。
ResourceTargetDefinition:資源更改的目標定義,包含要更改資源的目標屬性和配置。
ResourcePropertyChange:資源屬性的更改,包含更改前後的屬性值和屬性名稱。
ModuleInfo:模組的相關資訊。
JSON更改詳細內容
Change
參數 | 類型 | 描述 |
ResourceChange | 結構體 | 更改的資源和操作。 |
Type | 字串 | 更改的實體類型。 取值:Resource ,表示資源。 |
ResourceChange
參數 | 類型 | 描述 |
Action | 字串 | 資源的相關操作。取值: Add :建立資源。
Modify :修改資源。
Remove :釋放資源。
|
Details | 數組 | 資源的修改詳情。當Action 取值為Modify 時,該參數有效。 |
LogicalResourceId | 字串 | 資源的邏輯ID,即模板中定義的資源名稱。 |
PhysicalResourceId | 字串 | 資源的物理ID。當Action 取值為Modify 或Remove 時,該參數有效。 |
Replacement | 字串 | 當Action 取值為Modify 時,表示是否通過建立新資源並刪除舊資源來替換資源。 取值: ROS類型資源棧 當RequiresRecreation 取值為Always 、Evaluation 取值為Static 時:True ,表示ROS會通過建立新資源並刪除舊資源來替換資源。 當RequiresRecreation取值為Never、Evaluation取值為Static時:False ,表示ROS不會通過建立新資源並刪除舊資源來替換資源。
當RequiresRecreation 取值為Always 、Evaluation 取值為Dynamic 時:Conditional ,表示ROS可能會通過建立新資源並刪除舊資源來替換資源。
說明 如果RequiresRecreation 有多個取值,則Replacement 的值取決於影響最大的更改,Always 、Conditional 、Never 影響遞減。 Terraform類型資源棧
|
ResourceType | 字串 | 資源類型。 |
Scope | 字串數組 | 當Action 取值為Modify 時,觸發更新的參數。取值: Properties :Resource中的Properties參數將觸發更新。
Metadata :Resource中的Metadata參數將觸發更新。
DeletionPolicy :Resource中的DeletionPolicy參數將觸發更新。
|
PropertyChanges | ResourcePropertyChange結構體數組 | 當Action 取值為Modify 時,更新前後資源屬性發生的變化。更多資訊,請參見ResourcePropertyChange。 |
ModuleInfo | ModuleInfo結構體數組 | 資源來源模組的資訊。資源來自於模組時,才返回該欄位。更多資訊,請參見ModuleInfo。 |
ResourceChangeDetail
參數 | 類型 | 描述 |
ChangeSource | 字串 | 觸發更新的原因。取值: ResourceReference :引用了其他資源的物理ID,引用的資源物理ID可能發生了變化。
ParameterReference :模板中引用的參數可能發生了變化。
ResourceAttribute :引用了其他資源的輸出屬性,引用資源的輸出屬性可能發生了變化。
DirectModification :直接修改了模板。
Automatic :如果嵌套資源棧(ALIYUN::ROS::Stack )未進行修改,則ROS會將ChangeSource 設定為Automatic ,因為嵌套資源棧中指定的模板可能已經發生了更改。在您對父資源棧運行更新之前,ROS不會對嵌套資源棧模板變更。
System :雖然某些資源的輸入未發生變化,但是特定的條件或內部機制也會觸發更新,例如:ALIYUN::ROS::WaitConditionHandle 。
|
CausingEntity | 字串 | ChangeSource 關聯的對象。對應關係如下:
|
Evaluation | 字串 | ROS是否可以確定目標值,以及在執行更改集之前目標值是否將更新。取值: |
Target | 結構體 | 觸發更新的參數的具體資訊。 |
ResourceTargetDefinition
參數 | 類型 | 描述 |
Attribute | 字串 | 觸發更新的參數。取值: Properties :Resource中的Properties參數將觸發更新。
Metadata :Resource中的Metadata參數將觸發更新。
DeletionPolicy :Resource中的DeletionPolicy參數將觸發更新。
|
Name | 字串 | 當Attribute 為Properties 時,表示具體的屬性名稱,其他情況為null 。 |
RequiresRecreation | 字串 | 當Attribute 為Properties 時,表示對此屬性的更改是否導致重新建立資源。取值: |
ResourcePropertyChange
參數 | 類型 | 描述 |
Name | 字串 | 屬性名稱。 |
BeforeValue | 由屬性本身決定 | 更新前的取值。 |
AfterValue | 由屬性本身決定 | 更新後的取值。 |
ModuleInfo
參數 | 類型 | 描述 |
LogicalIdHierarchy | 字串 | 包含資源的一個或多個模組的邏輯ID的串聯列表。 模組從最外層開始列出,並以/ 分隔。 在以下樣本中,資源是從嵌套在父模組moduleA中的模組moduleB建立的。 moduleA/moduleB
|
TypeHierarchy | 字串 | 包含資源的一個或多個模組類型的串聯列表。 模組類型從最外層開始列出,並以/ 分隔。 在以下樣本中,資源是從MODULE::ROS::Child::Example 類型的模組建立的,該模組嵌套在MODULE::ROS::Parent::Example 類型的父模組中。 MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example
|
相關文檔
關於如何查看JSON更改,請參見查看更改集。