计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive

创建资源栈集

功能介绍

创建资源栈集(CreateStackSet)

此API为同步API,用于生成一个空资源栈集,即不包含任何一个资源栈实例,并返回资源栈集ID(stack_set_id)

URI

POST /v1/stack-sets

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

Client-Request-Id

String

用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID

最小长度:36

最大长度:128

表2 请求Body参数

参数

是否必选

参数类型

描述

stack_set_name

String

资源栈集(stack_set)的名字。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。

最小长度:1

最大长度:128

stack_set_description

String

资源栈集的描述。可用于客户识别自己的资源栈集。

最小长度:0

最大长度:1024

permission_model

String

权限模型,定义了RFS操作资源栈集时所需委托的创建方式,枚举值

  • SELF_MANAGED - 基于部署需求,用户需要提前手动创建委托,既包含管理账号给RFS的委托,也包含成员账号创建给管理账号的委托。如果委托不存在或错误,创建资源栈集不会失败,部署资源栈集或部署资源栈实例的时候才会报错。

缺省值:SELF_MANAGED

枚举值:

  • SELF_MANAGED

administration_agency_name

String

管理委托名称

资源编排服务使用该委托获取成员账号委托给管理账号的权限。该委托中必须含有iam:tokens:assume权限,用以后续获取被管理委托凭证。如果不包含,则会在新增或者部署实例时报错。

当用户定义SELF_MANAGED权限类型时,administration_agency_name和administration_agency_urn 必须有且只有一个存在。

推荐用户在使用信任委托时给予administration_agency_urn,administration_agency_name只支持接收委托名称,如果给予了信任委托名称,则会在部署模板时失败。

当用户使用SERVICE_MANAGED权限类型时,指定该参数将报错400。

创建委托及授权方式

最小长度:0

最大长度:64

managed_agency_name

String

被管理的委托名称。

资源编排服务会使用该委托获取实际部署资源所需要的权限

不同成员账号委托给管理账号的委托名称需要保持一致。暂不支持根据不同provider定义不同委托权限

当用户定义SELF_MANAGED权限类型时,必须指定该参数。当用户使用SERVICE_MANAGED权限类型时,指定该参数将报错400

创建委托及授权方式

最小长度:0

最大长度:64

template_body

String

HCL模板,描述了资源的目标状态。资源编排服务将比较此模板与当前远程资源的状态之间的区别。

template_body和template_uri 必须有且只有一个存在

注意:

  • 资源栈集不支持敏感数据加密,资源编排服务会直接明文使用、log、展示、存储对应的template_body

最小长度:0

最大长度:51200

template_uri

String

HCL模板的OBS地址,该模板描述了资源的目标状态。资源编排服务将比较此模板与当前远程资源的状态之间的区别

OBS地址支持同类型Region之间进行互相访问(Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region)

对应的文件应该是纯tf文件或zip压缩包

纯tf文件需要以“.tf”或者“.tf.json”结尾,并遵守HCL语法,且文件的编码格式须为UTF-8

压缩包目前只支持zip格式,文件需要以".zip"结尾。解压后的文件不得包含".tfvars"文件。解压前最大支持1MB,解压后最大支持1MB。zip压缩包文件数量不能超过100个

template_body和template_uri 必须有且只有一个存在

注意:

  • 资源栈集不支持敏感数据加密,资源编排服务会直接明文使用、log、展示、存储template_uri对应的模板文件内容。
  • template_uri对应的模板文件如果为zip类型,则内部的文件或文件夹名称长度不得超过255个字节,最深路径长度不得超过2048字节,zip包大小不得超过1MB

最小长度:0

最大长度:2048

vars_uri

String

HCL参数文件的OBS地址。HCL模板支持参数传入,即,同一个模板可以给予不同的参数而达到不同的效果。

OBS地址支持同类型Region之间进行互相访问(Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region)

  • vars_uri需要指向一个OBS的pre-signed URL地址,其他地址暂不支持
  • 资源编排服务支持vars_body和vars_uri,如果以上两种方式中声名了同一个变量,将报错400
  • vars_uri中的内容使用HCL的tfvars格式,用户可以将“.tfvars”中的内容保存到文件并上传到OBS中,并将OBS pre-signed URL传递给vars_uri
  • 资源栈集不支持敏感数据加密,资源编排服务会直接明文使用、log、展示、存储vars_uri对应的参数文件内容

最小长度:0

最大长度:2048

vars_body

String

HCL参数文件的内容。HCL模板支持参数传入,即,同一个模板可以给予不同的参数而达到不同的效果。

  • vars_body使用HCL的tfvars格式,用户可以将“.tfvars”中的内容提交到vars_body中
  • 资源编排服务支持vars_body和vars_uri,如果以上两种方式中声名了同一个变量,将报错400
  • 如果vars_body过大,可以使用vars_uri
  • 资源栈集不支持敏感数据加密,资源编排服务会直接明文使用、log、展示、存储对应的vars_body。

最小长度:0

最大长度:51200

initial_stack_description

String

初始化资源栈描述。可用于客户识别被资源栈集所管理的资源栈。

资源栈集下的资源栈仅在创建时统一使用该描述。客户想要更新初始化资源栈描述,可以通过UpdateStackSet API。

后续更新资源栈集描述将不会同步更新已管理的资源栈描述。

最小长度:0

最大长度:1024

administration_agency_urn

String

管理委托URN

资源编排服务使用该委托获取成员账号委托给管理账号的权限。该委托中必须含有sts:tokens:assume权限,用以后续获取被管理委托凭证。如果不包含,则会在新增或者部署实例时报错。

当用户定义SELF_MANAGED权限类型时,administration_agency_name和administration_agency_urn 必须有且只有一个存在。

推荐用户在使用信任委托时给予administration_agency_urn,administration_agency_name只支持接收委托名称,如果给予了信任委托名称,则会在部署模板时失败。

当用户使用SERVICE_MANAGED权限类型时,指定该参数将报错400。

managed_operation

managed_operation object

用于定义管理资源栈集操作的一系列属性。

表3 managed_operation

参数

是否必选

参数类型

描述

enable_parallel_operation

Boolean

资源栈集(stack_set)是否可以并发地创建多个资源栈集操作。该参数作为资源栈集属性,可以通过创建资源栈集API(CreateStackSet)指定,通过更新资源栈集API(UpdateStackSet)更新该参数。

该参数默认为false,资源栈集只允许以串行的方式生成并执行资源栈集操作。同一时刻,资源栈集中只会存在一个处于运行态,即QUEUE_IN_PROGRESS或OPERATION_IN_PROGRESS状态的资源栈集操作,该操作执行完成后,下一个资源栈集操作才允许被创建。

该参数如果设定为true,资源栈集允许并发地生成多个资源栈集操作,执行非冲突操作,并将冲突操作进行排队处理。当冲突操作执行完毕,资源栈集按请求顺序继续执行排队操作。

注:冲突操作指资源栈集允许多个操作同时执行的条件下,如果超过一个以上的操作包含了同一资源栈实例,此时在该资源栈实例上的多个操作被称为冲突操作。

当资源栈集状态为OPERATION_IN_PROGRESS时,不允许用户通过更新资源栈集(UpdateStackSet)来更新该参数。

  • 当前,一个资源栈集下仅允许同时最多存在10个处于运行态的资源栈集操作*

响应参数

状态码: 201

表4 响应Body参数

参数

参数类型

描述

stack_set_id

String

资源栈集(stack_set)的唯一ID。

此ID由资源编排服务在生成资源栈集的时候生成,为UUID。

由于资源栈集名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈集,删除,在重新创建一个同名资源栈集。

对于团队并行开发,用户可能希望确保,当前我操作的资源栈集就是我以为的那个,而不是又其他队友删除后创建的同名资源栈集。因此,使用ID就可以做到强匹配。

资源编排服务保证每次创建的资源栈集所对应的ID都不相同,更新不会影响ID。如果给予的stack_set_id和当前资源栈集的ID不一致,则返回400

最小长度:36

最大长度:36

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

响应码

最小长度:11

最大长度:11

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

状态码: 401

表6 响应Body参数

参数

参数类型

描述

error_code

String

响应码

最小长度:11

最大长度:11

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

状态码: 409

表7 响应Body参数

参数

参数类型

描述

error_code

String

响应码

最小长度:11

最大长度:11

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

状态码: 429

表8 响应Body参数

参数

参数类型

描述

error_code

String

响应码

最小长度:11

最大长度:11

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

状态码: 500

表9 响应Body参数

参数

参数类型

描述

error_code

String

响应码

最小长度:11

最大长度:11

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

请求示例

  • 通过OBS Signed URL传递模板和管理委托名称创建资源栈集
    POST https://{endpoint}/v1/stack-sets
    
    {
      "stack_set_name" : "my_first_stack_set",
      "template_uri" : "https://my_hello_world_bucket.{region}.myhuaweicloud.com/vpc.tf",
      "managed_agency_name" : "my_managed_agency_name",
      "administration_agency_name" : "my_administration_agency_name"
    }
  • 通过模板内容和管理委托URN创建资源栈集
    POST https://{endpoint}/v1/stack-sets
    
    {
      "stack_set_name" : "my_second_stack_set",
      "managed_agency_name" : "my_managed_agency_name",
      "administration_agency_urn" : "iam::my-domain-id:agency:my-agency-name",
      "template_body" : "terraform {\n    required_providers {\n      huaweicloud = {\n        source = \"huawei.com/provider/huaweicloud\"\n        version = \"1.41.0\"\n        }\n    }\n}\nprovider \"huaweicloud\"{\n    insecure = true\n    cloud = \"{cloud_name}\"\n    region = \"{region}\"\n    endpoints = {\n        iam = \"{iam_endpoint}\",\n    }\n}\n\nresource \"huaweicloud_vpc\" \"vpc\" {\n  cidr = \"172.16.0.0/16\"\n  name = \"my_vpc\"\n}"
    }

响应示例

状态码: 201

创建成功

{
  "stack_set_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3"
}

状态码

状态码

描述

201

创建成功

400

用户请求非法

401

用户身份认证失败

403

  1. 用户无权限调用此API
  2. 资源栈集数量达到上限

409

创建冲突,同名的资源栈集已经存在

429

请求数量过多

500

服务器内部错误

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容