ALIYUN::ROS::StackGroup类型用于创建资源栈组。

语法

{
  "Type": "ALIYUN::ROS::StackGroup",
  "Properties": {
    "Description": String,
    "Parameters": Map,
    "ResourceGroupId": String,
    "DynamicTemplateBody": Map,
    "StackGroupName": String,
    "TemplateVersion": String,
    "AdministrationRoleName": String,
    "TemplateBody": Map,
    "TemplateURL": String,
    "AutoDeployment": Map,
    "PermissionModel": String,
    "ExecutionRoleName": String,
    "TemplateId": String
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
Description String 资源栈组描述。 长度为1~256个字符。
Parameters Map 参数信息。
ResourceGroupId String 资源组ID。 如果不指定该参数,资源栈组将加入默认资源组。
DynamicTemplateBody Map 模板主体的结构。 支持使用ROS函数表达式获取模板内容。
StackGroupName String 资源栈组名称。 名称在单个地域内唯一。

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

TemplateVersion String 模板版本。 如果不指定,默认是最新版本。
AdministrationRoleName String 创建自助管理权限模式的资源栈组时,ROS扮演的RAM管理员角色名称。 创建自助管理权限模式的资源栈组时,需指定ROS扮演的RAM管理员角色名称。

若不指定,则使用AliyunROSStackGroupAdministrationRole作为默认值。ROS扮演执行角色AliyunROSStackGroupExecutionRole来操作资源栈组中资源栈实例所对应的资源栈。

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

TemplateBody Map 模板主体的结构。 长度为1~524,288个字节。

如果长度较大,则建议通过HTTP POST+Body Param的方式,将参数放在请求体中进行传递,避免因URL过长而导致请求失败。

说明 您必须且仅能指定TemplateBody、TemplateURL或TemplateId其中一个参数。
TemplateURL String 模板主体的文件的位置。 包含模板主体的文件的位置。

URL必须指向Web服务器或阿里云OSS存储空间中的模板。模板为1~524,288个字节。

OSS存储空间的URL,例如:oss://ros/template/demooss://ros/template/demo?RegionId=cn-hangzhou

如果未指定OSS地域,则默认与接口参数RegionId相同。
说明 您必须且仅能指定TemplateBody、TemplateURL或TemplateId其中一个参数。
AutoDeployment Map 自动部署设置信息。 更多信息,请参见AutoDeployment属性
PermissionModel String 授权模式。 取值:
  • SELF_MANAGED(默认值):自助管理权限模式。

    使用该模式时,您需要事先在管理员账号和目标账号中手动创建RAM角色,建立二者的信任关系,然后在目标账号中部署资源栈。

  • SERVICE_MANAGED:服务管理权限模式。

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

说明 当您使用服务管理权限模式部署资源栈时,当前账号必须是资源目录的管理账号或委派管理员账号,且已开启可信访问。更多信息,请参见步骤一(可选):设置委派管理员账号步骤二:开启可信访问
ExecutionRoleName String 创建自助管理权限模式的资源栈组时,指定的管理员角色。 创建自助管理权限模式的资源栈组时,需指定管理员角色扮演的RAM执行角色名称。

若不指定,则使用AliyunROSStackGroupExecutionRole作为默认值。ROS以该角色身份来操作资源栈组中资源栈实例所对应的资源栈。

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

TemplateId String 模板ID。 支持共享模板和私有模板。
说明 您必须且仅能指定TemplateBody、TemplateURL或TemplateId其中一个参数。

AutoDeployment语法

"AutoDeployment": {
  "Enabled": Boolean,
  "RetainStacksOnAccountRemoval": Boolean
}

AutoDeployment属性

属性名称 类型 必须 允许更新 描述 约束
Enabled Boolean 启用或禁用自动部署。 取值:
  • true:启用自动部署。

    启用自动部署后,如果目标资源夹中新增了成员,资源栈组会自动将资源栈实例部署到成员。

    如果目标资源夹中删除了成员,资源栈组会自动删除该账号中的资源栈实例。

  • false:禁用自动部署。

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

RetainStacksOnAccountRemoval Boolean 目标资源夹中删除成员时,是否保留成员中的资源栈。 取值:
  • true:保留资源栈。
  • false:删除资源栈。
说明 当Enabled为true时,RetainStacksOnAccountRemoval必选。

返回值

Fn::GetAtt

StackGroupId:资源栈组ID。

示例

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "StackGroupName": {
      "Type": "String"
    },
    "TemplateId": {
      "Type": "String"
    }
  },
  "Resources": {
    "ExtensionResource": {
      "Type": "ALIYUN::ROS::StackGroup",
      "Properties": {
        "StackGroupName": {
          "Ref": "StackGroupName"
        },
        "TemplateId": {
          "Ref": "TemplateId"
        }
      }
    }
  },
  "Outputs": {
    "StackGroupId": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "StackGroupId"
        ]
      }
    }
  }
}