O Resource Orchestration Service (ROS) fornece recursos de source de dados, também conhecidos como recursos DataSource, para consultar dados dos serviços da Alibaba Cloud. Recursos comuns e outputs podem referenciar esses recursos. Embora recursos de source de dados e recursos comuns ofereçam os mesmos mecanismos, como referências, dependências e atualizações, eles atendem a cenários de negócios distintos.
Cenários de negócios
-
Usar valores consultados como entradas para crie um recurso
O ROS consulta os valores dos recursos de source de dados com base em condições especificadas e usa esses valores como propriedades de entrada para crie um recurso comum.
-
Exibir detalhes do recurso na aba Outputs
Ao especifique um recurso de source de dados na seção Resources de um modelo, você pode referenciá-lo na seção Outputs. Dessa forma, o console do ROS exibe os detalhes do recurso na aba Outputs.
Usar valores consultados como entradas para crie um recurso
O ROS consulta os valores dos recursos de source de dados com base em condições especificadas e usa esses valores como propriedades de entrada para crie um recurso comum.
Use o modelo a seguir para especifique vários parâmetros como condições de consulta aos valores de recursos de source de dados e usar os resultados como propriedades de entrada na criação de uma instância do Elastic Compute Service (ECS).
Cores e Memory: condições que especificam separadamente o número de vCPUs e o tamanho da memória. O ROS usa essas condições para consultar tipos de instância ECS disponíveis e, por padrão, usa o primeiro tipo encontrado para crie a instância ECS.
ImageName: condição que especifica o nome da imagem. O ROS usa essa condição para consultar imagens disponíveis e, por padrão, usa o primeiro ID de imagem retornado para crie a instância ECS.
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
ZoneId:
Type: String
AssociationProperty: ALIYUN::ECS::ZoneId
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VPCId
VSwitchId:
Type: String
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
SecurityGroupId:
Type: String
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Resources:
DS-RecommendInstanceTypes:
Type: DATASOURCE::ECS::RecommendInstanceTypes
Properties:
Cores: 1
Memory: 1
DS-Images:
Type: DATASOURCE::ECS::Images
Properties:
ImageName: CentOS8*
InstanceType:
Fn::Select:
- 0
- Ref: DS-RecommendInstanceTypes
Instance:
Type: ALIYUN::ECS::Instance
Properties:
InstanceName: MyInstance
ImageId:
Fn::Select:
- 0
- Ref: DS-Images
InstanceType:
Fn::Select:
- 0
- Ref: DS-RecommendInstanceTypes
ZoneId:
Ref: ZoneId
VSwitchId:
Ref: VSwitchId
SecurityGroupId:
Ref: SecurityGroupId
SystemDiskCategory: cloud_efficiency
Outputs:
InstanceId:
Value:
Ref: Instance
Configurações no modelo:
A seção Parameters especifica os seguintes parâmetros:
ZoneId,VpcId,VSwitchIdeSecurityGroupId. Cada parâmetro tem a configuraçãoAssociationProperty. Assim, o ROS exibe uma lista de valores selecionáveis na seção Configure Template Parameters do console.-
A seção Resources especifica os seguintes recursos de source de dados e o recurso comum:
DS-RecommendInstanceTypes: ID lógico de um recurso de source de dados. O ROS usa 1 vCPU e 1 GB de memória como condições para consultar tipos de instância ECS disponíveis.DS-Images: ID lógico de um recurso de source de dados. O ROS usa as propriedades InstanceType e ImageName como condições para consultar imagens disponíveis. A propriedadeInstanceTypeestá definida como{ "Fn::Select": [0, { "Ref": "DS-RecommendInstanceTypes" } }para usar o primeiro tipo de instância ECS entre os disponíveis. A propriedade ImageName está definida com um valor prefixado com CentOS.Instance: ID lógico de um recurso comum. O ROS usa o primeiro tipo de instância e o primeiro ID de imagem consultados como valores de propriedades de entrada para crie a instância ECS.
A seção Outputs especifica a propriedade
InstanceId.
Exibir detalhes do recurso na aba Outputs
Após especifique um recurso de source de dados na seção Resources de um modelo, referencie-o na seção Outputs. Dessa forma, o console do ROS exibe os detalhes do recurso na aba Outputs.
Use o modelo a seguir para crie uma Virtual Private Cloud (VPC) e configure um recurso de source de dados que consulte e exiba os detalhes da VPC na aba Outputs:
ROSTemplateFormatVersion: '2015-09-01'
Resources:
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
VpcName: MyVpc
CidrBlock: 172.16.0.0/12
DS-Vpcs:
Type: DATASOURCE::VPC::Vpcs
Properties:
VpcIds:
- Ref: Vpc
Outputs:
VpcData:
Value:
Fn::Select:
- 0
- Fn::GetAtt:
- DS-Vpcs
- Vpcs
Configurações no modelo:
-
A seção Resources especifica um recurso comum e um recurso de source de dados:
Vpc: ID lógico de um recurso comum. As propriedades VpcName e CidrBlock são especificadas no recurso Vpc para crie uma VPC.DS-Vpcs: ID lógico de um recurso de source de dados. O ROS usa o ID da VPC correspondente ao recurso Vpc como valor de propriedade de entrada para consultar os detalhes da VPC.
Na seção Outputs, o output
VpcDataespecificaDS-VpcseVpcspara usar o primeiro valor deVpcs.