阿里云CLI(Command Line Interface)是一种命令行工具,允许用户在终端或命令行界面调用阿里云API,来创建、配置、管理阿里云云资源。本文主要介绍如何使用阿里云CLI调用ROS API来管理ROS。
关于阿里云CLI的详细信息,请参见什么是阿里云CLI。
CLI使用方式
安装和配置CLI
安装阿里云CLI。
阿里云CLI提供了Windows、Linux和macOS三种操作系统下的安装服务,请根据您使用设备的操作系统选择:
配置阿里云CLI。
配置调用ROS资源所需的凭证信息、地域、语言等信息。具体配置,请参见身份凭证类型。
重要为保证账号安全,建议您创建专用于API访问的RAM用户并创建对应的AccessKey,请参见身份管理。
通过CLI调用ROS API
安装配置好CLI后,您可以在终端按照以下命令结构,调用ROS API。
关于命令结构说明,请参见命令结构。
aliyun ros <API Name> --<参数1 取值1> --<参数2 取值2> ...
您可以通过OpenAPI自动生成API对应的CLI代码
登录资源编排API调试列表。
选择您需要使用的API,并填写参数。
单击右侧的CLI示例页签即可生成携带参数的命令示例。
aliyun ros CreateStack --region cn-hangzhou --RegionId 'cn-hangzhou' --StackName stack_name
CLI调用示例
以下示例为您展示使用阿里云CLI调用资源编排ROS API。
以下请求仅为示例,具体请求命令请根据实际需求修改。
示例仅为部分API,更多ROS API信息,请参见API概览。
创建自定义模板
调用CreateTemplate - 创建自定义模板,创建一个名称为MyTemplate
的自定义模板,模板内容为创建一个VPC。
参数 | 示例取值 |
TemplateName | 模板名称:MyTemplate |
TemplateBody | 模板内容:创建VPC
|
请求示例。
aliyun ros CreateTemplate --TemplateName MyTemplate --TemplateBody "ROSTemplateFormatVersion: '2015-09-01' Resources: VPC: Type: ALIYUN::ECS::VPC Properties: VpcName: myvpc CidrBlock: 192.168.0.0/16"
返回示例。
{ "RequestId": "24C1BF0F-F65A-45CA-9612-53D0C11BC539", "TemplateId": "4237d4b9-31cc-45aa-9c11-6836b2fd****" }
查询资源类型
调用GetResourceType - 查询资源类型的详细信息,查询资源类型为ALIYUN::ECS::VPC
的详细信息。
参数 | 示例取值 |
ResourceType | 资源类型:ALIYUN::ECS::VPC |
请求示例。
aliyun ros GetResourceType --ResourceType ALIYUN::ECS::VPC
返回示例。
{ "Attributes": { "RouteTableId": { "Description": "The router table id of created VPC." }, "VRouterId": { "Description": "Router id of created VPC." }, "VpcId": { "Description": "Id of created VPC." } }, "ResourceType": "ALIYUN::ECS::VPC", "RequestId": "8A897F64-6A61-446A-A913-30CA572EE181", "Properties": { "CidrBlock": { "Required": false, "Description": "The IP address range of the VPC in the CIDR block form. You can use the following IP address ranges and their subnets:\n10.0.0.0/8\n172.16.0.0/12 (Default)\n192.168.0.0/16", "Immutable": true, "Type": "string", "Constraints": [ { "CustomConstraint": "vpc.cidr" } ], "UpdateAllowed": false }, "VpcName": { "Required": false, "Description": "Display name of the vpc instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'", "Immutable": false, "Type": "string", "Constraints": [ { "CustomConstraint": "ecs.name" } ], "UpdateAllowed": false }, "Description": { "Required": false, "Description": "Description of the vpc, [2, 256] characters. Do not fill or empty, the default is empty.", "Immutable": false, "Type": "string", "Constraints": [ { "CustomConstraint": "ecs.description" } ], "UpdateAllowed": false }, "ResourceGroupId": { "Description": "Resource group id.", "Required": false, "Immutable": false, "Type": "string", "UpdateAllowed": false } } }
创建资源栈
调用CreateStack - 创建资源栈,在杭州地域下,根据已有模板创建一个名称为MyStack的资源栈,并将创建资源栈的超时时间设置为10分钟。
参数 | 示例取值 |
RegionId | 地域:cn-hangzhou |
StackName | 资源栈名称:MyStack |
TimeoutInMinutes | 创建资源栈的超时时间:10 |
TemplateURL | 已有模板的路径:oss://ros-template/demo |
调用示例。
aliyun ros CreateStack --RegionId cn-hangzhou --StackName MyStack --TimeoutInMinutes 10 --TemplateURL oss://ros-template/demo
返回示例。
{ "StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****", "RequestId": "53C2DB3A-8374-4464-9466-952614EEC159" }
查询更改集信息
调用GetChangeSet - 查询更改集信息,查询杭州地域下ID为1f6521a4-05af-4975-afe9-bc4b45ad****
的更改集信息并获取模板内容信息。
参数 | 示例取值 |
RegionId | 地域:cn-hangzhou |
ChangeSetId | 更改集ID: |
ShowTemplate | 是否获取模板:true |
请求示例。
aliyun ros GetChangeSet --RegionId cn-hangzhou --ChangeSetId 1f6521a4-05af-4975-afe9-bc4b45ad**** --ShowTemplate true
返回示例。
{ "ExecutionStatus": "AVAILABLE", "Parameters": [{ "ParameterValue": "342546988786****", "ParameterKey": "ALIYUN::AccountId" }, { "ParameterValue": "None", "ParameterKey": "ALIYUN::NoValue" }, { "ParameterValue": "cn-beijing", "ParameterKey": "ALIYUN::Region" }, { "ParameterValue": "c18d62d8-51ce-4e8e-b8f6-e00be431****", "ParameterKey": "ALIYUN::StackId" }, { "ParameterValue": "MyStack", "ParameterKey": "ALIYUN::StackName" }, { "ParameterValue": "sg-bfwb3h3eosga1tj5****", "ParameterKey": "SecurityGroupId" } ], "Changes": [{ "Type": "Resource", "ResourceChange": { "LogicalResourceId": "WebServer", "ResourceType": "ALIYUN::ECS::Instance", "Action": "Add", "Details": [], "Scope": [] } }], "Description": "It is a demo.", "TimeoutInMinutes": 12, "ChangeSetId": "1f6521a4-05af-4975-afe9-bc4b45ad****", "StackId": "c18d62d8-51ce-4e8e-b8f6-e00be431****", "DisableRollback": false, "ChangeSetName": "MyChangeSet", "ChangeSetType": "CREATE", "StackName": "MyStack", "Status": "CREATE_COMPLETE", "TemplateBody": "{\"ROSTemplateFormatVersion\":\"2015-09-01\",\"Parameters\":{\"SecurityGroupId\":{\"Type\":\"String\"}},\"Resources\":{\"WebServer\":{\"Type\":\"ALIYUN::ECS::Instance\",\"Properties\":{\"ImageId\":\"centos_7\",\"InstanceType\":\"ecs.c6.large\",\"SecurityGroupId\":{\"Ref\":\"SecurityGroupId\"}}}},\"Outputs\":{\"InstanceId\":{\"Value\":{\"Fn:GetAtt\":[\"WebServer\",\"InstanceId\"]}},\"PublicIp\":{\"Value\":{\"Fn:GetAtt\":[\"WebServer\",\"PublicIp\"]}}}}", "RequestId": "A46D85A6-9C8E-4603-9989-1FF3F91512F6", "RegionId": "cn-beijing", "CreateTime": "2019-09-05T14:39:31" }
相关文档
在阿里云CLI中,您可根据需要使用命令行选项,用来修改命令的默认行为或为命令提供额外功能,请参见API命令可用选项。