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
|
ros:CreateChangeSet |
create |
*Stack
Template
|
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 :
|
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 :
|
{"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 :
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 :
Si vous définissez la valeur de ChangeSetType sur CREATE, ROS crée une nouvelle pile. La pile est dans l'état Remarque
|
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 :
|
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.
|
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 :
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 :
|
{"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. |
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 :
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 :
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 : |
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 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 :
|
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
|
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 |
|
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.