Em um modelo do Resource Orchestration Service (ROS), AssociationProperty recupera os recursos disponíveis na região selecionada e AssociationPropertyMetadata adiciona condições de filtro aos parâmetros. Juntos, permitem a seleção dinâmica de valores de parâmetros no console sem alternar entre vários consoles.
Descrição dos parâmetros
O parâmetro AssociationPropertyMetadata aceita os seguintes valores:
Especifique um valor específico para o parâmetro. Por exemplo, ao definir
"RegionId": "cn-hangzhou", o ROS usa a regiãocn-hangzhou.-
Defina uma variável para o parâmetro no formato
${ParameterKey}. Por exemplo, ao especificar"VpcId": "${VpcId}", o ROS recupera dinamicamente o valor do parâmetroVpcIddo modelo atual.NotaPara definir
${ParameterKey}como campo estático, adicione um ponto de exclamação (!). Por exemplo,${!Literal}resulta na string literal${Literal}.Para usar uma variável de parâmetro em um modelo Terraform, adicione
$antes de$. Por exemplo, ao especificar"VpcId": "$${VpcId}", o ROS recupera dinamicamente o valor deVpcIddo modelo Terraform.
O AssociationPropertyMetadata necessário varia conforme o tipo de recurso especificado em AssociationProperty.
Recursos personalizados: Configure recursos personalizados, como consultas de dados baseadas em parâmetros para a OpenAPI de produtos Alibaba Cloud.
Recursos básicos: Configure tipos comuns de parâmetros básicos.
Recursos ACR: Recursos do Container Registry Personal Edition.
Recursos APIG: Recursos do API Gateway.
Recursos ALB: Recursos do Application Load Balancer.
Recursos Bailian: Recursos do Model Studio.
Recursos BSS: Recursos do User Center.
Recursos CAS: Recursos de certificados SSL.
Recursos CEN: Recursos da Cloud Enterprise Network.
Recursos CMS: Recursos do CloudMonitor.
Recursos CR: Recursos do Container Registry Enterprise Edition.
Recursos CS: Recursos do Container Service for Kubernetes.
Recursos ComputeNest: Recursos do Compute Nest.
Recursos ComputeNestSupplier: Recursos de fornecedor do Compute Nest.
Recursos DNS: Recursos do Alibaba Cloud DNS.
Recursos DashVector: Recursos do DashVector Vector Retrieval Service.
Recursos Domain: Recursos de nomes de domínio.
Recursos EAS: Recursos do Machine Learning PAI-EAS.
Recursos ECD: Recursos do Cloud Desktop.
Recursos ECI: Recursos do Elastic Container Instance.
Recursos ECS: Recursos do Elastic Compute Service (ECS).
Recursos EHPC: Recursos do Elastic High Performance Computing.
Recursos ESS: Recursos do Auto Scaling.
Recursos Elasticsearch: Recursos do Elasticsearch.
Recursos Emr: Recursos do E-MapReduce.
Recursos FC3: Recursos do Function Compute (FC3).
Recursos FC: Recursos do Function Compute.
Recursos Flow: Recursos do Logic Composer.
Recursos Hologres: Recursos do Hologres.
Recursos InfluxDB: Recursos do Time Series Database InfluxDB.
Recursos Kafka: Recursos do Message Queue for Kafka.
Recurso Lindorm: Recurso do serviço Lindorm.
Recursos MongoDB: Recursos do ApsaraDB for MongoDB.
Recursos NAS: Recursos do File Storage NAS.
Recursos NLB: Recursos do Network Load Balancer (NLB).
Recursos OOS: Recursos do Operation Orchestration Service (OOS).
Recursos OSS: Recursos do Object Storage Service (OSS).
Recursos PolarDB: Recursos do PolarDB.
Recursos RAM: Recursos do Resource Access Management (RAM).
Recursos RDS: Recursos do ApsaraDB RDS.
Recursos Redis: Recursos do Redis.
Recursos ResourceManager: Recursos do Resource Management.
Recursos SAE: Recursos do Serverless App Engine (SAE).
Recursos SLB: Recursos do Server Load Balancer (SLB).
Recursos ServiceCatalog: Recursos do Service Catalog.
Recursos Tag: Recursos de tag.
Recursos User: Recursos de usuário.
Recursos VPC: Recursos da Virtual Private Cloud (VPC).
Exemplos
Exemplo 1: AssociationProperty
Defina AssociationProperty como ALIYUN::ECS::Image::ImageId para recuperar todos os IDs de imagem na região selecionada.
Exemplo 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"
}
}
}
Exemplo 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
Descrição dos parâmetros:
-
UserName: Nome de usuário. Parâmetro do tipo string com 6 a 12 caracteres. Valores válidos:
anonymous (padrão)
user-one
user-two
-
PassWord: Senha. Parâmetro do tipo string com 1 a 41 caracteres, aceitando letras maiúsculas, minúsculas e dígitos. Sem valor padrão.
Se
NoEchoestiver definido comotrue, o valor do parâmetro não será retornado na consulta da pilha. -
ImageId: ID da imagem. Tipo string.
Quando
AssociationPropertyé definido comoALIYUN::ECS::Image::ImageId, o console ROS valida o ID da imagem especificado durante a criação da pilha e lista outros IDs de imagem disponíveis na região selecionada em uma lista suspensa.
Exemplo 2: AssociationPropertyMetadata
Especifique AssociationProperty com o AssociationPropertyMetadata correspondente (RegionId, VpcId e ZoneId) para recuperar o vSwitch de uma Virtual Private Cloud (VPC) e zona específicas. Neste exemplo, RegionId está definido como o campo estático cn-hangzhou, enquanto VpcId e ZoneId usam as variáveis ${VpcId} e ${EcsZone}. Essas variáveis são atualizadas dinamicamente com base nos valores selecionados para ALIYUN::ECS::VPC::VPCId e ZoneId, associando o vSwitch à VPC e à zona.
Para parâmetros como EcsZone que possuem AllowedValues configurado, adicione AutoChangeType ao AssociationPropertyMetadata e defina-o como false. Isso exibe os AllowedValues como uma lista suspensa no console ROS.
Exemplo 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}"
}
}
}
}
Exemplo 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}
Exemplo 3: Transformação automática do Terraform
Quando AssociationProperty é definido como Auto, o ROS gera automaticamente os campos AssociationProperty e AssociationPropertyMetadata com base na estrutura de dados original do Terraform.
Mais exemplos
Use AssociationProperty e AssociationPropertyMetadata também para: