调用UpdateStackGroup接口更新资源栈组。

本文将提供一个示例,将杭州地域已有的自助管理权限模式的资源栈组MyStackGroup的模板更新为{"ROSTemplateFormatVersion": "2015-09-01"}

调试

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

请求参数

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

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

RegionId String cn-hangzhou

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

StackGroupName String MyStackGroup

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

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

Description String My Stack Group

资源栈组描述。

长度为1~256个字符。

AccountIds Array of String ["151266687691****","141261387191****"]

使用自助管理权限模式部署资源栈的目标账号ID列表。最多支持添加20个目标账号ID。

若不指定,默认为调用CreateStackInstances创建资源栈实例时指定的目标账号ID列表。

RegionIds Array of String ["cn-hangzhou","cn-beijing"]

目标执行地域列表。最多支持添加20个地域。

若不指定,默认为调用CreateStackInstances创建资源栈实例时指定的地域列表。

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个字符,可包含英文字母、数字、短划线(-)和下划线(_)。

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

OperationDescription String Update stack instances in hangzhou

更新资源栈组的操作描述。

OperationPreferences Map {"FailureToleranceCount": 1,"MaxConcurrentCount": 2}

更新资源栈组的操作设置。

包含以下参数:

  • {"FailureToleranceCount": N}

    容错数。每个地域中资源栈可以失败的账号数,超过该数字将停止该地域中的操作。如果停止了一个地域中的操作,此操作在其他地域中不继续执行。

    N的取值范围:0~20。

    若不指定FailureToleranceCount,则默认为0。

  • {"FailureTolerancePercentage": N}

    容错百分比。每个地域中资源栈可以失败的账号数占总账号数的百分比,超过该百分比将停止该地域中的操作。

    N的取值范围:0~100。百分比不是整数时,ROS会向下取整。

    若不指定FailureTolerancePercentage,则默认为0。

  • {"MaxConcurrentCount": N}

    最大并发账号数。每个地域中可同时部署资源栈的账号数。

    N的取值范围:1~20。

    若不指定MaxConcurrentCount,则默认为1。

  • {"MaxConcurrentPercentage": N}最大并发账号百分比。

    每个地域中可同时部署资源栈的账号数占总账号数的百分比。

    N的取值范围:1~100。百分比不是整数时,ROS会向下取整。

    若不指定MaxConcurrentPercentage,则默认为1。

多个参数之间用半角逗号(,)分隔。

说明
  • 不能同时指定MaxConcurrentCount和MaxConcurrentPercentage。
  • 不能同时指定FailureToleranceCount和FailureTolerancePercentage。
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时生效。
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必选。
DeploymentTargets Object

使用服务管理权限模式更新资源栈的部署目标。

RdFolderIds Array of String ["fd-4PvlVLOL8v"]

资源目录的资源夹ID列表。最多支持添加5个资源夹ID。

您需要至少指定RdFolderIds和AccountIds其中一个参数,具体如下:

  • 如果您指定了RdFolderIds,而未指定AccountIds,则会在指定资源夹的所有成员账号中部署资源栈。如果您选择的是Root资源夹,则会在整个资源目录的所有成员账号中部署资源栈。
  • 如果您指定了AccountIds,而未指定RdFolderIds,则会在指定成员账号列表中部署资源栈。
  • 当两者同时指定时,AccountIds账号需属于RdFolderIds所指定的资源夹列表,则会在指定成员账号列表中部署资源栈。
说明 您可以在资源管理控制台的概览页面查看资源夹ID。具体操作,请参见查看资源夹基本信息
AccountIds Array of String ["151266687691****","141261387191****"]

资源目录中的成员账号ID列表。最多支持添加20个成员账号ID。

说明 您可以在资源管理控制台的概览页面查看成员账号ID。具体操作,请参见查看成员详情
Parameters.N.ParameterKey String Amount

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

N最大值为200。

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

参数的值。

N最大值为200。

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

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

返回数据

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

请求ID。

OperationId String 6da106ca-1784-4a6f-a7e1-e723863d****

操作ID。

示例

请求示例

http(s)://ros.aliyuncs.com/?Action=UpdateStackGroup
&TemplateBody={"ROSTemplateFormatVersion": "2015-09-01"}
&RegionId=cn-hangzhou
&StackGroupName=MyStackGroup
&<公共请求参数>

正常返回示例

XML格式

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

<UpdateStackGroupResponse>
    <RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>
    <OperationId>6da106ca-1784-4a6f-a7e1-e723863d****</OperationId>
</UpdateStackGroupResponse>

JSON格式

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

{
  "RequestId" : "14A07460-EBE7-47CA-9757-12CC4761D47A",
  "OperationId" : "6da106ca-1784-4a6f-a7e1-e723863d****"
}

错误码

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

错误代码

错误信息

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为参数名。

StackGroupOperationInProgress

Another Operation on StackGroup ({name})s is in progress.

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为模板版本。