Interroge les valeurs d'un ou de plusieurs paramètres dans un modèle.
Description
Cette rubrique présente un exemple d'interrogation des valeurs d'un paramètre. Dans cet exemple, nous interrogeons les valeurs du paramètre ZoneInfo d'un modèle créé dans la région Chine (Hangzhou). Le corps du modèle est le suivant : {"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}}.
Pour plus d'informations sur les paramètres de modèle dont vous pouvez interroger les valeurs en appelant cette opération, ainsi que sur l'exemple de code du modèle, consultez la section Interroger les contraintes des paramètres.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | GetTemplateParameterConstraints | L'opération à effectuer. Définissez la valeur sur GetTemplateParameterConstraints. |
| TemplateBody | String | Non | {"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}} | Structure contenant le corps du modèle. La taille du corps du modèle doit être comprise entre 1 et 524 288 octets. Si la taille du corps du modèle dépasse la limite supérieure, nous vous recommandons 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. Remarque Vous devez spécifier exactement l'un des paramètres suivants : TemplateBody, TemplateURL et TemplateId. |
| RegionId | String | Oui | cn-hangzhou | ID de la région. Appelez l'opération DescribeRegions pour obtenir la liste des régions la plus récente. |
| TemplateURL | String | Non | oss://ros-template/demo | URL du fichier contenant 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 Object Storage Service (OSS), tel que oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. La taille du corps du modèle peut atteindre 524 288 octets. Si vous ne spécifiez pas l'ID de région du compartiment OSS, la valeur du paramètre RegionId est utilisée. Remarque Vous devez spécifier exactement l'un des paramètres suivants : TemplateBody, TemplateURL et TemplateId. |
| TemplateId | String | Non | 5ecd1e10-b0e9-4389-a565-e4c15efc**** | ID du modèle. Ce paramètre s'applique aux modèles partagés et privés. Remarque Vous devez spécifier exactement l'un des paramètres suivants : TemplateBody, TemplateURL et TemplateId. |
| TemplateVersion | String | Non | v1 | Version du modèle. Si vous ne spécifiez pas ce paramètre, la dernière version est utilisée. Remarque Ce paramètre prend effet uniquement lorsque le paramètre TemplateId est spécifié. |
| Parameters.N.ParameterKey | String | Oui | ZoneInfo | Nom du paramètre N défini dans le modèle. Remarque Le paramètre Parameters est facultatif. Si vous spécifiez Parameters, vous devez spécifier Parameters.N.ParameterKey. |
| Parameters.N.ParameterValue | String | Oui | cn-hangzhou-h | Valeur du paramètre N défini dans le modèle. Remarque Le paramètre Parameters est facultatif. Si vous spécifiez Parameters, vous devez spécifier Parameters.N.ParameterValue. |
| ParametersKeyFilter | Array of String | Non | ZoneInfo | Paramètres dont vous souhaitez interroger les valeurs. |
| ClientToken | String | Non | 123e4567-e89b-12d3-a456-42665544**** | 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 qu'il est unique parmi différentes requêtes. Le jeton peut contenir jusqu'à 64 caractères, y compris des lettres, des chiffres, des traits d'union (-) et des traits de soulignement (_). Pour plus d'informations, consultez la section Garantir l'idempotence. |
| ParametersOrder | Array of String | Non | ["ZoneId", "InstanceType"] | Ordre dans lequel les paramètres associés sont disposés. Remarque Par défaut, l'ordre des paramètres associés spécifiés dans la section Metadata du modèle est utilisé. |
| StackId | String | Non | c754d2a4-28f1-46df-b557-9586173a**** | ID de la pile. Si vous spécifiez ce paramètre dans une requête, celle-ci sert à interroger les valeurs des paramètres dont les configurations ont été modifiées. |
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| RequestId | String | 9816785B-BCF8-514D-8B76-C1EC2BC954FC | ID de la requête. |
| ParameterConstraints | Array of ParameterConstraint | Contraintes des paramètres. | |
| ParameterKey | String | ZoneInfo | Nom du paramètre. |
| Type | String | String | Type de données du paramètre. |
| AllowedValues | Array of String | cn-hangzhou-h | Valeurs du paramètre. |
| Behavior | String | NoLimit | Comportement du paramètre. Valeurs valides :
Remarque Si le paramètre AllowedValues n'est pas renvoyé, les paramètres Behavior et BehaviorReason le sont. |
| BehaviorReason | String | No resource property refer to the parameter | Raison pour laquelle le comportement du paramètre est renvoyé. |
| AssociationParameterNames | Array of String | InstanceType | Noms des paramètres associés. |
| IllegalValueByParameterConstraints | Array of Any | cn-hangzhou-h | Valeurs qui ne respectent pas les contraintes des paramètres. Remarque Si le paramètre AllowedValues est renvoyé, les paramètres IllegalValueByParameterConstraints et IllegalValueByRules le sont simultanément. |
| IllegalValueByRules | Array of Any | cn-hangzhou-h | Valeurs qui ne correspondent pas aux règles du modèle. Remarque Si le paramètre AllowedValues est renvoyé, les paramètres IllegalValueByParameterConstraints et IllegalValueByRules le sont simultanément. |
| NotSupportResources | Array of NotSupportResource | Ressources non prises en charge dans le modèle. |
|
| ResourceType | String | ALIYUN::ECS::InstanceGroup | Type de ressource. |
| PropertyName | String | InstanceName | Nom de la propriété de ressource. |
| QueryErrors | Array of QueryError | Détails de l'erreur renvoyés si la requête échoue. |
|
| ResourceType | String | ALIYUN::ECS::InstanceGroup | Type de ressource. |
| ResourceName | String | MyECS | Nom de la ressource. |
| ResourceType | String | InstanceType is needed while query DataDisk | Message d'erreur. |
Exemples
Exemple de requête
http(s)://ros.aliyuncs.com/?Action=GetTemplateParameterConstraints
&TemplateBody={"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}}
&RegionId=cn-hangzhou
&ParametersKeyFilter=["ZoneInfo"]
&<Common request parameters>
Exemple de réponse réussie
Format XML
HTTP/1.1 200 OK
Content-Type:application/xml
<GetTemplateParameterConstraintsResponse>
<RequestId>9816785B-BCF8-514D-8B76-C1EC2BC954FC</RequestId>
<ParameterConstraints>
<ParameterKey>ZoneInfo</ParameterKey>
<Type>String</Type>
<AllowedValues>cn-hangzhou-i</AllowedValues>
<AllowedValues>cn-hangzhou-k</AllowedValues>
<AllowedValues>cn-hangzhou-d</AllowedValues>
<AssociationParameterNames>InstanceType</AssociationParameterNames>
<IllegalValueByParameterConstraints>cn-hangzhou-h</IllegalValueByParameterConstraints>
<IllegalValueByRules>cn-hangzhou-h</IllegalValueByRules>
</ParameterConstraints>
</GetTemplateParameterConstraintsResponse>
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "9816785B-BCF8-514D-8B76-C1EC2BC954FC",
"ParameterConstraints" : [ {
"ParameterKey" : "ZoneInfo",
"Type" : "String",
"AllowedValues" : [ "cn-hangzhou-i", "cn-hangzhou-k", "cn-hangzhou-d" ],
"AssociationParameterNames" : [ "InstanceType" ],
"IllegalValueByParameterConstraints" : [ "cn-hangzhou-h" ],
"IllegalValueByRules" : [ "cn-hangzhou-h" ]
} ]
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez la section Codes d'erreur de service.