Prévisualise les informations sur une pile que vous souhaitez créer ou mettre à jour à partir d'un modèle. Vous pouvez appeler cette opération pour vérifier si les ressources du modèle sont valides.
Description de l'opération
Dans cet exemple, une pile nommée MyStack est créée dans la région de Chine (Hangzhou) et prévisualisée. Le paramètre TemplateBody de la pile est défini sur {"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:PreviewStack |
get |
*Stack
Template
|
Aucune | Aucune |
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| DisableRollback |
boolean |
Non |
Indique si la restauration des ressources doit être désactivée en cas d'échec de la création de la pile. Valeurs valides : |
false |
| TimeoutInMinutes |
integer |
Non |
Le délai d'expiration pour la création de la pile. |
60 |
| TemplateBody |
string |
Non |
La structure qui contient le corps du modèle. Le corps du modèle doit avoir une longueur de 1 à 524 288 octets. Si la longueur du corps du modèle dépasse la limite supérieure, il est recommandé d'ajouter des paramètres au corps de la requête HTTP POST afin d'éviter les échecs de requête causés par des URL excessivement longues. |
{"ROSTemplateFormatVersion":"2015-09-01"} |
| StackPolicyURL |
string |
Non |
L'URL du fichier qui contient la stratégie de la pile. L'URL doit pointer vers une stratégie située sur un serveur web HTTP ou HTTPS ou dans un compartiment Object Storage Service (OSS), comme oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Le fichier de stratégie peut avoir une longueur maximale de 16 384 octets. Si vous ne spécifiez pas l'identifiant de la région du compartiment OSS, la valeur de RegionId est utilisée. |
oss://ros-stack-policy/demo |
| RegionId |
string |
Oui |
L'identifiant de la région de la pile. Vous pouvez appeler l'opération DescribeRegions pour interroger la liste des régions la plus récente. |
cn-hangzhou |
| StackPolicyBody |
string |
Non |
La structure qui contient le corps de la stratégie de la pile. Le corps de la stratégie de la pile doit avoir une longueur de 1 à 16 384 octets. |
{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]} |
| StackName |
string |
Non |
Le nom de la pile. Vous pouvez utiliser ce paramètre pour prévisualiser la pile que vous souhaitez créer. Le nom peut comporter jusqu'à 255 caractères et peut contenir des chiffres, des lettres, des traits d'union (-) et des traits de soulignement (_). Il doit commencer par un chiffre ou une lettre. |
MyStack |
| ClientToken |
string |
Non |
Le jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez utiliser le client pour générer le jeton, mais vous devez vous assurer que le jeton est unique pour chaque requête. |
123e4567-e89b-12d3-a456-42665544**** |
| TemplateURL |
string |
Non |
L'URL du fichier qui contient le corps du modèle. L'URL doit pointer vers un modèle situé sur un serveur web HTTP ou HTTPS ou dans un compartiment OSS, comme oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. Le corps du modèle peut avoir une longueur maximale de 524 288 octets. Si vous ne spécifiez pas l'identifiant de la région du compartiment OSS, la valeur de RegionId est utilisée. |
oss://ros-template/demo |
| TemplateId |
string |
Non |
L'identifiant du modèle. Ce paramètre s'applique aux modèles partagés et privés. |
5ecd1e10-b0e9-4389-a565-e4c15efc**** |
| TemplateVersion |
string |
Non |
La version du modèle. Ce paramètre ne prend effet que lorsque TemplateId est spécifié. |
v1 |
| Parameters |
array<object> |
Non |
Les paramètres de la pile. |
|
|
object |
Non |
|||
| ParameterKey |
string |
Oui |
Le nom du paramètre N. Si vous ne spécifiez pas le nom et la valeur d'un paramètre, Resource Orchestration Service (ROS) utilise le nom et la valeur par défaut spécifiés dans le modèle. Valeur maximale de N : 200. |
ALIYUN::AccountId |
| ParameterValue |
string |
Oui |
La valeur du paramètre N. Valeur maximale de N : 200. |
151266687691**** |
| Parallelism |
integer |
Non |
Le nombre maximal d'opérations simultanées pouvant être effectuées sur les ressources. Ce paramètre ne prend effet que pour les piles Terraform. |
1 |
| TemplateScratchId |
string |
Non |
L'identifiant du scénario. |
ts-aa9c62feab844a6b**** |
| TemplateScratchRegionId |
string |
Non |
L'identifiant de la région du scénario. La valeur par défaut est identique à la valeur de RegionId. |
cn-hangzhou |
| StackId |
string |
Non |
L'identifiant de la pile. Vous pouvez utiliser ce paramètre pour prévisualiser une pile que vous souhaitez mettre à jour. |
4a6c9851-3b0f-4f5f-b4ca-a14bf691**** |
| EnablePreConfig |
boolean |
Non |
Indique si les paramètres que vous souhaitez utiliser dans le précontrôle de conformité doivent être interrogés. |
false |
| TaintResources |
array |
Non |
Les ressources marquées comme contaminées. |
|
|
string |
Non |
La ressource marquée comme contaminée. |
my_vpc |
|
| UsePreviousParameters |
boolean |
Non |
Indique si les valeurs des paramètres utilisés en dernier lieu doivent être utilisées. |
true |
Pour plus d'informations sur les paramètres de requête courants, consultez Paramètres courants.
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
|||
| RequestId |
string |
L'identifiant de la requête. |
B288A0BE-D927-4888-B0F7-B35EF84B6E6F |
| Stack |
object |
Les informations sur la pile prévisualisée. |
|
| TemplateDescription |
string |
La description du modèle. |
Une instance ECS |
| Parameters |
array<object> |
Les paramètres de la pile. |
|
|
object |
|||
| ParameterKey |
string |
The name of the parameter. |
ALIYUN::AccountId |
| ParameterValue |
string |
The value of the parameter. |
151266687691**** |
| Description |
string |
La description de la pile. |
Une instance ECS |
| DisableRollback |
boolean |
Indique si la restauration est désactivée pour les ressources en cas d'échec de la création de la pile. |
false |
| StackName |
string |
Le nom de la pile. |
MyStack |
| TimeoutInMinutes |
integer |
Le délai d'expiration pour la création de la pile. |
60 |
| StackPolicyBody |
object |
La structure qui contient le corps de la stratégie de la pile. |
{ "Statement": [ { "Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*" }, { "Action": "Update:*", "Resource": "LogicalResourceId/apple1", "Effect": "Deny", "Principal": "*" } ] } |
| Resources |
array<object> |
Les ressources de la pile. |
|
|
array<object> |
|||
| LogicalResourceId |
string |
The logical ID of the resource. |
WebServer |
| AcsResourceType |
string |
The resource type of an Alibaba Cloud service. |
ACS::ECS::Instance |
| ResourceType |
string |
The resource type. |
ALIYUN::ECS::Instance |
| Description |
string |
The description of the resource. |
ECS instance. |
| Stack |
object |
The information about the nested stack. The data structure of the value is the same as the data structure of the entire response. |
{} |
| RequiredBy |
array |
The resources on which the stack depends. |
|
|
string |
The resource on which the stack depends. |
["Resource1", "Resource2"] |
|
| Properties |
object |
The resource properties. |
{ "DiskMappings": [ { "Category": "cloud_ssd", "Size": "20" } ], "SystemDisk_Category": "cloud_ssd", "InstanceChargeType": "PostPaid", "AutoRenew": "False", "WillReplace": true, "ImageId": "centos_7", "InstanceType": "ecs.g6.large", "AllocatePublicIP": true, "AutoRenewPeriod": 1, "IoOptimized": "optimized", "ZoneId": "cn-beijing-g", "VSwitchId": "", "SecurityGroupId": "", "Period": 1, "InternetChargeType": "PayByTraffic", "SystemDiskCategory": "cloud_efficiency", "InternetMaxBandwidthOut": 1, "VpcId": "", "InternetMaxBandwidthIn": 200, "PeriodUnit": "Month" } |
| Action |
string |
The action that is performed on the resource. Valid values:
|
Add |
| Replacement |
string |
Indicates whether a replacement update is performed on the template. Valid values:
Remarque
This parameter is returned only if Action is set to Modify. |
False |
| PhysicalResourceId |
string |
The physical ID of the resource. This parameter is returned only if Action is set to Modify or Remove. |
i-a1b2c3*** |
| RegionId |
string |
La région où réside la pile. |
cn-hangzhou |
| Log |
object |
Le journal généré lors de l'exécution de la pile. |
|
| TerraformLogs |
array<object> |
The Terraform logs. This parameter is returned only if the stack is a Terraform stack. Remarque
This parameter contains the logs of previewing the stack. |
|
|
object |
|||
| Command |
string |
The name of the Terraform command that is run. Valid values:
For more information about Terraform commands, see Basic CLI Features. |
apply |
| Stream |
string |
The output stream. Valid values:
|
stdout |
| Content |
string |
The content of the output stream that is returned after the command is run. |
Apply complete! Resources: 42 added, 0 changed, 0 destroyed. |
Exemples
JSON format
{
"RequestId": "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
"Stack": {
"TemplateDescription": "One ECS instance.",
"Parameters": [
{
"ParameterKey": "ALIYUN::AccountId",
"ParameterValue": "151266687691****"
}
],
"Description": "One ECS instance.",
"DisableRollback": false,
"StackName": "MyStack",
"TimeoutInMinutes": 60,
"StackPolicyBody": {
"Statement": [
{
"Action": "Update:*",
"Resource": "*",
"Effect": "Allow",
"Principal": "*"
},
{
"Action": "Update:*",
"Resource": "LogicalResourceId/apple1",
"Effect": "Deny",
"Principal": "*"
}
]
},
"Resources": [
{
"LogicalResourceId": "WebServer",
"AcsResourceType": "ACS::ECS::Instance",
"ResourceType": "ALIYUN::ECS::Instance",
"Description": "ECS instance.",
"Stack": {},
"RequiredBy": [
"[\"Resource1\", \"Resource2\"]"
],
"Properties": {
"DiskMappings": [
{
"Category": "cloud_ssd",
"Size": "20"
}
],
"SystemDisk_Category": "cloud_ssd",
"InstanceChargeType": "PostPaid",
"AutoRenew": "False",
"WillReplace": true,
"ImageId": "centos_7",
"InstanceType": "ecs.g6.large",
"AllocatePublicIP": true,
"AutoRenewPeriod": 1,
"IoOptimized": "optimized",
"ZoneId": "cn-beijing-g",
"VSwitchId": "",
"SecurityGroupId": "",
"Period": 1,
"InternetChargeType": "PayByTraffic",
"SystemDiskCategory": "cloud_efficiency",
"InternetMaxBandwidthOut": 1,
"VpcId": "",
"InternetMaxBandwidthIn": 200,
"PeriodUnit": "Month"
},
"Action": "Add",
"Replacement": "False",
"PhysicalResourceId": "i-a1b2c3***"
}
],
"RegionId": "cn-hangzhou",
"Log": {
"TerraformLogs": [
{
"Command": "apply",
"Stream": "stdout",
"Content": "Apply complete! Resources: 42 added, 0 changed, 0 destroyed."
}
]
}
}
}
Codes d'erreur
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.