本文为您介绍如何通过阿里云CLI(3.0.25及以上版本)调用模板相关的API。

GetTemplate

查询资源栈、更改集的详细信息。

名称 类型 是否必选 示例值 描述
--RegionId String cn-hangzhou

模板所属资源栈的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

--StackId String 4a6c9851-3b0f-4f5f-b4ca-a14bf691****

资源栈ID。

--ChangeSetId String 1f6521a4-05af-4975-afe9-bc4b45ad****

更改集ID。

请求示例

aliyun ros GetTemplate --RegionId cn-beijing  --StackId bd98e636-68e9-4632-82df-ce2aba56****

正常返回示例

{
        "TemplateBody": "{\"ROSTemplateFormatVersion\": \"2015-09-01\", \"Resources\": {\"MyVPC\": {\"Type\": \"ALIYUN::ECS::VPC\", \"Properties\": {\"VpcName\": \"vpc-test\", \"CidrBlock\": \"172.16.0.0/12\"}}}}",
        "RequestId": "3F5F5059-C8C3-473F-ABD3-9647D5384A18"
}

GetTemplateEstimateCost

查询模板中要创建的资源的预估价格。

名称 类型 是否必选 示例值 描述
--RegionId String cn-beijing

资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

--Parameters.N.ParameterKey String InstanceId

参数的名称。 如果未指定特定参数的名称和值,则ROS将使用模板中指定的默认值。

N最大值为200。

--Parameters.N.ParameterValue String i-xxxxxx

参数的值。

N最大值为200。

--TemplateURL String oss://ros-template/demo

包含模板主体的文件的位置。 URL必须指向位于http Web服务器(http,https),或阿里云OSS存储桶(例如oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同)中的模板(最大长度:524288字节)。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

--TemplateBody String { "ROSTemplateFormatVersion": "2015-09-01" }

包含模板体的结构,最小长度为1个字节,最大长度为51200个字节。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

--ClientToken String 123e4567-e89b-12d3-a456-42665544****

保证请求的幂等性。 该值由客户端生成,并且必须是全局唯一的。 仅允许使用字母数字字符(区分大小写),连字符和下划线。 它最多可包含64个字符。更多详情,请参见如何保证幂等性

请求示例

aliyun ros GetTemplateEstimateCost --TemplateBody "{'ROSTemplateFormatVersion': '2015-09-01', 'Resources': {'Database': {'Type': 'ALIYUN::RDS::DBInstance', 'Properties': {'Engine':'MySQL', 'EngineVersion':'5.6', 'DBInstanceClass':'rds.mysql.t1.small', 'DBInstanceStorage':'10', 'DBInstanceNetType':'Intranet', 'SecurityIPList': '10.23.XX.XX/XX', 'MasterUsername': 'hope', 'MasterUserPassword': 'lvpd3****', 'DBMappings':[{'DBName': 'hope', 'CharacterSetName': 'utf8'}]}}}}"

正常返回示例

{
        "RequestId": "FF1AB18B-10A4-4C0E-A377-C049728F215B",
        "Resources": {
                "Database": {
                        "Result": {
                                "RequestId": "47E01009-44A4-402D-AA6C-100CED430429",
                                "Order": {
                                        "OriginalAmount": 0.307,
                                        "RuleIds": {
                                                "RuleId": []
                                        },
                                        "TradeAmount": 0.307,
                                        "Coupons": {
                                                "Coupon": []
                                        },
                                        "DiscountAmount": 0.0,
                                        "Currency": "CNY"
                                },
                                "Rules": {
                                        "Rule": []
                                }
                        },
                        "Type": "ALIYUN::RDS::DBInstance",
                        "Success": true
                }
        }
}

ValidateTemplate

验证将要创建资源栈的模板。

名称 类型 是否必选 示例值 描述
--RegionId String cn-hangzhou

资源栈模板所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

--TemplateBody String {"ROSTemplateFormatVersion":"2015-09-01"}

包含模板体的结构,最小长度为1个字节,最大长度为51200个字节。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

--TemplateURL String oss://ros/template/demo

包含模板主体的文件的位置。URL必须指向位于http Web服务器(http,https),或阿里云OSS存储桶(例如oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou。OSS地域如未指定,默认与接口参数RegionId相同)中的模板(最大长度:524288字节)。

您必须指定TemplateBody或TemplateURL参数,但不能同时指定两者。

请求示例

aliyun ros ValidateTemplate --TemplateBody "{"ROSTemplateFormatVersion": "2015-09-01", "Parameters": {"username": {"Type": "String", "Label": "CLI", "Default": "CLITest"}}}"

正常返回示例

{
        "Parameters": [
                {
                        "Default": "CLITest",
                        "NoEcho": "false",
                        "Description": "",
                        "Type": "String",
                        "Label": "CLI",
                        "ParameterKey": "username"
                }
        ],
        "Description": "No description",
        "RequestId": "30FA40B9-82DE-4849-A95C-7D19F308FD20"
}