云服务器内容精选

  • 响应示例 状态码: 200 列举执行计划成功 { "execution_plans" : [ { "stack_name" : "my_hello_world_stack", "stack_id" : "f689e9fd-97e7-4185-bd8a-7d5f708d45d7", "execution_plan_id" : "b3e7e15f-f96b-4190-94f4-bb8120f8c4dc", "execution_plan_name" : "my_third_execution_plan", "description" : "my third execution plan", "status" : "AVAILABLE", "create_time" : "2023-05-15T15:39:25Z" }, { "stack_name" : "my_hello_world_stack", "stack_id" : "f689e9fd-97e7-4185-bd8a-7d5f708d45d7", "execution_plan_id" : "3ca87537-8d5c-4c9d-9292-d19068aaacbb", "execution_plan_name" : "my_second_execution_plan", "description" : "my second execution plan", "status" : "APPLIED", "create_time" : "2023-05-15T15:32:45Z" }, { "stack_name" : "my_hello_world_stack", "stack_id" : "f689e9fd-97e7-4185-bd8a-7d5f708d45d7", "execution_plan_id" : "8c1fb31d-9eec-4ce3-a4e6-fd07059cec83", "execution_plan_name" : "my_first_execution_plan", "description" : "my first execution plan", "status" : "CREATION_FAILED", "status_message" : "Failed to init workflow due to bad template. Error: Invalid variable name A name must start with a letter or underscore and may contain only letters, digits, underscores, and dashes.", "create_time" : "2023-05-15T12:23:38Z" } ] }
  • 请求示例 列举用户指定资源栈下的所有的执行计划 GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/execution-plans 列举用户指定资源栈下的所有的执行计划,并提供资源栈id以校验是否与当前资源栈匹配 GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/execution-plans?stack_id=f689e9fd-97e7-4185-bd8a-7d5f708d45d7
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 execution_plans Array of ExecutionPlan objects 执行计划列表。默认按照生成时间降序排序,最新生成的在最前 表5 ExecutionPlan 参数 参数类型 描述 stack_name String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 stack_id String 资源栈(stack)的唯一Id。 此Id由 资源编排 服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400 execution_plan_id String 执行计划(execution_plan)的唯一Id。 此Id由资源编排服务在生成执行计划的时候生成,为UUID。 由于执行计划名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的执行计划,删除,再重新创建一个同名执行计划。 对于团队并行开发,用户可能希望确保,当前我操作的执行计划就是我认为的那个,而不是其他队友删除后创建的同名执行计划。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的执行计划所对应的ID都不相同,更新不会影响ID。如果给予的execution_plan_id和当前执行计划的ID不一致,则返回400 注意: 创建执行计划后,资源编排服务持久化请求并立即返回,客户端不等待请求最终处理完成,用户无法实时感知请求处理结果 资源编排服务最终会将异步部署请求排队,在服务端空闲的情况下逐个处理。用户最大等待时长为1小时 execution_plan_name String 执行计划的名称。此名字在domain_id+区域+project_id+stack_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 description String 执行计划的描述。可用于客户识别自己的执行计划。 status String 执行计划的状态 * CREATION_IN_PROGRESS - 正在创建,请等待 * CREATION_FAILED - 创建失败,请从status_message获取错误信息汇总 * AVAILABLE - 创建完成,可以调用ApplyExecutionPlan API进行执行 * APPLY_IN_PROGRESS - 执行中,可通过GetStackMetadata查询资源栈状态,通过ListStackEvents获取执行过程中产生的资源栈事件 * APPLIED - 已执行 status_message String 当执行计划的状态为创建失败状态(即为 CREATION_FAILED 时),将会展示简要的错误信息总结以供debug create_time String 执行计划的生成时间,格式遵循RFC3339,精确到秒,UTC时区,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z apply_time String 执行计划的执行时间,格式遵循RFC3339,精确到秒,UTC时区,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z 状态码: 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/{project_id}/stacks/{stack_name}/execution-plans 表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
  • 功能介绍 列举执行计划(ListExecutionPlans) 列举当前局点下用户指定资源栈下所有的执行计划 默认按照生成时间降序排序,最新生成的在最前 注意:目前暂时返回全量执行计划信息,即不支持分页 如果指定的资源栈下没有任何执行计划,则返回空list 如果指定的资源栈不存在,则返回404 ListExecutionPlans返回的只有摘要信息(具体摘要信息见ListExecutionPlansResponseBody),如果用户需要详细的执行计划元数据请调用GetExecutionPlanMetadata
  • 请求示例 继续回滚资源栈 POST https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/rollbacks 继续回滚资源栈,并提供资源栈id以校验是否与当前资源栈匹配 POST https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/rollbacks { "stack_id" : "8592967b-18b0-421b-b6c1-079c9ded3931" }
  • 功能介绍 继续回滚资源栈(ContinueRollbackStack) 此API用于继续回滚一个已有的资源栈 如果资源栈开启了自动回滚,在部署失败的时候则会自动回滚。但是自动回滚依然有可能失败,用户可以根据错误信息修复后,调用ContinueRollbackStack触发继续回滚,即重试回滚 如果资源栈当前可以回滚,即处于ROLLBACK_FAILED,则返回202与对应生成的deploymentId,否则将不允许回滚并返回响应的错误码 继续回滚也有可能会回滚失败。如果失败,用户可以从ListStackEvents获取对应的log,解决后可再次调用ContinueRollbackStack去继续触发回滚
  • URI POST /v1/{project_id}/stacks/{stack_name}/rollbacks 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,可以从调用API处获取,也可以从控制台获取。 项目ID获取方式 stack_name 是 String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Client-Request-Id 是 String 用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID 表3 请求Body参数 参数 是否必选 参数类型 描述 stack_id 否 String 资源栈(stack)的唯一Id。 此Id由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400
  • 响应参数 状态码: 202 表4 响应Body参数 参数 参数类型 描述 deployment_id String 继续回滚触发部署生成的唯一的deployment_id,由资源编排服务生成,通常为UUID 接受请求,进行异步处理。可以调用GetStackMetadata来获取异步请求的部署状态 注意: 资源编排服务最终会将异步部署请求排队,在服务端空闲的情况下逐个处理。用户最大等待时长为6小时 状态码: 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 响应消息 状态码: 409 表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 响应消息 状态码: 429 表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 响应消息 状态码: 500 表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 响应消息
  • 响应参数 状态码: 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 响应消息 状态码: 409 表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 响应消息 状态码: 429 表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 响应消息 状态码: 500 表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 响应消息
  • 请求示例 更新资源栈的描述信息 PATCH https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack { "stack_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3", "description" : "my hello world stack" } 关闭资源栈的删除保护和自动回滚 PATCH https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack { "stack_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3", "enable_deletion_protection" : false, "enable_auto_rollback" : false } 更新资源栈中的委托信息 PATCH https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack { "stack_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3", "agencies" : { "provider_name" : "my_hello_world_provider", "agency_name" : "my_agency" } }
  • URI PATCH /v1/{project_id}/stacks/{stack_name} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,可以从调用API处获取,也可以从控制台获取。 项目ID获取方式 stack_name 是 String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Client-Request-Id 是 String 用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID 表3 请求Body参数 参数 是否必选 参数类型 描述 description 否 String 资源栈的描述。可用于客户识别自己的资源栈。 stack_id 否 String 资源栈(stack)的唯一Id。 此Id由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400 enable_deletion_protection 否 Boolean 删除保护的标识位,如果不传默认为false,即默认不开启资源栈删除保护(删除保护开启后资源栈不允许被删除) 在UpdateStack API中,如果该参数未在RequestBody中给予,则不会对资源栈的删除保护属性进行更新 enable_auto_rollback 否 Boolean 自动回滚的标识位,如果不传默认为false,即默认不开启资源栈自动回滚(自动回滚开启后,如果部署失败,则会自动回滚,并返回上一个稳定状态) 在UpdateStack API中,如果该参数未在RequestBody中给予,则不会对资源栈的自动回滚属性进行更新 该属性与使用模板导入资源功能互斥,如果堆栈的自动回滚设置为true,则不允许部署包含导入资源的模板 agencies 否 Array of Agency objects 委托授权的信息。 RFS 仅在创建资源栈(触发部署)、创建执行计划、部署资源栈、删除资源栈等涉及资源操作的请求中使用委托,且该委托仅作用于与之绑定的Provider对资源的操作中。如果委托中提供的权限不足,有可能导致相关资源操作失败。 创建委托及授权方式 表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只支持接收普通委托名称,如果给予了信任委托名称,则会在部署模板时失败。
  • 功能介绍 更新资源栈(UpdateStack) 更新资源栈的属性,该API可以根据用户给予的信息对资源栈的属性进行更新,可以更新资源栈的“description”、“enable_deletion_protection”、"enable_auto_rollback"、"agencies"四个属性中的一个或多个 该API只会更新用户给予的信息中所涉及的字段;如果某字段未给予,则不会对该资源栈属性进行更新 注:所有属性的更新都是覆盖式更新。即,所给予的参数将被完全覆盖至资源栈已有的属性上 例如,如果要新增agencies,请通过GetStackMetadata获取该资源栈原有的agencies信息,将新旧agencies信息进行整合后再调用UpdateStack 如果资源栈状态处于非终态(状态以IN_PROGRESS结尾)状态时,则不允许更新。包括但不限于以下状态: 正在部署(DEPLOYMENT_IN_PROGRESS) 正在删除(DELETION_IN_PROGRESS) 正在回滚(ROLLBACK_IN_PROGRESS) 对于“enable_auto_rollback”属性从false到true的更新操作,资源栈状态判定将更加严格,在失败(状态以_FAILED结尾)状态时也不允许更新,包括但不限于以下状态: 部署失败(DEPLOYMENT_FAILED) 回滚失败(ROLLBACK_FAILED) 删除失败(DELETION_FAILED)