Todos los productos
Search
Centro de documentos

:CreateChangeSet

Última actualización: Sep 04, 2026

Cree un conjunto de cambios.

Descripción general

Puede crear y ejecutar conjuntos de cambios para actualizar pilas en ejecución. Para obtener más información sobre los conjuntos de cambios, consulte Descripción general.

Límites

  • Una pila puede contener hasta 20 conjuntos de cambios.

  • Los conjuntos de cambios solo reflejan las modificaciones de las pilas. No indican si las pilas se actualizaron correctamente.

  • No es posible usar conjuntos de cambios para comprobar a continuación elementos: si se alcanzó el límite máximo de su cuenta, si se intenta actualizar recursos que no admiten actualización o si su cuenta carece de los permisos obligatorios para modificar recursos. Estos factores pueden provocar errores en la actualización de la pila. Si la actualización falla, Resource Orchestration Service (ROS) intenta revertir los recursos a su estado original.

Este tema proporciona un ejemplo de cómo crear un conjunto de cambios. En este ejemplo, se crea un conjunto de cambios llamado MyChangeSet en la región China (Hangzhou). El conjunto de cambios se usa para modificar el cuerpo de la plantilla de una pila a {"ROSTemplateFormatVersion":"2015-09-01"}. El ID de la pila es 4a6c9851-3b0f-4f5f-b4ca-a14bf691****.

Depuración

OpenAPI Explorer calcula automáticamente el valor de la firma. Para mayor comodidad, le recomendamos llamar a esta operación desde OpenAPI Explorer. Esta herramienta genera dinámicamente el código de muestra de la operación para diferentes SDK.

Parámetros de solicitud

ParámetroTipoObligatorioEjemploDescripción
ActionStringSíCreateChangeSet

La operación que desea ejecutar. Establezca el valor en CreateChangeSet.

StackIdStringNo4a6c9851-3b0f-4f5f-b4ca-a14bf691****

El ID de la pila para la cual desea crear el conjunto de cambios. ROS compara la información de la pila con los datos que usted especifique, como una plantilla modificada o un valor de parámetro cambiado, para generar el conjunto de cambios.

Nota Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en UPDATE o IMPORT.
StackPolicyURLStringNooss://ros/stack-policy/demo

La URL del archivo que contiene la política de la pila. La URL debe apuntar a una política ubicada en un servidor web HTTP o HTTPS, o en un bucket de Object Storage Service (OSS), por ejemplo, oss://ros/stack-policy/demo u oss://ros/stack-policy/demo?RegionId=cn-hangzhou. El archivo de política puede tener una longitud máxima de 16,384 bytes.

Nota Si no especifica el ID de región del bucket de OSS, se usa el valor del parámetro RegionId.

Puede especificar el parámetro StackPolicyBody o StackPolicyURL.

La URL puede tener una longitud máxima de 1,350 bytes.

Si establece el parámetro ChangeSetType en CREATE, puede especificar el parámetro StackPolicyBody o StackPolicyURL. Si establece el parámetro ChangeSetType en UPDATE, solo puede especificar uno de a continuación parámetros:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
StackPolicyBodyStringNo{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}

La estructura que contiene el cuerpo de la política de la pila. El cuerpo de la política debe tener una longitud de 1 a 16,384 bytes. Si establece el parámetro ChangeSetType en CREATE, puede especificar el parámetro StackPolicyBody o StackPolicyURL. Si establece el parámetro ChangeSetType en UPDATE, solo puede especificar uno de a continuación parámetros:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
StackNameStringNoMyStack

El nombre de la pila para la cual desea crear el conjunto de cambios.

El nombre puede tener una longitud máxima de 255 caracteres y contener dígitos, letras, guiones (-) y guiones bajos (_). Debe comenzar con un dígito o una letra.

Nota Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en CREATE o IMPORT.
UsePreviousParametersBooleanNotrue

Especifica si se deben usar los valores indicados en la solicitud anterior para los parámetros que no se especifiquen en la solicitud actual. Valor predeterminado: false. Valores válidos:

  • true
  • false
Nota Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en UPDATE o IMPORT.
ChangeSetTypeStringNoUPDATE

El tipo de conjunto de cambios. Valor predeterminado: UPDATE. Valores válidos:

  • CREATE: cree un conjunto de cambios para una nueva pila.
  • UPDATE: cree un conjunto de cambios para una pila existente.
  • IMPORT: cree un conjunto de cambios para una pila nueva o existente con el fin de importar recursos que no administra ROS.

Si cree un conjunto de cambios para una nueva pila, ROS genera un ID único para dicha pila. La pila permanece en el estado REVIEW_IN_PROGRESS hasta que ejecute el conjunto de cambios.

No puede usar el tipo UPDATE para crear un conjunto de cambios para una pila nueva, ni el tipo CREATE para una pila existente.

DescriptionStringNoIt is a demo.

La descripción del conjunto de cambios. Puede tener una longitud máxima de 1,024 bytes.

RegionIdStringSícn-hangzhou

El ID de región del conjunto de cambios. Puede llamar a la operación DescribeRegions para consultar la lista de regiones más reciente.

ClientTokenStringNo123e4567-e89b-12d3-a456-42665544****

El token de cliente que se usa para garantizar la idempotencia de la solicitud. Puede usar el cliente para generar el valor, pero debe asegurarse de que sea único entre distintas solicitudes.

El token puede tener una longitud máxima de 64 caracteres y contener letras, dígitos, guiones (-) y guiones bajos (_).

Para obtener más información, consulte Garantizar la idempotencia.

TemplateURLStringNooss://ros/template/demo

La URL del archivo que contiene el cuerpo de la plantilla. La URL debe apuntar a una plantilla ubicada en un servidor web HTTP o HTTPS, o en un bucket de OSS, por ejemplo, oss://ros/template/demo u oss://ros/template/demo?RegionId=cn-hangzhou. El cuerpo de la plantilla puede tener una longitud máxima de 524,288 bytes.

Nota Si no especifica el ID de región del bucket de OSS, se usa el valor del parámetro RegionId.

Solo puede especificar uno de a continuación parámetros: TemplateBody, TemplateURL y TemplateId.

La URL puede tener una longitud máxima de 1,024 bytes.

StackPolicyDuringUpdateURLStringNooss://ros/stack-policy/demo

La URL del archivo que contiene la política de anulación temporal de la pila. La URL debe apuntar a una política ubicada en un servidor web HTTP o HTTPS, o en un bucket de OSS, por ejemplo, oss://ros/stack-policy/demo u oss://ros/stack-policy/demo?RegionId=cn-hangzhou. El archivo de política puede tener una longitud máxima de 16,384 bytes.

Nota Si no especifica el ID de región del bucket de OSS, se usa el valor del parámetro RegionId.

La URL puede tener una longitud máxima de 1,350 bytes.

Si desea actualizar recursos protegidos, especifique una política de anulación temporal para dichos recursos durante la actualización. Si no especifica la política, se usa la política existente asociada a la pila. Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en UPDATE. Solo puede especificar uno de a continuación parámetros:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
TemplateBodyStringNo{"ROSTemplateFormatVersion":"2015-09-01"}

La estructura que contiene el cuerpo de la plantilla. El cuerpo de la plantilla debe tener una longitud de 1 a 524,288 bytes.

Si la longitud del cuerpo de la plantilla excede el límite máximo, le recomendamos agregar parámetros al cuerpo de la solicitud HTTP POST para evitar fallos causados por URL excesivamente largas.

Solo puede especificar uno de a continuación parámetros: TemplateBody, TemplateURL y TemplateId.

TimeoutInMinutesLongNo12

El tiempo que puede transcurrir antes de que la pila entre en el estado CREATE_FAILED o UPDATE_FAILED.

Si establece el parámetro ChangeSetType en CREATE, este parámetro es obligatorio. Si lo establece en UPDATE, el parámetro es opcional.

  • Unidad: minutos.
  • Valores válidos: de 10 a 1440.
  • Valor predeterminado: 60.
DisableRollbackBooleanNofalse

Especifica si se debe deshabilitar la reversión cuando falla la creación de la pila.

Valor predeterminado: false. Valores válidos:

  • true
  • false
Nota Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en CREATE o IMPORT.
ChangeSetNameStringSíMyChangeSet

El nombre del conjunto de cambios.

El nombre puede tener una longitud máxima de 255 caracteres y contener dígitos, letras, guiones (-) y guiones bajos (_). Debe comenzar con un dígito o una letra.

Nota Asegúrese de que el nombre sea único entre todos los conjuntos de cambios asociados a la pila especificada.
StackPolicyDuringUpdateBodyStringNo{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}

La estructura que contiene el cuerpo de la política de anulación temporal de la pila. El cuerpo de la política debe tener una longitud de 1 a 16,384 bytes.

Si desea actualizar recursos protegidos, especifique una política de anulación temporal para dichos recursos durante la actualización. Si no especifica la política, se usa la política de pila existente asociada a la pila.

Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en UPDATE. Solo puede especificar uno de a continuación parámetros:

  • StackPolicyBody
  • StackPolicyURL
  • StackPolicyDuringUpdateBody
  • StackPolicyDuringUpdateURL
RamRoleNameStringNotest-role

El nombre del rol de RAM. ROS asume el rol de RAM para crear la pila y usa las credenciales del rol para llamar a las API de los servicios de Alibaba Cloud.

ROS asume el rol de RAM para realizar operaciones en la pila. Si tiene permisos para operar en la pila pero no para usar el rol de RAM, ROS asumirá el rol de todos modos. Debe asegurarse de otorgar al rol de RAM únicamente los privilegios mínimos necesarios.

Si no especifica este parámetro, ROS asume el rol de RAM existente asociado a la pila. Si no hay roles de RAM disponibles, ROS usa una credencial temporal generada a partir de las credenciales de su cuenta.

El nombre del rol de RAM puede tener una longitud máxima de 64 bytes.

ReplacementOptionStringNoDisabled

Especifica si se debe habilitar la actualización por reemplazo si se modifica una propiedad de recurso que no admite cambios directos. En una modificación simple, el ID físico del recurso permanece sin cambios. En una actualización por reemplazo, se elimina el recurso existente, se crea uno nuevo y cambia el ID físico del recurso. Valor predeterminado: Disabled. Valores válidos:

  • Enabled
  • Disabled
Nota Las modificaciones tienen mayor prioridad que las actualizaciones por reemplazo. Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en UPDATE.
TemplateIdStringNo5ecd1e10-b0e9-4389-a565-e4c15efc****

El ID de la plantilla. Este parámetro aplica tanto a plantillas compartidas como privadas.

Solo puede especificar uno de a continuación parámetros: TemplateBody, TemplateURL y TemplateId.

TemplateVersionStringNov1

La versión de la plantilla.

Nota Este parámetro solo surte efecto cuando se especifica el parámetro TemplateId.
Parameters.N.ParameterKeyStringSíAmount

El nombre del parámetro N definido en la plantilla. Si no especifica el nombre y el valor de un parámetro, ROS usa el nombre y el valor predeterminados definidos en la plantilla. Valor máximo de N: 200.

Nota El parámetro Parameters es opcional. Si especifica Parameters, debe especificar Parameters.N.ParameterKey.
Parameters.N.ParameterValueStringSí12

El valor del parámetro N definido en la plantilla. Valor máximo de N: 200.

Nota El parámetro Parameters es opcional. Si especifica Parameters, debe especificar Parameters.N.ParameterValue.
NotificationURLs.NStringNohttp://example.com/ros-notify

La URL de devolución de llamada que se usa para recibir el evento de pila N. Valores válidos:

  • URL HTTP POST

    Cada URL puede tener una longitud máxima de 1,024 bytes.

  • eventbridge

    Cuando cambia el estado de una pila, ROS envía una notificación de evento al servicio EventBridge. Para ver la información del evento, realice a continuación operaciones: Inicie sesión en la consola de EventBridge. En el panel de navegación izquierdo, haga clic en Event Buses.
    Nota ROS admite el servicio EventBridge en a continuación regiones: China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong) y China (Zhangjiakou).

Valor máximo de N: 5. Cuando cambia el estado de una pila, ROS envía una notificación de evento a la URL especificada. Si la reversión está habilitada para la pila, se envían notificaciones cuando la pila está en estado CREATE_ROLLBACK o ROLLBACK, pero no se envían si está en estado CREATE_FAILED, UPDATE_FAILED o IN_PROGRESS.

ROS envía notificaciones de eventos independientemente de si configura la sección Outputs. A continuación código de muestra proporciona un ejemplo del contenido de una notificación de evento:

{
    "Outputs": [
        {
            "Description": "No description given",
            "OutputKey": "InstanceId",
            "OutputValue": "i-xxx"
        }
    ],
    "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",
    "StackName": "test-notification-url",
    "Status": "CREATE_COMPLETE"
}
                                    
ResourcesToImport.N.ResourceIdentifierStringSí{"VpcId": "vpc-2zevx9ios******"}

La asignación de pares clave-valor entre cadenas. El valor es una cadena JSON que identifica el recurso N que se va a importar.

Una clave es un identificador para un recurso y un valor es una asignación de datos a dicha clave. Por ejemplo, VpcId es una clave que especifica el ID de una nube privada virtual (VPC), y vpc-2zevx9ios**** es un valor asignado a VpcId. Puede llamar a la operación GetTemplateSummary para obtener la clave de un recurso.

Nota Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en IMPORT. El parámetro ResourcesToImport es opcional. Si especifica ResourcesToImport, debe especificar ResourcesToImport.N.ResourceIdentifier.
ResourcesToImport.N.LogicalResourceIdStringSíVpc

El ID lógico del recurso N que desea importar. El ID lógico especifica el nombre de un recurso definido en la plantilla.

Nota Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en IMPORT. El parámetro ResourcesToImport es opcional. Si especifica ResourcesToImport, debe especificar ResourcesToImport.N.LogicalResourceId.
ResourcesToImport.N.ResourceTypeStringSíALIYUN::ECS::VPC

El tipo de recurso N que desea importar. El tipo de recurso debe coincidir con el tipo definido en la plantilla.

Nota Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en IMPORT. El parámetro ResourcesToImport es opcional. Si especifica ResourcesToImport, debe especificar ResourcesToImport.N.ResourceType.
TemplateScratchIdStringNo4a6c9851-3b0f-4f5f-b4ca-a14bf691****

El ID de la plantilla de escenario.

ParallelismLongNo1

El número máximo de operaciones simultáneas que se pueden ejecutar en los recursos. De forma predeterminada, este parámetro está vacío. Puede establecerlo en un entero mayor o igual a 0. Si le asigna un valor específico, ROS asocia dicho valor con la pila, lo cual puede afectar a operaciones posteriores.

Este parámetro solo surte efecto cuando el parámetro ChangeSetType se establece en CREATE o UPDATE. Valores válidos:

  • Valores válidos para conjuntos de cambios de tipo CREATE:
    • Si establece este parámetro en un entero mayor que 0, se usa dicho entero.
    • Si lo establece en 0 o deja el parámetro vacío, no se impone ningún límite a las pilas de ROS. Sin embargo, para las pilas de Terraform se usa el valor predeterminado de Terraform, que generalmente es 10.
  • Valores válidos para conjuntos de cambios de tipo UPDATE:
    • Si establece este parámetro en un entero mayor que 0, se usa dicho entero.
    • Si lo establece en 0, no se impone ningún límite a las pilas de ROS. Sin embargo, para las pilas de Terraform se usa el valor predeterminado de Terraform, que generalmente es 10.
    • Si deja este parámetro vacío, se usa el valor que especificó en la solicitud anterior. Si también lo dejó vacío anteriormente, no se impone ningún límite a las pilas de ROS. Sin embargo, para las pilas de Terraform se usa el valor predeterminado de Terraform, que generalmente es 10.

Para obtener más información sobre los parámetros de solicitud comunes, consulte Parámetros comunes.

Parámetros de respuesta

Parámetro

Tipo

Ejemplo

Descripción

ChangeSetId

String

e85abe0c-6528-43fb-ae93-fdf8de22****

El ID del conjunto de cambios.

RequestId

String

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

El ID de la solicitud.

StackId

String

4a6c9851-3b0f-4f5f-b4ca-a14bf691****

El ID de la pila.

Ejemplos

Solicitudes de muestra

http(s)://ros.aliyuncs.com/?Action=CreateChangeSet
&RegionId=cn-hangzhou
&ChangeSetName=MyChangeSet
&Parameters=[{"ParameterKey":"Amount","ParameterValue":"12"}]
&ResourcesToImport=[{"ResourceIdentifier":"{\"VpcId\": \"vpc-2zevx9ios******\"}","LogicalResourceId":"Vpc","ResourceType":"ALIYUN::ECS::VPC"}]
&<Common request parameters>

Respuestas exitosas de muestra

Formato XML

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateChangeSetResponse>
    <ChangeSetId>e85abe0c-6528-43fb-ae93-fdf8de22****</ChangeSetId>
    <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>
    <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
</CreateChangeSetResponse>

Formato JSON

HTTP/1.1 200 OK
Content-Type:application/json

{
  "ChangeSetId" : "e85abe0c-6528-43fb-ae93-fdf8de22****",
  "StackId" : "4a6c9851-3b0f-4f5f-b4ca-a14bf691****",
  "RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6F"
}

Códigos de error

Para obtener una lista de códigos de error, consulte Códigos de error del servicio.

Código de estado HTTP

Código de error

Mensaje de error

Descripción

400

CircularDependency

Circular Dependency Found: {reason}.

El mensaje de error devuelto porque la plantilla contiene una dependencia circular. reason indica la causa del error.

400

InvalidSchema

{reason}.

El mensaje de error devuelto porque el formato de la plantilla no es válido. reason indica la causa del error.

400

InvalidTemplateAttribute

The Referenced Attribute ({resource} {name}) is incorrect.

El mensaje de error devuelto porque la propiedad de recurso referenciada en la sección Outputs de la plantilla no es válida. resource indica el nombre del recurso. name indica el nombre de la propiedad.

400

InvalidTemplatePropertyType

The specified value type of ({resource} {section}) is incorrect.

El mensaje de error devuelto porque el tipo de la propiedad de recurso definida en una sección de la plantilla no es válido. resource indica el nombre del recurso. section indica el nombre de la sección.

400

InvalidTemplateReference

The specified reference "{name}" (in {referencer}) is incorrect.

El mensaje de error devuelto porque la plantilla contiene una referencia no válida. name indica el nombre de la referencia. referencer indica el nombre del elemento que hace la referencia.

400

InvalidTemplateSection

The template section is invalid: {section}.

El mensaje de error devuelto porque la plantilla contiene una sección no válida. section indica el nombre de la sección.

400

InvalidTemplateVersion

The template version is invalid: {reason}.

El mensaje de error devuelto porque la versión de la plantilla no es válida. reason indica la causa del error.

400

StackPolicyValidationFailed

Action denied by stack policy: {reason}.

El mensaje de error devuelto porque la operación para crear el conjunto de cambios no pasó la validación según la política de la pila. reason indica la causa del error.

400

StackValidationFailed

{reason}.

El mensaje de error devuelto porque falló la validación de la pila. reason indica la causa del error.

400

UnknownUserParameter

The Parameter ({name}) was not defined in template.

El mensaje de error devuelto porque el parámetro especificado no está definido en la plantilla. name indica el nombre del parámetro.

400

UserParameterMissing

The Parameter {name} was not provided.

El mensaje de error devuelto porque no se especificó ningún valor para el parámetro definido en la plantilla. name indica el nombre del parámetro.

404

StackNotFound

The Stack ({name}) could not be found.

El mensaje de error devuelto porque la pila no existe. name indica el nombre o ID de la pila.

409

ActionInProgress

Stack {name} already has an action ({action}) in progress.

El mensaje de error devuelto porque la pila ya tiene una operación en curso. name indica el nombre o ID de la pila. action indica la operación de cambio.

409

ChangeSetExists

The ChangeSet ({name}) of Stack ({stack}) already exists.

El mensaje de error devuelto porque ya existe un conjunto de cambios con el mismo nombre. name indica el nombre del conjunto de cambios. stack indica el nombre o ID de la pila asociada al conjunto de cambios.

409

StackExists

The Stack ({name}) already exists.

El mensaje de error devuelto porque ya existe una pila con el mismo nombre. name indica el nombre de la pila.

404

TemplateNotFound

The Template ({ ID }) could not be found.

El mensaje de error devuelto porque la plantilla no existe. ID indica el ID de la plantilla.

404

TemplateNotFound

The Template { ID } with version { version } could not be found.

El mensaje de error devuelto porque la plantilla o la versión de la plantilla no existe. ID indica el ID de la plantilla. version indica la versión de la plantilla.