调用CreateStackGroup接口创建资源栈组。

资源栈组是针对ROS资源栈的管理单元。通过资源栈组,可使用一个ROS模板在多个阿里云账号中跨地域创建资源栈。

您可以创建自助管理权限模式或服务管理权限模式的资源栈组:

  • 当您使用阿里云账号创建自助管理权限模式的资源栈组时,管理员账号和目标账号都是阿里云账号。
  • 当您开通了资源目录,使用资源目录的企业管理账号或委派管理员账号创建服务管理权限模式的资源栈组时,管理员账号是资源目录的企业管理账号或委派管理员账号,目标账号是资源目录的成员账号。

关于资源栈组的更多信息,请参见概览

本文将提供一个示例,在杭州地域cn-hangzhou使用ID为5ecd1e10-b0e9-4389-a565-e4c15efc****的模板创建一个名为MyStackGroup的资源栈组,其使用自助管理权限模式。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateStackGroup

要执行的操作。取值:CreateStackGroup。

RegionId String cn-hangzhou

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

StackGroupName String MyStackGroup

资源栈组名称。名称在单个地域内唯一。

长度不超过255个字符,必须以数字或英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_)。

Description String StackGroup Description

资源栈组描述。

长度为1~256个字符。

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

模板主体的结构。长度为1~524,288个字节。如果长度较大,则建议通过HTTP POST+Body Param的方式,将参数放在请求体中进行传递,避免因URL过长而导致请求失败。

说明 您必须且仅能指定TemplateBody、TemplateURL或TemplateId其中一个参数。
TemplateURL String oss://ros-template/demo

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

说明 您必须且仅能指定TemplateBody、TemplateURL或TemplateId其中一个参数。
ClientToken String 123e4567-e89b-12d3-a456-42665544****

保证请求的幂等性。该值由客户端生成,并且必须是全局唯一的。

长度不超过64个字符,可包含英文字母、数字、短划线(-)和下划线(_)。

更多信息,请参见如何保证幂等性

AdministrationRoleName String AliyunROSStackGroupAdministrationRole

创建自助管理权限模式的资源栈组时,需指定的供ROS扮演的RAM管理员角色名称。若不指定,则使用AliyunROSStackGroupAdministrationRole作为默认值。ROS以该角色身份进一步扮演执行角色(AliyunROSStackGroupExecutionRole)来操作资源栈组中资源栈实例所对应的资源栈。

长度为1~64个字符,可包含英文字母、数字和短划线(-)。

ExecutionRoleName String AliyunROSStackGroupExecutionRole

创建自助管理权限模式的资源栈组时,需指定的供管理员角色(AliyunROSStackGroupAdministrationRole)扮演的RAM执行角色名称。若不指定,则使用AliyunROSStackGroupExecutionRole作为默认值。ROS以该角色身份来操作资源栈组中资源栈实例所对应的资源栈。

长度为1~64个字符,可包含英文字母、数字和短划线(-)。

TemplateId String 5ecd1e10-b0e9-4389-a565-e4c15efc****

模板ID。支持共享模板和私有模板。

说明 您必须且仅能指定TemplateBody、TemplateURL或TemplateId其中一个参数。
TemplateVersion String v1

模板版本。如果不指定,默认取最新版本。

说明 TemplateVersion仅在指定TemplateId时生效。
ResourceGroupId String rg-acfmxazb4ph6aiy****

资源组ID。如果不指定该参数,资源栈组将加入默认资源组。

关于资源组的更多信息,请参见什么是资源组

PermissionModel String SELF_MANAGED

授权模式。

取值:

  • SELF_MANAGED(默认值):自助管理权限模式。使用该模式时,您需要事先在管理员账号和目标账号中手动创建RAM角色,建立二者的信任关系,然后在目标账号中部署资源栈。
  • SERVICE_MANAGED:服务管理权限模式。使用该模式时,ROS会为管理员账号和目标账号自动创建服务关联角色,管理员账号通过服务关联角色在目标账号中部署资源栈。
说明 当您使用服务管理权限模式部署资源栈时,当前账号必须是资源目录的企业管理账号或委派管理员账号,且已开启可信访问。更多信息,请参见设置委派管理员账号开启可信访问
AutoDeployment Object

自动部署设置信息。

说明 仅当PermissionModel为SERVICE_MANAGED时,需要指定该参数。
Enabled Boolean true

启用或者禁用自动部署。

取值:

  • true:启用自动部署。启用自动部署后,如果目标资源夹中新增了成员账号,资源栈组会自动将资源栈实例部署到该账号。如果目标资源夹中删除了成员账号,则资源栈组会自动删除该账号中的资源栈实例。
  • false:禁用自动部署。禁用自动部署后,目标资源夹中成员账号变动时资源栈实例不会发生变化。
RetainStacksOnAccountRemoval Boolean true

目标资源夹中删除成员账号时,是否保留成员账号中的资源栈。

取值:

  • true:保留资源栈。
  • false:删除资源栈。
说明 当Enabled为true时,RetainStacksOnAccountRemoval必选。
Parameters.N.ParameterKey String Amount

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

N最大值为200。

说明 Parameters为可选参数。若指定了Parameters,则Parameters.N.ParameterKey为必选参数。
Parameters.N.ParameterValue String 12

参数的值。

N最大值为200。

说明 Parameters为可选参数。若指定了Parameters,则Parameters.N.ParameterValue为必选参数。

关于公共请求参数的详情,请参见公共参数

返回数据

名称 类型 示例值 描述
RequestId String 14A07460-EBE7-47CA-9757-12CC4761D47A

请求ID。

StackGroupId String 2c036e78-9e82-428e-afd6-177f5d04****

资源栈组ID。

示例

请求示例

http(s)://ros.aliyuncs.com/?Action=CreateStackGroup
&RegionId=cn-hangzhou
&StackGroupName=MyStackGroup
&TemplateId=5ecd1e10-b0e9-4389-a565-e4c15efc****
&PermissionModel=SELF_MANAGED
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateStackGroupResponse>
    <RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>
    <StackGroupId>2c036e78-9e82-428e-afd6-177f5d04****</StackGroupId>
</CreateStackGroupResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "14A07460-EBE7-47CA-9757-12CC4761D47A",
  "StackGroupId" : "2c036e78-9e82-428e-afd6-177f5d04****"
}

错误码

访问错误中心查看更多错误码。

错误代码

错误信息

HTTP状态码

描述

CircularDependency

Circular Dependency Found: {reason}.

400

模板包含循环引用,reason为具体原因。

InvalidSchema

{reason}.

400

模板格式不正确,reason为具体原因。

InvalidTemplateAttribute

The Referenced Attribute ({resource} {name}) is incorrect.

400

模板包含不正确的资源属性(输出)引用,resource为资源名,name为属性名。

InvalidTemplatePropertyType

The specified value type of ({resource} {section}) is incorrect.

400

模板资源定义中,字段类型不正确,resource为资源名,section为字段名。

InvalidTemplateReference

The specified reference "{name}" (in {referencer}) is incorrect.

400

模板包含不正确的引用,name为引用名,referencer为引用者。

InvalidTemplateSection

The template section is invalid: {section}.

400

模板包含无效的字段,section为字段名。

InvalidTemplateVersion

The template version is invalid: {reason}.

400

模板版本不正确,reason为具体原因。

UnknownUserParameter

The Parameter ({name}) was not defined in template.

400

传递的参数在模板中未定义,name为参数名。

UserParameterMissing

The Parameter {name} was not provided.

400

参数在模板中已定义,但未传递值,name为参数名。

StackGroupExists

The StackGroup ({name}) already exists.

409

同名资源栈组已存在,name为资源栈组名称。

TemplateNotFound

The Tempalte ({ ID }) could not be found.

404

模板不存在。ID为模板ID。

TemplateNotFound

The Template { ID } with version { version } could not be found.

404

模板或指定版本不存在。ID为模板ID,version为模板版本。