在創建文件類型和腳本類型的部署物時,需要在命令內容框中輸入相應的執行命令或腳本內容,如果執行命令或腳本信息中需要調用服務實例的具體配置參數,可以通過調用命令來實現。本文介紹如何使用調用命令。
背景信息
用戶完成服務實例的部署后,計算巢會將服務實例的輸入參數和輸出參數存儲在運維編排服務(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"]