更新资源栈集
功能介绍
更新资源栈集(UpdateStackSet)
该API可以根据用户给予的信息对资源栈集的属性进行更新,可以更新资源栈集的“stack_set_description”、"initial_stack_description"、"permission_model"、“administration_agency_name”、"managed_agency_name"、“administration_agency_urn”六个属性中的一个或多个。
该API只会更新用户给予的信息中所涉及的字段;如果某字段未给予,则不会对该资源栈集属性进行更新。
注:
- 所有属性的更新都是覆盖式更新。即,所给予的参数将被完全覆盖至资源栈已有的属性上。
- 只有在permission_model=SELF_MANAGED时,才可更新administration_agency_name、managed_agency_name和administration_agency_urn。
- permission_model目前只支持更新SELF_MANAGED
- 如果资源栈集的状态是OPERATION_IN_PROGRESS,不允许更新资源栈集。
URI
PATCH /v1/stack-sets/{stack_set_name}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
stack_set_name |
是 |
String |
资源栈集的名称。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 最小长度:1 最大长度:128 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Client-Request-Id |
是 |
String |
用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID 最小长度:36 最大长度:128 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
stack_set_id |
否 |
String |
资源栈集(stack_set)的唯一ID。 此ID由资源编排服务在生成资源栈集的时候生成,为UUID。 由于资源栈集名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈集,删除,在重新创建一个同名资源栈集。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈集就是我以为的那个,而不是又其他队友删除后创建的同名资源栈集。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈集所对应的ID都不相同,更新不会影响ID。如果给予的stack_set_id和当前资源栈集的ID不一致,则返回400 最小长度:36 最大长度:36 |
stack_set_description |
否 |
String |
资源栈集的描述。可用于客户识别自己的资源栈集。 最小长度:0 最大长度:1024 |
initial_stack_description |
否 |
String |
初始化资源栈描述。可用于客户识别被资源栈集所管理的资源栈。 资源栈集下的资源栈仅在创建时统一使用该描述。客户想要更新初始化资源栈描述,可以通过UpdateStackSet API。 后续更新资源栈集描述将不会同步更新已管理的资源栈描述。 最小长度:0 最大长度:1024 |
permission_model |
否 |
String |
权限模型,定义了RFS操作资源栈集时所需委托的创建方式,枚举值
缺省值: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 |
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 |
用于定义管理资源栈集操作的一系列属性。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
enable_parallel_operation |
否 |
Boolean |
资源栈集(stack_set)是否可以并发地创建多个资源栈集操作。该参数作为资源栈集属性,可以通过创建资源栈集API(CreateStackSet)指定,通过更新资源栈集API(UpdateStackSet)更新该参数。 该参数默认为false,资源栈集只允许以串行的方式生成并执行资源栈集操作。同一时刻,资源栈集中只会存在一个处于运行态,即QUEUE_IN_PROGRESS或OPERATION_IN_PROGRESS状态的资源栈集操作,该操作执行完成后,下一个资源栈集操作才允许被创建。 该参数如果设定为true,资源栈集允许并发地生成多个资源栈集操作,执行非冲突操作,并将冲突操作进行排队处理。当冲突操作执行完毕,资源栈集按请求顺序继续执行排队操作。 注:冲突操作指资源栈集允许多个操作同时执行的条件下,如果超过一个以上的操作包含了同一资源栈实例,此时在该资源栈实例上的多个操作被称为冲突操作。 当资源栈集状态为OPERATION_IN_PROGRESS时,不允许用户通过更新资源栈集(UpdateStackSet)来更新该参数。
|
响应参数
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 最小长度:11 最大长度:11 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 最小长度:11 最大长度:11 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 最小长度:11 最大长度:11 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 最小长度:11 最大长度:11 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
状态码: 409
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 最小长度:11 最大长度:11 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
状态码: 429
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 最小长度:11 最大长度:11 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
响应码 最小长度:11 最大长度:11 |
error_msg |
String |
响应消息 |
encoded_authorization_message |
String |
包含有关未经授权请求的信息。 |
请求示例
- 更新资源栈集的描述信息
PATCH https://{endpoint}/v1/stack-sets/{stack_set_name} { "stack_set_description" : "my hello world stack set", "stack_set_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b4" }
- 更新资源栈集的初始化资源栈时的描述信息
PATCH https://{endpoint}/v1/stack-sets/{stack_set_name} { "initial_stack_description" : "my initial stack description", "stack_set_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b4" }
- 更新资源栈集的权限模型
PATCH https://{endpoint}/v1/stack-sets/{stack_set_name} { "permission_model" : "SELF_MANAGED", "stack_set_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b4" }
- 更新资源栈集的管理委托名称
PATCH https://{endpoint}/v1/stack-sets/{stack_set_name} { "administration_agency_name" : "my administration agency name", "stack_set_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b4" }
- 更新资源栈集的被管理的委托名称
PATCH https://{endpoint}/v1/stack-sets/{stack_set_name} { "managed_agency_name" : "my managed agency name", "stack_set_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b4" }
响应示例
无
状态码
状态码 |
描述 |
---|---|
204 |
更新资源栈集成功 |
400 |
用户请求非法 |
401 |
用户身份认证失败 |
403 |
|
404 |
资源栈集不存在 |
409 |
更新冲突,另一个请求正在操作此资源栈集 |
429 |
请求数量过多 |
500 |
服务器内部错误 |