Resource Orchestration Service (ROS) met à votre disposition des ressources de source de données, également appelées ressources DataSource, qui vous permettent d'interroger les données relatives aux ressources des services Alibaba Cloud. Les ressources standard et les sorties peuvent référencer ces ressources. Bien que les ressources de source de données et les ressources standard offrent les mêmes fonctionnalités, telles que les références, les dépendances et les mises à jour, elles s'appliquent à des scénarios métier différents.
Scénarios métier
-
Utiliser les valeurs interrogées comme entrées pour créer une ressource
ROS interroge les valeurs des ressources de source de données en fonction de conditions spécifiées, puis utilise ces valeurs comme propriétés d'entrée pour créer une ressource standard.
-
Afficher les détails des ressources dans l'onglet Outputs
Spécifiez une ressource de source de données dans la section Resources d'un modèle, puis référencez-la dans la section Outputs. La console ROS affiche alors les détails de la ressource dans l'onglet Outputs.
Utiliser les valeurs interrogées comme entrées pour créer une ressource
ROS interroge les valeurs des ressources de source de données selon des conditions définies et se sert des résultats obtenus comme valeurs de propriétés d'entrée pour créer une ressource standard.
Le modèle ci-dessous illustre comment spécifier plusieurs paramètres comme conditions afin d'interroger les valeurs des ressources de source de données, puis utiliser ces valeurs pour créer une instance Elastic Compute Service (ECS).
Cores et Memory : ces conditions définissent respectivement le nombre de vCPU et la taille de la mémoire. ROS s'en sert pour rechercher les types d'instance ECS disponibles et sélectionne par défaut le premier type de la liste pour créer l'instance.
ImageName : cette condition spécifie le nom de l'image. ROS l'utilise pour identifier les images disponibles et retient par défaut le premier ID d'image trouvé pour déployer l'instance 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
Détails de la configuration du modèle :
Dans la section Parameters, les paramètres
ZoneId,VpcId,VSwitchIdetSecurityGroupIdsont définis. Chacun d'eux intègre la propriétéAssociationProperty. Ainsi, ROS présente une liste de valeurs sélectionnables pour ces paramètres dans la section Configure Template Parameters de la console.-
La section Resources contient les ressources de source de données et la ressource standard suivantes :
DS-RecommendInstanceTypes: ID logique d'une ressource de source de données. ROS utilise comme critères de recherche 1 vCPU et 1 Go de mémoire pour identifier les types d'instance ECS éligibles.DS-Images: ID logique d'une ressource de source de données. ROS interroge les images disponibles en se basant sur les propriétés InstanceType et ImageName. La propriétéInstanceTypeest définie sur{ "Fn::Select": [0, { "Ref": "DS-RecommendInstanceTypes" } }afin de retenir le premier type d'instance ECS disponible. La propriété ImageName correspond à une valeur commençant par CentOS.Instance: ID logique d'une ressource standard. ROS crée l'instance ECS en utilisant comme valeurs d'entrée le premier type d'instance et le premier ID d'image issus des requêtes précédentes.
Dans la section Outputs, la propriété
InstanceIdest déclarée.
Afficher les détails des ressources dans l'onglet Outputs
Spécifiez une ressource de source de données dans la section Resources d'un modèle, puis référencez-la depuis la section Outputs. Les détails de cette ressource seront alors visibles dans l'onglet Outputs de la console ROS.
Le modèle suivant permet de créer un réseau privé virtuel (VPC) et de configurer une ressource de source de données pour récupérer les informations relatives à ce VPC, afin de les afficher dans l'onglet 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
Explication de la configuration du modèle :
-
La section Resources définit une ressource standard et une ressource de source de données :
Vpc: ID logique d'une ressource standard. Les propriétés VpcName et CidrBlock sont renseignées pour créer le VPC.DS-Vpcs: ID logique d'une ressource de source de données. ROS utilise l'ID du VPC associé à la ressource Vpc comme valeur d'entrée pour interroger les détails du VPC.
Dans la section Outputs, les éléments
DS-VpcsetVpcssont indiqués dans la sortieVpcDataafin de récupérer la première valeur deVpcs.