Tous les produits
Search
Centre de documentation

:CreateChangeSet

Dernière mise à jour :Aug 05, 2026

Crée un ensemble de modifications pour une pile afin de prévisualiser les modifications avant son exécution.

Description de l'opération

Scénarios.

Créer une pile à l'aide d'un ensemble de modifications

Pour gérer les ressources cloud et prévisualiser les résultats de la création avant que la pile ne soit créée, définissez ChangeSetType sur CREATE. Ensembles de modifications.

Mettre à jour une pile à l'aide d'un ensemble de modifications

Pour prévisualiser l'impact d'une mise à jour avant d'appliquer les modifications, définissez ChangeSetType sur UPDATE. Ensembles de modifications.

Créer une pile à partir de ressources existantes

Pour importer des ressources cloud existantes dans une nouvelle pile, définissez ChangeSetType sur IMPORT. Vue d'ensemble.

Importer des ressources existantes dans une pile

Pour importer des ressources existantes dans une pile existante, définissez ChangeSetType sur IMPORT. Vue d'ensemble.

Limites

  • Seules les piles dans des états spécifiques peuvent être mises à jour à l'aide d'ensembles de modifications. Mettre à jour une pile à l'aide d'un ensemble de modifications.

  • Une pile peut avoir un maximum de 20 ensembles de modifications à la fois.

  • Un ensemble de modifications affiche uniquement les modifications apportées à une pile. Il n'indique pas si la pile sera mise à jour avec succès.

  • Un ensemble de modifications ne vérifie pas les problèmes tels que le dépassement des quotas de compte, les ressources non actualisables ou les autorisations insuffisantes. Ces problèmes peuvent entraîner l'échec de la mise à jour de la pile. Si la mise à jour échoue, ROS tente de restaurer les ressources à leur état précédent.

Dans cet exemple, un ensemble de modifications nommé MyChangeSet est créé dans la région de Chine (Hangzhou) (cn-hangzhou) pour mettre à jour le modèle de la pile 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** vers {"ROSTemplateFormatVersion":"2015-09-01"}.

Testez maintenant

Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.

Test

Autorisation RAM

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

ros:CreateChangeSet

create

*Stack

acs:ros:{#regionId}:{#accountId}:stack/{#StackId}

Template

acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}

Aucune Aucune

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

StackId

string

Non

L'identifiant de la pile. ROS compare les informations de la pile avec les modifications soumises, telles qu'un modèle modifié ou des valeurs de paramètres différentes, pour générer l'ensemble de modifications. Appelez ListStacks pour interroger les identifiants de pile.

Remarque

Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur UPDATE ou IMPORT.

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

StackPolicyURL

string

Non

L'URL du fichier de stratégie de pile. L'URL doit pointer vers une stratégie sur un serveur web (HTTP ou HTTPS) ou dans un compartiment OSS, telle que oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Taille maximale du fichier de stratégie : 16 384 octets.

Longueur maximale de l'URL : 1 350 octets.

Remarque

Si vous ne spécifiez pas la région du compartiment OSS, la valeur de RegionId est utilisée.

Lorsque ChangeSetType est défini sur CREATE, vous ne pouvez spécifier qu'un seul des paramètres StackPolicyBody et StackPolicyURL.

Lorsque ChangeSetType est défini sur UPDATE, vous ne pouvez spécifier qu'un seul des paramètres suivants :

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

oss://ros/stack-policy/demo

StackPolicyBody

string

Non

La structure de la stratégie de pile. Le corps de la stratégie doit avoir une longueur de 1 à 16 384 octets.

Lorsque ChangeSetType est défini sur CREATE, vous ne pouvez spécifier qu'un seul des paramètres StackPolicyBody et StackPolicyURL.

Lorsque ChangeSetType est défini sur UPDATE, vous ne pouvez spécifier qu'un seul des paramètres suivants :

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}

StackName

string

Non

Le nom de la pile. Longueur maximale : 255 caractères. Le nom peut contenir des chiffres, des lettres, des tirets (-) et des traits de soulignement (_), et doit commencer par un chiffre ou une lettre.

Remarque

Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur CREATE ou IMPORT.

MyStack

UsePreviousParameters

boolean

Non

Indique si les valeurs des paramètres utilisées en dernier lieu doivent être conservées. Valeurs valides :

  • true

  • false (valeur par défaut)

Remarque

Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur UPDATE ou IMPORT.

true

ChangeSetType

string

Non

Le type de l'ensemble de modifications. Valeurs valides :

  • CREATE : crée un ensemble de modifications pour une nouvelle pile.

  • UPDATE (valeur par défaut) : crée un ensemble de modifications pour une pile existante.

  • IMPORT : crée un ensemble de modifications pour une nouvelle pile ou une pile existante afin d'importer des ressources qui ne sont pas gérées par ROS.

Si vous définissez la valeur de ChangeSetType sur CREATE, ROS crée une nouvelle pile. La pile est dans l'état REVIEW_IN_PROGRESS jusqu'à ce que vous exécutiez l'ensemble de modifications.

Remarque
  • Vous ne pouvez pas utiliser le type UPDATE pour créer un ensemble de modifications pour une nouvelle pile, ni le type CREATE pour créer un ensemble de modifications pour une pile existante.

  • Vous ne pouvez pas définir de stratégie de pile pour un ensemble de modifications de type IMPORT. Vous pouvez définir une stratégie de pile lors de la création ou de la mise à jour d'une pile.

UPDATE

Description

string

Non

La description de l'ensemble de modifications. La description peut avoir une longueur maximale de 1 024 octets.

Il s'agit d'une démonstration

RegionId

string

Oui

L'identifiant de la région de l'ensemble de modifications.

Appelez DescribeRegions pour interroger les régions disponibles.

cn-hangzhou

ClientToken

string

Non

Le jeton client utilisé pour garantir l'idempotence de la requête. Le jeton doit être unique pour toutes les requêtes et peut avoir une longueur maximale de 64 caractères, contenant des lettres, des chiffres, des tirets (-) et des traits de soulignement (_). Comment garantir l'idempotence.

123e4567-e89b-12d3-a456-42665544****

TemplateURL

string

Non

L'URL du fichier de modèle. L'URL doit pointer vers un modèle sur un serveur web (HTTP ou HTTPS) ou dans un compartiment OSS, telle que oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. Taille maximale du corps du modèle : 524 288 octets.

Remarque

Si vous ne spécifiez pas la région du compartiment OSS, la valeur de RegionId est utilisée.

Vous ne pouvez spécifier qu'un seul des paramètres TemplateBody, TemplateURL et TemplateId.

L'URL peut avoir une longueur maximale de 1 024 octets.

oss://ros/template/demo

StackPolicyDuringUpdateURL

string

Non

L'URL du fichier de stratégie de pile de remplacement temporaire. L'URL doit pointer vers une stratégie sur un serveur web (HTTP ou HTTPS) ou dans un compartiment OSS, telle que oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Taille maximale du fichier de stratégie : 16 384 octets.

Remarque

Si vous ne spécifiez pas la région du compartiment OSS, la valeur de RegionId est utilisée.

Longueur maximale de l'URL : 1 350 octets. Pour mettre à jour des ressources protégées, spécifiez une stratégie de pile de remplacement temporaire. Si elle n'est pas spécifiée, la stratégie de pile actuelle s'applique. Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur UPDATE. Vous ne pouvez spécifier qu'un seul des paramètres suivants :

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

oss://ros/stack-policy/demo

TemplateBody

string

Non

Le corps du modèle. Longueur : de 1 à 524 288 octets. Pour les modèles de grande taille, utilisez HTTP POST avec un paramètre de corps pour éviter les limites de longueur d'URL.

Remarque

Vous ne pouvez spécifier qu'un seul des paramètres TemplateBody, TemplateURL et TemplateId.

{"ROSTemplateFormatVersion":"2015-09-01"}

TimeoutInMinutes

integer

Non

Le délai d'attente avant que la pile n'entre dans l'état CREATE_FAILED ou UPDATE_FAILED. Obligatoire lorsque ChangeSetType est CREATE. Facultatif lorsque ChangeSetType est UPDATE.

  • Unité : minutes.

  • Valeurs valides : de 10 à 1440.

  • Valeur par défaut : 60.

12

DisableRollback

boolean

Non

Indique si la restauration doit être désactivée en cas d'échec de la création de la pile. Valeurs valides :

  • true : désactive la restauration en cas d'échec de la création.

  • false (valeur par défaut) : active la restauration en cas d'échec de la création.

Remarque

Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur CREATE ou IMPORT.

false

ChangeSetName

string

Oui

Le nom de l'ensemble de modifications. Longueur maximale : 255 caractères. Le nom peut contenir des chiffres, des lettres, des tirets (-) et des traits de soulignement (_), et doit commencer par un chiffre ou une lettre.

Remarque

Le nom de l'ensemble de modifications doit être unique au sein de la pile.

MyChangeSet

StackPolicyDuringUpdateBody

string

Non

Le corps de la stratégie de pile de remplacement temporaire. Longueur : de 1 à 16 384 octets. Pour mettre à jour des ressources protégées, spécifiez une stratégie de remplacement temporaire. Si elle n'est pas spécifiée, la stratégie de pile actuelle s'applique. Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur UPDATE. Vous ne pouvez spécifier qu'un seul des paramètres suivants :

  • StackPolicyBody

  • StackPolicyURL

  • StackPolicyDuringUpdateBody

  • StackPolicyDuringUpdateURL

{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}

RamRoleName

string

Non

Le nom du rôle RAM. ROS endosse ce rôle pour appeler les API de service Alibaba Cloud et l'utilise toujours pour toutes les opérations de pile. Si vous ne disposez pas des autorisations requises, ROS endosse le rôle spécifié par RamRoleName. S'il n'est pas spécifié, ROS utilise le rôle de pile existant. Si aucun rôle n'est disponible, ROS utilise des informations d'identification temporaires de votre compte. Longueur maximale : 64 octets.

Rôles de pile.

test-role

ReplacementOption

string

Non

Indique si la mise à jour par remplacement doit être activée lorsqu'une modification de propriété de ressource ne prend pas en charge les mises à jour par modification. Une mise à jour par remplacement supprime la ressource existante et en crée une nouvelle avec un nouvel identifiant physique. Valeurs valides :

  • Enabled : active la mise à jour par remplacement.

  • Disabled (valeur par défaut) : désactive la mise à jour par remplacement.

Remarque

Les mises à jour par modification sont utilisées en priorité. Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur UPDATE.

Disabled

TemplateId

string

Non

L'identifiant du modèle. Ce paramètre s'applique aux modèles partagés et aux modèles privés.

Appelez ListTemplates pour interroger les identifiants de modèle.

Remarque

Vous ne pouvez spécifier qu'un seul des paramètres TemplateBody, TemplateURL et TemplateId.

5ecd1e10-b0e9-4389-a565-e4c15efc****

TemplateVersion

string

Non

La version du modèle.

Remarque

Ce paramètre prend effet uniquement lorsque TemplateId est spécifié.

v1

Parameters

array<object>

Non

Les paramètres définis dans le modèle.

object

Non

ParameterKey

string

Oui

Le nom du paramètre défini dans le modèle. Si vous ne spécifiez pas le nom et la valeur d'un paramètre, ROS utilise le nom et la valeur par défaut spécifiés dans le modèle. La valeur de N peut aller jusqu'à 200.

Remarque

Le paramètre Parameters est facultatif. Si vous spécifiez Parameters, vous devez également spécifier Parameters.N.ParameterKey.

Amount

ParameterValue

string

Oui

La valeur du paramètre défini dans le modèle. La valeur de N peut aller jusqu'à 200.

Remarque

Le paramètre Parameters est facultatif. Si vous spécifiez Parameters, vous devez également spécifier Parameters.N.ParameterValue.

12

NotificationURLs

array

Non

La liste des adresses de webhook pour la réception des notifications d'événements de pile.

http://my-site.com/ros-notify

string

Non

L'adresse de webhook pour la réception des notifications d'événements de pile. Valeurs valides :

  • URL HTTP POST : chaque URL peut avoir une longueur maximale de 1 024 octets.

  • eventbridge : les changements d'état de la pile sont envoyés au service EventBridge. Vous pouvez vous connecter à la console EventBridge et cliquer sur Event Buses dans le volet de navigation à gauche pour afficher les informations sur les événements.

Remarque

Cette fonctionnalité est prise en charge dans les régions de Chine (Hangzhou), Chine (Shanghai), Chine (Pékin), Chine (Hong Kong) et Chine (Zhangjiakou).

Maximum : 5 URL. Les notifications sont envoyées lors des changements d'état de la pile. Lorsque la restauration est activée, CREATE_FAILED et UPDATE_FAILED sont remplacés par les notifications CREATE_ROLLBACK et ROLLBACK. IN_PROGRESS n'est pas signalé. Les notifications sont envoyées indépendamment du paramètre Outputs. Exemple de notification :

{
   "Outputs": [
       {
           "Description": "Aucune description fournie",
           "OutputKey": "InstanceId",
           "OutputValue": "i-xxx"
       }
   ],
   "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",
   "StackName": "test-notification-url",
   "Status": "CREATE_COMPLETE"
}

http://example.com/ros-notify

ResourcesToImport

array<object>

Non

La liste des ressources à importer.

object

Non

ResourceIdentifier

string

Non

Un mappage clé-valeur entre chaînes. La valeur est une chaîne JSON utilisée pour identifier la ressource à importer. La clé est la propriété d'identifiant de la ressource, telle que le VpcId d'une ressource ALIYUN::ECS::VPC. La valeur est la valeur de la propriété, telle que vpc-2zevx9ios****.

Appelez GetTemplateSummary pour interroger les propriétés d'identifiant de ressource.

Remarque

Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur IMPORT. Le paramètre ResourcesToImport est facultatif. Si vous spécifiez ResourcesToImport, vous devez également spécifier ResourcesToImport.N.ResourceIdentifier.

{"VpcId": "vpc-2zevx9ios******"}

LogicalResourceId

string

Non

L'identifiant logique de la ressource. L'identifiant logique est le nom de la ressource défini dans le modèle.

Remarque

Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur IMPORT. Le paramètre ResourcesToImport est facultatif. Si vous spécifiez ResourcesToImport, vous devez également spécifier ResourcesToImport.N.LogicalResourceId.

Vpc

ResourceType

string

Non

Le type de la ressource. Le type de ressource doit être identique au type de ressource défini dans le modèle.

Remarque

Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur IMPORT. Le paramètre ResourcesToImport est facultatif. Si vous spécifiez ResourcesToImport, vous devez également spécifier ResourcesToImport.N.ResourceType.

ALIYUN::ECS::VPC

TemplateScratchId

string

Non

L'identifiant du scénario de ressource, qui est l'identifiant du scénario de gestion des ressources.

Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur IMPORT. Ce paramètre prend uniquement en charge la création de nouvelles piles pour l'importation de ressources.

Si vous souhaitez importer des ressources dans un scénario de gestion des ressources, spécifiez uniquement ce paramètre. Ne spécifiez pas de paramètres liés aux modèles.

Appelez ListTemplateScratches pour interroger les identifiants de scénario.

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

Parallelism

integer

Non

Le nombre maximal d'opérations de ressources simultanées. Par défaut, cette valeur est vide. Une fois définie, la valeur est associée à la pile et affecte les opérations ultérieures.

Ce paramètre prend effet uniquement lorsque ChangeSetType est défini sur CREATE ou UPDATE. Valeurs valides :

  • Si ChangeSetType est défini sur CREATE

    • Si vous définissez ce paramètre sur un entier supérieur à 0, l'entier est utilisé.

    • Si vous définissez ce paramètre sur 0 ou si vous ne le définissez pas, aucune limite n'est imposée aux piles ROS. Pour les piles Terraform, la valeur par défaut de Terraform est utilisée, soit 10.

  • Si ChangeSetType est défini sur UPDATE

    • Si vous définissez ce paramètre sur un entier supérieur à 0, l'entier est utilisé.

    • Si vous définissez ce paramètre sur 0, aucune limite n'est imposée aux piles ROS. Pour les piles Terraform, la valeur par défaut de Terraform est utilisée, soit 10.

    • Si vous ne définissez pas ce paramètre, la valeur que vous avez spécifiée dans l'opération précédente est utilisée. Si vous n'avez pas défini ce paramètre dans l'opération précédente, aucune limite n'est imposée aux piles ROS. Pour les piles Terraform, la valeur par défaut de Terraform est utilisée, soit 10.

1

Tags

array<object>

Non

Les balises de l'ensemble de modifications.

object

Non

Les balises de l'ensemble de modifications.

Key

string

Non

La clé de balise de la pile.

La valeur de N peut aller de 1 à 20.

Remarque
  • Le paramètre Tags est facultatif. Si vous spécifiez Tags, vous devez également spécifier Tags.N.Key.

  • La balise est propagée à chaque ressource de pile qui prend en charge les balises. Propager les balises.

usage

Value

string

Non

La valeur de balise de la pile.

La valeur de N peut aller de 1 à 20.

Remarque

La balise est propagée à chaque ressource de pile qui prend en charge les balises. Pour plus d'informations, consultez Propager les balises.

test

ResourceGroupId

string

Non

L'identifiant du groupe de ressources. S'il n'est pas spécifié, la pile est ajoutée au groupe de ressources par défaut. Qu'est-ce qu'un groupe de ressources ?.

rg-acfmxazb4ph6aiy****

TaintResources

array

Non

La liste des ressources à marquer comme altérées.

string

Non

  • Pour les piles ROS, la valeur est le nom de la ressource, tel que my_vpc.

  • Pour les piles Terraform, la valeur est le type de ressource et le nom de la ressource, tel que alicloud_vpc.my_vpc

my_vpc

Cette API utilise également les Paramètres communs.

Éléments de réponse

Élément

Type

Description

Exemple

object

ChangeSetId

string

L'identifiant de l'ensemble de modifications.

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

RequestId

string

L'identifiant de la requête.

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

StackId

string

L'identifiant de la pile.

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

Exemples

JSON format

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

Codes d'erreur

Consultez Codes d'erreur pour la liste complète.

Notes de version

Consultez Notes de version pour la liste complète.