调用参数说明

在创建文件类型和脚本类型的部署物时,需要在命令内容框中输入相应的执行命令或脚本内容,如果执行命令或脚本信息中需要调用服务实例的具体配置参数,可以通过调用命令来实现。本文介绍如何使用调用命令。

背景信息

用户完成服务实例的部署后,计算巢会将服务实例的输入参数和输出参数存储在运维编排服务(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"]