在创建文件类型和脚本类型的部署物时,需要在命令内容框中输入相应的执行命令或脚本内容,如果执行命令或脚本信息中需要调用服务实例的具体配置参数,可以通过调用命令来实现。本文介绍如何使用调用命令。
背景信息
用户完成服务实例的部署后,计算巢会将服务实例的输入参数和输出参数存储在运维编排服务(Operation Orchestration Service,简称OOS)的参数仓库中,以便用户查看和管理这些参数,且方便服务商调用参数。关于参数仓库,请参见参数概述。
调用参数
服务商在创建文件类型和脚本类型的部署物时,如果需要调用服务实例中的某些参数,可以在创建部署物界面的命令框中,通过{{ xxx }}
命令调用服务实例中的某些参数,计算巢会自动识别{{ xxx }}
中的内容,并替换成相应的参数。
当需要调用服务实例的输入参数时,命令格式为
{{ parameters_xxx }}
。该命令格式中的xxx表示模板中定义的输入参数。当需要调用服务实例的输出参数时,命令格式为
{{ outputs_xxx }}
。该命令格式中的xxx表示模板中定义的输出参数。
调用参数示例
调用参数示例如下。
ROS模板
服务商创建服务时,定义的参数模板。
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "此模板为单实例自定义镜像模板示例,支持选择已有基础资源配置,支持配置ECS的付费模式为预付费或者后付费",
"en": "This template supports single-instance with custom image, including scenarios using existing and creating ECS by prepaid or postpaid model"
},
"Parameters": {
"VpcId": {
"Default": null,
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": {
"zh-cn": "请选择已有的VPC<br><b><font color='blue'>如找不到VPC,请切换地域。</font></b>",
"en": "Please select the existing VPC. <br><b><font color='blue'>If you can't find the VPC, please switch Regions.</font></b>"
},
"Label": {
"zh-cn": "现有VPC的实例ID",
"en": "Existing VPC ID"
}
}
........
},
"Outputs": {
"InstanceIds": {
"Value": {
"Fn::GetAtt": [
"ECSInstances",
"InstanceIds"
]
}
}
}
........
}
输入调用命令
创建部署物时,输入调用参数的命令。调用服务实例中VpcId和InstanceIds参数配置的值。
计算巢会自动将调用命令中的VpcId和InstanceIds替换成服务实例中该参数配置的值。例如,服务实例中的VpcId值为:vpc-bp19b73artdf07gmkxxxx,InstanceIds值为:i-bp1b7gbbybdnvafuxxx。运行调用命令时,计算巢会将调用命令中的 {{parameters_VpcId}} 和 {{outputs_InstanceIds}} 替换成上述值。
则以上命令在执行时,相当于执行如下命令。
echo vpc-bp19b73artdf07gmkxxxx
echo [ "i-bp1b7gbbybdnvafuxxx"]