华为云用户手册

  • 响应参数 状态码:400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表5 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表7 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表9 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:404 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表11 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:429 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表13 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:500 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表15 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Client-Request-Id 是 String 用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID 表3 请求Body参数 参数 是否必选 参数类型 描述 template_id 否 String 模板的唯一ID,由模板服务随机生成 template_description 否 String 模板的描述。可用于客户识别自己的模板
  • 请求示例 通过filter获取指定event_type和resource_name的资源栈事件 GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/events?filter=event_type== LOG ,resource_name==my_hello_world_resource 通过field选择返回resource_key、resource_name和event_type三个属性,其中event_type为自动补选 GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/events?field=resource_key,resource_name 通过deployment_id获取指定部署的资源栈事件 GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/events?deployment_id=81edbb3e-00d9-42fd-94c8-59c7525d0f28
  • 响应示例 状态码:200 列举资源栈事件成功 { "stack_events" : [ { "event_message" : "Apply required resource success. ", "event_type" : "LOG", "time" : "2023-05-17T11:56:47Z" }, { "event_message" : "Apply complete! Resources: 1 added, 0 changed, 0 destroyed.", "event_type" : "SUMMARY", "time" : "2023-05-17T11:56:45Z" }, { "resource_type" : "huaweicloud_vpc", "resource_name" : "vpc", "elapsed_seconds" : 8, "event_message" : "huaweicloud_vpc.vpc: Creation complete after 8s [id=38d617da-9b7f-4550-9ff7-d0e271dd4735]", "event_type" : "CREATION_COMPLETE", "resource_id_key" : "id", "resource_id_value" : "38d617da-9b7f-4550-9ff7-d0e271dd4735", "time" : "2023-05-17T11:56:40Z" }, { "resource_type" : "huaweicloud_vpc", "resource_name" : "vpc", "event_message" : "huaweicloud_vpc.vpc: Creating...", "event_type" : "CREATION_IN_PROGRESS", "time" : "2023-05-17T11:56:32Z" }, { "event_message" : "Creating required resource now", "event_type" : "LOG", "time" : "2023-05-17T11:56:31Z" } ] }
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 stack_events Array of StackEvent objects 资源栈事件列表 表5 StackEvent 参数 参数类型 描述 resource_type String 资源的类型 以HCL格式的模板为例,resource_type 为 huaweicloud_vpc resource "huaweicloud_vpc" "my_hello_world_vpc" { name = "test_vpc" } 以json格式的模板为例,resource_type 为 huaweicloud_vpc { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "name": "test_vpc" } } } } resource_name String 资源的名称,默认为资源的逻辑名称 以HCL格式的模板为例,resource_name 为 my_hello_world_vpc resource "huaweicloud_vpc" "my_hello_world_vpc" { name = "test_vpc" } 以json格式的模板为例,resource_name 为 my_hello_world_vpc { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "name": "test_vpc" } } } } resource_id_key String 资源id的名称,即对应资源作为id使用的值的名称,当资源未创建的时候,不返回resource_id_key 此id由provider定义,因此不同的provider可能遵循了不同的命名规则,具体的命名规则请与provider开发者确认或阅读provider文档 resource_id_value String 资源id的值,即对应资源作为id使用的值,当资源未创建的时候,不返回resource_id_value resource_key String 资源键,如果用户在模板中使用了count或for_each则会返回resource_key 如果用户在模板中使用count,则resource_key为从0开始的数字 以HCL格式的模板为例,模板中count为2,意味着将会生成两个资源,对应的resource_key分别为0和1 resource "huaweicloud_vpc" "my_hello_world_vpc" { count = 2 name = "test_vpc" } 以json格式的模板为例,模板中count为2,意味着将会生成两个资源,对应的resource_key分别为0和1 { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "name": "test_vpc", "count": 2 } } } } 如果用户在模板中使用for_each,则resource_key为用户自定义的字符串 以HCL格式的模板为例,resource_key分别为vpc1和vpc2 resource "huaweicloud_vpc" "my_hello_world_vpc" { for_each = { "vpc1" = "test_vpc" "vpc2" = "test_vpc" } name = each.value } 以json格式的模板为例,resource_key分别为vpc1和vpc2 { "resource": { "huaweicloud_vpc": { "my_hello_world_vpc": { "for_each": { "vpc1": "test_vpc", "vpc2": "test_vpc" } "name": "${each.value}" } } } } time String 事件发生的时间 格式遵循RFC3339,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z event_type String 此次事件的类型 LOG - 记录状态信息,比如当前状态,目标状态等。 ERROR - 记录失败信息 DRIFT - 记录资源偏移信息 SUMMARY - 记录资源变更结果总结 CREATION_IN_PROGRESS - 正在生成 CREATION_FAILED - 生成失败 CREATION_COMPLETE - 生成完成 DELETION_IN_PROGRESS - 正在删除 DELETION_FAILED - 删除失败 DELETION_COMPLETE - 已经删除 UPDATE_IN_PROGRESS - 正在更新。此处的更新特指非替换式更新,如果是替换式更新,则是DELETION后CREATION,或者CREATION后DELETION,具体以何种行为进行替换式更新由Provider定义。 UPDATE_FAILED - 更新失败。此处的更新特指非替换式更新,如果是替换式更新,则是DELETION后CREATION,或者CREATION后DELETION,具体以何种行为进行替换式更新由Provider定义。 UPDATE_COMPLETE - 更新完成。此处的更新特指非替换式更新,如果是替换式更新,则是DELETION后CREATION,或者CREATION后DELETION,具体以何种行为进行替换式更新由Provider定义。 event_message String 该资源栈事件对应的详细信息 elapsed_seconds Integer 此事件执行所花的时间,以秒为单位 状态码:400 表6 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表7 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:401 表8 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表9 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:403 表10 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表11 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:404 表12 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表13 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:429 表14 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表15 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:500 表16 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表17 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • 功能介绍 列举资源栈事件(ListStackEvents) 此API用于列举资源栈某一次或全部的部署事件 如果给予deployment_id,则会将deployment_id作为查询条件,返回对应某一次部署的资源栈事件;如果不给予deployment_id,则返回全量的资源栈事件 如果给定的deployment_id对应的部署不存在,则返回404 可以使用filter作为过滤器,过滤出指定事件类型(event_type)、资源类型(resource_type)、资源名称(resource_name)的资源栈事件 可以使用field选择数据应返回的属性,属性事件类型(event_type)不可配置,一定会返回,可选择的属性有逝去时间(elapsed_seconds)、事件消息(event_message)、 资源ID键(resource_id_key)、资源ID值(resource_id_value)、资源键(resource_key)、资源类型(resource_type)、资源名称(resource_name)和时间戳(timestamp) 事件返回将以时间降序排列
  • URI GET /v1/{project_id}/stacks/{stack_name}/events 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,可以从调用API处获取,也可以从控制台获取。 项目ID获取方式 stack_name 是 String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 表2 Query参数 参数 是否必选 参数类型 描述 stack_id 否 String 资源栈(stack)的唯一Id。 此Id由 资源编排 服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400 deployment_id 否 String 标识部署的唯一Id,此Id由资源编排服务在触发部署、回滚等操作时生成,为UUID。 filter 否 String 过滤条件 与(AND)运算符使用逗号(,)定义 或(OR)运算符使用竖线(|)定义,OR运算符优先级高于AND运算符 不支持括号 过滤运算符仅支持等号(==) 过滤参数名及其值仅支持包含大小写英文、数字和下划线 过滤条件中禁止使用分号,如果有分号,则此条过滤会被忽略 一个过滤参数仅能与一个与条件相关,一个与条件中的多个或条件仅能与一个过滤参数相关 field 否 String 选择的属性名称 属性名仅支持包含大小写英文、数字和下划线 多个属性名称之间以逗号(,)分隔
  • 响应参数 状态码:307 表4 响应Header参数 参数 参数类型 描述 Location String HTTP重定向指定头域,客户端可通过此头域重定向至新地址。其内容为模块下载链接,为OBS Pre Signed地址,有效期为5分钟 状态码:400 表5 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表6 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:401 表7 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表8 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:403 表9 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表10 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:404 表11 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表12 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:429 表13 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表14 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:500 表15 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表16 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • URI GET /v1/private-modules/{module_name}/versions/{module_version} 表1 路径参数 参数 是否必选 参数类型 描述 module_name 是 String 私有模块(private-module)的名字。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 module_version 是 String 模块的版本号。版本号遵循语义化版本号(Semantic Version),为用户自定义 表2 Query参数 参数 是否必选 参数类型 描述 module_id 否 String 私有模块(private-module)的唯一Id。 此Id由资源编排服务在生成模块的时候生成,为UUID。 由于私有模块名称仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有模块,删除,再重新创建一个同名私有模块。 对于团队并行开发,用户可能希望确保,当前我操作的私有模块就是我认为的那个,而不是其他队友删除后创建的同名私有模块。因此,使用Id就可以做到强匹配。 资源编排服务保证每次创建的私有模块所对应的Id都不相同,更新不会影响Id。如果给予的module_id和当前模块的Id不一致,则返回400
  • 请求示例 创建一个带有初始默认版本的私有hook POST https://{endpoint}/v1/private-hooks { "hook_name" : "my-hello-world-hook-name", "hook_version" : "0.0.1", "policy_uri" : "https://my_hello_world_bucket.{region}.myhuaweicloud.com/policy.rego", "configuration" : { "target_stacks" : "NONE", "failure_mode" : "WARN" }, "hook_description" : "my first private hook", "hook_version_description" : "my first private hook version" }
  • 响应参数 状态码:201 表4 响应Body参数 参数 参数类型 描述 hook_id String 私有hook(private-hook)的唯一Id。 此Id由资源编排服务在生成私有hook的时候生成,为UUID。 由于私有hook名称仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有hook,删除,再重新创建一个同名私有hook。 对于团队并行开发,用户可能希望确保,当前我操作的私有hook就是我认为的那个,而不是其他队友删除后创建的同名私有hook。因此,使用Id就可以做到强匹配。 资源编排服务保证每次创建的私有hook所对应的Id都不相同,更新不会影响Id。如果给予的hook_id和当前hook的Id不一致,则返回400。 状态码:400 表5 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表6 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:401 表7 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表8 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:403 表9 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表10 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:409 表11 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表12 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:429 表13 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表14 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:500 表15 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表16 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • 功能介绍 创建私有hook(CreatePrivateHook) 创建一个带有初始默认版本的私有hook,创建私有hook的时候需要同时创建一个初始化的默认版本,不允许空私有hook的创建。 设置配置(Configuration)后的私有hook才会在触发资源栈部署时生效,资源栈使用私有hook的默认版本。若创建私有hook时未指定配置项,则该私有hook在资源栈部署时不生效,后续可通过UpdatePrivateHook API更新配置。 支持hook策略模板检验的资源栈服务API: CreateExecutionPlan ApplyExecutionPlan CreateStack DeployStack ContinueDeployStack DeleteStack DeleteStackEnhanced 创建私有hook时指定的版本为初始默认版本。 如果同名的私有hook在当前domain_id+region下已经存在,则会返回409。 私有hook版本号遵循语义化版本号(Semantic Version),为用户自定义。 资源编排服务会对私有hook进行校验,如文件大小,策略文件语法校验等。若存在错误,则会创建失败。 当前仅支持部署资源前的检测,不支持部署资源过程中的检测。如果通过了部署资源前的检测,资源栈则会继续部署资源。反之会停止部署资源,并记录资源栈事件(stack events)。 仅支持OPA开源引擎识别的,以Rego(https://www.openpolicyagent.org/docs/latest/policy-language/)语言编写的策略模板(用户可以通过policy_uri或policy_body给予策略文件内容)。 策略模板中的决策结果使用object类型的hook_result,hook_result所在包的包名必须使用policy。hook_result格式如下: hook_result := { "is_passed": Bool, "err_msg": String, } 其中is_passed必选,err_msg可选。 RFS 通过查询policy.hook_result[is_passed]判断是否通过策略校验。 如果policy.hook_result[is_passed]的结果是true,则表示通过策略校验,资源编排服务会继续部署资源。 如果policy.hook_result[is_passed]的结果是false,则表示没有通过策略校验,资源编排服务会停止部署资源。并记录资源栈事件信息,信息的内容为policy.hook_result[err_msg]。如果没有设置err_msg,则资源栈事件信息内容为默认错误信息(校验私有hook失败)。 如果没有使用policy.hook_result,则该策略不会生效,资源编排服务会继续部署资源。 策略模板中不支持调用其他服务API等方式获取数据、不支持任何形式的网络访问、不支持以任何形式的自定义函数或者方法等、不支持读取本地文件以及系统操作。 私有hook的策略模板语法如下: package policy import rego.v1 hook_result := { "is_passed": input.message == "world", "err_msg": "The error msg when private hook is not passed the validation", }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Client-Request-Id 是 String 用户指定的,对于此请求的唯一Id,用于定位某个请求,推荐使用UUID 表2 请求Body参数 参数 是否必选 参数类型 描述 hook_name 是 String 私有hook的名字。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 推荐用户使用三段命名空间:{自定义hook名称}-{hook应用场景}-hook。 hook_version 是 String 私有hook的版本号。版本号必须遵循语义化版本号(Semantic Version),为用户自定义。 hook_description 否 String 私有hook的描述。可用于客户识别创建的私有hook。可通过UpdatePrivateHook API更新私有hook的描述。 hook_version_description 否 String 私有hook版本的描述。可用于客户识别创建私有hook的版本。注意:hook版本为不可更新(immutable),所以该字段不可更新,如果需要更新,请删除后重建。 configuration 否 configuration object 私有hook配置项,可以指定私有hook生效的目标资源栈以及私有hook校验失败后资源栈的行为。可通过UpdatePrivateHook API更新私有hook配置项。 policy_uri 否 String 策略文件的OBS地址。内容仅支持OPA开源引擎识别的,以Rego(https://www.openpolicyagent.org/docs/latest/policy-language/)语言编写的策略模板。 请确保OBS地址所在局点与使用RFS服务局点一致。 策略文件当前支持单文件或zip压缩包,单文件需要以".rego"结尾,压缩包当前只支持zip格式,文件需要以 .zip结尾。 关于策略文件的校验要求如下: 文件必须是UTF8编码 创建时会对大小、格式、语法等进行校验 策略文件必须是UTF-8编码 单文件或压缩包解压前后的大小应控制在1MB以内 压缩包内的文件数量不能超过100个 压缩包内的文件路径最长为2048 压缩包内的文件名最长为255个字节 policy_uri和policy_body必须有且只有一个存在 policy_body 否 String 策略内容。仅支持OPA开源引擎识别的,以Rego(https://www.openpolicyagent.org/docs/latest/policy-language/)语言编写的策略模板。 policy_body和policy_uri 必须有且只有一个存在 表3 configuration 参数 是否必选 参数类型 描述 target_stacks 否 String 指定私有hook生效的目标资源栈,有效值为NONE或ALL。 NONE:指定此私有hook不会作用于任何资源栈 ALL:指定此私有hook将会应用于账号下的所有资源栈 failure_mode 否 String 指定私有hook校验失败后的行为,有效值为FAIL或WARN。 FAIL:指定此私有hook校验失败后资源栈将停止部署,资源栈状态将更新为DEPLOYMENT_FAILED。 WARN:指定此私有hook校验失败后仅通过资源栈事件展示警告消息,但不影响资源栈部署。
  • 响应参数 状态码:400 表4 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表5 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:401 表6 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表7 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:403 表8 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表9 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:404 表10 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表11 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:429 表12 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表13 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:500 表14 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表15 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • URI DELETE /v1/{project_id}/stacks/{stack_name} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,可以从调用API处获取,也可以从控制台获取。 项目ID获取方式 stack_name 是 String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 表2 Query参数 参数 是否必选 参数类型 描述 stack_id 否 String 资源栈(stack)的唯一Id。 此Id由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400
  • 请求示例 删除指定的资源栈 DELETE https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack 删除指定的资源栈,并提供资源栈id以校验是否与当前资源栈匹配 DELETE https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack?stack_id=ea6a4f0e-ee8a-494e-b12a-8be4a1e65af2
  • 功能介绍 删除资源栈(DeleteStack) 此API用于删除某个资源栈 请谨慎操作,删除资源栈将会删除与该资源栈相关的所有数据和资源,如:执行计划、资源栈事件、资源栈输出、资源等。 此API会触发删除资源栈,并以最终一致性删除所有数据(包括通过资源栈模板创建以及通过Import模块导入的已有资源),用户可以调用GetStackMetadata或ListStacks跟踪资源栈删除情况 如果资源栈状态处于非终态(状态以 IN_PROGRESS结尾)状态时,则不允许删除。包括但不限于以下状态: 正在部署(DEPLOYMENT_IN_PROGRESS) 正在删除(DELETION_IN_PROGRESS) 正在回滚(ROLLBACK_IN_PROGRESS) 如果资源栈开启了删除保护,则不允许删除。用户可调用GetStackMetadata,查看返回中的 enable_deletion_protection字段判断删除保护是否开启。用户可通过调用UpdateStack关闭删除保护。 如果资源栈删除失败,可以根据StackEvents提示信息修复当前模板中的错误后,部署成功后再次删除资源栈。有以下两种方式触发部署: 调用CreateExecutionPlan创建执行计划,执行计划创建成功后调用ApplyExecutionPlan部署资源栈。 调用DeployStack部署资源栈
  • 请求示例 创建一个空的私有provider POST https://{endpoint}/v1/private-providers { "provider_name" : "my-hello-world-provider-name", "provider_description" : "my first private provider" } 创建一个带有版本的的私有provider POST https://{endpoint}/v1/private-providers { "provider_name" : "my-hello-world-provider-name", "provider_description" : "my first hello world private provider", "provider_version" : "0.0.1", "function_graph_urn" : "urn:fss:cn-north-7:a61dfe3154de42829367056598d5040f:function:default:test:latest", "version_description" : "my first private provider version" }
  • 响应参数 状态码:201 表3 响应Body参数 参数 参数类型 描述 provider_id String 私有provider(private-provider)的唯一Id。 此Id由资源编排服务在生成provider的时候生成,为UUID。 由于私有provider名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有provider,删除,再重新创建一个同名私有provider。 对于团队并行开发,用户可能希望确保,当前我操作的私有provider就是我以为的那个,而不是其他队友删除后创建的同名私有provider。因此,使用Id就可以做到强匹配。 资源编排服务保证每次创建的私有provider所对应的Id都不相同,更新不会影响Id。如果给予的provider_id和当前provider的Id不一致,则返回400 provider_source String 用户使用私有provider,在Terraform模板中定义required_providers信息时,需要指明的source参数。 该参数按照“huawei.com/private-provider/{provider_name}”的形式拼接。关于provider_name和provider_source字段在模板中的使用细节,详见创建私有Provider的API描述。 状态码:400 表4 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表5 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:401 表6 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表7 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:403 表8 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表9 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:409 表10 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表11 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:429 表12 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表13 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:500 表14 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表15 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Client-Request-Id 是 String 用户指定的,对于此请求的唯一Id,用于定位某个请求,推荐使用UUID 表2 请求Body参数 参数 是否必选 参数类型 描述 provider_name 是 String 私有provider(private-provider)的名称。此名字在domain_id+region下应唯一,可以使用小写英文、数字、中划线。仅支持以小写英文、数字开头结尾。 按照HCL最佳实践,该名称推荐为在模板中定义的provider的本地名称(local_name)。 创建私有Provider(CreatePrivateProvider)API 还会以 “huawei.com/private-provider”为固定前缀,并以“huawei.com/private-provider/{provider_name}”的形式返回provider_source字段。关于provider_name和provider_source字段在模板中的使用细节,详见创建私有Provider的API描述。 provider_description 否 String 私有provider(private-provider)的描述。可用于客户识别被管理的私有provider。 provider_version 否 String provider的版本号。版本号必须遵循语义化版本号(Semantic Version),为用户自定义 version_description 否 String 私有provider版本(provider version)的描述。可用于客户识别并管理私有provider的版本。注意:provider版本为不可更新(immutable),所以该字段不可更新,如果需要更新,请删除后重建 function_graph_urn 否 String FunctionGraph方法的统一资源标识,用于唯一标识的FunctionGraph方法。当前只支持和RFS同region的function_graph_urn,如果给予了关于其他region的,会报错400。 关于该参数的详细解释,请参考官方文档:https://support.huaweicloud.com/api-functiongraph/functiongraph_06_0102.html provider_agency_urn 否 String 自定义provider所绑定的 IAM 委托URN,provider_agency_name和provider_agency_urn最多只能提供一个。 provider_agency_name 否 String 自定义provider所绑定的IAM委托名称,provider_agency_name和provider_agency_urn最多只能提供一个。
  • 请求示例 创建资源栈 POST https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks { "stack_name" : "my_first_stack", "description" : "my first stack" } 使用委托创建资源栈 POST https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks { "stack_name" : "my_second_stack", "description" : "my second stack", "agencies" : [ { "provider_name" : "huaweicloud", "agency_name" : "my_agency" } ] } 使用模板的uri创建并部署资源栈 POST https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks { "stack_name" : "my_third_stack", "template_uri" : "https://my_hello_world_bucket.{region}.myhuaweicloud.com/my-hello-world-template.tf", "description" : "my third stack" } 使用模板内容创建并部署资源栈。RFS模板支持HCL语法,同时规定required_providers模块下用于声明provider路径的source字段,需按照huawei.com/provider/{provider_name}的形式拼接,例如huawei.com/provider/huaweicloud { "stack_name" : "my_fourth_stack", "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}", "description" : "my fourth stack" }
  • 响应参数 状态码:201 表8 响应Body参数 参数 参数类型 描述 stack_id String 资源栈(stack)的唯一Id。 此Id由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400 deployment_id String 部署ID 接受请求,进行异步处理。可以调用GetStackMetadata来获取异步请求的部署状态 注意: 部署资源栈后,资源编排服务持久化请求并立即返回,客户端不等待请求最终处理完成,用户无法实时感知请求处理结果 资源编排服务最终会将异步部署请求排队,在服务端空闲的情况下逐个处理。用户最大等待时长为6小时 状态码:400 表9 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表10 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:401 表11 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表12 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:403 表13 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表14 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:409 表15 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表16 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:429 表17 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表18 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:500 表19 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表20 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Client-Request-Id 是 String 用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID 表3 请求Body参数 参数 是否必选 参数类型 描述 stack_name 是 String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 agencies 否 Array of Agency objects 委托授权的信息。 RFS仅在创建资源栈(触发部署)、创建执行计划、部署资源栈、删除资源栈等涉及资源操作的请求中使用委托,且该委托仅作用于与之绑定的Provider对资源的操作中。如果委托中提供的权限不足,有可能导致相关资源操作失败。 创建委托及授权方式 description 否 String 资源栈的描述。可用于客户识别自己的资源栈。 enable_deletion_protection 否 Boolean 删除保护的标识位,如果不传默认为false,即默认不开启资源栈删除保护(删除保护开启后资源栈不允许被删除) 在UpdateStack API中,如果该参数未在RequestBody中给予,则不会对资源栈的删除保护属性进行更新 enable_auto_rollback 否 Boolean 自动回滚的标识位,如果不传默认为false,即默认不开启资源栈自动回滚(自动回滚开启后,如果部署失败,则会自动回滚,并返回上一个稳定状态) 在UpdateStack API中,如果该参数未在RequestBody中给予,则不会对资源栈的自动回滚属性进行更新 该属性与使用模板导入资源功能互斥,如果堆栈的自动回滚设置为true,则不允许部署包含导入资源的模板 template_body 否 String HCL模板,描述了资源的目标状态。资源编排服务将比较此模板与当前远程资源的状态之间的区别。 template_body和template_uri 必须有且只有一个存在 在CreateStack API中,template_body和template_uri可以都不给予 注意: template_body中默认不应该含有任何敏感信息,资源编排服务会直接明文使用、log、展示、存储对应的template_body。如为敏感信息,建议将敏感信息通过vars_structure参数化,并设置encryption字段开启加密 template_uri 否 String HCL模板的OBS地址,该模板描述了资源的目标状态。资源编排服务将比较此模板与当前远程资源的状态之间的区别。 请确保OBS地址所在局点与使用RFS服务局点一致。 对应的文件应该是纯tf文件或zip压缩包 纯tf文件需要以 .tf或者 .tf.json结尾,并遵守HCL语法 压缩包目前只支持zip格式,文件需要以 .zip结尾。解压后的文件不得包含".tfvars"文件且必须是UTF8编码(其中.tf.json不能包含BOM头),zip压缩包当前支持的子文件数量最大为100 template_body和template_uri 必须有且只有一个存在 在CreateStack API中,template_body和template_uri可以都不给予 注意: template_uri对应的模板文件中默认不应该含有任何敏感信息,资源编排服务会直接明文使用、log、展示、存储对应的模板文件内容。如为敏感信息,建议将敏感信息通过vars_structure参数化,并设置encryption字段开启加密 template_uri对应的模板文件如果为zip类型,则内部的文件或文件夹名称长度不得超过255个字节,最深路径长度不得超过2048字节,zip包大小不得超过1MB vars_body 否 String HCL参数文件的内容。HCL模板支持参数传入,即,同一个模板可以给予不同的参数而达到不同的效果。 vars_body使用HCL的tfvars格式,用户可以将“.tfvars”中的内容提交到vars_body中。 资源编排服务支持vars_structure,vars_body和vars_uri,如果以上三种方式中声明了同一个变量,将报错400 如果vars_body过大,可以使用vars_uri 如果vars中都是简单的字符串格式,可以使用var_structure 注意:vars_body中不应该含有任何敏感信息,资源编排服务会直接明文使用、log、展示、存储对应的vars。如为敏感信息,建议通过vars_structure并设置encryption字段传递 vars_structure 否 Array of VarsStructure objects HCL参数结构。HCL模板支持参数传入,即,同一个模板可以给予不同的参数而达到不同的效果。 var_structure可以允许客户提交最简单的字符串类型的参数 资源编排服务支持vars_structure,vars_body和vars_uri,如果以上三种方式中声明了同一个变量,将报错400 vars_structure中的值只支持简单的字符串类型,如果需要使用其他类型,需要用户自己在HCL引用时转换, 或者用户可以使用vars_uri、vars_body,vars_uri和vars_body中支持HCL支持的各种类型以及复杂结构 如果vars_structure过大,可以使用vars_uri 注意:vars_structure中默认不应该含有任何敏感信息,资源编排服务会直接明文使用、log、展示、存储对应的vars。如为敏感信息,建议设置encryption字段开启加密 vars_uri 否 String HCL参数文件的OBS地址。HCL模板支持参数传入,即,同一个模板可以给予不同的参数而达到不同的效果。 请确保OBS地址所在局点与使用RFS服务局点一致。 资源编排服务支持vars_structure,vars_body和vars_uri,如果以上三种方式中声明了同一个变量,将报错400 vars_uri中的内容使用HCL的tfvars格式,用户可以将“.tfvars”中的内容保存到文件并上传到OBS中,并将OBS pre-signed URL传递给vars_uri。 注意:vars_uri的内容不应该含有任何敏感信息,资源编排服务会直接明文使用、log、展示、存储对应的vars。如为敏感信息,建议通过vars_structure并设置encryption字段传递 表4 Agency 参数 是否必选 参数类型 描述 provider_name 是 String 用户使用的provider的名字。如果用户给予的provider_name含有重复的值,则返回400 agency_name 否 String 对应provider所使用的IAM委托名称,资源编排服务会使用此委托的权限去访问、创建对应provider的资源。agency_name和agency_urn必须有且只有一个存在 agency_urn 否 String 委托URN 当用户定义Agency时,agency_name和agency_urn 必须有且只有一个存在。 推荐用户在使用信任委托时给予agency_urn,agency_name只支持接收普通委托名称,如果给予了信任委托名称,则会在部署模板时失败。 表5 VarsStructure 参数 是否必选 参数类型 描述 var_key 是 String 参数的名字 var_value 是 String 参数的值。 注意,参数需要以字符串形式存在,如果是数字,也需要以字符串形式存在,如'10'。 如果需要支持不同类型,或者复杂结构,请使用vars_uri或vars_body encryption 否 EncryptionStructure object 如果用户传递的var_value是已经加密过的,可以通过声明此项以要求资源编排服务在使用前进行解密,目前暂时只支持KMS加解密 表6 EncryptionStructure 参数 是否必选 参数类型 描述 kms 是 KmsStructure object 如果用户给予的var_value是经过KMS加密的,可以通过传递相关加密信息,资源编排服务在使用的时候会帮助用户进行KMS解密 更多关于KMS加密以及KMS加密的样例代码请见: KMS加密使用场景介绍 注意: 请确保用户给予资源编排服务的委托中包含对指定密钥ID的操作权限 KMS每个月有免费试用的额度,如果超过,则KMS需要收费,此费用不是资源编排服务收取,具体标准见: https://www.huaweicloud.com/pricing.html?tab=detail#/dew KMS加密只代表资源编排服务在存储和传输的时候传递的是密文,但是在stack-events中依然是明文,如果希望在log中以密文形式对待,请在模板中声明sensitive,更多关于sensitive的介绍见: https://learn.hashicorp.com/tutorials/terraform/sensitive-variables 表7 KmsStructure 参数 是否必选 参数类型 描述 id 是 String 解密时,资源编排服务应该使用的KMS密钥的ID,通常是加密时所使用的密钥ID cipher_text 是 String 数据加密 密钥所对应的密文
  • 请求示例 获取指定资源栈集的所有资源栈集操作,以创建时间降序排序 GET https://{endpoint}/v1/stack-sets/my_hello_world_stack_set/operations 通过filter获取指定资源栈集在CREATE_STACK_INSTAN CES 和DEPLOY_STACK_SET操作下的所有资源栈集操作,以创建时间降序排序 GET https://{endpoint}/v1/stack-sets/my_hello_world_stack_set/operations?filter=action==CREATE_STACK_INSTANCES|action==DEPLOY_STACK_SET 通过sort_key和sort_dir获取指定资源栈集的所有资源栈集操作,以创建时间升序排序 GET https://{endpoint}/v1/stack-sets/my_hello_world_stack_set/operations?sort_key=create_time&sort_dir=asc
  • 响应示例 状态码:200 列举资源栈集操作成功 { "stack_set_operations" : [ { "stack_set_id" : "f689e9fd-97e7-4185-bd8a-7d5f708d45d7", "stack_set_name" : "my_hello_world_stack_set", "operation_id" : "3fef5d3e-27b6-44e8-9769-1d7262bd9430", "status" : "OPERATION_COMPLETE", "action" : "CREATE_STACK_INSTANCES", "create_time" : "2023-05-15T17:39:25.210Z", "update_time" : "2023-05-15T18:39:25.210Z" }, { "stack_set_id" : "f689e9fd-97e7-4185-bd8a-7d5f708d45d7", "stack_set_name" : "my_hello_world_stack_set", "operation_id" : "8592967b-18b0-421b-b6c1-079c9ded3931", "status" : "OPERATION_FAILED", "action" : "DEPLOY_STACK_SET", "create_time" : "2023-05-15T15:39:25.210Z", "update_time" : "2023-05-15T16:39:25.210Z" } ] }
  • 功能介绍 列举资源栈集操作(ListStackSetOperations) 列举指定资源栈集下所有的资源栈集的操作。 可以使用filter作为过滤器,过滤出指定操作状态(status)或操作类型(action)下的资源栈集操作。 可以使用sort_key和sort_dir两个关键字对返回结果按创建时间(create_time)进行排序。给予的sort_key和sort_dir数量须一致,否则返回400。如果未给予sort_key和sort_dir,则默认按照创建时间降序排序。 如果指定资源栈集下没有任何资源栈集操作,则返回空list。
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 stack_set_operations Array of StackSetOperation objects 资源栈集操作列表 表5 StackSetOperation 参数 参数类型 描述 operation_id String 资源栈集操作Id。 此ID由资源编排服务在生成资源栈集操作的时候生成,为UUID。 stack_set_id String 资源栈集(stack_set)的唯一ID。 此ID由资源编排服务在生成资源栈集的时候生成,为UUID。 由于资源栈集名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈集,删除,再重新创建一个同名资源栈集。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈集就是我以为的那个,而不是被其他队友删除后创建的同名资源栈集。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈集所对应的ID都不相同,更新不会影响ID。如果给予的stack_set_id和当前资源栈集的ID不一致,则返回400 stack_set_name String 资源栈集(stack_set)的名字。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 action String 用户当前的操作 CREATE_STACK_INSTANCES - 创建资源栈实例 DELETE_STACK_INSTANCES - 删除资源栈实例 DEPLOY_STACK_SET - 部署资源栈集 DEPLOY_STACK_INSTANCES - 部署资源栈实例 UPDATE_STACK_INSTANCES - 更新资源栈实例 status String 资源栈集操作状态 QUEUE_IN_PROGRESS - 正在排队 OPERATION_IN_PROGRESS - 正在操作 OPERATION_COMPLETE - 操作完成 OPERATION_FAILED - 操作失败 STOP_IN_PROGRESS - 正在停止 STOP_COMPLETE - 停止完成 STOP_FAILED - 停止失败 status_message String 资源栈集操作失败时会展示此次操作失败的原因,例如,资源栈实例部署或删除失败个数超过上限或资源栈集操作超时。 如果需要查看详细失败信息,可通过ListStackInstances API获取查看资源栈实例的status_message。 create_time String 资源栈集操作的创建时间,格式为YYYY-MM-DDTHH:mm:ss.SSSZ,精确到毫秒,UTC时区,即,如1970-01-01T00:00:00.000Z。 update_time String 资源栈集操作的更新时间,格式为YYYY-MM-DDTHH:mm:ss.SSSZ,精确到毫秒,UTC时区,即,如1970-01-01T00:00:00.000Z。 状态码:400 表6 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表7 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:401 表8 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表9 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:403 表10 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表11 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:404 表12 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表13 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:429 表14 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表15 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:500 表16 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表17 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • URI GET /v1/stack-sets/{stack_set_name}/operations 表1 路径参数 参数 是否必选 参数类型 描述 stack_set_name 是 String 资源栈集的名称。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 表2 Query参数 参数 是否必选 参数类型 描述 stack_set_id 否 String 资源栈集(stack_set)的唯一ID。 此ID由资源编排服务在生成资源栈集的时候生成,为UUID。 由于资源栈集名称仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈集,删除,再重新创建一个同名资源栈集。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈集就是我认为的那个,而不是其他队友删除后创建的同名资源栈集。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈集所对应的ID都不相同,更新不会影响ID。如果给予的stack_set_id和当前资源栈集的ID不一致,则返回400 filter 否 String 过滤条件 与(AND)运算符使用逗号(,)定义 或(OR)运算符使用竖线(|)定义,OR运算符优先级高于AND运算符 不支持括号 过滤运算符仅支持双等号(==) 过滤参数名及其值仅支持包含大小写英文、数字和下划线 过滤条件中禁止使用分号,如果有分号,则此条过滤会被忽略 一个过滤参数仅能与一个与条件相关,一个与条件中的多个或条件仅能与一个过滤参数相关 sort_key 否 Array of strings 排序字段,仅支持给予create_time sort_dir 否 Array of strings 指定升序还是降序 asc - 升序 desc - 降序 call_identity 否 String 仅支持资源栈集权限模式为SERVICE_MANAGED时指定该参数。用于指定用户是以组织管理账号还是成员账号中的服务委托管理员身份调用资源栈集。默认为SELF。 无论指定何种用户身份,创建或部署的资源栈集始终在组织管理账号名下。* SELF - 以组织管理账号身份调用。 DELEGATED_ADMIN - 以服务委托管理员身份调用。用户的华为云账号必须在组织中已经被注册为”资源编排资源栈集服务“的委托管理员。
  • 请求示例 获取私有hook版本策略 GET https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/versions/0.0.1/policies 获取私有hook版本策略,并提供hook ID以校验是否与当前私有hook匹配 GET https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/versions/0.0.1/policies?hook_id=d3e79f29-1b5c-44b2-8236-d609a59a634e
  • 响应参数 状态码:307 表4 响应Header参数 参数 参数类型 描述 Location String HTTP重定向指定头域,客户端可通过此头域重定向至新地址。其内容为私有hook版本策略下载链接,为OBS Pre Signed地址,有效期为5分钟 状态码:400 表5 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表6 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:401 表7 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表8 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:403 表9 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表10 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:404 表11 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表12 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:429 表13 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表14 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码:500 表15 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表16 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全