Valide un modèle destiné à la création d'une pile.
Cette rubrique présente un exemple de validation d'un modèle avant la création d'une pile. Le paramètre TemplateURL est défini sur oss://ros/template/demo.
Débogage
Paramètres de requête
| Parameter | Type | Required | Example | Description |
| Action | String | Yes | ValidateTemplate | Opération à effectuer. Définissez la valeur sur ValidateTemplate. |
| TemplateURL | String | No | oss://ros/template/demo | URL du fichier contenant le corps du modèle. L'URL doit pointer vers un modèle hébergé sur un serveur web HTTP ou HTTPS, ou dans un compartiment Object Storage Service (OSS), par exemple oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. La taille du corps du modèle ne doit pas dépasser 524 288 octets. Remarque Si vous ne spécifiez pas l'ID de région du compartiment OSS, la valeur du paramètre RegionId est utilisée. Vous ne pouvez spécifier qu'un seul des paramètres TemplateBody et TemplateURL. La longueur de l'URL ne doit pas dépasser 1 024 octets. |
| RegionId | String | No | cn-hangzhou | ID de la région où se trouve le modèle. Appelez l'opération DescribeRegions pour obtenir la liste des régions disponibles. |
| TemplateBody | String | No | {"ROSTemplateFormatVersion":"2015-09-01"} | Structure contenant le corps du modèle. Sa taille doit être comprise entre 1 et 524 288 octets. Si la taille du corps du modèle dépasse la limite supérieure, ajoutez les paramètres au corps de la requête HTTP POST pour éviter les échecs dus à des URL trop longues. Vous ne pouvez spécifier qu'un seul des paramètres TemplateBody et TemplateURL. |
| ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | Jeton client garantissant l'idempotence de la requête. Générez cette valeur via le client en veillant à son unicité pour chaque requête. Le jeton peut contenir jusqu'à 64 caractères : lettres, chiffres, traits d'union (-) et underscores (_). Pour plus d'informations, consultez la section Garantir l'idempotence. |
| ValidationOption | String | No | None | Indique s'il faut activer une validation supplémentaire du modèle. Valeur par défaut : None. Valeurs possibles :
|
Pour plus d'informations sur les paramètres de requête communs, consultez la section Paramètres communs.
Paramètres de réponse
| Parameter | Type | Example | Description |
| Description | String | No description | Description du modèle. |
| Parameters | Array of Object | [{"Description": "", "Label": "param_integer", "NoEcho": "false", "ParameterKey": "param_integer", "Type": "Number"},{ "Description": "", "Label": "param_float", "NoEcho": "false", "ParameterKey": "param_float", "Type": "Number"}] | Paramètres figurant dans la section Parameters du modèle. La section Parameters contient les paramètres à spécifier lors de la création d'une pile avec ce modèle. Utilisez-les pour définir les détails de la pile, tels que le nom d'utilisateur, le mot de passe et le type d'instance Elastic Compute Service (ECS) dans la région spécifiée. |
| RequestId | String | B288A0BE-D927-4888-B0F7-B35EF84B6E6F | ID de la requête. |
| Outputs | Array of Output | Éléments de sortie du modèle. | |
| OutputKey | String | instance_id | Nom de l'élément de sortie. |
| Description | String | The instance ID of my ECS. | Description de l'élément de sortie. |
| Label | String | Instance ID | Alias de l'élément de sortie. |
| ResourceTypes | Object | Types de ressources utilisés dans le modèle. | |
| Resources | Array of String | ALIYUN::ECS::InstanceGroup | Types de ressources standard. |
| DataSources | Array of String | DATASOURCE::VPC::Vpcs | Types de ressources DataSource. |
| Resources | Array of Resource | Ressources standard définies dans le modèle. Remarque
| |
| ResourceType | String | ALIYUN::ECS::InstanceGroup | Type de ressource standard. |
| ResourcePath | String | server | Chemin d'accès de la ressource standard. Dans la plupart des cas, il est identique au nom de la ressource. |
| LogicalResourceIdPattern | String | server | Modèle de formation des ID logiques des ressources standard. Règles applicables aux ressources définies dans un modèle ROS :
Règles applicables aux ressources et aux modules définis dans un modèle Terraform :
Exemples de valeurs du paramètre LogicalResourceIdPattern pour les ressources d'un modèle Terraform :
|
| UpdateInfo | Object | Informations de mise à jour de la pile. | |
| ParametersAllowedToBeModified | Array of String | param1 | Paramètres modifiables. La modification de leurs valeurs dans le modèle de pile n'entraîne aucune erreur de validation lors de la mise à jour. |
| ParametersCauseInterruptionIfModified | Array of String | param1 | Paramètres dont la modification entraîne une interruption de service. La modification de leurs valeurs dans le modèle de pile provoque une interruption de service lors de la mise à jour. Remarque
|
| ParametersConditionallyAllowedToBeModified | Array of String | param2 | Paramètres modifiables sous certaines conditions. Lors de la mise à jour de la pile, les nouvelles valeurs déterminent si des erreurs de validation surviennent. |
| ParametersConditionallyCauseInterruptionIfModified | Array of String | param2 | Paramètres dont la modification peut entraîner une interruption de service selon les conditions. Lors de la mise à jour de la pile, les nouvelles valeurs et le type de mise à jour déterminent si une interruption survient. Remarque
|
| ParametersNotAllowedToBeModified | Array of String | param3 | Paramètres non modifiables. La modification de leurs valeurs dans le modèle de pile entraîne des erreurs de validation lors de la mise à jour. |
| ParametersUncertainlyAllowedToBeModified | Array of String | param4 | Paramètres potentiellement modifiables. Lors de la mise à jour de la pile, l'environnement d'exécution réel détermine si des erreurs de validation surviennent. |
| ParametersUncertainlyCauseInterruptionIfModified | Array of String | param4 | Paramètres pouvant potentiellement entraîner une interruption de service. Lors de la mise à jour de la pile, l'environnement d'exécution réel détermine si une interruption survient. Remarque
|
Exemples
Exemple de requête
http(s)://ros.aliyuncs.com/?Action=ValidateTemplate
&TemplateURL=oss://ros/template/demo
&<Common request parameters>
Exemple de réponse réussie
Format XML
HTTP/1.1 200 OK
Content-Type:application/xml
<ValidateTemplateResponse>
<Description>No description</Description>
<Parameters>
<Description/>
<Label>param_integer</Label>
<NoEcho>false</NoEcho>
<ParameterKey>param_integer</ParameterKey>
<Type>Number</Type>
</Parameters>
<Parameters>
<Description/>
<Label>param_float</Label>
<NoEcho>false</NoEcho>
<ParameterKey>param_float</ParameterKey>
<Type>Number</Type>
</Parameters>
<RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
<Outputs>
<OutputKey>instance_id</OutputKey>
<Description>The instance ID of my ECS.</Description>
</Outputs>
<ResourceTypes>
<Resources>ALIYUN::ECS::InstanceGroup</Resources>
<DataSources>DATASOURCE::VPC::Vpcs</DataSources>
</ResourceTypes>
</ValidateTemplateResponse>
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"Description" : "No description",
"Parameters" : [ {
"Description" : "",
"Label" : "param_integer",
"NoEcho" : "false",
"ParameterKey" : "param_integer",
"Type" : "Number"
}, {
"Description" : "",
"Label" : "param_float",
"NoEcho" : "false",
"ParameterKey" : "param_float",
"Type" : "Number"
} ],
"RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
"Outputs" : {
"OutputKey" : "instance_id",
"Description" : "The instance ID of my ECS."
},
"ResourceTypes" : {
"Resources" : "ALIYUN::ECS::InstanceGroup",
"DataSources" : "DATASOURCE::VPC::Vpcs"
}
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez la section Codes d'erreur de service.
| Error code | Error message | HTTP status code | Description |
|
InvalidTemplate |
{reason}. |
400 |
Le modèle spécifié n'est pas valide. reason indique la cause de l'erreur. |
|
IInvalidParameter |
{reason}. |
400 |
Le paramètre spécifié dans le modèle n'est pas valide. reason indique la cause de l'erreur. |