Dans un modèle Resource Orchestration Service (ROS), AssociationProperty récupère les ressources disponibles dans la région sélectionnée, tandis que AssociationPropertyMetadata ajoute des conditions de filtrage aux paramètres. Cette combinaison vous permet de sélectionner dynamiquement les valeurs des paramètres dans la console sans avoir à basculer entre plusieurs interfaces.
Description des paramètres
Le paramètre AssociationPropertyMetadata accepte les valeurs suivantes :
Spécifiez une valeur précise pour le paramètre. Par exemple, si vous spécifiez
"RegionId": "cn-hangzhou", ROS utilise la régioncn-hangzhou.-
Spécifiez une variable pour le paramètre au format
${ParameterKey}. Par exemple, si vous spécifiez"VpcId": "${VpcId}", ROS récupère dynamiquement la valeur du paramètreVpcIdà partir du modèle actuel.RemarquePour spécifier
${ParameterKey}en tant que champ statique, ajoutez un point d'exclamation (!). Par exemple,${!Literal}est évalué comme la chaîne littérale${Literal}.Pour utiliser une variable de paramètre dans un modèle Terraform, ajoutez un
$avant le$. Par exemple, si vous spécifiez"VpcId": "$${VpcId}", ROS récupère dynamiquement la valeur deVpcIdà partir du modèle Terraform.
La configuration requise pour AssociationPropertyMetadata varie selon le type de ressource spécifié dans AssociationProperty.
Ressources personnalisées : configure des ressources personnalisées, telles que des requêtes de données basées sur des paramètres pour l'OpenAPI des produits Alibaba Cloud.
Ressources de base : configure des types de paramètres de base courants.
Ressources ACR : ressources Container Registry Personal Edition.
Ressources APIG : ressources API Gateway.
Ressources ALB : ressources Application Load Balancer.
Ressources Bailian : ressources Model Studio.
Ressources BSS : ressources User Center.
Ressources CAS : ressources SSL Certificate.
Ressources CEN : ressources Cloud Enterprise Network.
Ressources CMS : ressources Cloud Monitor.
Ressources CR : ressources Container Registry Enterprise Edition.
Ressources CS : ressources Container Service for Kubernetes.
Ressources ComputeNest : ressources Compute Nest.
Ressources ComputeNestSupplier : ressources fournisseur Compute Nest.
Ressources DNS : ressources Alibaba Cloud DNS.
Ressources DashVector : ressources DashVector Vector Retrieval Service.
Ressources Domain : ressources Domain Names.
Ressources EAS : ressources Machine Learning PAI-EAS.
Ressources ECD : ressources Cloud Desktop.
Ressources ECI : ressources Elastic Container Instance.
Ressources ECS : ressources Elastic Computing Service (ECS).
Ressources EHPC : ressources Elastic High Performance Computing.
Ressources ESS : ressources Auto Scaling.
Ressources Elasticsearch : ressources Elasticsearch.
Ressources Emr : ressources E-MapReduce.
Ressources FC3 : ressources Function Compute (FC3).
Ressources FC : ressources Function Compute.
Ressources Flow : ressources Logic Composer.
Ressources Hologres : ressources Hologres.
Ressources InfluxDB : ressources Time Series Database InfluxDB.
Ressources Kafka : ressources Message Queue for Kafka.
Ressource Lindorm : une ressource au sein du service Lindorm.
Ressources MongoDB : ressources ApsaraDB for MongoDB.
Ressources NAS : ressources File Storage NAS.
Ressources NLB : ressources Network Load Balancer (NLB).
Ressources OOS : ressources Operation Orchestration Service (OOS).
Ressources OSS : ressources Object Storage Service (OSS).
Ressources PolarDB : ressources PolarDB.
Ressources RAM : ressources Resource Access Management (RAM).
Ressources RDS : ressources ApsaraDB RDS.
Ressources Redis : ressources Redis.
Ressources ResourceManager : ressources Resource Management.
Ressources SAE : ressources Serverless App Engine (SAE).
Ressources SLB : ressources Server Load Balancer (SLB).
Ressources ServiceCatalog : ressources Service Catalog.
Ressources Tag : ressources Tag.
Ressources User : ressources User.
Ressources VPC : ressources Virtual Private Cloud (VPC).
Exemples
Exemple 1 : exemple AssociationProperty
Définissez AssociationProperty sur ALIYUN::ECS::Image::ImageId pour récupérer tous les ID d'image dans la région sélectionnée.
Exemple JSON :
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"UserName": {
"Label": "Username",
"Description": "Enter a username",
"Default": "anonymous",
"Type": "String",
"MinLength": "6",
"MaxLength": "12",
"AllowedValues": [
"anonymous",
"user-one",
"user-two"
]
},
"PassWord": {
"Label": "Password",
"NoEcho": "True",
"Description": "Enter a user password",
"Type": "String",
"MinLength": "1",
"MaxLength": "41",
"AllowedPattern": "[a-zA-Z0-9]*"
},
"ImageId": {
"Label": "Image",
"Type": "String",
"Description": "Select an image",
"AssociationProperty": "ALIYUN::ECS::Image::ImageId",
"Default": "centos_7_7_x64_20G_alibase_2020****.vhd"
}
}
}
Exemple YAML :
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
UserName:
Label: Username
Description: Enter a username
Default: anonymous
Type: String
MinLength: '6'
MaxLength: '12'
AllowedValues:
- anonymous
- user-one
- user-two
PassWord:
Label: Password
NoEcho: 'True'
Description: Enter a user password
Type: String
MinLength: '1'
MaxLength: '41'
AllowedPattern: '[a-zA-Z0-9]*'
ImageId:
Label: Image
Type: String
Description: Select an image
AssociationProperty: ALIYUN::ECS::Image::ImageId
Default: centos_7_7_x64_20G_alibase_2020****.vhd
Description des paramètres :
-
UserName : le nom d'utilisateur. Ce paramètre est une chaîne qui doit comporter entre 6 et 12 caractères. Valeurs valides :
anonymous (par défaut)
user-one
user-two
-
PassWord : le mot de passe. Ce paramètre est une chaîne qui doit comporter entre 1 et 41 caractères et peut contenir des lettres majuscules, des lettres minuscules et des chiffres. Aucune valeur par défaut.
Si
NoEchoest défini surtrue, la valeur du paramètre n'est pas renvoyée lorsque vous interrogez la pile. -
ImageId : l'ID de l'image. Type de chaîne.
Lorsque
AssociationPropertyest défini surALIYUN::ECS::Image::ImageId, la console ROS valide l'ID d'image spécifié lors de la création de la pile et répertorie les autres ID d'image disponibles dans la région sélectionnée dans une liste déroulante.
Exemple 2 : exemple AssociationPropertyMetadata
Spécifiez AssociationProperty avec le AssociationPropertyMetadata correspondant (RegionId, VpcId et ZoneId) pour récupérer le vSwitch d'un cloud privé virtuel (VPC) et d'une zone spécifiques. Dans cet exemple, RegionId est défini sur le champ statique cn-hangzhou, tandis que VpcId et ZoneId utilisent les variables ${VpcId} et ${EcsZone}. Ces variables s'actualisent dynamiquement en fonction des valeurs sélectionnées pour ALIYUN::ECS::VPC::VPCId et ZoneId, associant ainsi le vSwitch au VPC et à la zone.
Pour les paramètres tels que EcsZone dont AllowedValues est configuré, ajoutez AutoChangeType à AssociationPropertyMetadata et définissez-le sur false. Cela affiche les AllowedValues sous forme de liste déroulante dans la console ROS.
Exemple JSON :
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VpcId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
},
"EcsZone": {
"Type": "String",
"AllowedValues": [
"cn-hangzhou-i",
"cn-hangzhou-j",
"cn-hangzhou-k",
"cn-hangzhou-h"
],
"AssociationPropertyMetadata": {
"AutoChangeType": false
}
},
"VSwitchId": {
"Type": "String",
"AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"RegionId": "cn-hangzhou",
"VpcId": "${VpcId}",
"ZoneId": "${EcsZone}"
}
}
}
}
Exemple YAML :
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VPCId
EcsZone:
Type: String
AllowedValues:
- cn-hangzhou-i
- cn-hangzhou-j
- cn-hangzhou-k
- cn-hangzhou-h
AssociationPropertyMetadata:
AutoChangeType: false
VSwitchId:
Type: String
AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
AssociationPropertyMetadata:
RegionId: cn-hangzhou
VpcId: ${VpcId}
ZoneId: ${EcsZone}
Exemple 3 : exemple de transformation automatique Terraform
Lorsque AssociationProperty est défini sur Auto, ROS génère automatiquement les champs AssociationProperty et AssociationPropertyMetadata en fonction de la structure de données Terraform d'origine.
Plus d'exemples
Vous pouvez également utiliser AssociationProperty et AssociationPropertyMetadata pour :