This topic describes five data structures of change sets: Change, ResourceChange, ResourceChangeDetail, ResourceTargetDefinition, and ResourcePropertyChange.

Change

Parameter Type Description
ResourceChange Structure The resource that you want Resource Orchestration Service (ROS) to change and the operation that you want ROS to perform on the resource.
Type String The type of the object that you want ROS to change.

Set the value to Resource, which specifies a resource.

ResourceChange

Parameter Type Description
Action String The operation that you want ROS to perform on the resource. Valid values:
  • Add: creates a resource.
  • Modify: modifies a resource.
  • Remove: releases a resource.
Details Array The details of changes that are made to the resource. This parameter takes effect only if you set the Action parameter to Modify.
Note This parameter is available only for ROS stacks.
LogicalResourceId String The logical ID of the resource. The logical ID specifies the resource name that is defined in the template.
PhysicalResourceId String The physical ID of the resource. This parameter takes effect only if you set the Action parameter to Modify or Remove.
Replacement String Specifies whether to change the resource by creating a new resource and deleting the existing resource. This parameter takes effect only if you set the Action parameter to Modify.
  • Valid values for ROS stacks:
    • True: ROS changes a resource by creating a new resource and deleting the existing resource. If you set the RequiresRecreation parameter to Always and set the Evaluation parameter to Static, set the Replacement parameter to True.
    • False: ROS changes a resource without creating a new resource and deleting the existing resource. If you set the RequiresRecreation parameter to Never and set the Evaluation parameter to Static, set the Replacement parameter to False.
    • Conditional: ROS may change a resource by creating a new resource and deleting the existing resource. If you set the RequiresRecreation parameter to Always and set the Evaluation parameter to Dynamic, set the Replacement parameter to Conditional.
    Note If you specify multiple values for the RequiresRecreation parameter, the value of the Replacement parameter varies based on the RequiresRecreation value that has the greatest impact. The impacts of the RequiresRecreation values decrease in the following order: Always, Conditional, and Never.
  • Valid values for Terraform stacks:
    • True: Terraform changes a resource by creating a new resource and deleting the existing resource.
    • False: Terraform changes a resource without creating a new resource and deleting the existing resource.
ResourceType String The type of the resource.
Scope String array The parameter for which ROS triggers an update. This parameter takes effect only if you set the Action parameter to Modify. Valid values:
  • Properties: the Properties parameter of the resource
  • Metadata: the Metadata parameter of the resource
  • DeletionPolicy: the DeletionPolicy parameter of the resource
Note This parameter is available only for ROS stacks.
PropertyChanges The structure array of ResourcePropertyChange The changes that are made to a resource property. This parameter takes effect only if you set the Action parameter to Modify.
Note This parameter is available only for Terraform stacks.

ResourceChangeDetail

Parameter Type Description
ChangeSource String The reason why ROS triggers an update. Valid values:
  • ResourceReference: The physical ID of the referenced resource may be changed.
  • ParameterReference: The referenced parameter in the template may be changed.
  • ResourceAttribute: The referenced output property of a resource may be changed.
  • DirectModification: The template is modified.
  • Automatic: If the nested stack that is created by using the ALIYUN::ROS::Stack resource type is not modified, ROS sets the ChangeSource parameter to Automatic because the template of the nested stack may have been changed. ROS does not change the template of the nested stack before you update the parent stack.
  • System: Even if the input values of resources remain unchanged, specific conditions or internal mechanisms, such as ALIYUN::ROS::WaitConditionHandle, trigger updates.
CausingEntity String The object that is associated with the ChangeSource parameter. The following information describes the relationship between the values of the ChangeSource and CausingEntity parameters:
  • If you set the ChangeSource parameter to ResourceReference, the value of the CausingEntity parameter is the resource name.
  • If you set the ChangeSource parameter to ParameterReference, the value of the CausingEntity parameter is the parameter name.
  • If you set the ChangeSource parameter to ResourceAttribute, the value of the CausingEntity parameter is the property or parameter name.
  • If you set the ChangeSource parameter to DirectModification, the value of the CausingEntity parameter is empty.
  • If you set the ChangeSource parameter to Automatic, the value of the CausingEntity parameter is the resource name.
  • If you set the ChangeSource parameter to System, the value of the CausingEntity parameter is the resource name.
Evaluation String Specifies whether ROS can determine the value that you want to change for the object and whether ROS updates the value before you execute a change set. Valid values:
  • Static: ROS can determine the value and update the value.
  • Dynamic: ROS cannot determine the value. When ROS updates a stack, the value may vary based on the result of an internal function, such as Ref or Fn::GetAtt.
Target Structure The details of the object for which ROS triggers an update.

ResourceTargetDefinition

Parameter Type Description
Attribute String The parameter for which ROS triggers an update. Valid values:
  • Properties: the Properties parameter of the resource
  • Metadata: the Metadata parameter of the resource
  • DeletionPolicy: the DeletionPolicy parameter of the resource
Name String If you set the Attribute parameter to Properties, the value of the Name parameter is the property name. In other cases, the value of the Name parameter is empty.
RequiresRecreation String Specifies whether a change to the property causes the resource to be recreated. This parameter takes effect only if you set the Attribute parameter to Properties. Valid values:
  • Never: does not cause the resource to be recreated.
  • Conditionally: may cause the resource to be recreated.
  • Always: causes the resource to be recreated.

ResourcePropertyChange

Parameter Type Description
Name String. The name of the property.
BeforeValue The data type varies based on the property. The value of the property before ROS updates the property.
AfterValue The data type varies based on the property. The value of the property after the property is updated.
Note
  • If you set the value to <known_after_apply> and the value is of the String type, you can query the value only after the property is created or updated.
  • If you set the value to <sensitive> and the value is of the String type, the value is sensitive data.