全部产品
Search
文档中心

资源编排:CreateStackGroup - 创建资源栈组

更新时间:Sep 14, 2024

使用资源编排模板创建资源栈组,通过资源栈组,可以在多个阿里云账号中跨地域创建资源栈。

接口说明

资源栈组是针对 ROS 资源栈的管理单元。

授权模式

资源编排为您提供自助管理权限和服务管理权限两种模式创建资源栈组, 您可以使用管理员账号在不同地域下创建资源栈组,实现跨账号、跨地域的创建资源栈。更多信息,请参见概览

自助管理权限模式

请先为管理员账号和目标账号分别创建 RAM 角色并建立二者之间的联系。具体操作,请参见授权自助管理权限

当管理员账号(账号 A)在杭州地域下创建一个自助管理权限模式的资源栈组,可以在杭州地域和北京地域分别为目标账号(账号 B 和账号 C)创建对应的资源栈。其中管理员账号和目标账号均为阿里云账号。更多信息,请参见概览

当您选择该模式时,请输入 PermissionModel 参数为 SELF_MANAGED,并配置 AdministrationRoleName 和 ExecutionRoleName 等相关参数。

服务管理权限模式

您可以使用企业管理账号或委派管理员账号创建服务管理权限模式的资源栈组。更多信息,请参见设置委派管理员账号

管理员账号(账号 A)在杭州地域创建一个服务管理权限模式的资源栈组,在杭州地域和北京地域分别为资源目录中指定的资源夹创建资源栈,此时 ROS 会自动获取资源夹中的所有成员账号(账号 B 和账号 C)为目标账号。其中管理员账号是资源目录的企业管理账号或委派管理员账号,目标账号是资源目录的成员账号。更多信息,请参见概览

当您选择该模式时,请输入 PermissionModel 参数为 SERVICE_MANAGED,并完成相关参数配置。

您可以在创建服务管理权限模式的资源栈组时,开启自动部署。当对应资源夹中有新账号加入或账号移除时,ROS 将会自动对资源栈实例进行创建或删除。

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

调试

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

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ros:CreateStackGroupcreate
  • StackGroup
    acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}

请求参数

名称类型必填描述示例值
RegionIdstring

资源栈组所属的地域 ID。

您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou
StackGroupNamestring

资源栈组名称。名称在单个地域内唯一。
长度不超过 255 个字符,必须以数字或英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_)。

MyStackGroup
Descriptionstring

资源栈组描述。
长度为 1~256 个字符。

StackGroup Description
TemplateBodystring

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

说明 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 或 StackArn 其中一个参数。
{"ROSTemplateFormatVersion":"2015-09-01"}
TemplateURLstring

包含模板主体的文件的位置。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 或 StackArn 其中一个参数。
oss://ros-template/demo
ClientTokenstring

保证请求的幂等性。该值由客户端生成,并且必须是全局唯一的。
长度不超过 64 个字符,可包含英文字母、数字、短划线(-)和下划线(_)。
更多信息,请参见如何保证幂等性

123e4567-e89b-12d3-a456-42665544****
AdministrationRoleNamestring

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

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

说明 当 PermissionModel 取值为 SELF_MANAGED 时,该参数必填。
AliyunROSStackGroupAdministrationRole
ExecutionRoleNamestring

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

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

说明 当 PermissionModel 取值为 SELF_MANAGED 时,该参数必填。
AliyunROSStackGroupExecutionRole
TemplateIdstring

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

说明 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 或 StackArn 其中一个参数。
5ecd1e10-b0e9-4389-a565-e4c15efc****
TemplateVersionstring

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

说明 TemplateVersion 仅在指定 TemplateId 时生效。
v1
Parametersarray<object>

资源栈组参数列表。

object
ParameterKeystring

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

N 最大值为 200。

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

参数的值。

N 最大值为 200。

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

资源组 ID。如果不指定该参数,资源栈组将加入默认资源组。
关于资源组的更多信息,请参见什么是资源组

rg-acfmxazb4ph6aiy****
PermissionModelstring

授权模式。

取值:

  • SELF_MANAGED(默认值):自助管理权限模式。使用该模式时,您需要事先在管理员账号和目标账号中手动创建 RAM 角色,建立二者的信任关系,然后在目标账号中部署资源栈。

  • SERVICE_MANAGED:服务管理权限模式。使用该模式时,ROS 会为管理员账号和目标账号自动创建服务关联角色,管理员账号通过服务关联角色在目标账号中部署资源栈。

说明 当您使用服务管理权限模式部署资源栈时,当前账号必须是资源目录的企业管理账号或委派管理员账号,且已开启可信访问。更多信息,请参见设置委派管理员账号开启可信访问
SELF_MANAGED
Tagsarray<object>

资源栈组的标签。

object

资源栈组的标签。

Keystring

资源栈组的标签键。

说明 Tags 为可选参数。如果需要指定 Tags,则 Tags.N.Key 必须指定。
usage
Valuestring

资源栈组的标签值。

test
AutoDeploymentobject

自动部署设置信息。

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

启用或者禁用自动部署。

取值:

  • true:启用自动部署。启用自动部署后,如果目标资源夹中新增了成员账号,资源栈组会自动将资源栈实例部署到该账号。如果目标资源夹中删除了成员账号,则资源栈组会自动删除该账号中的资源栈实例。

  • false:禁用自动部署。禁用自动部署后,目标资源夹中成员账号变动时资源栈实例不会发生变化。

true
RetainStacksOnAccountRemovalboolean

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

取值:

  • true:保留资源栈。

  • false:删除资源栈。

说明 当 Enabled 为 true 时,RetainStacksOnAccountRemoval 必选。
true
Capabilitiesarray

资源栈组选项列表,最大长度为 1。

string

资源栈组选项。可选值:ExpandModules,在当前账号展开模块。

说明
  • 仅在模板中使用到模块时生效。
  • 默认不在当前账号展开模块,要求所有部署目标账号中存在相关模块。如果在当前账号展开模块,则要求当前账号存在相关模块。
  • ExpandModules
    StackArnstring

    资源栈的 ARN,形如 acs:ros:${RegionId}:${AccountId}:stack/${StackId}。资源栈组将根据此资源栈的模板和参数进行创建。

    说明
  • 仅支持自助管理权限模式
  • 若指定 StackArn,则不能指定 Parameters。
  • 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 或 StackArn 其中一个参数。
  • acs:ros:cn-hangzhou:175458000000****:stack/4a65f506-c3cc-43b6-af06-3f000000****

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

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求 ID。

    14A07460-EBE7-47CA-9757-12CC4761D47A
    StackGroupIdstring

    资源栈组 ID。

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

    示例

    正常返回示例

    JSON格式

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

    错误码

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

    变更历史

    变更时间变更内容概要操作
    2024-09-12OpenAPI 入参发生变更查看变更详情
    2024-01-11API 内部配置变更,不影响调用查看变更详情
    2023-05-10OpenAPI 入参发生变更查看变更详情
    2022-10-27OpenAPI 入参发生变更查看变更详情
    错误代码错误信息HTTP 状态码描述
    CircularDependencyCircular Dependency Found: {reason}.400模板包含循环引用,reason 为具体原因。
    InvalidSchema{reason}.400模板格式不正确,reason 为具体原因。
    InvalidTemplateAttributeThe Referenced Attribute ({resource} {name}) is incorrect.400模板包含不正确的资源属性(输出)引用,resource 为资源名,name 为属性名。
    InvalidTemplatePropertyTypeThe specified value type of ({resource} {section}) is incorrect.400模板资源定义中,字段类型不正确,resource 为资源名,section 为字段名。
    InvalidTemplateReferenceThe specified reference "{name}" (in {referencer}) is incorrect.400模板包含不正确的引用,name 为引用名,referencer 为引用者。
    InvalidTemplateSectionThe template section is invalid: {section}.400模板包含无效的字段,section 为字段名。
    InvalidTemplateVersionThe template version is invalid: {reason}.400模板版本不正确,reason 为具体原因。
    UnknownUserParameterThe Parameter ({name}) was not defined in template.400传递的参数在模板中未定义,name 为参数名。
    UserParameterMissingThe Parameter {name} was not provided.400参数在模板中已定义,但未传递值,name 为参数名。
    StackGroupExistsThe StackGroup ({name}) already exists.409同名资源栈组已存在,name 为资源栈组名称。
    TemplateNotFoundThe Tempalte ({ ID }) could not be found.404模板不存在。ID 为模板 ID。
    TemplateNotFoundThe Template { ID } with version { version } could not be found.404模板或指定版本不存在。ID 为模板 ID,version 为模板版本。