UpdateStackGroup - 更新资源栈组

更新已创建的资源栈组。

接口说明

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

调试

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

授权信息

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

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

请求参数

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

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

cn-hangzhou
StackGroupNamestring

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

MyStackGroup
Descriptionstring

资源栈组描述。

长度为 1~256 个字符。

My Stack Group
AccountIdsarray

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

string

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

["151266687691****","141261387191****"]
RegionIdsarray

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

string

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

["cn-hangzhou","cn-beijing"]
TemplateBodystring

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

说明 您必须且仅能指定 TemplateBody、TemplateURL 或 TemplateId 其中一个参数。
{"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 其中一个参数。
oss://ros-template/demo
ClientTokenstring

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

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

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

Update stack instances in hangzhou
OperationPreferencesobject

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

包含以下参数:

  • {"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。

  • {"RegionConcurrencyType": N} 部署资源栈实例的地域级别并发类型,取值:

    • SEQUENTIAL (默认值): 根据地域顺序依次在指定的每个地域部署,同一时间只在一个地域部署。

    • PARALLEL :在所有指定的地域内并行部署。

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

说明
  • 不能同时指定 MaxConcurrentCount 和 MaxConcurrentPercentage。
  • 不能同时指定 FailureToleranceCount 和 FailureTolerancePercentage。
  • {"FailureToleranceCount": 1,"MaxConcurrentCount": 2}
    AdministrationRoleNamestring

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

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

    AliyunROSStackGroupAdministrationRole
    ExecutionRoleNamestring

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

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

    AliyunROSStackGroupExecutionRole
    TemplateIdstring

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

    说明 您必须且仅能指定 TemplateBody、TemplateURL 或 TemplateId 其中一个参数。
    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 为必选参数。
    1
    PermissionModelstring

    授权模式。

    取值:

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

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

    说明
  • 如果当前资源栈组下已有资源栈实例,则不允许更换授权模式。
  • 当您使用服务管理权限模式部署资源栈时,当前账号必须是资源目录的企业管理账号或委派管理员账号,且已开启可信访问。更多信息,请参见设置委派管理员账号开启可信访问
  • SELF_MANAGED
    AutoDeploymentobject

    自动部署设置信息。

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

    启用或者禁用自动部署。

    取值:

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

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

    true
    RetainStacksOnAccountRemovalboolean

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

    取值:

    • true:保留资源栈。

    • false:删除资源栈。

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

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

    RdFolderIdsarray

    资源目录的资源夹 ID 列表。

    string

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

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

    • 如果您指定了 RdFolderIds,而未指定 AccountIds,则会在指定资源夹的所有成员账号中部署资源栈。如果您选择的是 Root 资源夹,则会在整个资源目录的所有成员账号中部署资源栈。

    • 如果您指定了 AccountIds,而未指定 RdFolderIds,则会在指定成员账号列表中部署资源栈。

    • 当两者同时指定时,AccountIds 账号需属于 RdFolderIds 所指定的资源夹列表,则会在指定成员账号列表中部署资源栈。

    说明 您可以在资源管理控制台的概览页面查看资源夹 ID。具体操作,请参见查看资源夹基本信息
    ["fd-4PvlVLOL8v"]
    AccountIdsarray

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

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

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

    说明 您可以在资源管理控制台的概览页面查看成员账号 ID。具体操作,请参见查看成员详情
    ["151266687691****","141261387191****"]
    Capabilitiesarray

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

    string

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

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

    使用服务管理权限模式更新资源栈组的部署选项列表。最多支持 1 个部署选项。

    string

    可选值:

    • Deploy: 更新指定资源目录账号下的现有实例。
    • Configure: 修改目标部署资源目录,不更新现有实例。

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

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求 ID。

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

    操作 ID。

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

    示例

    正常返回示例

    JSON格式

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

    错误码

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

    变更历史

    变更时间变更内容概要操作
    2024-11-21OpenAPI 入参发生变更查看变更详情
    2024-01-11API 内部配置变更,不影响调用查看变更详情
    2023-05-10OpenAPI 入参发生变更查看变更详情
    错误代码错误信息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 为参数名。
    StackGroupOperationInProgressAnother Operation on StackGroup ({name})s is in progress.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 为模板版本。