diff options
Diffstat (limited to 'data/en_us/ros/2019-09-10')
| -rw-r--r-- | data/en_us/ros/2019-09-10/api-docs.php | 28671 |
1 files changed, 13076 insertions, 15595 deletions
diff --git a/data/en_us/ros/2019-09-10/api-docs.php b/data/en_us/ros/2019-09-10/api-docs.php index a3a3ef5..36b4630 100644 --- a/data/en_us/ros/2019-09-10/api-docs.php +++ b/data/en_us/ros/2019-09-10/api-docs.php @@ -1,213 +1,78 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'ROS', - 'version' => '2019-09-10', - ], + 'info' => ['style' => 'RPC', 'product' => 'ROS', 'version' => '2019-09-10'], 'directories' => [ [ - 'id' => 304763, - 'title' => null, + 'children' => ['CreateAITask', 'ListAITasks'], 'type' => 'directory', - 'children' => [ - 'CreateAITask', - 'GetAITask', - 'ListAITasks', - 'ListAITaskEvents', - ], + 'title' => 'AI task operations', ], [ - 'id' => 304768, - 'title' => null, + 'children' => ['CreateStack', 'DeleteStack', 'UpdateStack', 'ContinueCreateStack', 'ListStacks', 'CancelUpdateStack', 'CancelStackOperation', 'ListStackEvents', 'ListStackOperationRisks', 'PreviewStack'], 'type' => 'directory', - 'children' => [ - 'CreateStack', - 'DeleteStack', - 'UpdateStack', - 'ContinueCreateStack', - 'GetStack', - 'ListStacks', - 'CancelUpdateStack', - 'CancelStackOperation', - 'SetDeletionProtection', - 'ListStackEvents', - 'ListStackOperationRisks', - 'PreviewStack', - ], + 'title' => 'Stack operations', ], [ - 'id' => 304781, - 'title' => null, + 'children' => ['ListStackResources', 'GetStackResource'], 'type' => 'directory', - 'children' => [ - 'ListStackResources', - 'GetStackResource', - 'MoveResourceGroup', - ], + 'title' => 'Resource operations', ], [ - 'id' => 304785, - 'title' => null, + 'children' => ['CreateTemplateScratch', 'DeleteTemplateScratch', 'UpdateTemplateScratch', 'GetTemplateScratch', 'GenerateTemplateByScratch'], 'type' => 'directory', - 'children' => [ - 'CreateTemplateScratch', - 'DeleteTemplateScratch', - 'UpdateTemplateScratch', - 'ListTemplateScratches', - 'GetTemplateScratch', - 'GenerateTemplateByScratch', - ], + 'title' => 'Resource scenario operations', ], [ - 'id' => 304792, - 'title' => null, + 'children' => ['ListTemplateVersions', 'GetTemplateParameterConstraints', 'SetTemplatePermission', 'GetTemplateEstimateCost', 'GetTemplateSummary', 'ValidateTemplate', 'GenerateTemplatePolicy'], 'type' => 'directory', - 'children' => [ - 'CreateTemplate', - 'DeleteTemplate', - 'UpdateTemplate', - 'GetTemplate', - 'ListTemplates', - 'ListTemplateVersions', - 'GetTemplateParameterConstraints', - 'SetTemplatePermission', - 'GetTemplateEstimateCost', - 'GetTemplateSummary', - 'ValidateTemplate', - 'GenerateTemplatePolicy', - ], + 'title' => 'Template operations', ], [ - 'id' => 304805, - 'title' => null, + 'children' => ['SetStackPolicy', 'GetStackPolicy'], 'type' => 'directory', - 'children' => [ - 'SetStackPolicy', - 'GetStackPolicy', - ], + 'title' => 'Stack policy operations', ], [ - 'id' => 304808, - 'title' => null, + 'children' => ['CreateChangeSet', 'DeleteChangeSet', 'GetChangeSet', 'ListChangeSets', 'ExecuteChangeSet'], 'type' => 'directory', - 'children' => [ - 'CreateChangeSet', - 'DeleteChangeSet', - 'GetChangeSet', - 'ListChangeSets', - 'ExecuteChangeSet', - ], + 'title' => 'Change set operations', ], [ - 'id' => 304814, - 'title' => null, + 'children' => ['CreateStackGroup', 'DeleteStackGroup', 'UpdateStackGroup', 'ListStackGroups', 'GetStackGroup', 'CreateStackInstances', 'DeleteStackInstances', 'UpdateStackInstances', 'GetStackInstance', 'StopStackGroupOperation', 'ListStackInstances', 'GetStackGroupOperation', 'ListStackGroupOperations', 'ListStackGroupOperationResults', 'ImportStacksToStackGroup'], 'type' => 'directory', - 'children' => [ - 'CreateStackGroup', - 'DeleteStackGroup', - 'UpdateStackGroup', - 'ListStackGroups', - 'GetStackGroup', - 'CreateStackInstances', - 'DeleteStackInstances', - 'UpdateStackInstances', - 'GetStackInstance', - 'StopStackGroupOperation', - 'ListStackInstances', - 'GetStackGroupOperation', - 'ListStackGroupOperations', - 'ListStackGroupOperationResults', - 'ImportStacksToStackGroup', - ], + 'title' => 'Stack group operations', ], [ - 'id' => 304830, - 'title' => null, + 'children' => ['UpdateStackTemplateByResources', 'GetStackDriftDetectionStatus', 'ListStackResourceDrifts', 'DetectStackDrift', 'DetectStackGroupDrift', 'DetectStackResourceDrift'], 'type' => 'directory', - 'children' => [ - 'UpdateStackTemplateByResources', - 'GetStackDriftDetectionStatus', - 'ListStackResourceDrifts', - 'DetectStackDrift', - 'DetectStackGroupDrift', - 'DetectStackResourceDrift', - ], + 'title' => 'Drift detection operations', ], [ - 'id' => 304837, - 'title' => null, + 'children' => ['RegisterResourceType', 'SetResourceType', 'DeregisterResourceType', 'ListResourceTypes', 'GetResourceTypeTemplate', 'GetResourceType', 'ListResourceTypeVersions', 'ListResourceTypeRegistrations'], 'type' => 'directory', - 'children' => [ - 'TagResources', - 'ListTagResources', - 'ListTagKeys', - 'ListTagValues', - 'UntagResources', - ], + 'title' => 'Resource type operations', ], [ - 'id' => 304843, - 'title' => null, + 'children' => ['SignalResource', 'GetServiceProvisions', 'GetFeatureDetails'], 'type' => 'directory', - 'children' => [ - 'CreateDiagnostic', - 'GetDiagnostic', - 'ListDiagnostics', - 'DeleteDiagnostic', - ], + 'title' => 'Other operations', ], [ - 'id' => 304848, - 'title' => null, - 'type' => 'directory', 'children' => [ - 'RegisterResourceType', - 'SetResourceType', - 'DeregisterResourceType', - 'ListResourceTypes', - 'GetResourceTypeTemplate', - 'GetResourceType', - 'ListResourceTypeVersions', - 'ListResourceTypeRegistrations', + 'EnableServiceAccess', 'EnableServices', 'GetServiceAccess', 'ListSummaries', 'CreateDiagnostic', 'CreateTemplate', 'DeleteDiagnostic', 'DeleteTemplate', 'DescribeRegions', 'GetAITask', 'GetDiagnostic', 'GetStack', 'GetTemplate', 'ListAITaskEvents', 'ListDiagnostics', 'ListTagKeys', 'ListTagResources', 'ListTagValues', 'ListTemplateScratches', 'ListTemplates', + 'MoveResourceGroup', 'SetDeletionProtection', 'TagResources', 'UntagResources', 'UpdateTemplate', ], - ], - [ - 'id' => 304857, - 'title' => null, 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - 'SignalResource', - 'GetServiceProvisions', - 'GetFeatureDetails', - ], - ], - [ - 'id' => 304862, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'EnableServiceAccess', - 'EnableServices', - 'GetServiceAccess', - 'ListSummaries', - ], + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'CreateAITask' => [ - 'summary' => 'Create AI Task', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'CancelStackOperation' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -216,522 +81,571 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227764', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'TaskType', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of AI task. Values:'."\n" - .'- GenerateTemplate: AI template generation'."\n" - .'- FixTemplate: AI template repair', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'GenerateTemplate' => 'GenerateTemplate', - 'FixTemplate' => 'FixTemplate', - ], - 'example' => 'GenerateTemplate', - ], + 'schema' => ['description' => 'The stack ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'Prompt', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The input description for the AI task.'."\n" - ."\n" - .'- When the task type is Generate Template, this parameter specifies the functionality of the template to be generated.'."\n" - .'- When the task type is FixTemplate, this parameter can describe how the template should be repaired.', - 'type' => 'string', - 'required' => false, - 'example' => '创建一台ECS,部署nignx服务', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Template', - 'in' => 'formData', - 'schema' => [ - 'description' => 'When the task type is AI template repair, specify the original template that needs to be fixed or modified.', - 'type' => 'string', - 'required' => false, - 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', - ], + 'name' => 'CancelType', + 'in' => 'query', + 'schema' => ['description' => 'The method that you want to use to cancel the operations. Valid values:'."\n" + ."\n" + .'- Quick: cancels the operations on the stack at the earliest opportunity. In this case, Resource Orchestration Service (ROS) stops scheduling new resources and stops running resources at the earliest opportunity. If you use this method, the resource status may become invalid and subsequent stack operations may be affected.'."\n" + ."\n" + .'- Safe (default): cancels the operations on the stack in a secure manner. In this case, ROS stops scheduling new resources and waits for running resources to be stopped.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Safe', 'title' => ''], ], [ - 'name' => 'TemplateType', + 'name' => 'AllowedStackOperations', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of the template to be generated or repaired. Default is ROS.', - 'type' => 'string', + 'description' => 'The operations that you want to cancel on the stack.', + 'type' => 'array', + 'items' => ['description' => 'The operation N that you want to cancel on the stack. Valid values:'."\n" + ."\n" + .'- CREATE: creates a stack, or continues to create a stack from where the creation operation is stopped.'."\n" + ."\n" + .'- UPDATE: updates a stack.'."\n" + ."\n" + .'- IMPORT\\_UPDATE: creates a stack by importing resources.'."\n" + ."\n" + .'- IMPORT\\_UPDATE: updates a stack by importing resources.'."\n" + ."\n" + .'- DELETE: deletes a stack.'."\n" + ."\n" + .'- NOT\\_ROLLBACK (default): all types of non-rollback operations, including CREATE, UPDATE, IMPORT\\_CREATE, IMPORT\\_UPDATE, and DELETE. If you cancel a rollback operation on a stack, the stack status may become invalid and subsequent stack operations may be affected. We recommend that you do not cancel rollback operations.'."\n" + ."\n" + .'- CREATE\\_ROLLBACK: rolls back resources after a stack fails to be created.'."\n" + ."\n" + .'- ROLLBACK: rolls back resources after a stack fails to be updated.'."\n" + ."\n" + .'- IMPORT\\_CREATE\\_ROLLBACK: rolls back resources after a stack fails to be created by using imported resources.'."\n" + ."\n" + .'- IMPORT\\_UPDATE\\_ROLLBACK: rolls back resources after a stack fails to be updated by using imported resources.'."\n" + ."\n" + .'- ALL: all types of operations, including CREATE, UPDATE, IMPORT\\_CREATE, IMPORT\\_UPDATE, DELETE, CREATE\\_ROLLBACK, ROLLBACK, IMPORT\\_CREATE\\_ROLLBACK, and IMPORT\\_UPDATE\\_ROLLBACK.'."\n" + ."\n" + .'Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'NOT_ROLLBACK', 'title' => ''], 'required' => false, - 'enumValueTitles' => [ - 'ROS' => 'ROS', - ' Terraform' => ' Terraform', - ], - 'example' => 'ROS'."\n", + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'TaskId' => [ - 'description' => 'AI task ID.', - 'type' => 'string', - 'example' => 't-asas*****', - ], - 'Code' => [ - 'description' => 'Error code.', - 'type' => 'string', - 'example' => 'Forbidden', - ], - 'Message' => [ - 'description' => 'Error message.', - 'type' => 'string', - 'example' => 'You are not authorized to complete this action.', - ], - 'Success' => [ - 'description' => 'Indicates whether the call was successful. Values:'."\n" - .'- true: Call succeeded.'."\n" - .'- false: Call failed.', - 'type' => 'string', - 'example' => 'true', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP status code.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'CancelStackOperation', + 'summary' => 'Cancels operations on a stack.', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. | 资源栈不存在。name为资源栈名称或ID。 |'."\n" + .'| 400 | NotSupported | {feature} is not supported. | 不支持feature(特性或操作)。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelStackOperation'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:CancelStackOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"TaskId\\": \\"t-asas*****\\",\\n \\"Code\\": \\"Forbidden\\",\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"Success\\": \\"true\\",\\n \\"HttpStatusCode\\": 200\\n}","type":"json"}]', - 'title' => 'Create AI Task', - 'description' => 'This API allows users to create an AI task based on the specified task type, covering a range of capabilities from natural language understanding to resource stack deployment. Users need to provide the task type and any required parameters, and the API will return a unique TaskId for tracking the status and results of the task.', - 'translator' => 'machine', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', ], - 'GetAITask' => [ - 'summary' => 'Queries the information about an AI task by task ID.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'CancelUpdateStack' => [ + 'path' => '/V2/CancelUpdateStack', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227776', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'TaskId', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the AI task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 't-asasas*****', - ], + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'OutputOption', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the TaskOutput parameter. The TaskOutput parameter specifies the outputs of the AI task. Valid values:'."\n" - ."\n" - .'* Enabled'."\n" - .'* Disabled (default)'."\n" - ."\n" - .'> The value of TaskOutput may be excessively long. If you do not require the outputs of the task, we recommend that you set OutputOption to Disabled to improve the response speed of the API operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Disabled', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'CancelType', + 'in' => 'query', + 'schema' => ['description' => 'The method to cancel the update operation. Valid values:'."\n" + ."\n" + .'- Quick: cancels the update of a stack as soon as possible.'."\n" + ."\n" + .'- Safe: cancels the update of a stack as safely as possible.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Safe', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the AI task.'."\n", - 'type' => 'string', - 'example' => 't-asasas*****'."\n", - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'TaskType' => [ - 'title' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕', - 'description' => 'The type of the AI task.'."\n" - ."\n" - .'* GenerateTemplate: The AI task is used to generate a template.'."\n" - .'* FixTemplate: The AI task is used to fix a template.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'GenerateTemplate' => 'GenerateTemplate', - 'FixTemplate' => 'FixTemplate', - ], - 'example' => 'GenerateTemplate', - ], - 'Status' => [ - 'description' => 'The state of the AI task.'."\n" - ."\n" - .'* PENDING'."\n" - .'* WAITING'."\n" - .'* RUNNING'."\n" - .'* SUCCESS'."\n" - .'* FAILURE'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'SUCCESS' => 'SUCCESS', - 'RUNNING' => 'RUNNING', - 'WAITING' => 'WAITING', - 'PENDING' => 'PENDING', - 'FAILURE' => 'FAILURE', - ], - 'example' => 'FAILURE', - ], - 'StatusReason' => [ - 'description' => 'The reason why the AI task is in the state.'."\n", - 'type' => 'string', - 'example' => 'Handler execution unexpected failure', - ], - 'TaskOutput' => [ - 'description' => 'The outputs of the AI task. The outputs include the template.'."\n" - ."\n" - .'*'."\n", - 'type' => 'object', - 'example' => ' "Result": {'."\n" - .' "ROSTemplateFormatVersion": "2015-09-01",'."\n" - .'}', - ], - 'Code' => [ - 'description' => 'The error code.'."\n", - 'type' => 'string', - 'example' => 'Forbidden', - ], - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'You are not authorized to complete this action.', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [], + 'title' => 'CancelUpdateStack', + 'summary' => 'Cancels an update operation on a stack. You can call this operation to cancel an update operation on a stack when the stack is being updated or created.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => '| HTTP status code | Error code | Error message | Description |'."\n" + .'| ---------------- | ---------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. | The error message returned because the specified stack does not exist. name indicates the name or ID of the stack. |'."\n" + .'| 409 | ActionInProgress | Stack {name} already has an action ({action}) in progress. | The error message returned because the specified stack has a change operation in progress. name indicates the name or ID of the stack, and action indicates the change operation. |', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. | 资源栈不存在。name为资源栈名称或ID。 |'."\n" + .'| 409 | ActionInProgress | Stack {name} already has an action ({action}) in progress. | 资源栈在变更中。name为资源栈名称或ID,action为具体的变更操作。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelUpdateStack'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:CancelUpdateStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TaskId\\": \\"t-asasas*****\\\\n\\",\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"TaskType\\": \\"GenerateTemplate\\",\\n \\"Status\\": \\"FAILURE\\",\\n \\"StatusReason\\": \\"Handler execution unexpected failure\\",\\n \\"TaskOutput\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Code\\": \\"Forbidden\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'GetAITask', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', ], - 'ListAITasks' => [ - 'summary' => 'Queries a list of AI tasks.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ContinueCreateStack' => [ + 'summary' => 'Continues to create a stack after the stack fails to be created.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '227771', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'NextToken', + 'name' => 'StackId', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '标记当前开始读取的位置,置空表示从头开始', - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'U12WEI6Ro2ol3wA54rBNS3Cltv2VJyA+7hP4GqbIOhmWU5mWU9ZE3cXLgDaH4KSMRfIYcIVrvtHaAzCoyfo7VQ==', - ], + 'schema' => ['description' => 'The stack ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'RegionId', 'in' => 'query', - 'allowEmptyValue' => true, + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the RAM role. Resource Orchestration Service (ROS) assumes the RAM role to create the stack and uses the credentials of the role to call the APIs of Alibaba Cloud services.<br>'."\n" + .'ROS assumes the RAM role to perform operations on the stack. If you have permissions to perform operations on the stack but do not have permissions to use the RAM role, ROS still assumes the RAM role. You must make sure that the least privileges are granted to the RAM role.<br>'."\n" + .'If you do not specify this parameter, ROS assumes the existing role that is associated with the stack. If no roles are available, ROS uses a temporary credential that is generated from the credentials of your account.<br>'."\n" + .'The name of the RAM role can be up to 64 bytes in length.', 'type' => 'string', 'required' => false, 'example' => 'test-role', 'title' => ''], + ], + [ + 'name' => 'Mode', + 'in' => 'query', + 'schema' => ['description' => 'The mode in which ROS continues to create the stack. Valid values:'."\n" + ."\n" + .'- Recreate (default)'."\n" + ."\n" + .' If you set this parameter to Recreate, ROS continues to create only the following types of resources:'."\n" + ."\n" + .' - Resources that fail to be created'."\n" + ."\n" + .' - Resources that you specify for RecreatingResources.N'."\n" + ."\n" + .' - Dependencies of the resources that you specify for RecreatingResources.N'."\n" + ."\n" + .' - Resources that you have not created'."\n" + ."\n" + .'> RecreatingResources.N, TemplateBody, TemplateURL, and Parameters take effect only when Mode is set to Recreate.'."\n" + ."\n" + .'- Ignore'."\n" + ."\n" + .' - ROS ignores and discards resources that fail to be created and you have not created, and considers that the stack is successfully created.'."\n" + ."\n" + .' - The body of the template that you use to create the stack is changed.'."\n" + ."\n" + .'> This mode is available only for ROS stacks.', 'type' => 'string', 'required' => false, 'example' => 'Recreate', 'title' => ''], + ], + [ + 'name' => 'TemplateBody', + 'in' => 'query', + 'schema' => ['description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length.<br>'."\n" + .'If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" + ."\n" + .'A ROS template is subject to the following limits:'."\n" + ."\n" + .'- You can modify only the following sections in the template: Description, Metadata, Resources, and Outputs.'."\n" + ."\n" + .'- You cannot add sections to or remove sections from the template.'."\n" + ."\n" + .'- The Resources section is subject to the following limits:'."\n" + ."\n" + .' - You cannot delete the resources or change the template body for the resources that you do not want to continue to create.'."\n" + ."\n" + .' - You can delete the resources or change the template body for the resources that you want to continue to create.'."\n" + ."\n" + .' - You can add resources to this section.'."\n" + ."\n" + .'> * This parameter takes effect only when Mode is set to Recreate.'."\n" + .'>'."\n" + .'> * You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId. If you do not specify the parameters, the existing template is used.', 'type' => 'string', 'required' => false, 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', 'title' => ''], + ], + [ + 'name' => 'TemplateURL', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss\\://ros/template/demo or oss\\://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length.'."\n" + ."\n" + .'If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" + ."\n" + .'> - This parameter takes effect only when Mode is set to Recreate. When you specify TemplateURL of a template, the template is subject to the limits that are described for TemplateBody in this topic.'."\n" + .'>'."\n" + .'> - You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId. If you do not specify the parameters, the existing template is used.', 'type' => 'string', 'required' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether only to validate the stack in the request. Valid values:'."\n" + ."\n" + .'- true: only validates the stack.'."\n" + ."\n" + .'- false (default): validates and continues to create the stack.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The template ID. This parameter applies to shared and private templates.'."\n" + ."\n" + .'> - This parameter takes effect when `Mode` is set to `Recreate`. When you specify TemplateId of a template, the template is subject to the limits that are described for `TemplateBody` in this topic.'."\n" + .'>'."\n" + .'> - You can specify only one of the following parameters: `TemplateBody`, `TemplateURL`, and `TemplateId`. If you do not specify the parameters, the existing template is used.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], + ], + [ + 'name' => 'TemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the template. This parameter takes effect only when TemplateId is specified.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], + ], + [ + 'name' => 'RecreatingResources', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'title' => '本次读取的最大数据记录数量', - 'description' => 'The maximum number of data entries to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The resources that ROS continues to create after the resources failed to be created. You can add new resources to the resources that ROS continues to create. ROS continues to create all dependencies of the new resources.'."\n" + ."\n" + .'> This parameter is available only for ROS stacks.', + 'type' => 'array', + 'items' => ['description' => 'The resource that ROS continues to create after the resource failed to be created. You can add new resources to the resources that ROS continues to create. ROS continues to create all dependencies of the new resources.'."\n" + ."\n" + .'> This parameter is available only for ROS stacks.', 'type' => 'string', 'required' => false, 'example' => 'WebServer', 'title' => ''], 'required' => false, - 'example' => '50', + 'example' => 'WebServer', + 'maxItems' => 200, + 'title' => '', ], ], [ - 'name' => 'TaskType', + 'name' => 'Parameters', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of the AI task. You can filter AI tasks by task type.'."\n" - ."\n" - .'* GenerateTemplate: The AI task is used to generate a template.'."\n" - .'* FixTemplate: The AI task is used to fix a template.'."\n" - ."\n" - .'If you leave this parameter empty, all task types are queried.'."\n", - 'type' => 'string', + 'description' => 'The template parameters that you want to use to override specific parameters.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The name of template parameter N that you want to use to override a specific parameter. If you do not specify the name and value of a template parameter, ROS uses the name and value specified in the previous operation that was performed to create the stack. Maximum value of N: 200.'."\n" + ."\n" + .'> This parameter takes effect only when Mode is set to Recreate.', 'type' => 'string', 'required' => true, 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of template parameter N that you want to use to override a specific parameter. Maximum value of N: 200.'."\n" + ."\n" + .'For ROS stacks, the template parameters that you use to override specific parameters are subject to the following limits:'."\n" + ."\n" + .'- You cannot change the condition values in the Conditions section of a template from true to false or from false to true.'."\n" + ."\n" + .'- The template parameters can be referenced only by resources that ROS continues to create.'."\n" + ."\n" + .'> This parameter takes effect only when Mode is set to Recreate.', 'type' => 'string', 'required' => true, 'example' => '12', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'GenerateTemplate', + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TaskId', + 'name' => 'Parallelism', 'in' => 'query', + 'schema' => ['description' => 'The maximum number of concurrent operations that can be performed on resources.'."\n" + ."\n" + .'By default, this parameter is empty. You can set this parameter to an integer that is greater than or equal to 0.'."\n" + ."\n" + .'> - If you set this parameter to an integer that is greater than 0, the integer is used.'."\n" + .'>'."\n" + .'> - If you set this parameter to 0, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" + .'>'."\n" + .'> - If you leave this parameter empty, the value that you specified for this parameter in the previous request is used. If you left this parameter empty in the previous request, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" + .'>'."\n" + .'> - If you set this parameter to a specific value, ROS associates the value with the stack. The value affects subsequent operations on the stack.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'RecreatingOptions', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the AI task. You can filter AI tasks by task ID.'."\n", - 'type' => 'string', + 'description' => 'The options that ROS adopts when ROS continues to create the stack.', + 'type' => 'array', + 'items' => ['description' => 'The option that ROS adopts when ROS continues to create the stack. This parameter takes effect when `Mode` is set to `Recreate`. Valid values:'."\n" + ."\n" + .'- TryToFixSignalFailureByRerunEcsCommand: ROS tries to fix existing signals of the FAILURE type. When ALIYUN::ROS::WaitCondition resources fail to be created, ROS uses the associated and created ALIYUN::ECS::RunCommand and ALIYUN::ECS::Invocation resources and the relevant dependencies to recreate the ALIYUN::ROS::WaitCondition resources.'."\n" + ."\n" + .' > This value is valid only for ROS stacks.'."\n" + ."\n" + .'- IgnoreExistingSignalFailure: ROS ignores existing signals of the FAILURE type. If ALIYUN::ROS::WaitCondition resources fail to be created, the resources are successfully created when ROS continues to create the stack.'."\n" + ."\n" + .' > This value is valid only for ROS stacks.'."\n" + ."\n" + .'- AutoRecreatingResources: ROS automatically recreates the resources whose template content or referenced parameters are modified and the relevant dependencies. This option facilitates the configurations of RecreatingResources.N. However, unnecessary resources may also be recreated.'."\n" + ."\n" + .' > This value is valid only for ROS stacks.'."\n" + ."\n" + .'- CreateNewPrepaidInstance: ROS creates a **new subscription instance** if **subscription** resources fail to be created, or if you use ROS to recreate subscription resources that are successfully created.'."\n" + ."\n" + .'> * This value is valid only for ROS stacks.'."\n" + .'>'."\n" + .'> * If a subscription instance is already created, ROS retains the subscription instance because subscription resources **cannot be deleted**.'."\n" + .'>'."\n" + .'> * If you do not set RecreatingOptions.N to CreateNewPrepaidInstance, ROS tries to reuse an existing instance. If ROS reuses the instance, you cannot modify the resource properties, or you can modify only a small number of resource properties.', 'type' => 'string', 'required' => false, 'example' => 'CreateNewPrepaidInstance', 'title' => ''], 'required' => false, - 'example' => 't-asasas*****', + 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84****', - ], - 'NextToken' => [ - 'title' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕', - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'U12WEI6Ro2ol3wA54rBNS3Cltv2VJyA+7hP4GqbIOhmWU5mWU9ZE3cXLgDaH4KSMRfIYcIVrvtHaAzCoyfo7VQ==', - ], - 'Tasks' => [ - 'description' => 'The AI tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The AI task.'."\n", - 'type' => 'object', - 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the AI task.'."\n", - 'type' => 'string', - 'example' => 't-asasas*****'."\n", - ], - 'TaskType' => [ - 'description' => 'The type of the AI task.'."\n" - ."\n" - .'* GenerateTemplate: The AI task is used to generate a template.'."\n" - .'* FixTemplate: The AI task is used to fix a template.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'GenerateTemplate' => 'GenerateTemplate', - 'FixTemplate' => 'FixTemplate', - ], - 'example' => 'GenerateTemplate', - ], - 'Status' => [ - 'description' => 'The state of the AI task.'."\n" - ."\n" - .'* PENDING'."\n" - .'* WAITING'."\n" - .'* RUNNING'."\n" - .'* SUCCESS'."\n" - .'* FAILURE'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'SUCCESS' => 'SUCCESS', - 'RUNNING' => 'RUNNING', - 'WAITING' => 'WAITING', - 'PENDING' => 'PENDING', - 'FAILURE' => 'FAILURE', - ], - 'example' => 'RUNNING', - ], - 'StatusReason' => [ - 'description' => 'The reason why the AI task is in the state.'."\n", - 'type' => 'string', - 'example' => 'Handler execution unexpected failure'."\n", - ], - 'CreateTime' => [ - 'description' => 'The time when the AI task was created. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format.'."\n", - 'type' => 'string', - 'example' => '2023-03-15T03:15:53', - ], - 'UpdateTime' => [ - 'description' => 'The time when the AI task was updated. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format.'."\n", - 'type' => 'string', - 'example' => '2023-11-20T22:00:50', - ], - 'Prompt' => [ - 'description' => 'The description of the AI task.'."\n", - 'type' => 'string', - 'example' => 'Create an ECS instance and deploy the Nginx service.'."\n", - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + 'DryRunResult' => [ + 'description' => 'The validation result.', + 'type' => 'object', + 'properties' => [ + 'ParametersAllowedToBeModified' => [ + 'description' => 'The parameters that can be modified.', + 'type' => 'array', + 'items' => ['description' => 'The parameter that can be modified. The operation that is performed to modify the parameters does not cause a validation error.'."\n" + ."\n" + .'> This parameter is returned only if DryRun is set to `true`. The value of ParametersAllowedToBeModified varies based on the values of Mode, Template\\*, RecreatingResources.N, and RecreatingOptions.N.', 'type' => 'string', 'example' => 'description', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersConditionallyAllowedToBeModified' => [ + 'description' => 'The parameters that can be modified under specific conditions.', + 'type' => 'array', + 'items' => ['description' => 'The parameter that can be modified under specific conditions.'."\n" + ."\n" + .'The new values of the parameters determine whether the operation that is performed to modify the parameters causes a validation error.'."\n" + ."\n" + .'> This parameter is returned only if DryRun is set to `true`. The value of ParametersConditionallyAllowedToBeModified varies based on the values of Mode, Template\\*, RecreatingResources.N, and RecreatingOptions.N.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersNotAllowedToBeModified' => [ + 'description' => 'The parameters that cannot be modified.', + 'type' => 'array', + 'items' => ['description' => 'The parameter that cannot be modified. The operation that is performed to modify the parameters causes a validation error.'."\n" + ."\n" + .'> This parameter is returned only if DryRun is set to `true`. The value of ParametersNotAllowedToBeModified varies based on the values of Mode, Template\\*, RecreatingResources.N, and RecreatingOptions.N.', 'type' => 'string', 'example' => 'cidr', 'title' => ''], + 'title' => '', + 'example' => '', ], ], - ], - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'You are not authorized to complete this action.', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'ContinueCreateStack', + 'description' => 'This topic provides an example on how to continue to create a stack after the stack fails to be created. In this example, the stack whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` is created in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | CircularDependency | Circular Dependency Found: {reason}. |模板包含循环引用,reason为具体原因。 |'."\n" + .'| 400 | InvalidSchema | {reason}. |模板格式不正确,reason为具体原因。 |'."\n" + .'| 400 | InvalidTemplateAttribute | The Referenced Attribute ({resource} {name}) is incorrect. |模板包含不正确的资源属性(输出)引用,resource为资源名,name为属性名。 |'."\n" + .'| 400 | InvalidTemplatePropertyType | The specified value type of ({resource} {section}) is incorrect. |模板资源定义中,字段类型不正确,resource为资源名,section为字段名。 |'."\n" + .'| 400 | InvalidTemplateReference | The specified reference "{name}" (in {referencer}) is incorrect. |模板包含不正确的引用,name为引用名,referencer为引用者。 |'."\n" + .'| 400 | InvalidTemplateSection | The template section is invalid: {section}. |模板包含无效的字段,section为字段名。 |'."\n" + .'| 400 | InvalidTemplateVersion | The template version is invalid: {reason}. |模板版本不正确,reason为具体原因。 |'."\n" + .'| 400 | StackValidationFailed | {reason}. |资源栈校验失败,reason为具体原因。 |'."\n" + .'| 400 | UnknownUserParameter | The Parameter ({name}) was not defined in template. |传递的参数在模板中未定义,name为参数名。 |'."\n" + .'| 400 | UserParameterMissing | The Parameter {name} was not provided. |参数在模板中已定义,但未传递值,name为参数名。 |'."\n" + .'| 400 | ContinueCreateStackValidationFailed | {reason}. |继续创建资源栈校验失败,reason为具体原因。|'."\n" + .'| 404 | ResourceNotFound | The Resource ({name}) could not be found in Stack {stack}. |资源栈中不存某资源。name为资源名,stack为资源栈名称或ID。 |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。 |'."\n" + .'| 409 | ActionInProgress | Stack {name} already has an action ({action}) in progress. |资源栈在变更中。name为资源栈名称或ID,action为变更操作。 |'."\n" + .'| 404 | TemplateNotFound |The Tempalte ({ ID }) could not be found. |模板不存在。ID为模板ID。 |'."\n" + .'| 404 | TemplateNotFound |The Template { ID } with version { version } could not be found. |模板或指定版本不存在。ID为模板ID,version为模板版本。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ContinueCreateStack'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:ContinueCreateStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84****\\",\\n \\"NextToken\\": \\"U12WEI6Ro2ol3wA54rBNS3Cltv2VJyA+7hP4GqbIOhmWU5mWU9ZE3cXLgDaH4KSMRfIYcIVrvtHaAzCoyfo7VQ==\\",\\n \\"Tasks\\": [\\n {\\n \\"TaskId\\": \\"t-asasas*****\\\\n\\",\\n \\"TaskType\\": \\"GenerateTemplate\\",\\n \\"Status\\": \\"RUNNING\\",\\n \\"StatusReason\\": \\"Handler execution unexpected failure\\\\n\\",\\n \\"CreateTime\\": \\"2023-03-15T03:15:53\\",\\n \\"UpdateTime\\": \\"2023-11-20T22:00:50\\",\\n \\"Prompt\\": \\"创建一台ECS,部署nignx服务\\\\n\\"\\n }\\n ],\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'ListAITasks', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"DryRunResult\\": {\\n \\"ParametersAllowedToBeModified\\": [\\n \\"description\\"\\n ],\\n \\"ParametersConditionallyAllowedToBeModified\\": [\\n \\"name\\"\\n ],\\n \\"ParametersNotAllowedToBeModified\\": [\\n \\"cidr\\"\\n ]\\n }\\n}","type":"json"}]', ], - 'ListAITaskEvents' => [ - 'summary' => 'Queries the events of an AI task.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'https', - ], + 'CreateAITask' => [ + 'summary' => 'Create AI Task', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '227787', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '227764', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'NextToken', + 'name' => 'TaskType', 'in' => 'query', - 'allowEmptyValue' => true, 'schema' => [ - 'title' => '标记当前开始读取的位置,置空表示从头开始', - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", + 'description' => 'The type of AI task. Values:'."\n" + .'- GenerateTemplate: AI template generation'."\n" + .'- FixTemplate: AI template repair', 'type' => 'string', 'required' => false, - 'example' => 'AAAAAdDWBF2****w==', + 'enumValueTitles' => ['GenerateTemplate' => 'GenerateTemplate', 'FixTemplate' => 'FixTemplate'], + 'example' => 'GenerateTemplate', + 'title' => '', ], ], [ - 'name' => 'MaxResults', + 'name' => 'Prompt', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of results to be returned from a single query when the NextToken parameter is used in the query.'."\n" - ."\n" - .'Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The input description for the AI task.'."\n" + ."\n" + .'- When the task type is Generate Template, this parameter specifies the functionality of the template to be generated.'."\n" + .'- When the task type is FixTemplate, this parameter can describe how the template should be repaired.', 'type' => 'string', 'required' => false, 'example' => 'Create oneECS, and deploynignx service', 'title' => ''], ], [ - 'name' => 'TaskId', + 'name' => 'Template', + 'in' => 'formData', + 'schema' => ['description' => 'When the task type is AI template repair, specify the original template that needs to be fixed or modified.', 'type' => 'string', 'required' => false, 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', 'title' => ''], + ], + [ + 'name' => 'TemplateType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the AI task.'."\n", + 'description' => 'The type of the template to be generated or repaired. Default is ROS.', 'type' => 'string', 'required' => false, - 'example' => 't-asasas*****', + 'enumValueTitles' => ['ROS' => 'ROS', ' Terraform' => ' Terraform'], + 'example' => 'ROS'."\n", + 'title' => '', ], ], ], @@ -739,193 +653,52 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The response parameters.'."\n", + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'NextToken' => [ - 'title' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕', - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'AAAAAdDWBF2****w==', - ], - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'Code' => [ - 'description' => 'The error code.'."\n", - 'type' => 'string', - 'example' => 'Forbidden', - ], - 'Events' => [ - 'description' => 'The events.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The event.'."\n", - 'type' => 'object', - 'properties' => [ - 'AgentType' => [ - 'description' => 'The type of the agent that is used to execute the AI task.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* GenerateTemplateAgent'."\n" - .'* FixUserTemplateAgent'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'GenerateTemplateAgent' => 'GenerateTemplateAgent', - 'FixUserTemplateAgent' => 'FixUserTemplateAgent', - ], - 'example' => 'GenerateTemplateAgent', - ], - 'HandlerType' => [ - 'description' => 'The type of the handler that is used to execute the task.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* TerraformTemplateGenerator'."\n" - .'* TemplateGenerator'."\n" - .'* ROSTemplateModifier'."\n" - .'* TerraformTemplateStaticFixer'."\n" - .'* TerraformTemplateDynamicFixer'."\n" - .'* DocumentTemplateGenerator'."\n" - .'* TerraformTemplateModifier'."\n" - .'* TemplateModifier'."\n" - .'* FixTemplateInputPreprocessor'."\n" - .'* TemplateStaticFixer'."\n" - .'* GenerateTemplateInputPreprocessor'."\n" - .'* ROSTemplateGenerator'."\n" - .'* TemplateDynamicFixer'."\n" - .'* BaseDynamicFixer'."\n" - .'* ROSTemplateStaticFixer'."\n" - .'* ROSTemplateDynamicFixer'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'TerraformTemplateGenerator' => 'TerraformTemplateGenerator', - 'TemplateGenerator' => 'TemplateGenerator', - 'ROSTemplateModifier' => 'ROSTemplateModifier', - 'TerraformTemplateStaticFixer' => 'TerraformTemplateStaticFixer', - 'TerraformTemplateDynamicFixer' => 'TerraformTemplateDynamicFixer', - 'DocumentTemplateGenerator' => 'DocumentTemplateGenerator', - 'TerraformTemplateModifier' => 'TerraformTemplateModifier', - 'TemplateModifier' => 'TemplateModifier', - 'FixTemplateInputPreprocessor' => 'FixTemplateInputPreprocessor', - 'TemplateStaticFixer' => 'TemplateStaticFixer', - 'GenerateTemplateInputPreprocessor' => 'GenerateTemplateInputPreprocessor', - 'ROSTemplateGenerator' => 'ROSTemplateGenerator', - 'TemplateDynamicFixer' => 'TemplateDynamicFixer', - 'BaseDynamicFixer' => 'BaseDynamicFixer', - 'ROSTemplateStaticFixer' => 'ROSTemplateStaticFixer', - 'ROSTemplateDynamicFixer' => 'ROSTemplateDynamicFixer', - ], - 'example' => 'ROSTemplateGenerator', - ], - 'HandlerProcessStatus' => [ - 'description' => 'The execution state of the handler that process the AI task.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* SUCCESS'."\n" - .'* RUNNING'."\n" - .'* FAILURE'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'SUCCESS' => 'SUCCESS', - 'RUNNING' => 'RUNNING', - 'FAILURE' => 'FAILURE', - ], - 'example' => 'RUNNING', - ], - 'EventData' => [ - 'description' => 'The details of the event.'."\n", - 'type' => 'string', - 'example' => 'Document template generator started.', - ], - 'CreateTime' => [ - 'description' => 'The time when the event was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-08-01T04:07:39', - ], - 'EstimatedProcessingTime' => [ - 'description' => 'The estimated execution time of the handler. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '60', - ], - ], - ], - ], - 'TaskId' => [ - 'description' => 'The ID of the AI task.'."\n", - 'type' => 'string', - 'example' => 't-asasas*****', - ], - 'TaskType' => [ - 'description' => 'The type of the AI task.'."\n" - ."\n" - .'* GenerateTemplate: The AI task is used to generate a template.'."\n" - .'* FixTemplate: The AI task is used to fix a template.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'GenerateTemplate' => 'GenerateTemplate', - 'FixTemplate' => 'FixTemplate', - ], - 'example' => 'GenerateTemplate', - ], - 'TaskStatus' => [ - 'description' => 'The state of the AI task.'."\n" - ."\n" - .'* PENDING'."\n" - .'* WAITING'."\n" - .'* RUNNING'."\n" - .'* SUCCESS'."\n" - .'* FAILURE'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'SUCCESS' => 'SUCCESS', - 'RUNNING' => 'RUNNING', - 'WAITING' => 'WAITING', - 'PENDING' => 'PENDING', - 'FAILURE' => 'FAILURE', - ], - 'example' => 'RUNNING', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F'], + 'TaskId' => ['description' => 'AI task ID.', 'type' => 'string', 'example' => 't-asas*****', 'title' => ''], + 'Code' => ['description' => 'Error code.', 'type' => 'string', 'example' => 'Forbidden', 'title' => ''], + 'Message' => ['description' => 'Error message.', 'type' => 'string', 'example' => 'You are not authorized to complete this action.', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful. Values:'."\n" + .'- true: Call succeeded.'."\n" + .'- false: Call failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'HttpStatusCode' => ['description' => 'HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"TaskId\\": \\"t-asas*****\\",\\n \\"Code\\": \\"Forbidden\\",\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"Success\\": \\"true\\",\\n \\"HttpStatusCode\\": 200\\n}","type":"json"}]', + 'title' => 'Create AI Task', + 'description' => 'This API allows users to create an AI task based on the specified task type, covering a range of capabilities from natural language understanding to resource stack deployment. Users need to provide the task type and any required parameters, and the API will return a unique TaskId for tracking the status and results of the task.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAITask'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateAITask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"NextToken\\": \\"AAAAAdDWBF2****w==\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Success\\": \\"true\\",\\n \\"Code\\": \\"Forbidden\\",\\n \\"Events\\": [\\n {\\n \\"AgentType\\": \\"GenerateTemplateAgent\\",\\n \\"HandlerType\\": \\"ROSTemplateGenerator\\",\\n \\"HandlerProcessStatus\\": \\"RUNNING\\",\\n \\"EventData\\": \\"Document template generator started.\\",\\n \\"CreateTime\\": \\"2019-08-01T04:07:39\\",\\n \\"EstimatedProcessingTime\\": \\"60\\"\\n }\\n ],\\n \\"TaskId\\": \\"t-asasas*****\\",\\n \\"TaskType\\": \\"GenerateTemplate\\",\\n \\"TaskStatus\\": \\"RUNNING\\"\\n}","type":"json"}]', - 'title' => 'ListAITaskEvents', + 'translator' => 'machine', ], - 'CreateStack' => [ - 'summary' => 'Creates a stack that contains a collection of resources by using a Resource Orchestration Service (ROS) template.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateChangeSet' => [ + 'summary' => 'Creates a change set for a stack so you can preview changes before execution.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -937,270 +710,243 @@ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeNodes' => ['FEATURErosM9I2VQ'], ], 'parameters' => [ [ - 'name' => 'DisableRollback', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable rollback for the resources when the stack fails to be created.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The stack ID. ROS compares the stack information with the submitted changes, such as a modified template or different parameter values, to generate the change set. Call [ListStacks](~~610818~~) to query stack IDs.'."\n" + ."\n" + .'> This parameter takes effect only when ChangeSetType is set to UPDATE or IMPORT.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', - ], + 'name' => 'StackPolicyURL', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the stack policy file. The URL must point to a policy on a web server (HTTP or HTTPS) or in an OSS bucket, such as oss\\://ros/stack-policy/demo or oss\\://ros/stack-policy/demo?RegionId=cn-hangzhou. Maximum policy file size: 16,384 bytes.'."\n" + ."\n" + .'Maximum URL length: 1,350 bytes.'."\n" + ."\n" + .'> If you do not specify the region of the OSS bucket, the value of RegionId is used.'."\n" + ."\n" + .'When ChangeSetType is set to **CREATE**, you can specify only one of the StackPolicyBody and StackPolicyURL parameters.'."\n" + ."\n" + .'When ChangeSetType is set to **UPDATE**, you can specify only one of the following parameters:'."\n" + ."\n" + .'- StackPolicyBody'."\n" + ."\n" + .'- StackPolicyURL'."\n" + ."\n" + .'- StackPolicyDuringUpdateBody'."\n" + ."\n" + .'- StackPolicyDuringUpdateURL', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/stack-policy/demo', 'title' => ''], ], [ - 'name' => 'StackPolicyURL', + 'name' => 'StackPolicyBody', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the stack policy. The URL must point to a policy that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/stack-policy/demo or oss://ros/stack-policy/demo?RegionId=cn-hangzhou. The policy file can be up to 16,384 bytes in length. If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'> You can specify only one of StackPolicyBody and StackPolicyURL.'."\n" - ."\n" - .'The URL can be up to 1,350 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-stack-policy/demo', - ], + 'schema' => ['description' => 'The structure of the stack policy. The policy body must be 1 to 16,384 bytes in length.'."\n" + ."\n" + .'When ChangeSetType is set to **CREATE**, you can specify only one of the StackPolicyBody and StackPolicyURL parameters.'."\n" + ."\n" + .'When ChangeSetType is set to **UPDATE**, you can specify only one of the following parameters:'."\n" + ."\n" + .'- StackPolicyBody'."\n" + ."\n" + .'- StackPolicyURL'."\n" + ."\n" + .'- StackPolicyDuringUpdateBody'."\n" + ."\n" + .'- StackPolicyDuringUpdateURL', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}', 'title' => ''], ], [ - 'name' => 'TimeoutInMinutes', + 'name' => 'StackName', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for creating the stack.'."\n" - ."\n" - .'* Default value: 60.'."\n" - .'* Unit: minutes.'."\n" - .'* Valid values: 10 to 1440.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The stack name. Maximum length: 255 characters. The name can contain digits, letters, hyphens (-), and underscores (\\_), and must start with a digit or letter.'."\n" + ."\n" + .'> This parameter takes effect only when ChangeSetType is set to CREATE or IMPORT.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'MyStack', 'title' => ''], ], [ - 'name' => 'StackPolicyBody', + 'name' => 'UsePreviousParameters', 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the stack policy body. The policy body must be 1 to 16,384 bytes in length.'."\n" - ."\n" - .'> You can specify only one of StackPolicyBody and StackPolicyURL.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}', - ], + 'schema' => ['description' => 'Specifies whether to use the values of parameters that were last used. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false (default)'."\n" + ."\n" + .'> This parameter takes effect only when ChangeSetType is set to UPDATE or IMPORT.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'StackName', + 'name' => 'ChangeSetType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack.\\'."\n" - .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStack', - ], + 'schema' => ['description' => 'The type of the change set. Valid values:'."\n" + ."\n" + .'- CREATE: creates a change set for a new stack.'."\n" + ."\n" + .'- UPDATE (default): creates a change set for an existing stack.'."\n" + ."\n" + .'- IMPORT: creates a change set for a new stack or an existing stack to import resources that are not managed by ROS.'."\n" + ."\n" + .'If you set the value of ChangeSetType to CREATE, ROS creates a new stack. The stack is in the `REVIEW_IN_PROGRESS` state until you execute the change set.'."\n" + ."\n" + .'> - You cannot use the UPDATE type to create a change set for a new stack or the CREATE type to create a change set for an existing stack.'."\n" + .'>'."\n" + .'> - You cannot set a stack policy for a change set of the IMPORT type. You can set a stack policy when you create or update a stack.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'UPDATE', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the change set. The description can be up to 1,024 bytes in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'It is a demo.', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the change set.'."\n" + ."\n" + .'Call [DescribeRegions](~~131035~~) to query available regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The client token used to ensure request idempotence. The token must be unique across requests and can be up to 64 characters in length, containing letters, digits, hyphens (-), and underscores (\\_). [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an OSS bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length. If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-template/demo', - ], + 'schema' => ['description' => 'The URL of the template file. The URL must point to a template on a web server (HTTP or HTTPS) or in an OSS bucket, such as oss\\://ros/template/demo or oss\\://ros/template/demo?RegionId=cn-hangzhou. Maximum template body size: 524,288 bytes.'."\n" + ."\n" + .'> If you do not specify the region of the OSS bucket, the value of RegionId is used.'."\n" + ."\n" + .'You can specify only one of the TemplateBody, TemplateURL, and TemplateId parameters.'."\n" + ."\n" + .'The URL can be up to 1,024 bytes in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/template/demo', 'title' => ''], ], [ - 'name' => 'RamRoleName', + 'name' => 'StackPolicyDuringUpdateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role. ROS assumes the RAM role to create the stack and uses the credentials of the role to call the APIs of Alibaba Cloud services.\\'."\n" - .'ROS assumes the RAM role to perform operations on the stack. If you have permissions to perform operations on the stack but do not have permissions to use the RAM role, ROS still assumes the RAM role. You must make sure that the least privileges are granted to the RAM role.'."\n" - ."\n" - .'If you do not specify this parameter, ROS assumes the existing role that is associated with the stack. If no roles are available, ROS uses a temporary credential that is generated from the credentials of your account.'."\n" - ."\n" - .'The RAM role name can be up to 64 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-role', - ], + 'schema' => ['description' => 'The URL of the temporary overriding stack policy file. The URL must point to a policy on a web server (HTTP or HTTPS) or in an OSS bucket, such as oss\\://ros/stack-policy/demo or oss\\://ros/stack-policy/demo?RegionId=cn-hangzhou. Maximum policy file size: 16,384 bytes.'."\n" + ."\n" + .'> If you do not specify the region of the OSS bucket, the value of RegionId is used.'."\n" + ."\n" + .'Maximum URL length: 1,350 bytes. To update protected resources, specify a temporary overriding stack policy. If unspecified, the current stack policy applies. This parameter takes effect only when ChangeSetType is set to UPDATE. You can specify only one of the following parameters:'."\n" + ."\n" + .'- StackPolicyBody'."\n" + ."\n" + .'- StackPolicyURL'."\n" + ."\n" + .'- StackPolicyDuringUpdateBody'."\n" + ."\n" + .'- StackPolicyDuringUpdateURL', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/stack-policy/demo', 'title' => ''], ], [ - 'name' => 'DeletionProtection', + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The template body. Length: 1 to 524,288 bytes. For large templates, use HTTP POST with a body parameter to avoid URL length limits.'."\n" + ."\n" + .'> You can specify only one of the TemplateBody, TemplateURL, and TemplateId parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], + ], + [ + 'name' => 'TimeoutInMinutes', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the stack. Valid values:'."\n" - ."\n" - .'* Enabled.'."\n" - .'* Disabled (default). If deletion protection is disabled, you can delete the stack by using the ROS console or by calling the DeleteStack operation.'."\n" - ."\n" - .'> The value of DeletionProtection that you specify for the root stack applies to its nested stacks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Enabled', - ], + 'schema' => ['description' => 'The timeout period before the stack enters CREATE\\_FAILED or UPDATE\\_FAILED state. Required when ChangeSetType is CREATE. Optional when ChangeSetType is UPDATE.'."\n" + ."\n" + .'- Unit: minutes.'."\n" + ."\n" + .'- Valid values: 10 to 1440.'."\n" + ."\n" + .'- Default value: 60.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '12', 'title' => ''], ], [ - 'name' => 'CreateOption', + 'name' => 'DisableRollback', 'in' => 'query', - 'schema' => [ - 'description' => 'The creation option for the stack. Valid values:'."\n" - ."\n" - .'* KeepStackOnCreationComplete (default): After the stack is created, the stack and its resources are retained. The quota for the maximum number of stacks that can be created in ROS is consumed.'."\n" - .'* AbandonStackOnCreationComplete: After the stack is created, the stack is deleted, but its resources are retained. The quota for the maximum number of stacks that can be created in ROS is not consumed. If the stack fails to be created, the stack is retained.'."\n" - .'* AbandonStackOnCreationRollbackComplete: When the resources of the stack are rolled back after the stack fails to be created, the stack is deleted. The quota for the maximum number of stacks that can be created in ROS is not consumed. In other rollback scenarios, the stack is retained.'."\n" - .'* ManuallyPay: When you create the stack, you must manually pay for the subscription resources that are used. The following resource types support manual payment: `ALIYUN::ECS::InstanceGroup`, `ALIYUN::RDS::DBInstance`, `ALIYUN::SLB::LoadBalancer`, `ALIYUN::VPC::EIP`, and `ALIYUN::VPC::VpnGateway`.'."\n" - ."\n" - .'> You can specify only one of CreateOption and CreateOptions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'KeepStackOnCreationComplete', - ], + 'schema' => ['description' => 'Specifies whether to disable rollback on stack creation failure. Valid values:'."\n" + ."\n" + .'- true: disables rollback on creation failure.'."\n" + ."\n" + .'- false (default): enables rollback on creation failure.'."\n" + ."\n" + .'> This parameter takes effect only when ChangeSetType is set to CREATE or IMPORT.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'CreateOptions', + 'name' => 'ChangeSetName', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The creation options for the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The creation option N for the stack. Valid values:'."\n" - ."\n" - .'* KeepStackOnCreationComplete (default): After the stack is created, the stack and its resources are retained. The quota for the maximum number of stacks that can be created in ROS is consumed.'."\n" - .'* AbandonStackOnCreationComplete: After the stack is created, the stack is deleted, but its resources are retained. The quota for the maximum number of stacks that can be created in ROS is not consumed. If the stack fails to be created, the stack is retained.'."\n" - .'* AbandonStackOnCreationRollbackComplete: When the resources of the stack are rolled back after the stack fails to be created, the stack is deleted. The quota for the maximum number of stacks that can be created in ROS is not consumed. In other rollback scenarios, the stack is retained.'."\n" - .'* ManuallyPay: When you create the stack, you must manually pay for the subscription resources that are used. The following resource types support manual payment: `ALIYUN::ECS::InstanceGroup`, `ALIYUN::RDS::DBInstance`, `ALIYUN::SLB::LoadBalancer`, `ALIYUN::VPC::EIP`, and `ALIYUN::VPC::VpnGateway`.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* You can specify only one of CreateOption and CreateOptions.'."\n" - ."\n" - .'* The option must be unique. The KeepStackOnCreationComplete option is mutually exclusive with the AbandonStackOnCreationComplete and AbandonStackOnCreationRollbackComplete options.'."\n" - ."\n" - .'* Maximum value of N: 2.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'KeepStackOnCreationComplete', - ], - 'required' => false, - 'maxItems' => 2, - ], + 'schema' => ['description' => 'The change set name. Maximum length: 255 characters. The name can contain digits, letters, hyphens (-), and underscores (\\_), and must start with a digit or letter.'."\n" + ."\n" + .'> The name of the change set must be unique within the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyChangeSet', 'title' => ''], + ], + [ + 'name' => 'StackPolicyDuringUpdateBody', + 'in' => 'query', + 'schema' => ['description' => 'The temporary overriding stack policy body. Length: 1 to 16,384 bytes. To update protected resources, specify a temporary overriding policy. If unspecified, the current stack policy applies. This parameter takes effect only when ChangeSetType is set to UPDATE. You can specify only one of the following parameters:'."\n" + ."\n" + .'- StackPolicyBody'."\n" + ."\n" + .'- StackPolicyURL'."\n" + ."\n" + .'- StackPolicyDuringUpdateBody'."\n" + ."\n" + .'- StackPolicyDuringUpdateURL', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}', 'title' => ''], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The RAM role name. ROS assumes this role to call Alibaba Cloud service APIs and always uses it for all stack operations. If you lack the required permissions, ROS assumes the role specified by RamRoleName. If unspecified, ROS uses the existing stack role. If no role is available, ROS uses a temporary credential from your account. Maximum length: 64 bytes.'."\n" + ."\n" + .'[Stack roles](~~2568025~~).', 'type' => 'string', 'required' => false, 'example' => 'test-role', 'title' => ''], + ], + [ + 'name' => 'ReplacementOption', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable replacement update when a resource property change does not support modification updates. A replacement update deletes the existing resource and creates a new one with a new physical ID. Valid values:'."\n" + ."\n" + .'- Enabled: enables replacement update.'."\n" + ."\n" + .'- Disabled (default): disables replacement update.'."\n" + ."\n" + .'> Modification updates are preferentially used. This parameter takes effect only when ChangeSetType is set to UPDATE.', 'type' => 'string', 'required' => false, 'example' => 'Disabled', 'title' => ''], ], [ 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The template ID. This parameter applies to shared templates and private templates.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The template ID. This parameter applies to shared templates and private templates.'."\n" + ."\n" + .'Call [ListTemplates](~~610842~~) to query template IDs.'."\n" + ."\n" + .'> You can specify only one of the TemplateBody, TemplateURL, and TemplateId parameters.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. This parameter takes effect only when TemplateId is specified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The version of the template.'."\n" + ."\n" + .'> This parameter takes effect only when TemplateId is specified.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The parameters that are defined in the template.'."\n", + 'description' => 'The parameters that are defined in the template.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The key of parameter N that is defined in the template. If you do not specify the name and value of a parameter, ROS uses the default name and value that are specified in the template.'."\n" - ."\n" - .'Maximum value of N: 200.\\'."\n" - .'The name must be 1 to 128 characters in length, and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify Parameters, you must specify Parameters.N.ParameterKey and Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'InstanceId', - ], - 'ParameterValue' => [ - 'description' => 'The value of parameter N that is defined in the template.'."\n" - ."\n" - .'Maximum value of N: 200.\\'."\n" - .'The value can be up to 128 characters in length, and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify Parameters, you must specify Parameters.N.ParameterKey and Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'i-xxxxxx', - ], + 'ParameterKey' => ['description' => 'The name of the parameter that is defined in the template. If you do not specify the name and value of a parameter, ROS uses the default name and value that are specified in the template. The value of N can be up to 200.'."\n" + ."\n" + .'> The Parameters parameter is optional. If you specify Parameters, you must also specify Parameters.N.ParameterKey.', 'type' => 'string', 'required' => true, 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter that is defined in the template. The value of N can be up to 200.'."\n" + ."\n" + .'> The Parameters parameter is optional. If you specify Parameters, you must also specify Parameters.N.ParameterValue.', 'type' => 'string', 'required' => true, 'example' => '12', 'title' => ''], ], 'required' => false, 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ @@ -1208,163 +954,156 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The callback URLs that are used to receive stack events. Valid values:'."\n" - ."\n" - .'* HTTP POST URL'."\n" - ."\n" - .'Each URL can be up to 1,024 bytes in length.'."\n" + 'description' => 'The list of webhook addresses for receiving stack event notifications.', + 'type' => 'array', + 'items' => ['description' => 'The webhook address for receiving stack event notifications. Valid values:'."\n" ."\n" - .'* eventbridge'."\n" + .'- HTTP POST URL Each URL can be up to 1,024 bytes in length.'."\n" ."\n" - .'When the status of a stack changes, ROS sends notifications to the EventBridge service. You can view the event information in the [EventBridge](https://eventbridge.console.aliyun.com) console.'."\n" + .'- eventbridge Stack status changes are sent to the EventBridge service. You can log on to the [EventBridge console](https://eventbridge.console.aliyun.com) and click **Event Buses** in the navigation pane on the left to view event information.'."\n" ."\n" .'> This feature is supported in the China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong), and China (Zhangjiakou) regions.'."\n" ."\n" - .'Maximum value of N: 5. When the status of a stack changes, ROS sends a notification to the specified URL. When rollback is enabled for the stack, notifications are sent if the stack is in the CREATE_ROLLBACK or ROLLBACK state, but are not sent if the stack is in the CREATE_FAILED, UPDATE_FAILED, or IN_PROGRESS state.\\'."\n" - .'ROS sends notifications regardless of whether you specify the Outputs section. The following sample code provides an example on the content of a notification:'."\n" - ."\n" - .' {'."\n" - .' "Outputs": ['."\n" - .' {'."\n" - .' "Description": "No description given",'."\n" - .' "OutputKey": "InstanceId",'."\n" - .' "OutputValue": "i-xxx"'."\n" - .' }'."\n" - .' ],'."\n" - .' "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",'."\n" - .' "StackName": "test-notification-url",'."\n" - .' "Status": "CREATE_COMPLETE"'."\n" - .' }'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The callback URL N that is used to receive stack events. Valid values:'."\n" - ."\n" - .'* HTTP POST URL'."\n" - ."\n" - .'Each URL can be up to 1,024 bytes in length.'."\n" - ."\n" - .'* eventbridge'."\n" - ."\n" - .'When the status of a stack changes, ROS sends notifications to the EventBridge service. You can view the event information in the [EventBridge](https://eventbridge.console.aliyun.com) console.'."\n" - ."\n" - .'> This feature is supported in the China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong), and China (Zhangjiakou) regions.'."\n" - ."\n" - .'Maximum value of N: 5. When the status of a stack changes, ROS sends a notification to the specified URL. When rollback is enabled for the stack, notifications are sent if the stack is in the CREATE_ROLLBACK or ROLLBACK state, but are not sent if the stack is in the CREATE_FAILED, UPDATE_FAILED, or IN_PROGRESS state.\\'."\n" - .'ROS sends notifications regardless of whether you specify the Outputs section. The following sample code provides an example on the content of a notification:'."\n" - ."\n" - .' {'."\n" - .' "Outputs": ['."\n" - .' {'."\n" - .' "Description": "No description given",'."\n" - .' "OutputKey": "InstanceId",'."\n" - .' "OutputValue": "i-xxx"'."\n" - .' }'."\n" - .' ],'."\n" - .' "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",'."\n" - .' "StackName": "test-notification-url",'."\n" - .' "Status": "CREATE_COMPLETE"'."\n" - .' }'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://example.com/ros-event', - ], + .'Maximum: 5 URLs. Notifications are sent on stack status changes. With rollback enabled, CREATE\\_FAILED and UPDATE\\_FAILED are replaced by CREATE\\_ROLLBACK and ROLLBACK notifications. IN\\_PROGRESS is not reported. Notifications are sent regardless of the Outputs parameter. Sample notification:'."\n" + ."\n" + .'```'."\n" + .'{'."\n" + .' "Outputs": ['."\n" + .' {'."\n" + .' "Description": "No description given",'."\n" + .' "OutputKey": "InstanceId",'."\n" + .' "OutputValue": "i-xxx"'."\n" + .' }'."\n" + .' ],'."\n" + .' "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",'."\n" + .' "StackName": "test-notification-url",'."\n" + .' "Status": "CREATE_COMPLETE"'."\n" + .'}'."\n" + .'```', 'type' => 'string', 'required' => false, 'example' => 'http://example.com/ros-notify', 'title' => ''], 'required' => false, - 'example' => 'http://my-site.com/ros-event', + 'example' => 'http://my-site.com/ros-notify', 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'Tags', + 'name' => 'ResourcesToImport', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that you want to add to the stack.'."\n", + 'description' => 'The list of resources to be imported.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N that you want to add to the stack.'."\n" - ."\n" - .'Valid values of N: 1 to 20.'."\n" - ."\n" - .'> - The Tags parameter is optional. If you specify Tags, you must specify Tags.N.Key.'."\n" - .'> - The tag of a stack is propagated to each resource that supports the tag feature in the stack. For more information, see [Propagate tags](~~201421~~).', - 'type' => 'string', - 'required' => true, - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The value of tag N that you want to add to the stack.'."\n" - ."\n" - .'Valid values of N: 1 to 20.'."\n" - ."\n" - .'> The tag of a stack is propagated to each resource that supports the tag feature in the stack. For more information, see [Propagate tags](~~201421~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'ResourceIdentifier' => ['description' => 'A key-value mapping between strings. The value is a JSON string that is used to identify the resource to be imported. The key is the identifier property of the resource, such as the VpcId of an ALIYUN::ECS::VPC resource. The value is the value of the property, such as `vpc-2zevx9ios****`.'."\n" + ."\n" + .'Call [GetTemplateSummary](~~172485~~) to query resource identifier properties.'."\n" + ."\n" + .'> This parameter takes effect only when ChangeSetType is set to IMPORT. The ResourcesToImport parameter is optional. If you specify ResourcesToImport, you must also specify ResourcesToImport.N.ResourceIdentifier.', 'type' => 'string', 'required' => false, 'example' => '{"VpcId": "vpc-2zevx9ios******"}', 'title' => ''], + 'LogicalResourceId' => ['description' => 'The logical ID of the resource. The logical ID is the resource name that is defined in the template.'."\n" + ."\n" + .'> This parameter takes effect only when ChangeSetType is set to IMPORT. The ResourcesToImport parameter is optional. If you specify ResourcesToImport, you must also specify ResourcesToImport.N.LogicalResourceId.', 'type' => 'string', 'required' => false, 'example' => 'Vpc', 'title' => ''], + 'ResourceType' => ['description' => 'The type of the resource. The resource type must be the same as the resource type that is defined in the template.'."\n" + ."\n" + .'> This parameter takes effect only when ChangeSetType is set to IMPORT. The ResourcesToImport parameter is optional. If you specify ResourcesToImport, you must also specify ResourcesToImport.N.ResourceType.', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], ], 'required' => false, 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 300, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'TemplateScratchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group. If you leave this parameter empty, the stack is added to the default resource group.'."\n" - ."\n" - .'For more information about resource groups, see the "Resource group" section of the [What is Resource Management?](~~94475~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4ph6aiy****', - ], + 'schema' => ['description' => 'The resource scenario ID, which is the resource management scenario ID.'."\n" + ."\n" + .'This parameter takes effect only when ChangeSetType is set to IMPORT. This parameter supports only the creation of new stacks for resource import.'."\n" + ."\n" + .'If you want to import resources in a resource management scenario, specify only this parameter. Do not specify parameters related to templates.'."\n" + ."\n" + .'Call [ListTemplateScratches](~~610832~~) to query scenario IDs.', 'type' => 'string', 'required' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ 'name' => 'Parallelism', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of concurrent operations that can be performed on resources.'."\n" - ."\n" - .'By default, this parameter is empty. You can set this parameter to an integer that is greater than or equal to 0.'."\n" - ."\n\n" - ."\n" - .'> - If you set this parameter to an integer that is greater than 0, the integer is used. If you set this parameter to 0 or leave this parameter empty, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" - .'> - If you set this parameter to a specific value, ROS associates the value with the stack. The value affects subsequent operations on the stack, such as an update operation.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The maximum number of concurrent resource operations. By default, this value is empty. Once set, the value is associated with the stack and affects subsequent operations.'."\n" + ."\n" + .'This parameter takes effect only when ChangeSetType is set to CREATE or UPDATE. Valid values:'."\n" + ."\n" + .'- If ChangeSetType is set to CREATE'."\n" + ."\n" + .' - If you set this parameter to an integer that is greater than 0, the integer is used.'."\n" + ."\n" + .' - If you set this parameter to 0 or do not set this parameter, no limit is imposed on ROS stacks. For Terraform stacks, the default value of Terraform is used, which is 10.'."\n" + ."\n" + .'- If ChangeSetType is set to UPDATE'."\n" + ."\n" + .' - If you set this parameter to an integer that is greater than 0, the integer is used.'."\n" + ."\n" + .' - If you set this parameter to 0, no limit is imposed on ROS stacks. For Terraform stacks, the default value of Terraform is used, which is 10.'."\n" + ."\n" + .' - If you do not set this parameter, the value that you specified in the previous operation is used. If you did not set this parameter in the previous operation, no limit is imposed on ROS stacks. For Terraform stacks, the default value of Terraform is used, which is 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'TemplateScratchId', + 'name' => 'Tags', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The scenario ID.'."\n" - ."\n" - .'For more information about how to query the scenario ID, see [ListTemplateScratches](~~363050~~).'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the stack.'."\n" + ."\n" + .'The value of N can be from 1 to 20.'."\n" + ."\n" + .'> - The Tags parameter is optional. If you specify Tags, you must also specify Tags.N.Key.'."\n" + .'>'."\n" + .'> - The tag is propagated to each stack resource that supports tags. [Propagate tags](~~201421~~).', 'type' => 'string', 'required' => false, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the stack.'."\n" + ."\n" + .'The value of N can be from 1 to 20.'."\n" + ."\n" + .'> The tag is propagated to each stack resource that supports tags. For more information, see [Propagate tags](~~201421~~).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + 'description' => 'The tags of the change set.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'maxItems' => 20, + 'description' => 'The tags of the change set.', 'required' => false, - 'example' => 'ts-aa9c62feab844a6b****', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TemplateScratchRegionId', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => 'The resource group ID. If unspecified, the stack is added to the default resource group. [What is a resource group?](~~94475~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], + ], + [ + 'name' => 'TaintResources', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the scenario. The default value is the same as the value of RegionId.'."\n" + 'type' => 'array', + 'items' => ['description' => '- For ROS stacks, the value is the resource name, such as my\\_vpc.'."\n" ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', + .'- For Terraform stacks, the value is the resource type and resource name, such as alicloud\\_vpc.my\\_vpc', 'type' => 'string', 'required' => false, 'example' => 'my_vpc', 'title' => ''], + 'maxItems' => 100, + 'description' => 'The list of resources to be marked as dirty.', 'required' => false, - 'example' => 'cn-hangzhou', + 'title' => '', + 'example' => '', ], ], ], @@ -1373,43 +1112,93 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'StackId' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'ChangeSetId' => ['description' => 'The ID of the change set.', 'type' => 'string', 'example' => 'e85abe0c-6528-43fb-ae93-fdf8de22****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\"\\n}","type":"json"}]', - 'title' => 'CreateStack', - 'description' => 'A stack is a collection of ROS resources that you can manage as a single unit. To create a collection of resources, you can create a stack. For more information about stacks, see [Overview](~~172973~~).\\'."\n" - .'When you call the operation, take note of the following limits:'."\n" + 'title' => 'CreateChangeSet', + 'description' => '### Scenarios'."\n" + ."\n" + .'#### Create a stack using a change set'."\n" ."\n" - .'* You can create up to 200 stacks within an Alibaba Cloud account.'."\n" - .'* You can create up to 200 resources in a stack.'."\n" + .'To manage cloud resources and preview creation results before the stack is created, set `ChangeSetType` to CREATE. [Change sets](~~155649~~).'."\n" ."\n" - .'This topic provides an example on how to create a stack named `MyStack` in the China (Hangzhou) region by using a template. In this example, `TemplateBody` is set to `{"ROSTemplateFormatVersion":"2015-09-01"}`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + .'#### Update a stack using a change set'."\n" + ."\n" + .'To preview the impact of an update before applying changes, set `ChangeSetType` to UPDATE. [Change sets](~~155649~~).'."\n" + ."\n" + .'#### Create a stack from existing resources'."\n" + ."\n" + .'To import existing cloud resources into a new stack, set `ChangeSetType` to IMPORT. [Overview](~~193454~~).'."\n" + ."\n" + .'#### Import existing resources to a stack'."\n" + ."\n" + .'To import existing resources into an existing stack, set `ChangeSetType` to IMPORT. [Overview](~~193454~~).'."\n" + ."\n" + .'### Limits'."\n" + ."\n" + .'- Only stacks in specific states can be updated using change sets. [Update a stack using a change set](~~155873~~).'."\n" + ."\n" + .'- A stack can have a maximum of 20 change sets at a time.'."\n" + ."\n" + .'- A change set shows only the changes to a stack. It does not indicate whether the stack will be successfully updated.'."\n" + ."\n" + .'- A change set does not check for issues such as exceeded account quotas, non-updatable resources, or insufficient permissions. These issues can cause the stack update to fail. If the update fails, ROS attempts to roll back resources to their previous state.'."\n" + ."\n" + .'In this example, a change set named `MyChangeSet` is created in the China (Hangzhou) region (`cn-hangzhou`) to update the template of stack `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` to `{"ROSTemplateFormatVersion":"2015-09-01"}`.', + 'requestParamsDescription' => 'This API also uses [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'DeleteStack' => [ - 'summary' => 'Deletes a stack. You can specify whether to retain resources.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | CircularDependency | Circular Dependency Found: {reason}. |模板包含循环引用。reason为具体原因。 |'."\n" + .'| 400 | InvalidSchema | {reason}. |模板格式不正确。reason为具体原因。 |'."\n" + .'| 400 | InvalidTemplateAttribute | The Referenced Attribute ({resource} {name}) is incorrect. |模板包含不正确的资源属性(输出)引用。resource为资源名,name为属性名。 |'."\n" + .'| 400 | InvalidTemplatePropertyType | The specified value type of ({resource} {section}) is incorrect. |模板资源定义中的字段类型不正确。resource为资源名,section为字段名。 |'."\n" + .'| 400 | InvalidTemplateReference | The specified reference "{name}" (in {referencer}) is incorrect. |模板包含不正确的引用。name为引用名,referencer为引用者。 |'."\n" + .'| 400 | InvalidTemplateSection | The template section is invalid: {section}. |模板包含无效的字段。section为字段名。 |'."\n" + .'| 400 | InvalidTemplateVersion | The template version is invalid: {reason}. |模板版本不正确。reason为具体原因。 |'."\n" + .'| 400 | StackPolicyValidationFailed | Action denied by stack policy: {reason}. |未通过资源栈策略校验。reason为具体原因。 |'."\n" + .'| 400 | StackValidationFailed | {reason}. |资源栈校验失败。reason为具体原因。 |'."\n" + .'| 400 | UnknownUserParameter | The Parameter ({name}) was not defined in template. |传递的参数在模板中未定义。name为参数名。 |'."\n" + .'| 400 | UserParameterMissing | The Parameter {name} was not provided. |参数在模板中已定义,但未传递值。name为参数名。 |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。 |'."\n" + .'| 409 | ActionInProgress | Stack {name} already has an action ({action}) in progress. |资源栈在变更中。name为资源栈名称或ID,action为具体的变更操作。 |'."\n" + .'| 409 | ChangeSetExists | The ChangeSet ({name}) of Stack ({stack}) already exists. |同名更改集已存在。name为更改集名,stack为关联的资源栈名称或ID。 |'."\n" + .'| 409 | StackExists | The Stack ({name}) already exists. |同名资源栈已存在。name为资源栈名称。 |'."\n" + .'| 404 | TemplateNotFound |The Tempalte ({ ID }) could not be found. |模板不存在。ID为模板ID。 |'."\n" + .'| 404 | TemplateNotFound |The Template { ID } with version { version } could not be found. |模板或指定版本不存在。ID为模板ID,version为模板版本。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateChangeSet'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateChangeSet', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangeSetId\\": \\"e85abe0c-6528-43fb-ae93-fdf8de22****\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\"\\n}","type":"json"}]', + ], + 'CreateDiagnostic' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1418,119 +1207,46 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '12675', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '125576', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'StackId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - ], - [ - 'name' => 'RetainAllResources', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to retain all resources in the stack.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'RegionId', + 'name' => 'DiagnosticKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The keyword in the diagnosis.'."\n" + ."\n" + .'You can specify the ID of the stack that you want to diagnose.'."\n", 'type' => 'string', 'required' => true, 'example' => '37A5679B-8488-5A5D-8D5C-90E66A577A5D'], ], [ - 'name' => 'RamRoleName', + 'name' => 'Product', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role. Resource Orchestration Service (ROS) assumes the RAM role to create the stack and uses the credentials of the role to call the APIs of Alibaba Cloud services.\\'."\n" - .'ROS assumes the role to perform operations on the stack. If you have permissions to perform operations on the stack but do not have permissions to use the RAM role, ROS still assumes the RAM role. You must make sure that the least privileges are granted to the RAM role.\\'."\n" - .'If you leave this parameter empty when you call the DeleteStack operation, ROS cannot assume the existing RAM role that is associated with the stack. If you want ROS to assume a RAM role, you must specify this parameter. If no RAM roles are available, ROS uses a temporary credential that is generated from the credentials of your account.\\'."\n" - .'The name of the RAM role can be up to 64 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-role', - ], + 'schema' => ['description' => 'The name of the product that is diagonosed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ros'], ], [ - 'name' => 'RetainResources', + 'name' => 'DiagnosticType', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The resources that you want to retain.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The names of the resources that you want to retain.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'my_disk', - ], - 'required' => false, - 'example' => 'WebServer', - 'maxItems' => 200, - ], + 'schema' => ['description' => 'The type of the item that is diagnosed. Set the value to Stack, which specifies that the stack is diagnosed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Stack'], ], [ - 'name' => 'DeleteOptions', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The options for deleting the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The option for deleting the stack. Valid values:'."\n" - ."\n" - .'* Null (default): When you delete the stack, subscription resources are ignored.'."\n" - .'* ThrowErrorWithSubscriptionResources: When you delete the stack, an error is reported if subscription resources exist.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["ThrowErrorWithSubscriptionResources"]', - ], - 'required' => false, - 'maxItems' => 1, - ], - ], - [ - 'name' => 'Parallelism', + 'name' => 'Lang', 'in' => 'query', 'schema' => [ - 'description' => 'The maximum number of concurrent operations that can be performed on resources.'."\n" + 'description' => 'The language of the diagnostic report to be generated. Only Chinese and English are supported.'."\n" ."\n" - .'By default, this parameter is empty. You can set this parameter to an integer that is greater than or equal to 0.'."\n" - ."\n\n" + .'Valid values:'."\n" ."\n" - .'> - If you set this parameter to an integer that is greater than 0, the integer is used. If you set this parameter to 0 or leave this parameter empty, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" - .'> - If you set this parameter to a specific value, ROS associates the value with the stack. The value affects subsequent operations on the stack, such as an update operation.', - 'type' => 'integer', - 'format' => 'int64', + .'* zh-cn'."\n" + .'* en'."\n", + 'type' => 'string', 'required' => false, - 'example' => '1', + 'example' => 'zh-cn', + 'default' => 'zh-cn', + 'enum' => ['zh-cn', 'en'], ], ], ], @@ -1539,30 +1255,44 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], + 'Code' => ['description' => 'The error code returned.'."\n", 'type' => 'string', 'example' => 'Forbidden'], + 'DiagnosticType' => ['description' => 'The type of the item that is diagnosed.'."\n", 'type' => 'string', 'example' => 'Stack'], + 'HttpStatusCode' => ['description' => 'The HTTP status code returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => 'The error message returned.'."\n", 'type' => 'string', 'example' => 'You are not authorized to complete this action.'], + 'ReportId' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'example' => 'dr-e94e39a1274d44b6****'], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '943B24D7-1A67-55A4-B045-818F90693D3A'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\' ?>\\n\\n<DeleteStackResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n</DeleteStackResponse>\\n","errorExample":""}]', - 'title' => 'DeleteStack', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'UpdateStack' => [ - 'summary' => 'Updates a stack.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'ROS::2019-09-10::GetDiagnostic', 'callbackInterval' => 2000, 'maxCallbackTimes' => 10], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Forbidden\\",\\n \\"DiagnosticType\\": \\"Stack\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"ReportId\\": \\"dr-e94e39a1274d44b6****\\",\\n \\"RequestId\\": \\"943B24D7-1A67-55A4-B045-818F90693D3A\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'title' => 'CreateDiagnostic', + 'summary' => 'Creates a dignosis task.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateDiagnostic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateStack' => [ + 'summary' => 'Creates a stack from a ROS template to deploy a group of resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1571,287 +1301,248 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeCode' => '12722', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'StackId', + 'name' => 'DisableRollback', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'Specifies whether to disable rollback when stack creation fails.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: disables rollback.'."\n" + ."\n" + .'- false (default): enables rollback.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests.'."\n" - ."\n" - .'The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The template body. Length: **1 to 524,288 bytes**. Use **HTTP POST** with **Body parameters** for large content to avoid URL length limits.'."\n" + ."\n" + .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, or TemplateScratchId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], ], [ - 'name' => 'StackPolicyDuringUpdateBody', + 'name' => 'StackPolicyURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the body of the temporary overriding stack policy. The policy body must be 1 to 16,384 bytes in length.'."\n" - ."\n" - .'If you want to update protected resources, you must specify a temporary overriding stack policy during the update. If you do not specify a temporary overriding stack policy, the existing policy that is associated with the stack is used.'."\n" - ."\n" - .'This parameter takes effect only when the ChangeSetType parameter is set to UPDATE. You can specify only one of the following parameters:'."\n" - ."\n" - .'* StackPolicyBody'."\n" - .'* StackPolicyURL'."\n" - .'* StackPolicyDuringUpdateBody'."\n" - .'* StackPolicyDuringUpdateURL'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"Statement": [{"Effect": "Allow", "Action": "Update:*", "Principal": "*", "Resource": "*"}]}', - ], + 'schema' => ['description' => 'The URL of the stack policy file. Supports HTTP, HTTPS, and OSS URLs (for example, oss\\://ros/stack-policy/demo or oss\\://ros/stack-policy/demo?RegionId=cn-hangzhou). Maximum file size: 16,384 bytes. If no OSS region is specified, the RegionId value is used.'."\n" + ."\n" + .'> You can specify only one of the following parameters: StackPolicyBody or StackPolicyURL.'."\n" + ."\n" + .'Maximum URL length: 1,350 bytes.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-stack-policy/demo', 'title' => ''], ], [ 'name' => 'TimeoutInMinutes', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for the update operation on the stack.'."\n" - ."\n" - .'* Default value: 60.'."\n" - .'* Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The stack creation timeout. Unit: minutes.'."\n" + ."\n" + .'- Default value: 60.'."\n" + ."\n" + .'- Valid values: 10 to 1440.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length.'."\n" - ."\n" - .'If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', - ], + 'name' => 'StackPolicyBody', + 'in' => 'query', + 'schema' => ['description' => 'The stack policy body. Length: 1 to 16,384 bytes.'."\n" + ."\n" + .'> You can specify only one of the following parameters: StackPolicyBody or StackPolicyURL.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}', 'title' => ''], ], [ - 'name' => 'StackPolicyURL', + 'name' => 'StackName', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the stack policy. The URL must point to a policy that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/stack-policy/demo or oss://ros/stack-policy/demo?RegionId=cn-hangzhou. The policy file can be up to 16,384 bytes in length. If you do not specify the region ID of the OSS bucket, the value of the RegionId parameter is used.'."\n" - ."\n" - .'> You can specify only one of the StackPolicyBody and StackPolicyURL parameters.'."\n" - ."\n" - .'The URL can be up to 1,350 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-stack-policy/demo', - ], + 'schema' => ['description' => 'The stack name. Maximum length: 255 characters. Must start with a **letter** and can contain **letters**, **digits**, **hyphens (-)**, and **underscores (\\_)**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStack', 'title' => ''], ], [ - 'name' => 'StackPolicyDuringUpdateURL', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the temporary overriding stack policy. The URL must point to a policy that is located on an HTTP or HTTPS web server or in an OSS bucket, such as oss://ros/stack-policy/demo or oss://ros/stack-policy/demo?RegionId=cn-hangzhou. The policy file can be up to 16,384 bytes in length.'."\n" - ."\n" - .'> If you do not specify the region ID of the OSS bucket, the value of the RegionId parameter is used.'."\n" - ."\n" - .'The URL can be up to 1,350 bytes in length.'."\n" - ."\n" - .'If you want to update protected resources, you must specify a temporary overriding stack policy during the update. If you do not specify a temporary overriding stack policy, the existing policy that is associated with the stack is used. This parameter takes effect only when the ChangeSetType parameter is set to UPDATE. You can specify only one of the following parameters:'."\n" - ."\n" - .'* StackPolicyBody'."\n" - .'* StackPolicyURL'."\n" - .'* StackPolicyDuringUpdateBody'."\n" - .'* StackPolicyDuringUpdateURL'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-stack-policy/demo', - ], + 'schema' => ['description' => 'The region ID of the stack. Call [DescribeRegions](~~131035~~) to query available regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'StackPolicyBody', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the stack policy body. The policy body must be 1 to 16,384 bytes in length.'."\n" - ."\n" - .'> You can specify only one of the StackPolicyBody and StackPolicyURL parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}', - ], + 'schema' => ['description' => 'Ensures request idempotency. Must be client-generated and globally unique. Maximum length: 64 characters. Can contain **letters**, **digits**,** hyphens (-)**, and** underscores (\\_)**.'."\n" + ."\n" + .'[How to ensure idempotence](~~134212~~)', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'UsePreviousParameters', + 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the values specified in the previous request for the parameters that you do not specify in the current request.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The URL of the template file. Supports HTTP, HTTPS, and OSS URLs (for example, oss\\://ros/stack-policy/demo or oss\\://ros/stack-policy/demo?RegionId=cn-hangzhou). Maximum template size: 524,288 bytes. If no OSS region is specified, the RegionId value is used.'."\n" + ."\n" + .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, or TemplateScratchId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region in which the stack is deployed. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The RAM role name. ROS assumes this role for all stack API calls, even when the user has direct permissions, ensuring least-privilege access. [Use a stack role](~~2568025~~).'."\n" + ."\n" + .'If not specified, ROS uses the role associated with the stack, or a temporary credential from your account if no role exists.'."\n" + ."\n" + .'Maximum length: 64 characters.', 'type' => 'string', 'required' => false, 'example' => 'test-role', 'title' => ''], ], [ - 'name' => 'DisableRollback', + 'name' => 'DeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to roll back the resources in the stack when the stack fails to be updated.'."\n" - ."\n" - .'Default value: false. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'false', - 'deprecated' => true, - ], + 'schema' => ['description' => 'Specifies whether to enable deletion protection on the stack. Valid values:'."\n" + ."\n" + .'- Enabled: enables deletion protection.'."\n" + ."\n" + .'- Disabled (default): allows stack deletion via the ROS console or the DeleteStack API.'."\n" + ."\n" + .'> The deletion protection of a nested stack is the same as that of its root stack.', 'type' => 'string', 'required' => false, 'example' => 'Enabled', 'title' => ''], ], [ - 'name' => 'TemplateURL', + 'name' => 'CreateOption', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an OSS bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=cn-hangzhou. The template body must be 1 to 524,288 bytes in length. If you do not specify the region ID of the OSS bucket, the value of the RegionId parameter is used.'."\n" - ."\n" - .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-template/demo', - ], + 'schema' => ['description' => 'The post-creation behavior for the stack. Valid values:'."\n" + ."\n" + .'- KeepStackOnCreationComplete (default): retains the stack and resources after creation. Counts toward the stack quota.'."\n" + ."\n" + .'- AbandonStackOnCreationComplete: deletes the stack but retains resources after creation. Does not count toward the stack quota. The stack is retained if creation fails.'."\n" + ."\n" + .'- AbandonStackOnCreationRollbackComplete: deletes the stack after a creation rollback. Does not count toward the stack quota. The stack is retained in other rollback scenarios.'."\n" + ."\n" + .'- ManuallyPay: requires manual payment for subscription resources during stack creation. Supported resource types: `ALIYUN::ECS::InstanceGroup`, `ALIYUN::RDS::DBInstance`, `ALIYUN::SLB::LoadBalancer`, `ALIYUN::VPC::EIP`, and `ALIYUN::VPC::VpnGateway`.'."\n" + ."\n" + .'- RetryOnNoStock: automatically retries resource creation on insufficient inventory. Supported resource type: `ALIYUN::RDS::DBInstance`.'."\n" + ."\n" + .'> You can specify only one of the following parameters: CreateOption or CreateOptions.', 'type' => 'string', 'required' => false, 'example' => 'KeepStackOnCreationComplete', 'title' => ''], ], [ - 'name' => 'RamRoleName', + 'name' => 'CreateOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the RAM role. Resource Orchestration Service (ROS) assumes the RAM role to create the stack and uses the credentials of the role to call the APIs of Alibaba Cloud services.'."\n" + 'description' => 'The creation options for the stack.', + 'type' => 'array', + 'items' => ['description' => 'Creation option N. Valid values:'."\n" ."\n" - .'ROS assumes the RAM role to perform operations on the stack. If you have permissions to perform operations on the stack but do not have permissions to use the RAM role, ROS still assumes the RAM role. You must make sure that the least privileges are granted to the RAM role.'."\n" + .'- KeepStackOnCreationComplete (default): retains the stack and resources after creation. Counts toward the stack quota.'."\n" ."\n" - .'If you do not specify this parameter, ROS assumes the existing RAM role that is associated with the stack. If no RAM roles are available, ROS uses a temporary credential that is generated from the credentials of your account.'."\n" + .'- AbandonStackOnCreationComplete: deletes the stack but retains resources after creation. Does not count toward the stack quota. The stack is retained if creation fails.'."\n" ."\n" - .'The name of the RAM role can be up to 64 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-role', - ], - ], - [ - 'name' => 'ReplacementOption', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the replacement update feature. If you cannot change resource properties, you can enable the replacement update feature to replace the resource properties. If the replacement update feature is used, the existing resource is deleted and a new resource is created. The physical ID of the new resource is different from the physical ID of the deleted resource.'."\n" + .'- AbandonStackOnCreationRollbackComplete: deletes the stack after a creation rollback. Does not count toward the stack quota. The stack is retained in other rollback scenarios.'."\n" ."\n" - .'Default value: Disabled. Valid values:'."\n" + .'- ManuallyPay: requires manual payment for subscription resources during stack creation. Supported resource types: `ALIYUN::ECS::InstanceGroup`, `ALIYUN::RDS::DBInstance`, `ALIYUN::SLB::LoadBalancer`, `ALIYUN::VPC::EIP`, and `ALIYUN::VPC::VpnGateway`.'."\n" ."\n" - .'* Enabled'."\n" - .'* Disabled'."\n" + .'- RetryOnNoStock: automatically retries resource creation on insufficient inventory. Supported resource type: `ALIYUN::RDS::DBInstance`.'."\n" ."\n" - .'> Changes have higher priorities than replacement updates.'."\n", - 'type' => 'string', + .'> * You can specify only one of the following parameters: CreateOption or CreateOptions.'."\n" + .'>'."\n" + .'> * Creation options cannot be repeated. The KeepStackOnCreationComplete option is mutually exclusive with the AbandonStackOnCreationComplete and AbandonStackOnCreationRollbackComplete options.'."\n" + .'>'."\n" + .'> * The maximum value of N is 4.', 'type' => 'string', 'required' => false, 'example' => 'KeepStackOnCreationComplete', 'title' => ''], 'required' => false, - 'example' => 'Disabled', + 'maxItems' => 2, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the template. This parameter applies to shared templates and private templates.'."\n" - ."\n" - .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The template ID. This parameter applies to shared and private templates.'."\n" + ."\n" + .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, or TemplateScratchId.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. This parameter takes effect only when the TemplateId parameter is specified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The version of the template. This parameter takes effect only when you specify TemplateId.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The parameters.'."\n", + 'description' => 'The parameters that are defined in the template.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of parameter N. If you do not specify the name and value of a parameter, ROS uses the default name and value in the template.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The value of parameter N. Maximum value of N: 200.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '12', - ], + 'ParameterKey' => ['description' => 'The name of parameter N defined in the template. If you do not specify the name and value of a parameter, ROS uses the default value in the template.'."\n" + ."\n" + .'The maximum value of N is 200. The name must be 1 to 128 characters and cannot start with `aliyun` or `acs:`. The name cannot contain `http://` or `https://`.'."\n" + ."\n" + .'> Parameters is an optional parameter. To specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.', 'type' => 'string', 'required' => true, 'example' => 'InstanceId', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of parameter N defined in the template.'."\n" + ."\n" + .'The maximum value of N is 200. The value must be 0 to 128 characters and cannot start with `aliyun` or `acs:`. The value cannot contain `http://` or `https://`.'."\n" + ."\n" + .'> Parameters is an optional parameter. To specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.', 'type' => 'string', 'required' => true, 'example' => 'i-xxxxxx', 'title' => ''], ], 'required' => false, 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 200, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'NotificationURLs', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The callback URL for stack events. Valid values:'."\n" + ."\n" + .'- HTTP POST URL. Maximum length: 1,024 bytes.'."\n" + ."\n" + .'- EventBridge receives stack status change notifications. View events in the [EventBridge console](https://eventbridge.console.aliyun.com).'."\n" + ."\n" + .'> Supported regions: China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong), and China (Zhangjiakou).'."\n" + ."\n" + .'Maximum value of N: 5. ROS sends notifications on stack status changes, except for IN\\_PROGRESS events. With rollback enabled, CREATE\\_ROLLBACK and ROLLBACK events replace CREATE\\_FAILED and UPDATE\\_FAILED notifications. Notifications always include Outputs. Example notification:'."\n" + ."\n" + .'```'."\n" + .'{'."\n" + .' "Outputs": ['."\n" + .' {'."\n" + .' "Description": "No description given",'."\n" + .' "OutputKey": "InstanceId",'."\n" + .' "OutputValue": "i-xxx"'."\n" + .' }'."\n" + .' ],'."\n" + .' "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",'."\n" + .' "StackName": "test-notification-url",'."\n" + .' "Status": "CREATE_COMPLETE"'."\n" + .'}'."\n" + .'```', + 'type' => 'array', + 'items' => ['description' => 'The callback URL for stack event N. Valid values:'."\n" + ."\n" + .'- HTTP POST URL. Maximum length: 1,024 bytes.'."\n" + ."\n" + .'- EventBridge receives stack status change notifications. View events in the [EventBridge console](https://eventbridge.console.aliyun.com).'."\n" + ."\n" + .'> Supported regions: China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong), and China (Zhangjiakou).'."\n" + ."\n" + .'Maximum value of N: 5. ROS sends notifications on stack status changes, except for IN\\_PROGRESS events. With rollback enabled, CREATE\\_ROLLBACK and ROLLBACK events replace CREATE\\_FAILED and UPDATE\\_FAILED notifications. Notifications always include Outputs. Example notification:'."\n" + ."\n" + .'```'."\n" + .'{'."\n" + .' "Outputs": ['."\n" + .' {'."\n" + .' "Description": "No description given",'."\n" + .' "OutputKey": "InstanceId",'."\n" + .' "OutputValue": "i-xxx"'."\n" + .' }'."\n" + .' ],'."\n" + .' "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",'."\n" + .' "StackName": "test-notification-url",'."\n" + .' "Status": "CREATE_COMPLETE"'."\n" + .'}'."\n" + .'```', 'type' => 'string', 'required' => false, 'example' => 'http://example.com/ros-event', 'title' => ''], + 'required' => false, + 'example' => 'http://my-site.com/ros-event', + 'maxItems' => 5, + 'title' => '', ], ], [ @@ -1859,119 +1550,68 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The value of tag N that you want to add to the template.'."\n", + 'description' => 'The tags of the stack.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N that you want to add to the stack.'."\n" - ."\n" - .'Valid values of N: 1 to 20.'."\n" - ."\n" - .'> - The Tags parameter is optional. If you specify Tags, you must specify Tags.N.Key.'."\n" - .'> - The tag of a stack is propagated to each resource that supports the tag feature in the stack. For more information, see [Propagate tags](~~201421~~).', - 'type' => 'string', - 'required' => true, - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The value of tag N that you want to add to the stack.'."\n" - ."\n" - .'Valid values of N: 1 to 20.'."\n" - ."\n" - .'> The tag of a stack is propagated to each resource that supports the tag feature in the stack. For more information, see [Propagate tags](~~201421~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'Key' => ['description' => 'The key of tag N of the stack.'."\n" + ."\n" + .'Valid values: 1 to 20.'."\n" + ."\n" + .'> - Tags is an optional parameter. To specify Tags, you must specify Tags.N.Key.'."\n" + .'>'."\n" + .'> - Stack tags propagate to each resource that supports tagging. [Tag propagation](~~201421~~).', 'type' => 'string', 'required' => true, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The value of tag N of the stack.'."\n" + ."\n" + .'Valid values: 1 to 20.'."\n" + ."\n" + .'> Stack tags propagate to taggable resources. [Tag propagation](~~201421~~).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], 'required' => false, 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, - ], - ], - [ - 'name' => 'Parallelism', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of concurrent operations that can be performed on resources.'."\n" - ."\n" - .'By default, this parameter is empty. You can set this parameter to an integer that is greater than or equal to 0.'."\n" - ."\n" - .'> - If you set this parameter to an integer that is greater than 0, the integer is used.'."\n" - .'> - If you set this parameter to 0, no limit is imposed on Resource Orchestration Service (ROS) stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" - .'> - If you leave this parameter empty, the value that you specified for this parameter in the previous request is used. If you left this parameter empty in the previous request, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" - .'> - If you set this parameter to a specific value, ROS associates the value with the stack. The value affects subsequent operations on the stack.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', + 'title' => '', + 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4ph6aiy****', - ], + 'schema' => ['description' => 'The ID of the resource group. If not specified, the stack is added to the default resource group.'."\n" + ."\n" + .'[What is a resource group](~~94475~~)', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ - 'name' => 'DryRun', + 'name' => 'Parallelism', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether only to validate the stack in the request. Default value: false. Valid values:'."\n" - ."\n" - .'* true: only validates the stack.'."\n" - .'* false: validates and updates the stack.'."\n" - ."\n" - .'> When no changes are made during the update, the following rules apply: If you set the DryRun parameter to false, the NotSupported error code is returned. If you set the DryRun parameter to true, no error is reported.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The maximum number of concurrent operations on resources.'."\n" + ."\n" + .'Default: empty. Accepts integers greater than or equal to 0.'."\n" + ."\n" + .'> - If greater than 0, the specified value is used. If 0 or empty, no limit applies to ROS stacks; Terraform stacks use the Terraform default (typically 10).'."\n" + .'>'."\n" + .'> - The specified value persists with the stack and affects subsequent operations such as updates.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'DryRunOptions', + 'name' => 'TemplateScratchId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The dry run option in the list format. You can specify only one dry run option.'."\n" - ."\n" - .'> This parameter takes effect only when DryRun is set to true.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The dry run option. Valid values:'."\n" - ."\n" - .'* ParameterAnalysis.ConsiderCondition: performs parameter analysis with conditions considered. If you want to perform parameter analysis, we recommend that you use this option. Otherwise, conditions are calculated, and the parameter values before the stack is updated are used for the parameters involved in the calculation.'."\n" - ."\n" - .'> This option takes effect only for stacks of the ROS type.'."\n" - ."\n" - .'* ParameterAnalysis.Disabled: disables parameter analysis. After this option is used, the Parameters\\* parameter is not returned in DryRunResult.', - 'type' => 'string', - 'required' => false, - 'example' => 'ParameterAnalysis.ConsiderCondition', - ], - 'required' => false, - 'maxItems' => 1, - ], + 'schema' => ['description' => 'The ID of the resource scenario.'."\n" + ."\n" + .'Call [ListTemplateScratches](~~363050~~) to query resource scenario IDs.'."\n" + ."\n" + .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, or TemplateScratchId.', 'type' => 'string', 'required' => false, 'example' => 'ts-aa9c62feab844a6b****', 'title' => ''], ], [ - 'name' => 'TaintResources', + 'name' => 'TemplateScratchRegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The region ID of the resource scenario. Default value: the value of RegionId.'."\n" + ."\n" + .'Call [DescribeRegions](~~131035~~) to query available regions.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -1979,616 +1619,604 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'StackId' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - 'DryRunResult' => [ - 'description' => 'The dry run result. This parameter is returned only if DryRun is set to true.'."\n", - 'type' => 'object', - 'properties' => [ - 'ParametersAllowedToBeModified' => [ - 'description' => 'The parameters that can be modified. If you change only values of the parameters in a stack template and use the template to update the stack, no validation errors are caused.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameters that can be modified. If you change only values of the parameters in a stack template and use the template to update the stack, no validation errors are caused.', - 'type' => 'string', - 'example' => 'param1', - ], - ], - 'ParametersConditionallyAllowedToBeModified' => [ - 'description' => 'The parameters that can be modified under specific conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the new values of the parameters determine whether validation errors are caused.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameters that can be modified under specific conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the new values of the parameters determine whether validation errors are caused.', - 'type' => 'string', - 'example' => 'param2', - ], - ], - 'ParametersUncertainlyAllowedToBeModified' => [ - 'description' => 'The parameters that can be modified under uncertain conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the actual running environment determines whether validation errors are caused.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameters that can be modified under uncertain conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the actual running environment determines whether validation errors are caused.', - 'type' => 'string', - 'example' => 'param3', - ], - ], - 'ParametersNotAllowedToBeModified' => [ - 'description' => 'The parameters that cannot be modified. If you change only values of the parameters in a stack template and use the template to update the stack, validation errors are caused.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameters that cannot be modified. If you change only values of the parameters in a stack template and use the template to update the stack, validation errors are caused.', - 'type' => 'string', - 'example' => 'param4', - ], - ], - 'ParametersCauseInterruptionIfModified' => [ - 'description' => 'The parameters whose changes cause service interruptions.'."\n" - .'> - This parameter is supported only for a small number of resource types.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change causes a service interruption. If you change only values of the parameters in a stack template and use the template to update the stack, service interruptions are caused.'."\n", - 'type' => 'string', - 'example' => 'param1', - ], - ], - 'ParametersConditionallyCauseInterruptionIfModified' => [ - 'description' => 'The parameters whose changes cause service interruptions under specific conditions.'."\n" - ."\n" - .'> - This parameter is supported only for a small number of resource types.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change causes a service interruption under specific conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the new values and the update type determine whether service interruptions are caused.'."\n", - 'type' => 'string', - 'example' => 'param2', - ], - ], - 'ParametersUncertainlyCauseInterruptionIfModified' => [ - 'description' => 'The parameters whose changes cause service interruptions under uncertain conditions.'."\n" - ."\n" - .'> - This parameter is supported only for a small number of resource types.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change causes a service interruption under uncertain conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the actual running environment determines whether service interruptions are caused.'."\n", - 'type' => 'string', - 'example' => 'param3', - ], - ], - 'ParametersCauseReplacementIfModified' => [ - 'description' => 'The parameters whose changes trigger replacement updates for resources.'."\n" - ."\n" - .'> - This parameter can be returned only if ReplacementOption is set to Enabled.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change triggers a replacement update for resources. If you change only values of the parameters in a stack template and use the template to update the stack, replacement updates are triggered for resources.'."\n", - 'type' => 'string', - 'example' => 'param5', - ], - ], - 'ParametersConditionallyCauseReplacementIfModified' => [ - 'description' => 'The parameters whose changes trigger replacement updates for resources under specific conditions.'."\n" - ."\n" - .'> - This parameter can be returned only if ReplacementOption is set to Enabled.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change triggers a replacement update for resources under specific conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the new values determine whether replacement updates are triggered for resources.'."\n", - 'type' => 'string', - 'example' => 'param6', - ], - ], - 'ParametersUncertainlyCauseReplacementIfModified' => [ - 'description' => 'The parameters whose changes trigger replacement updates for resources under uncertain conditions.'."\n" - ."\n" - .'> - This parameter can be returned only if ReplacementOption is set to Enabled.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change triggers a replacement update for resources under uncertain conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the actual running environment determines whether replacement updates are triggered for resources.'."\n", - 'type' => 'string', - 'example' => 'param7', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"DryRunResult\\": {\\n \\"ParametersAllowedToBeModified\\": [\\n \\"param1\\"\\n ],\\n \\"ParametersConditionallyAllowedToBeModified\\": [\\n \\"param2\\"\\n ],\\n \\"ParametersUncertainlyAllowedToBeModified\\": [\\n \\"param3\\"\\n ],\\n \\"ParametersNotAllowedToBeModified\\": [\\n \\"param4\\"\\n ],\\n \\"ParametersCauseInterruptionIfModified\\": [\\n \\"param1\\"\\n ],\\n \\"ParametersConditionallyCauseInterruptionIfModified\\": [\\n \\"param2\\"\\n ],\\n \\"ParametersUncertainlyCauseInterruptionIfModified\\": [\\n \\"param3\\"\\n ],\\n \\"ParametersCauseReplacementIfModified\\": [\\n \\"param5\\"\\n ],\\n \\"ParametersConditionallyCauseReplacementIfModified\\": [\\n \\"param6\\"\\n ],\\n \\"ParametersUncertainlyCauseReplacementIfModified\\": [\\n \\"param7\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<UpdateStackResponse>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n</UpdateStackResponse>\\n","errorExample":""}]', - 'title' => 'UpdateStack', - 'description' => 'The values of parameters in the Parameters section vary based on the value that you specify for the UsePreviousParameters parameter in the request. If you do not add the parameters that are defined in the template to the Parameters section, take note of the following items:'."\n" + 'title' => 'CreateStack', + 'description' => 'A stack is the management unit for ROS resources ([Overview](~~172973~~)). Limits:'."\n" ."\n" - .'* UsePreviousParameters is set to false: If the template parameters have default values, the default values are used. Otherwise, you must specify values for the template parameters in the Parameters section.'."\n" - .'* UsePreviousParameters is set to true: If you specify values for the template parameters when you create a stack, the values are used. If you leave the template parameters empty when you create a stack but the template parameters have default values, the default values are used.'."\n" + .'- Each Alibaba Cloud account can create up to 200 stacks.'."\n" ."\n" - .'This topic describes how to update a stack. In this example, the template body of a stack whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` in the China (Beijing) region is updated to `{"ROSTemplateFormatVersion": "2015-09-01"}`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => '| Http status code | Error code | Error message | Description |'."\n" - .'| ---------------- | ---------- | ------------- | ----------- |'."\n" - .'| 400 | CircularDependency | Circular Dependency Found: {reason}. | The error message returned because the template contains circular dependencies. reason indicates the cause of the error. |'."\n" - .'| 400 | InvalidSchema | {reason}. | The error message returned because the template format is invalid. reason indicates the cause of the error. |'."\n" - .'| 400 | InvalidTemplateAttribute | The Referenced Attribute ({resource} {name}) is incorrect. | The error message returned because the resource property that is referenced in the Outputs section of the template is invalid. resource indicates the resource name. name indicates the property name. |'."\n" - .'| 400 | InvalidTemplatePropertyType | The specified value type of ({resource} {section}) is incorrect. | The error message returned because the type of the resource property that is defined in a section of the template is invalid. resource indicates the resource name. section indicates the section name. |'."\n" - .'| 400 | InvalidTemplateReference | The specified reference "{name}" (in {referencer}) is incorrect. | The error message returned because the template contains an invalid reference. name indicates the reference name. referencer indicates the referencer name. |'."\n" - .'| 400 | InvalidTemplateSection | The template section is invalid: {section}. | The error message returned because the template contains an invalid section. section indicates the section name. |'."\n" - .'| 400 | InvalidTemplateVersion | The template version is invalid: {reason}. | The error message returned because the template version is invalid. reason indicates the cause of the error. |'."\n" - .'| 400 | StackPolicyValidationFailed | Action denied by stack policy: {reason}. | The error message returned because the update failed to be validated based on the stack policy. reason indicates the cause of the error. |'."\n" - .'| 400 | StackValidationFailed | {reason}. | The error message returned because the stack failed to be validated. reason indicates the cause of the error. |'."\n" - .'| 400 | UnknownUserParameter | The Parameter ({name}) was not defined in template. | The error message returned because the specified parameter is not defined in the template. name indicates the parameter name. |'."\n" - .'| 400 | UserParameterMissing | The Parameter {name} was not provided. | The error message returned because no value is specified for the parameter that is defined in the template. name indicates the parameter name. |'."\n" - .'| 404 | StackNotFound | The Stack ({name}) could not be found. | The error message returned because the stack does not exist. name indicates the name or ID of the stack. |'."\n" - .'| 409 | ActionInProgress | Stack {name} already has an action ({action}) in progress. | The error message returned because the stack is being changed. name indicates the name or ID of the stack. action indicates the change operation. |'."\n" - .'| 404 | TemplateNotFound | The Tempalte ({ ID }) could not be found. | The error message returned because the template does not exist. ID indicates the ID of the template. |'."\n" - .'| 404 | TemplateNotFound | The Template { ID } with version { version } could not be found. | The error message returned because the template or template version does not exist. ID indicates the ID of the template. version indicates the version of the template. |', - ], - 'ContinueCreateStack' => [ - 'summary' => 'Continues to create a stack after the stack fails to be created.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- Each stack can contain up to 200 resources.'."\n" + ."\n" + .'The following example creates a stack named `MyStack` in the China (Hangzhou) region with `TemplateBody` set to `{"ROSTemplateFormatVersion":"2015-09-01"}`.', + 'requestParamsDescription' => 'This operation uses [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400| CircularDependency |Circular Dependency Found: {reason}. | 模板包含循环引用,reason为具体原因。 |'."\n" + .'| 400 | InvalidSchema | {reason}. | 模板格式不正确,reason为具体原因。 |'."\n" + .'| 400 | InvalidTemplateAttribute |The Referenced Attribute ({resource} {name}) is incorrect. | 模板包含不正确的资源属性(输出)引用,resource为资源名,name为属性名。 |'."\n" + .'| 400 | InvalidTemplatePropertyType |The specified value type of ({resource} {section}) is incorrect. | 模板字段中定义的资源属性类型不正确。resource为资源名,section为字段名。 |'."\n" + .'| 400 | InvalidTemplateReference |The specified reference "{name}" (in {referencer}) is incorrect. | 模板包含不正确的引用,name为引用名,referencer为引用者。 |'."\n" + .'| 400 | InvalidTemplateSection |The template section is invalid: {section}. | 模板包含无效的字段,section为字段名。 |'."\n" + .'| 400 | InvalidTemplateVersion |The template version is invalid: {reason}. | 模板版本不正确,reason为具体原因。 |'."\n" + .'| 400 | StackValidationFailed | {reason}. | 资源栈校验失败,reason为具体原因。 |'."\n" + .'| 400 | UnknownUserParameter |The Parameter ({name}) was not defined in template. | 传递的参数在模板中未定义,name为参数名。 |'."\n" + .'| 400 | UserParameterMissing |The Parameter {name} was not provided. | 参数在模板中已定义,但未传递值,name为参数名。 |'."\n" + .'| 409 | ActionInProgress |Stack {name} already has an action ({action}) in progress. | 资源栈在变更中,name为资源栈名称或ID,action为变更操作。 |'."\n" + .'| 409 | StackExists |The Stack ({name}) already exists. | 同名资源栈已存在,name为资源栈名称。 |'."\n" + .'| 404 | TemplateNotFound |The Template ({ ID }) could not be found. | 模板不存在。ID为模板ID。 |'."\n" + .'| 404 | TemplateNotFound |The Template { ID } with version { version } could not be found. | 模板或指定版本不存在。ID为模板ID,version为模板版本。 |'."\n" + .'| 400 | Forbidden.TagPolicy | The operation is failure, because the valid tag policy values of \'TagValue\' are [\'red\',\'green\',\'orange\',\'blue\',\'pink\',\'white\',\'black\',\'grey\'], but the value is \'xxx\'. | 标签键合规,但标签值不合规。导致资源创建失败。请输入标签策略中 TagValue 规定的标签值。 |'."\n" + .'| 400 | Forbidden.TagPolicy | The operation is failure, because the valid tag policy values of \'TagKey\' are [\'colorful\'], but the value is "colorful". | 标签键大小写不合规。导致资源创建失败。请输入与标签策略中 TagKey 大小写完全一致的标签键。 |'."\n" + .'| 400 | Forbidden.TagPolicy | The operation is failure, because the tag policy keys [\'color\'] are necessary. | 标签不合规,缺少标签键 color,导致资源创建失败。请输入标签策略中 color 规定的标签。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateStack'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/*'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\"\\n}","type":"json"}]', + ], + 'CreateStackGroup' => [ + 'summary' => 'Creates a stack group from an ROS template to create stacks across multiple Alibaba Cloud accounts and regions.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeCode' => '12671', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], ], 'parameters' => [ [ - 'name' => 'StackId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The region ID of the stack group. Call [DescribeRegions](~~131035~~) to query available regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'StackGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The stack group name. Must be unique within a region. 1 to 255 characters. Can contain letters, digits, hyphens (-), and underscores (\\_). Must start with a letter or digit.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], ], [ - 'name' => 'RamRoleName', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role. Resource Orchestration Service (ROS) assumes the RAM role to create the stack and uses the credentials of the role to call the APIs of Alibaba Cloud services.\\'."\n" - .'ROS assumes the RAM role to perform operations on the stack. If you have permissions to perform operations on the stack but do not have permissions to use the RAM role, ROS still assumes the RAM role. You must make sure that the least privileges are granted to the RAM role.\\'."\n" - .'If you do not specify this parameter, ROS assumes the existing role that is associated with the stack. If no roles are available, ROS uses a temporary credential that is generated from the credentials of your account.\\'."\n" - .'The name of the RAM role can be up to 64 bytes in length.', - 'type' => 'string', - 'required' => false, - 'example' => 'test-role', - ], + 'schema' => ['description' => 'The stack group description. 1 to 256 characters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'StackGroup Description', 'title' => ''], ], [ - 'name' => 'Mode', + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The template body. 1 to 524,288 bytes. For large templates, pass the body in the HTTP POST request body to avoid URL length limits.'."\n" + ."\n" + .'> Specify exactly one of TemplateBody, TemplateURL, and TemplateId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], + ], + [ + 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The mode in which ROS continues to create the stack. Valid values:'."\n" - ."\n" - .'* Recreate (default)'."\n" - ."\n" - .' If you set this parameter to Recreate, ROS continues to create only the following types of resources:'."\n" - ."\n" - .' * Resources that fail to be created'."\n" - .' * Resources that you specify for RecreatingResources.N'."\n" - .' * Dependencies of the resources that you specify for RecreatingResources.N'."\n" - .' * Resources that you have not created'."\n" - ."\n" - .'> RecreatingResources.N, TemplateBody, TemplateURL, and Parameters take effect only when Mode is set to Recreate.'."\n" - ."\n" - .'* Ignore'."\n" - ."\n" - .' * ROS ignores and discards resources that fail to be created and you have not created, and considers that the stack is successfully created.'."\n" - .' * The body of the template that you use to create the stack is changed.'."\n" - ."\n" - .'> This mode is available only for ROS stacks.', - 'type' => 'string', - 'required' => false, - 'example' => 'Recreate', - ], + 'schema' => ['description' => 'The URL of the template file. Supports HTTP, HTTPS, and OSS URLs. 1 to 524,288 bytes. Examples: oss\\://ros/template/demo, oss\\://ros/template/demo?RegionId=cn-hangzhou. If no region ID is specified for the OSS bucket, the RegionId value applies.'."\n" + ."\n" + .'> Specify exactly one of TemplateBody, TemplateURL, and TemplateId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], ], [ - 'name' => 'TemplateBody', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length.\\'."\n" - .'If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'A ROS template is subject to the following limits:'."\n" - ."\n" - .'* You can modify only the following sections in the template: Description, Metadata, Resources, and Outputs.'."\n" - ."\n" - .'* You cannot add sections to or remove sections from the template.'."\n" - ."\n" - .'* The Resources section is subject to the following limits:'."\n" - ."\n" - .' * You cannot delete the resources or change the template body for the resources that you do not want to continue to create.'."\n" - .' * You can delete the resources or change the template body for the resources that you want to continue to create.'."\n" - .' * You can add resources to this section.'."\n" - ."\n" - .' '."\n" - ."\n" - .'> - This parameter takes effect only when Mode is set to Recreate.'."\n" - .'> - You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId. If you do not specify the parameters, the existing template is used.', - 'type' => 'string', - 'required' => false, - 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', - ], + 'schema' => ['description' => 'The client token for idempotency. Must be unique across requests. Can contain letters, digits, underscores (\\_), and hyphens (-), up to 64 characters. [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'TemplateURL', + 'name' => 'AdministrationRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length.'."\n" - ."\n" - .'If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'> - This parameter takes effect only when Mode is set to Recreate. When you specify TemplateURL of a template, the template is subject to the limits that are described for TemplateBody in this topic.'."\n" - .'> - You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId. If you do not specify the parameters, the existing template is used.', - 'type' => 'string', - 'required' => false, - 'example' => 'oss://ros-template/demo', - ], + 'schema' => ['description' => 'The RAM role for the administrator account in a self-managed stack group. ROS assumes this role to perform operations. Default: AliyunROSStackGroupAdministrationRole.'."\n" + ."\n" + .'1 to 64 characters. Can contain letters, digits, and hyphens (-).'."\n" + ."\n" + .'> This parameter is required when PermissionModel is set to SELF\\_MANAGED.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'AliyunROSStackGroupAdministrationRole', 'title' => ''], ], [ - 'name' => 'DryRun', + 'name' => 'ExecutionRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether only to validate the stack in the request. Valid values:'."\n" - ."\n" - .'* true: only validates the stack.'."\n" - .'* false (default): validates and continues to create the stack.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The RAM role for the execution account in a self-managed stack group. The administrator role assumes this role to perform stack operations. Default: AliyunROSStackGroupExecutionRole.'."\n" + ."\n" + .'1 to 64 characters. Can contain letters, digits, and hyphens (-).'."\n" + ."\n" + .'> This parameter is required when PermissionModel is set to SELF\\_MANAGED.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'AliyunROSStackGroupExecutionRole', 'title' => ''], ], [ 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The template ID. This parameter applies to shared and private templates.'."\n" - ."\n" - .'> - This parameter takes effect when `Mode` is set to `Recreate`. When you specify TemplateId of a template, the template is subject to the limits that are described for `TemplateBody` in this topic.'."\n" - .'> - You can specify only one of the following parameters: `TemplateBody`, `TemplateURL`, and `TemplateId`. If you do not specify the parameters, the existing template is used.', - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The template ID. Applies to shared and private templates.'."\n" + ."\n" + .'> Specify exactly one of TemplateBody, TemplateURL, and TemplateId.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. This parameter takes effect only when TemplateId is specified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The template version. Defaults to the latest version.'."\n" + ."\n" + .'> TemplateVersion takes effect only if you specify TemplateId.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ - 'name' => 'RecreatingResources', + 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The resources that ROS continues to create after the resources failed to be created. You can add new resources to the resources that ROS continues to create. ROS continues to create all dependencies of the new resources.'."\n" - ."\n" - .'> This parameter is available only for ROS stacks.'."\n", + 'description' => 'The parameters of the stack group.', 'type' => 'array', 'items' => [ - 'description' => 'The resource that ROS continues to create after the resource failed to be created. You can add new resources to the resources that ROS continues to create. ROS continues to create all dependencies of the new resources.'."\n" - ."\n" - .'> This parameter is available only for ROS stacks.'."\n", - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The key of parameter N. If not specified, ROS uses the default name and value defined in the template.'."\n" + ."\n" + .'Maximum value of N: 200.'."\n" + ."\n" + .'> Parameters is optional. If you specify Parameters, you must also specify Parameters.N.ParameterKey.', 'type' => 'string', 'required' => true, 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of parameter N.'."\n" + ."\n" + .'Maximum value of N: 200.'."\n" + ."\n" + .'> Parameters is optional. If you specify Parameters, you must also specify Parameters.N.ParameterValue.', 'type' => 'string', 'required' => true, 'example' => '12', 'title' => ''], + ], 'required' => false, - 'example' => 'WebServer', + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'WebServer', 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Parameters', + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The resource group ID. Defaults to the default resource group. [Resource groups](~~94475~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], + ], + [ + 'name' => 'PermissionModel', + 'in' => 'query', + 'schema' => ['description' => 'The permission model of the stack group.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- SELF\\_MANAGED (default): Create RAM roles for the administrator and execution accounts and establish a trust relationship between them.'."\n" + ."\n" + .'- SERVICE\\_MANAGED: ROS automatically creates service-linked roles for the administrator and execution accounts.'."\n" + ."\n" + .'> To use SERVICE\\_MANAGED, your account must be the management account or a delegated administrator account of a resource directory with trusted access enabled. [Manage a delegated administrator account](~~308253~~) and [Enable trusted access](~~298229~~).', 'type' => 'string', 'required' => false, 'example' => 'SELF_MANAGED', 'title' => ''], + ], + [ + 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The template parameters that you want to use to override specific parameters.'."\n", + 'description' => 'The tags of the stack group.', 'type' => 'array', 'items' => [ + 'description' => 'The tag of the stack group.', 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of template parameter N that you want to use to override a specific parameter. If you do not specify the name and value of a template parameter, ROS uses the name and value specified in the previous operation that was performed to create the stack. Maximum value of N: 200.'."\n" - ."\n" - .'> This parameter takes effect only when Mode is set to Recreate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The value of template parameter N that you want to use to override a specific parameter. Maximum value of N: 200.'."\n" - ."\n" - .'For ROS stacks, the template parameters that you use to override specific parameters are subject to the following limits:'."\n" - ."\n" - .'* You cannot change the condition values in the Conditions section of a template from true to false or from false to true.'."\n" - .'* The template parameters can be referenced only by resources that ROS continues to create.'."\n" - ."\n" - .'> This parameter takes effect only when Mode is set to Recreate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '12', - ], + 'Key' => ['description' => 'The tag key of the stack group.'."\n" + ."\n" + .'> Tags is optional. If you want to specify Tags, you must also specify Tags.N.Key.', 'type' => 'string', 'required' => true, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the stack group.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], 'required' => false, - 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 200, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Parallelism', + 'name' => 'AutoDeployment', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The maximum number of concurrent operations that can be performed on resources.'."\n" + 'description' => 'The automatic deployment settings.'."\n" ."\n" - .'By default, this parameter is empty. You can set this parameter to an integer that is greater than or equal to 0.'."\n" - ."\n" - .'> - If you set this parameter to an integer that is greater than 0, the integer is used.'."\n" - .'> - If you set this parameter to 0, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" - .'> - If you leave this parameter empty, the value that you specified for this parameter in the previous request is used. If you left this parameter empty in the previous request, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" - .'> - If you set this parameter to a specific value, ROS associates the value with the stack. The value affects subsequent operations on the stack.', - 'type' => 'integer', - 'format' => 'int64', + .'> You must specify this parameter if PermissionModel is set to SERVICE\\_MANAGED.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Whether automatic deployment is enabled.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: ROS automatically creates stacks for new member accounts added to the folder and deletes stacks for removed accounts.'."\n" + ."\n" + .'- false: Stacks remain unchanged when member accounts are added to or removed from the folder.', 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'example' => 'true', 'title' => ''], + 'RetainStacksOnAccountRemoval' => ['description' => 'Whether to retain stacks when a member account is removed from the folder.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false'."\n" + ."\n" + .'> You must specify RetainStacksOnAccountRemoval if Enabled is true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], 'required' => false, - 'example' => '1', + 'example' => '{"Enabled": true, "RetainStacksOnAccountRemoval": true}', + 'title' => '', ], ], [ - 'name' => 'RecreatingOptions', + 'name' => 'Capabilities', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The options that ROS adopts when ROS continues to create the stack.'."\n", + 'description' => 'The options for the stack group. Maximum: one option.', 'type' => 'array', 'items' => [ - 'description' => 'The option that ROS adopts when ROS continues to create the stack. This parameter takes effect when `Mode` is set to `Recreate`. Valid values:'."\n" - ."\n" - .'- TryToFixSignalFailureByRerunEcsCommand: ROS tries to fix existing signals of the FAILURE type. When ALIYUN::ROS::WaitCondition resources fail to be created, ROS uses the associated and created ALIYUN::ECS::RunCommand and ALIYUN::ECS::Invocation resources and the relevant dependencies to recreate the ALIYUN::ROS::WaitCondition resources.'."\n" - ."\n" - .' > This value is valid only for ROS stacks.'."\n" - ."\n" - .'- IgnoreExistingSignalFailure: ROS ignores existing signals of the FAILURE type. If ALIYUN::ROS::WaitCondition resources fail to be created, the resources are successfully created when ROS continues to create the stack.'."\n" - ."\n" - .' > This value is valid only for ROS stacks.'."\n" + 'description' => 'The stack group option. Valid value: ExpandModules, which expands modules within the current account.'."\n" ."\n" - .'- AutoRecreatingResources: ROS automatically recreates the resources whose template content or referenced parameters are modified and the relevant dependencies. This option facilitates the configurations of RecreatingResources.N. However, unnecessary resources may also be recreated.'."\n" - ."\n" - .' > This value is valid only for ROS stacks.'."\n" - ."\n" - .'- CreateNewPrepaidInstance: ROS creates a **new subscription instance** if **subscription** resources fail to be created, or if you use ROS to recreate subscription resources that are successfully created.'."\n" - ."\n" - .' '."\n" - .'> - This value is valid only for ROS stacks. '."\n" - .'> - If a subscription instance is already created, ROS retains the subscription instance because subscription resources **cannot be deleted**.'."\n" - .'> - If you do not set RecreatingOptions.N to CreateNewPrepaidInstance, ROS tries to reuse an existing instance. If ROS reuses the instance, you cannot modify the resource properties, or you can modify only a small number of resource properties.', + .'> - This parameter takes effect only when modules are used in the template.'."\n" + .'>'."\n" + .'> - By default, modules are not expanded in the current account, so they must exist in all target execution accounts. To expand modules in the current account instead, ensure the modules exist there.', + 'enumValueTitles' => ['ExpandModules' => 'ExpandModules'], 'type' => 'string', 'required' => false, - 'example' => 'CreateNewPrepaidInstance', + 'example' => 'ExpandModules', + 'title' => '', ], 'required' => false, - 'maxItems' => 5, + 'maxItems' => 1, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'StackArn', + 'in' => 'query', + 'schema' => ['description' => 'The stack ARN in the format acs:ros:${RegionId}:${AccountId}:stack/${StackId}. The stack group uses the template and parameters of this stack.'."\n" + ."\n" + .'> - Only supported in self-managed permission mode.'."\n" + .'>'."\n" + .'> - If StackArn is specified, Parameters must not be specified.'."\n" + .'>'."\n" + .'> - You must specify **only one** of TemplateBody, TemplateURL, TemplateId, or StackArn.', 'type' => 'string', 'required' => false, 'example' => 'acs:ros:cn-hangzhou:175458000000****:stack/4a65f506-c3cc-43b6-af06-3f000000****', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], - 'StackId' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - 'DryRunResult' => [ - 'description' => 'The validation result.'."\n", - 'type' => 'object', - 'properties' => [ - 'ParametersAllowedToBeModified' => [ - 'description' => 'The parameters that can be modified.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter that can be modified. The operation that is performed to modify the parameters does not cause a validation error.'."\n" - ."\n" - .'> This parameter is returned only if DryRun is set to `true`. The value of ParametersAllowedToBeModified varies based on the values of Mode, Template\\*, RecreatingResources.N, and RecreatingOptions.N.'."\n", - 'type' => 'string', - 'example' => 'description', - ], - ], - 'ParametersConditionallyAllowedToBeModified' => [ - 'description' => 'The parameters that can be modified under specific conditions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter that can be modified under specific conditions.'."\n" - ."\n" - .'The new values of the parameters determine whether the operation that is performed to modify the parameters causes a validation error.'."\n" - ."\n" - .'> This parameter is returned only if DryRun is set to `true`. The value of ParametersConditionallyAllowedToBeModified varies based on the values of Mode, Template\\*, RecreatingResources.N, and RecreatingOptions.N.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - ], - 'ParametersNotAllowedToBeModified' => [ - 'description' => 'The parameters that cannot be modified.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter that cannot be modified. The operation that is performed to modify the parameters causes a validation error.'."\n" - ."\n" - .'> This parameter is returned only if DryRun is set to `true`. The value of ParametersNotAllowedToBeModified varies based on the values of Mode, Template\\*, RecreatingResources.N, and RecreatingOptions.N.'."\n", - 'type' => 'string', - 'example' => 'cidr', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'StackGroupId' => ['description' => 'The stack group ID.', 'type' => 'string', 'example' => '2c036e78-9e82-428e-afd6-177f5d04****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"DryRunResult\\": {\\n \\"ParametersAllowedToBeModified\\": [\\n \\"description\\"\\n ],\\n \\"ParametersConditionallyAllowedToBeModified\\": [\\n \\"name\\"\\n ],\\n \\"ParametersNotAllowedToBeModified\\": [\\n \\"cidr\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ContinueCreateStackResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6</RequestId>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n</ContinueCreateStackResponse>","errorExample":""}]', - 'title' => 'ContinueCreateStack', - 'description' => 'This topic provides an example on how to continue to create a stack after the stack fails to be created. In this example, the stack whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` is created in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'title' => 'CreateStackGroup', + 'description' => 'A stack group manages multiple ROS stacks as a unit, enabling you to create stacks across Alibaba Cloud accounts and regions.'."\n" + ."\n" + .'Stack groups support two permission models:'."\n" + ."\n" + .'- Self-managed: Both the administrator and execution accounts are Alibaba Cloud accounts.'."\n" + ."\n" + .'- Service-managed: The administrator account is the management account or delegated administrator account of a resource directory. The execution account is a member account of that directory.'."\n" + ."\n" + .'[Overview](~~154578~~).'."\n" + ."\n" + .'This example creates a self-managed stack group named `MyStackGroup` in the `China (Hangzhou)` region using template `5ecd1e10-b0e9-4389-a565-e4c15efc****`.', + 'requestParamsDescription' => '[Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'GetStack' => [ - 'summary' => 'Queries the information about a stack in Resource Orchestration Service (ROS).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '| 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| CircularDependency |Circular Dependency Found: {reason}. | 400 |模板包含循环引用,reason为具体原因。 |'."\n" + .'| InvalidSchema |{reason}. | 400 |模板格式不正确,reason为具体原因。 |'."\n" + .'| InvalidTemplateAttribute |The Referenced Attribute ({resource} {name}) is incorrect. | 400 |模板包含不正确的资源属性(输出)引用,resource为资源名,name为属性名。 |'."\n" + .'| InvalidTemplatePropertyType |The specified value type of ({resource} {section}) is incorrect. | 400 |模板资源定义中,字段类型不正确,resource为资源名,section为字段名。 |'."\n" + .'| InvalidTemplateReference |The specified reference "{name}" (in {referencer}) is incorrect. | 400 |模板包含不正确的引用,name为引用名,referencer为引用者。 |'."\n" + .'| InvalidTemplateSection |The template section is invalid: {section}. | 400 |模板包含无效的字段,section为字段名。 |'."\n" + .'| InvalidTemplateVersion |The template version is invalid: {reason}. | 400 |模板版本不正确,reason为具体原因。 |'."\n" + .'| UnknownUserParameter |The Parameter ({name}) was not defined in template. | 400 |传递的参数在模板中未定义,name为参数名。 |'."\n" + .'| UserParameterMissing |The Parameter {name} was not provided. | 400 |参数在模板中已定义,但未传递值,name为参数名。 |'."\n" + .'| StackGroupExists |The StackGroup ({name}) already exists. | 409 |同名资源栈组已存在,name为资源栈组名称。 |'."\n" + .'| TemplateNotFound |The Tempalte ({ ID }) could not be found. | 404 |模板不存在。ID为模板ID。 |'."\n" + .'| TemplateNotFound |The Template { ID } with version { version } could not be found. | 404 |模板或指定版本不存在。ID为模板ID,version为模板版本。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateStackGroup'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"StackGroupId\\": \\"2c036e78-9e82-428e-afd6-177f5d04****\\"\\n}","type":"json"}]', + ], + 'CreateStackInstances' => [ + 'summary' => 'Creates stack instances for one or more accounts in the specified regions.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '12672', + 'abilityTreeNodes' => ['FEATURErosTBD793'], ], 'parameters' => [ [ - 'name' => 'StackId', + 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => 'The region ID of the stack group.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'StackGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the stack group. The name must be unique within a region.<br>The name can be up to 255 characters in length. It must start with a letter or a digit and can contain letters, digits, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], + ], + [ + 'name' => 'AccountIds', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', + 'description' => 'The IDs of the destination accounts where you want to create stacks using self-managed permissions. You can specify up to 50 account IDs.'."\n" + ."\n" + .'> You can specify only one of the `AccountIds` and `DeploymentTargets` parameters.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the destination accounts where you want to create stacks using self-managed permissions. You can specify up to 50 account IDs.'."\n" + ."\n" + .'> You can specify only one of the `AccountIds` and `DeploymentTargets` parameters.', 'type' => 'string', 'required' => false, 'example' => '["151266687691****", "141261387191****"]', 'title' => ''], + 'required' => false, + 'docRequired' => false, + 'example' => '["151266687691****","141261387191****"]', + 'title' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'RegionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the destination regions. You can specify up to 20 region IDs.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the destination regions. You can specify up to 20 region IDs.', 'type' => 'string', 'required' => false, 'example' => '["cn-hangzhou","cn-beijing"]', 'title' => ''], 'required' => true, 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'example' => '["cn-hangzhou", "cn-beijing"]', + 'title' => '', ], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.\\'."\n" - .'The token can be up to 64 characters in length.\\'."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request. The client generates the token, which must be globally unique.<br>The token can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).<br>For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'OutputOption', + 'name' => 'OperationDescription', + 'in' => 'query', + 'schema' => ['description' => 'The description of the operation to create the stacks.'."\n" + ."\n" + .'The description must be 1 to 256 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Create stack instances in hangzhou and beijing', 'title' => ''], + ], + [ + 'name' => 'OperationPreferences', + 'in' => 'query', + 'style' => 'json', + 'schema' => ['description' => 'The preferences for the operation.'."\n" + ."\n" + .'The following parameters are available:'."\n" + ."\n" + .'- {"FailureToleranceCount": N}'."\n" + ."\n" + .' The number of accounts per region in which the operation can fail. If the number of failed operations in a region exceeds this value, Resource Orchestration Service (ROS) stops the operation in that region. If the operation is stopped in a region, the operation is not performed in other regions.'."\n" + ."\n" + .' The value of N can be an integer from 0 to 20.'."\n" + ."\n" + .' If you do not specify this parameter, the default value is 0.'."\n" + ."\n" + .'- {"FailureTolerancePercentage": N}'."\n" + ."\n" + .' The percentage of accounts per region in which the operation can fail, relative to the total number of accounts. If the percentage of failed operations in a region exceeds this value, ROS stops the operation in that region.'."\n" + ."\n" + .' The value of N can be an integer from 0 to 100. If the percentage is not an integer, ROS rounds down the value.'."\n" + ."\n" + .' If you do not specify this parameter, the default value is 0.'."\n" + ."\n" + .'- {"MaxConcurrentCount": N}'."\n" + ."\n" + .' The maximum number of accounts in each region where stacks can be deployed at the same time.'."\n" + ."\n" + .' The value of N can be an integer from 1 to 20.'."\n" + ."\n" + .' If you do not specify this parameter, the default value is 1.'."\n" + ."\n" + .'- {"MaxConcurrentPercentage": N}'."\n" + ."\n" + .' The percentage of accounts in each region where stacks can be deployed at the same time, relative to the total number of accounts.'."\n" + ."\n" + .' The value of N can be an integer from 1 to 100. If the percentage is not an integer, ROS rounds down the value.'."\n" + ."\n" + .' If you do not specify this parameter, the default value is 1.'."\n" + ."\n" + .'- {"RegionConcurrencyType": N}<br>The concurrency type of deployment regions. Valid values:'."\n" + ."\n" + .' - SEQUENTIAL (default): Deploys stacks in the specified regions one by one. Stacks are deployed in only one region at a time.'."\n" + ."\n" + .' - PARALLEL: Deploys stacks in all specified regions at the same time.'."\n" + ."\n" + .'Separate multiple parameters with commas (,).'."\n" + ."\n" + .'> - You cannot specify MaxConcurrentCount and MaxConcurrentPercentage at the same time.'."\n" + .'>'."\n" + .'> - You cannot specify FailureToleranceCount and FailureTolerancePercentage at the same time.', 'type' => 'object', 'required' => false, 'docRequired' => false, 'example' => '{"FailureToleranceCount": 1, "MaxConcurrentCount": 2}', 'title' => ''], + ], + [ + 'name' => 'TimeoutInMinutes', 'in' => 'query', + 'schema' => ['description' => 'The timeout period for creating the stacks.'."\n" + ."\n" + .'- Default value: 60.'."\n" + ."\n" + .'- Unit: minutes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '1440', 'minimum' => '10', 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'DisableRollback', + 'in' => 'query', + 'schema' => ['description' => 'Indicates whether to disable rollback when a stack fails to be created.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Disables rollback.'."\n" + ."\n" + .'- false (default): Enables rollback.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ParameterOverrides', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to return Outputs. Valid values:'."\n" - ."\n" - .'* Enabled (default)'."\n" - .'* Disabled'."\n" - ."\n" - .'> The Outputs parameter requires a long period of time to calculate. If you do not require Outputs of the stack, we recommend that you set OutputOption to Disabled to improve the response speed of the GetStack operation.'."\n", - 'type' => 'string', + 'description' => 'A list of parameters that overwrite the template parameters.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The name of the parameter to overwrite. If you do not specify this parameter, ROS uses the parameter name that was specified when the stack group was created.'."\n" + ."\n" + .'You can specify up to 200 parameters.'."\n" + ."\n" + .'> - ParameterOverrides is optional.'."\n" + .'>'."\n" + .'> - If you specify ParameterOverrides, you must specify both ParameterOverrides.N.ParameterKey and ParameterOverrides.N.ParameterValue.', 'type' => 'string', 'required' => true, 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter to overwrite. If you do not specify this parameter, ROS uses the parameter value that was specified when the stack group was created.'."\n" + ."\n" + .'You can specify up to 200 parameters.'."\n" + ."\n" + .'> - ParameterOverrides is optional.'."\n" + .'>'."\n" + .'> - If you specify ParameterOverrides, you must specify both ParameterOverrides.N.ParameterKey and ParameterOverrides.N.ParameterValue.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'docRequired' => false, - 'example' => 'Disabled', + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ShowResourceProgress', + 'name' => 'DeploymentTargets', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether to return information about ResourceProgress. Valid values:'."\n" - ."\n" - .'* Disabled (default): does not return information about ResourceProgress.'."\n" - .'* PercentageOnly: returns StackOperationProgress and StackActionProgress of ResourceProgress.'."\n" - ."\n" - .'> ROS and Terraform stacks are supported. Creation, resumed creation, update, deletion, import, and rollback operations on stacks are supported.'."\n" - ."\n" - .'* EnabledIfCreateStack (not recommend): returns \\*Count and InProgressResourceDetails of ResourceProgress only during a stack creation operation.'."\n" + 'description' => 'The deployment targets for deploying stacks in service-managed permission mode.'."\n" ."\n" - .'> During a creation operation, a stack is in one of the following states: CREATE_IN_PROGRESS, CREATE_COMPLETE, CREATE_FAILED, CREATE_ROLLBACK_IN_PROGRESS, CREATE_ROLLBACK_COMPLETE, and CREATE_ROLLBACK_FAILED.'."\n", - 'type' => 'string', + .'> You can specify only one of the `AccountIds` and `DeploymentTargets` parameters.', + 'type' => 'object', + 'properties' => [ + 'RdFolderIds' => [ + 'description' => 'The IDs of the folders in the resource directory. You can specify up to 20 folder IDs.'."\n" + ."\n" + .'You can create stacks in all the member accounts in the specified folders. If you select the root folder, stacks are created in all the member accounts in the resource directory.'."\n" + ."\n" + .'> You can view the folder IDs on the **Overview** page in the **Resource Management** console. For more information, see [View the basic information of a folder](~~111223~~).', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the folders in the resource directory. You can specify up to 20 folder IDs.'."\n" + ."\n" + .'You can create stacks in all the member accounts in the specified folders. If you select the root folder, stacks are created in all the member accounts in the resource directory.'."\n" + ."\n" + .'> You can view the folder IDs on the **Overview** page in the **Resource Management** console. For more information, see [View the basic information of a folder](~~111223~~).', 'type' => 'string', 'required' => false, 'example' => '["fd-4PvlVLOL8v"]', 'title' => ''], + 'required' => true, + 'docRequired' => true, + 'title' => '', + 'example' => '', + ], + 'AccountIds' => [ + 'type' => 'array', + 'items' => ['description' => 'The IDs of the member accounts in the resource directory. You can specify up to 30 member account IDs.'."\n" + ."\n" + .'> You can view the member account IDs on the **Overview** page in the **Resource Management** console. For more information, see [View the details of a member](~~111624~~).', 'type' => 'string', 'required' => false, 'example' => '["151266687691****","141261387191****"]', 'title' => ''], + 'description' => 'The IDs of the member accounts in the resource directory. You can specify up to 30 member account IDs.'."\n" + ."\n" + .'> You can view the member account IDs on the Overview page in the Resource Management console. For more information, see View the details of a member.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => 'Disabled', + 'example' => '{"RdFolderId": "fd-4PvlVLOL8v"}', + 'title' => '', ], ], [ - 'name' => 'LogOption', + 'name' => 'DeploymentOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The option for returning logs. Valid values:'."\n" + 'type' => 'array', + 'items' => ['description' => 'Valid value:'."\n" ."\n" - .'* None: does not return logs.'."\n" - .'* Stack (default): returns the logs of the stack.'."\n" - .'* Resource: returns the logs of resources in the stack.'."\n" - .'* All: returns all logs.'."\n", - 'type' => 'string', + .'- IgnoreExisting: Ignores the error that is reported if the stack instance that you want to create already exists.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + 'maxItems' => 1, + 'description' => 'The deployment options for deploying stacks in service-managed permission mode. You can specify up to one deployment option.', 'required' => false, - 'example' => 'Stack', + 'title' => '', + 'example' => '', ], ], ], @@ -2597,774 +2225,449 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The state of the stack. Valid values:'."\n" - ."\n" - .'* CREATE_IN_PROGRESS: The stack is being created.'."\n" - .'* CREATE_FAILED: The stack failed to be created.'."\n" - .'* CREATE_COMPLETE: The stack is created.'."\n" - .'* UPDATE_IN_PROGRESS: The stack is being updated.'."\n" - .'* UPDATE_FAILED: The stack failed to be updated.'."\n" - .'* UPDATE_COMPLETE: The stack is updated.'."\n" - .'* DELETE_IN_PROGRESS: The stack is being deleted.'."\n" - .'* DELETE_FAILED: The stack failed to be deleted.'."\n" - .'* CREATE_ROLLBACK_IN_PROGRESS: The resources are being rolled back after the stack failed to be created.'."\n" - .'* CREATE_ROLLBACK_FAILED: The resources failed to be rolled back after the stack failed to be created.'."\n" - .'* CREATE_ROLLBACK_COMPLETE: The resources are rolled back after the stack failed to be created.'."\n" - .'* ROLLBACK_IN_PROGRESS: The resources of the stack are being rolled back.'."\n" - .'* ROLLBACK_FAILED: The resources of the stack failed to be rolled back.'."\n" - .'* ROLLBACK_COMPLETE: The resources of the stack are rolled back.'."\n" - .'* CHECK_IN_PROGRESS: The stack is being validated.'."\n" - .'* CHECK_FAILED: The stack failed to be validated.'."\n" - .'* CHECK_COMPLETE: The stack is validated.'."\n" - .'* REVIEW_IN_PROGRESS: The stack is being reviewed.'."\n" - .'* IMPORT_CREATE_IN_PROGRESS: The stack is being created by using imported resources.'."\n" - .'* IMPORT_CREATE_FAILED: The stack failed to be created by using imported resources.'."\n" - .'* IMPORT_CREATE_COMPLETE: The stack is created by using imported resources.'."\n" - .'* IMPORT_CREATE_ROLLBACK_IN_PROGRESS: The resources are being rolled back after the stack failed to be created by using imported resources.'."\n" - .'* IMPORT_CREATE_ROLLBACK_FAILED: The resources failed to be rolled back after the stack failed to be created by using imported resources.'."\n" - .'* IMPORT_CREATE_ROLLBACK_COMPLETE: The resources are rolled back after the stack failed to be created by using imported resources.'."\n" - .'* IMPORT_UPDATE_IN_PROGRESS: The stack is being updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_FAILED: The stack failed to be updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_COMPLETE: The stack is updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_ROLLBACK_IN_PROGRESS: The resources are being rolled back after the stack failed to be updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_ROLLBACK_FAILED: The resources failed to be rolled back after the stack failed to be updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_ROLLBACK_COMPLETE: The resources are rolled back after the stack failed to be updated by using imported resources.'."\n", - 'type' => 'string', - 'example' => 'CREATE_COMPLETE', - ], - 'Description' => [ - 'description' => 'The description of the stack.'."\n", - 'type' => 'string', - 'example' => 'Create a VPC.', - ], - 'Parameters' => [ - 'description' => 'The parameters of the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::Region', - ], - 'ParameterValue' => [ - 'description' => 'The parameter value.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - 'description' => '', - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'StatusReason' => [ - 'description' => 'The reason why the stack is in its current state.'."\n", - 'type' => 'string', - 'example' => 'Stack CREATE completed successfully', - ], - 'ParentStackId' => [ - 'description' => 'The ID of the parent stack.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf692****', - ], - 'CreateTime' => [ - 'description' => 'The time when the stack was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2020-09-16T08:21:40', - ], - 'DeletionProtection' => [ - 'description' => 'Indicates whether deletion protection is enabled for the stack. Valid values:'."\n" - ."\n" - .'* Enabled: Deletion protection is enabled for the stack.'."\n" - .'* Disabled: Deletion protection is disabled for the stack. You can delete the stack by using the ROS console or by calling the DeleteStack operation.'."\n" - ."\n" - .'> Deletion protection of a nested stack is the same as deletion protection of its root stack.'."\n", - 'type' => 'string', - 'example' => 'Disabled', - ], - 'RootStackId' => [ - 'description' => 'The ID of the root stack. This parameter is returned if the specified stack is a nested stack.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf692****', - ], - 'TemplateDescription' => [ - 'description' => 'The description of the template.'."\n", - 'type' => 'string', - 'example' => 'Create a VPC.', - ], - 'StackType' => [ - 'description' => 'The stack type. Valid values:'."\n" - ."\n" - .'* ROS: ROS stack. The stack is created by using a ROS template.'."\n" - .'* Terraform: Terraform stack. The stack is created by using a Terraform template.'."\n", - 'type' => 'string', - 'example' => 'ROS', - ], - 'RamRoleName' => [ - 'description' => 'The name of the Resource Access Management (RAM) role. ROS assumes the RAM role to create the stack and uses the credentials of the role to call the APIs of Alibaba Cloud services.\\'."\n" - .'ROS assumes the RAM role to perform operations on the stack. If you have permissions to perform operations on the stack, ROS assumes the RAM role even if you do not have permissions to use the RAM role. You must make sure that permissions are granted to the RAM role based on the principle of least privilege.\\'."\n" - .'If this parameter is not specified, ROS uses the existing role that is associated with the stack. If no roles are available, ROS uses a temporary credential that is generated from the credentials of your account.\\'."\n" - .'The RAM role name can be up to 64 characters in length.'."\n", - 'type' => 'string', - 'example' => 'test-role', - ], - 'UpdateTime' => [ - 'description' => 'The time when the stack was updated. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2020-09-17T08:21:40', - ], - 'Outputs' => [ - 'description' => 'The outputs of the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The output of the stack.'."\n" - ."\n" - .'> This parameter is returned if OutputOption is set to Enabled.'."\n", - 'type' => 'object', - 'example' => '[{"Description": "VPC ID","OutputKey": "VpcId","OutputValue": "vpc-bp1m6fww66xbntjyc****"}]', - ], - ], - 'DriftDetectionTime' => [ - 'description' => 'The time when the most recent successful drift detection was performed on the stack.'."\n", - 'type' => 'string', - 'example' => '2020-09-16T09:21:40', - ], - 'RegionId' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'StackDriftStatus' => [ - 'description' => 'The state of the stack on which the most recent successful drift detection was performed. Valid values:'."\n" - ."\n" - .'* DRIFTED: The stack has drifted.'."\n" - .'* NOT_CHECKED: No successful drift detection is performed on the stack.'."\n" - .'* IN_SYNC: The stack is being synchronized.'."\n", - 'type' => 'string', - 'example' => 'IN_SYNC', - ], - 'NotificationURLs' => [ - 'description' => 'The callback URLs for receiving stack events.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The callback URL for receiving stack events.'."\n", - 'type' => 'string', - 'example' => '["http://127.XX.XX.1:8080/x", "http://127.0.XX.XX:8080/y"]', - ], - ], - 'DisableRollback' => [ - 'description' => 'Indicates whether rollback is disabled when the stack fails to be created. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'StackName' => [ - 'description' => 'The stack name.\\'."\n" - .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). The name must start with a digit or letter.'."\n", - 'type' => 'string', - 'example' => 'MyStack', - ], - 'Tags' => [ - 'description' => 'The tags of the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the stack.'."\n", - 'type' => 'string', - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The tag value of the stack.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - 'description' => '', - ], - ], - 'TimeoutInMinutes' => [ - 'description' => 'The timeout period for creating the stack. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'StackId' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmxazb4ph6aiy****', - ], - 'ResourceProgress' => [ - 'description' => 'The resource creation progress.'."\n", - 'type' => 'object', - 'properties' => [ - 'TotalResourceCount' => [ - 'description' => 'The total number of resources.'."\n" - ."\n" - .'> This parameter is returned only if `ShowResourceProgress` is set to `EnabledIfCreateStack`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'SuccessResourceCount' => [ - 'description' => 'The number of resources that are created.'."\n" - ."\n" - .'> This parameter is returned only if `ShowResourceProgress` is set to `EnabledIfCreateStack`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'FailedResourceCount' => [ - 'description' => 'The number of resources that failed to be created.'."\n" - ."\n" - .'> This parameter is returned only if `ShowResourceProgress` is set to `EnabledIfCreateStack`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InProgressResourceCount' => [ - 'description' => 'The number of resources that are being created.'."\n" - ."\n" - .'> This parameter is returned only if `ShowResourceProgress` is set to `EnabledIfCreateStack`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PendingResourceCount' => [ - 'description' => 'The number of resources to be created.'."\n" - ."\n" - .'> This parameter is returned only if `ShowResourceProgress` is set to `EnabledIfCreateStack`.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InProgressResourceDetails' => [ - 'description' => 'The progress details of resources that are being created.'."\n" - ."\n" - .'> This parameter is returned only if `ShowResourceProgress` is set to `EnabledIfCreateStack`.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ResourceName' => [ - 'description' => 'The resource name.'."\n", - 'type' => 'string', - 'example' => 'WaitCondition', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ROS::WaitCondition', - ], - 'ProgressValue' => [ - 'description' => 'The current progress value of the resource.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '5', - ], - 'ProgressTargetValue' => [ - 'description' => 'The desired progress value of the resource.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '10', - ], - ], - ], - ], - 'StackOperationProgress' => [ - 'description' => 'The overall creation progress of the stack, in percentage. Valid values: 0 to 100.'."\n" - ."\n" - .'The value progressively increases from 0 to 100 during a stack creation operation. If the stack is created, the value reaches 100. If the stack fails to be created, a rollback is started for the stack resources, and the value progressively decreases. The value decreases to 0 when the stack resources are rolled back. This parameter indicates only the overall creation progress, regardless of whether during a stack creation or rollback operation.'."\n" - ."\n" - .'> This parameter is returned only if `ShowResourceProgress` is set to `PercentageOnly`.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], - 'StackActionProgress' => [ - 'description' => 'The creation or rollback progress of the stack, in percentage. Valid values: 0 to 100.'."\n" - ."\n" - .'The value progressively increases from 0 to 100 during a stack creation operation. If the stack is created, the value reaches 100. If the stack fails to be created, a rollback is started for the stack resources, and the value progressively increases from the percentage of the remaining progress (100 - Progress value generated when the stack fails to be created). The value increases to 100 when the stack resources are rolled back. This parameter indicates the creation progress during a stack creation operation and indicates the rollback progress during a stack rollback operation.'."\n" - ."\n" - .'> This parameter is returned only if `ShowResourceProgress` is set to `PercentageOnly`.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], - ], - ], - 'Log' => [ - 'description' => 'The log of the stack.'."\n", - 'type' => 'object', - 'properties' => [ - 'TerraformLogs' => [ - 'description' => 'The logs generated when the Terraform stack is run. This parameter is returned only for a Terraform stack. This parameter is returned if LogOption is left empty or set to Stack or All.'."\n" - ."\n" - .'> This parameter is not returned for a running stack. The logs are generated from the most recent operation on the stack, such as the creation, resumed creation, update, or deletion operation.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'test', - 'type' => 'object', - 'properties' => [ - 'Command' => [ - 'description' => 'The name of the Terraform command that is run. Valid values:'."\n" - ."\n" - .'* apply'."\n" - .'* plan'."\n" - .'* destroy'."\n" - .'* version'."\n" - ."\n" - .'For more information about Terraform commands, see [Basic CLI Features](https://www.terraform.io/cli/commands).'."\n", - 'type' => 'string', - 'example' => 'apply', - ], - 'Stream' => [ - 'description' => 'The output stream. Valid values:'."\n" - ."\n" - .'* stdout: standard output stream'."\n" - .'* stderr: standard error stream'."\n", - 'type' => 'string', - 'example' => 'stdout', - ], - 'Content' => [ - 'description' => 'The content of the output stream that is returned after the command is run.'."\n", - 'type' => 'string', - 'example' => 'Apply complete! Resources: 42 added, 0 changed, 0 destroyed.', - ], - ], - ], - ], - 'ResourceLogs' => [ - 'description' => 'The logs of resources in the stack. This parameter is returned if LogOption is set to Resource or All.'."\n" - ."\n" - .'> The logs are returned only for resources of specific types, such as the `ALIYUN::ROS::ResourceCleaner` type.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'test', - 'type' => 'object', - 'properties' => [ - 'ResourceName' => [ - 'description' => 'The name of the resource that is defined in the template.'."\n", - 'type' => 'string', - 'example' => 'MyResourceCleaner', - ], - 'Logs' => [ - 'description' => 'All the logs that are associated with the resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'test', - 'type' => 'object', - 'properties' => [ - 'Keys' => [ - 'description' => 'The keywords of a resource log.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The keyword of a resource log.'."\n", - 'type' => 'string', - 'example' => 'ResourceDetails', - ], - ], - 'Content' => [ - 'description' => 'The content of a resource log.'."\n", - 'type' => 'string', - 'example' => '[]', - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'TemplateId' => [ - 'description' => 'The template ID. This parameter is returned only if the current stack template is a custom template or shared template.'."\n" - ."\n" - .'If the template is a shared template, the value of this parameter is the same as the value of TemplateARN.'."\n", - 'type' => 'string', - 'example' => 'a52f81be-496f-4e1c-a286-8852ab54****', - ], - 'TemplateVersion' => [ - 'description' => 'The version of the template. This parameter is returned only if the current stack template is a custom template or shared template.'."\n" - ."\n" - .'If the template is a shared template, this parameter is returned only if VersionOption is set to AllVersions.'."\n" - ."\n" - .'Valid values: v1 to v100.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'TemplateScratchId' => [ - 'description' => 'The ID of the resource scenario. This parameter is returned only if the current template of the stack is generated from a resource scenario.'."\n", - 'type' => 'string', - 'example' => 'ts-7f7a704cf71c49a6****', - ], - 'TemplateURL' => [ - 'description' => 'The URL of the file that contains the template body. This parameter is returned only if the current template of the stack is from a URL. The URL can point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket.'."\n", - 'type' => 'string', - 'example' => 'oss://ros/template/demo', - ], - 'Interface' => [ - 'description' => 'The description of the console user interface (UI).'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'ServiceManaged' => [ - 'description' => 'Indicates whether the stack is a managed stack. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ServiceName' => [ - 'description' => 'The name of the service to which the managed stack belongs.'."\n", - 'type' => 'string', - 'example' => 'ACVS', - ], - 'OperationInfo' => [ - 'description' => 'The supplementary information that is returned if an error occurs on a stack operation.'."\n" - ."\n" - .'> This parameter is returned together with at least one sub-parameter and only under specific conditions. For example, the supplementary information is returned when an API operation of another Alibaba Cloud service fails to be called.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The error code.'."\n", - 'type' => 'string', - 'example' => 'DependencyViolation', - ], - 'Message' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'There is still instance(s) in the specified security group.', - ], - 'RequestId' => [ - 'description' => 'The ID of the request that is initiated to call the API operation of another Alibaba Cloud service.'."\n", - 'type' => 'string', - 'example' => '071D6166-3F6B-5C7B-A1F0-0113FBB643A8', - ], - 'Action' => [ - 'description' => 'The name of the API operation that belongs to another Alibaba Cloud service.'."\n", - 'type' => 'string', - 'example' => 'DeleteSecurityGroup', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource on which the operation error occurs.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::SecurityGroup', - ], - 'LogicalResourceId' => [ - 'description' => 'The logical ID of the resource on which the operation error occurs.'."\n", - 'type' => 'string', - 'example' => 'EcsSecurityGroup', - ], - ], - ], - 'OrderIds' => [ - 'description' => 'The order IDs. This parameter is returned only if you configured manual payment when you created a subscription stack.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The order ID.'."\n", - 'type' => 'string', - 'example' => '2161413696****', - ], - ], - 'CheckedStackResourceCount' => [ - 'description' => 'The number of resources on which drift detection was performed.'."\n" - ."\n" - .'> This parameter is returned only if the most recent drift detection on the stack was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'NotCheckedStackResourceCount' => [ - 'description' => 'The number of resources on which drift detection was not performed.'."\n" - ."\n" - .'> This parameter is returned only if the most recent drift detection on the stack was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RollbackFailedRootReason' => [ - 'description' => '当资源栈状态为回滚失败时,该字段展示导致回滚的前一阶段执行失败的原因。', - 'type' => 'string', - 'example' => 'Resource UPDATE failed: Exception: resources.FailToCreate: FailToCreate: reason', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'OperationId' => ['description' => 'The ID of the operation.', 'type' => 'string', 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"Description\\": \\"Create a VPC.\\",\\n \\"Parameters\\": [\\n {\\n \\"ParameterKey\\": \\"ALIYUN::Region\\",\\n \\"ParameterValue\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StatusReason\\": \\"Stack CREATE completed successfully\\",\\n \\"ParentStackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf692****\\",\\n \\"CreateTime\\": \\"2020-09-16T08:21:40\\",\\n \\"DeletionProtection\\": \\"Disabled\\",\\n \\"RootStackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf692****\\",\\n \\"TemplateDescription\\": \\"Create a VPC.\\",\\n \\"StackType\\": \\"ROS\\",\\n \\"RamRoleName\\": \\"test-role\\",\\n \\"UpdateTime\\": \\"2020-09-17T08:21:40\\",\\n \\"Outputs\\": [\\n [\\n {\\n \\"Description\\": \\"VPC ID\\",\\n \\"OutputKey\\": \\"VpcId\\",\\n \\"OutputValue\\": \\"vpc-bp1m6fww66xbntjyc****\\"\\n }\\n ]\\n ],\\n \\"DriftDetectionTime\\": \\"2020-09-16T09:21:40\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"StackDriftStatus\\": \\"IN_SYNC\\",\\n \\"NotificationURLs\\": [\\n \\"[\\\\\\"http://127.XX.XX.1:8080/x\\\\\\", \\\\\\"http://127.0.XX.XX:8080/y\\\\\\"]\\"\\n ],\\n \\"DisableRollback\\": false,\\n \\"StackName\\": \\"MyStack\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"TimeoutInMinutes\\": 10,\\n \\"StackId\\": \\"c754d2a4-28f1-46df-b557-9586173a****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"ResourceProgress\\": {\\n \\"TotalResourceCount\\": 2,\\n \\"SuccessResourceCount\\": 1,\\n \\"FailedResourceCount\\": 0,\\n \\"InProgressResourceCount\\": 1,\\n \\"PendingResourceCount\\": 0,\\n \\"InProgressResourceDetails\\": [\\n {\\n \\"ResourceName\\": \\"WaitCondition\\",\\n \\"ResourceType\\": \\"ALIYUN::ROS::WaitCondition\\",\\n \\"ProgressValue\\": 5,\\n \\"ProgressTargetValue\\": 10\\n }\\n ],\\n \\"StackOperationProgress\\": 100,\\n \\"StackActionProgress\\": 100\\n },\\n \\"Log\\": {\\n \\"TerraformLogs\\": [\\n {\\n \\"Command\\": \\"apply\\",\\n \\"Stream\\": \\"stdout\\",\\n \\"Content\\": \\"Apply complete! Resources: 42 added, 0 changed, 0 destroyed.\\"\\n }\\n ],\\n \\"ResourceLogs\\": [\\n {\\n \\"ResourceName\\": \\"MyResourceCleaner\\",\\n \\"Logs\\": [\\n {\\n \\"Keys\\": [\\n \\"ResourceDetails\\"\\n ],\\n \\"Content\\": \\"[]\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"TemplateId\\": \\"a52f81be-496f-4e1c-a286-8852ab54****\\",\\n \\"TemplateVersion\\": \\"v1\\",\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\",\\n \\"TemplateURL\\": \\"oss://ros/template/demo\\",\\n \\"Interface\\": \\"{}\\",\\n \\"ServiceManaged\\": false,\\n \\"ServiceName\\": \\"ACVS\\",\\n \\"OperationInfo\\": {\\n \\"Code\\": \\"DependencyViolation\\",\\n \\"Message\\": \\"There is still instance(s) in the specified security group.\\",\\n \\"RequestId\\": \\"071D6166-3F6B-5C7B-A1F0-0113FBB643A8\\",\\n \\"Action\\": \\"DeleteSecurityGroup\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"LogicalResourceId\\": \\"EcsSecurityGroup\\"\\n },\\n \\"OrderIds\\": [\\n \\"2161413696****\\"\\n ],\\n \\"CheckedStackResourceCount\\": 1,\\n \\"NotCheckedStackResourceCount\\": 1,\\n \\"RollbackFailedRootReason\\": \\"Resource UPDATE failed: Exception: resources.FailToCreate: FailToCreate: reason\\"\\n}","errorExample":""},{"type":"xml","example":"<GetStackResponse>\\n <Status>CREATE_COMPLETE</Status>\\n <Description>Create a VPC.</Description>\\n <Parameters>\\n <ParameterKey>ALIYUN::Region</ParameterKey>\\n <ParameterValue>cn-hangzhou</ParameterValue>\\n </Parameters>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n <StatusReason>Stack CREATE completed successfully</StatusReason>\\n <ParentStackId>4a6c9851-3b0f-4f5f-b4ca-a14bf692****</ParentStackId>\\n <CreateTime>2020-09-16T08:21:40</CreateTime>\\n <DeletionProtection>Disabled</DeletionProtection>\\n <RootStackId>4a6c9851-3b0f-4f5f-b4ca-a14bf692****</RootStackId>\\n <TemplateDescription>Create a VPC.</TemplateDescription>\\n <StackType>ROS</StackType>\\n <RamRoleName>test-role</RamRoleName>\\n <UpdateTime>2020-09-17T08:21:40</UpdateTime>\\n <Outputs/>\\n <DriftDetectionTime>2020-09-16T09:21:40</DriftDetectionTime>\\n <RegionId>cn-hangzhou</RegionId>\\n <StackDriftStatus>IN_SYNC</StackDriftStatus>\\n <NotificationURLs>[\\"http://127.XX.XX.1:8080/x\\", \\"http://127.0.XX.XX:8080/y\\"]</NotificationURLs>\\n <DisableRollback>false</DisableRollback>\\n <StackName>MyStack</StackName>\\n <Tags>\\n <Key>usage</Key>\\n <Value>test</Value>\\n </Tags>\\n <TimeoutInMinutes>10</TimeoutInMinutes>\\n <StackId>c754d2a4-28f1-46df-b557-9586173a****</StackId>\\n <ResourceGroupId>rg-acfmxazb4ph6aiy****</ResourceGroupId>\\n <ResourceProgress>\\n <TotalResourceCount>2</TotalResourceCount>\\n <SuccessResourceCount>1</SuccessResourceCount>\\n <FailedResourceCount>0</FailedResourceCount>\\n <InProgressResourceCount>1</InProgressResourceCount>\\n <PendingResourceCount>0</PendingResourceCount>\\n <InProgressResourceDetails>\\n <ResourceName>WaitCondition</ResourceName>\\n <ResourceType>ALIYUN::ROS::WaitCondition</ResourceType>\\n <ProgressValue>5</ProgressValue>\\n <ProgressTargetValue>10</ProgressTargetValue>\\n </InProgressResourceDetails>\\n </ResourceProgress>\\n <Log>\\n <TerraformLogs>\\n <Command>apply</Command>\\n <Stream>stdout</Stream>\\n <Content>Apply complete! Resources: 42 added, 0 changed, 0 destroyed.</Content>\\n </TerraformLogs>\\n <ResourceLogs>\\n <ResourceName>MyResourceCleaner</ResourceName>\\n <Logs>\\n <Keys>ResourceDetails</Keys>\\n <Content>[]</Content>\\n </Logs>\\n </ResourceLogs>\\n </Log>\\n <TemplateId>a52f81be-496f-4e1c-a286-8852ab54****</TemplateId>\\n <TemplateVersion>v1</TemplateVersion>\\n <TemplateScratchId>ts-7f7a704cf71c49a6****</TemplateScratchId>\\n <TemplateURL>oss://ros/template/demo</TemplateURL>\\n <Interface>{}</Interface>\\n <ServiceManaged>false</ServiceManaged>\\n <ServiceName>ACVS</ServiceName>\\n <OperationInfo>\\n <Code>DependencyViolation</Code>\\n <Message>There is still instance(s) in the specified security group.</Message>\\n <RequestId>071D6166-3F6B-5C7B-A1F0-0113FBB643A8</RequestId>\\n <Action>DeleteSecurityGroup</Action>\\n <ResourceType>ALIYUN::ECS::SecurityGroup</ResourceType>\\n <LogicalResourceId>EcsSecurityGroup</LogicalResourceId>\\n </OperationInfo>\\n</GetStackResponse>","errorExample":""}]', - 'title' => 'GetStack', - 'description' => 'In this example, the information about a stack whose ID is `c754d2a4-28f1-46df-b557-9586173a****` in the China (Hangzhou) region is queried.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', + 'title' => 'CreateStackInstances', + 'description' => '### Prerequisites'."\n" + ."\n" + .'Ensure that a stack group is created. For more information, see [CreateStackGroup](~~151333~~).'."\n" + ."\n" + .'### Scenarios'."\n" + ."\n" + .'#### Create stacks across accounts'."\n" + ."\n" + .'To create identical resources in multiple accounts, an administrator account can create a stack group, add multiple destination accounts, and deploy resources in a single region. This process creates multiple stacks in different accounts within the same region, improving deployment efficiency.'."\n" + ."\n" + .'#### Create stacks across regions'."\n" + ."\n" + .'To create identical resources in multiple regions, an administrator account can create a stack group, add a destination account, and deploy resources in multiple regions. This process creates multiple stacks in different regions within the same account, improving deployment efficiency.'."\n" + ."\n" + .'#### Create stacks across accounts and regions'."\n" + ."\n" + .'To create identical resources in multiple accounts across multiple regions, an administrator account can create a stack group, add multiple destination accounts, and deploy resources in multiple regions. This process creates multiple stacks in different accounts across different regions, improving deployment efficiency.'."\n" + ."\n" + .'This topic provides an example of creating stacks in the China (Hangzhou) and China (Beijing) regions in the Alibaba Cloud accounts `151266687691****` and `141261387191****`. The example uses a stack group named `MyStackGroup` that is created in the China (Hangzhou) region and uses self-managed permissions.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'ListStacks' => [ - 'summary' => 'Queries a list of stacks.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| StackInstanceExists |The StackInstance ({instance}) already exists. | 409 |该资源栈组在指定的目标账号和地域存在资源栈。instance为资源栈所属的目标账号和目标地域。 |'."\n" + .'| StackGroupOperationInProgress |Another Operation on StackGroup ({name}) is in progress. | 409 |资源栈组存在进行中的操作。name为资源栈组名称。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateStackInstances'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateStackInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], + ], + ], + ], ], + ], + 'CreateTemplate' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '12673', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n" - ."\n" - .'Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on a web server (HTTP or HTTPS) or in an Alibaba Cloud Object Storage Service (OSS) bucket, such as oss\\://ros/stack-policy/demo or oss\\://ros/stack-policy/demo?RegionId=cn-hangzhou. The template body must be 1 to 1,024 bytes in length. If you do not specify the region of the OSS bucket, the value of the RegionId parameter is used.'."\n" + ."\n" + .'> You must specify only one of the \\`TemplateBody\\` and \\`TemplateURL\\` parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/template/demo', 'title' => ''], ], [ - 'name' => 'ParentStackId', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the parent stack.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The description of the template. The description can be up to 256 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'It is a demo.', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The structure of the template body. The template body must be 1 to 524,288 bytes in length. If the template body is large, specify the parameter in the request body to prevent request failures caused by an excessively long URL.'."\n" + ."\n" + .'> You can specify only one of the \\`TemplateBody\\`, \\`TemplateURL\\`, and \\`TemplateId\\` parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], + ], + [ + 'name' => 'TemplateName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The name of the template. The name can be up to 255 characters in length. It must start with a digit, letter, or Chinese character. It can contain digits, letters, Chinese characters, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyTemplate', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.'."\n" + .'For more information about resource groups, see [What is a resource group?](~~94475~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The page number.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'The tags of the template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the template.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the template.'."\n" + ."\n" + .'> Tags is an optional parameter. If you specify Tags, you must specify \\`Tags.N.Key\\`.', 'type' => 'string', 'required' => true, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the template.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'docRequired' => false, - 'example' => '1', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ShowNestedStack', + 'name' => 'ValidationOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to return nested stacks. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n" + 'type' => 'array', + 'items' => ['description' => 'The validation option. Valid value:'."\n" ."\n" - .'> If you specify ParentStackId, you must set ShowNestedStack to true.'."\n", - 'type' => 'boolean', + .'- BasicValidation: performs only basic validation on the structure of the template.', 'type' => 'string', 'required' => false, 'example' => 'BasicValidation', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => 'true', + 'maxItems' => 1, + 'description' => 'The validation options.'."\n" + ."\n" + .'By default, no options are enabled and strict validation is performed.', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'StackId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The stack ID. You can specify this parameter to query only the stack ID. If you want to query the detailed information about the stack, call the GetStack operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8C5D90E1-66B6-496C-9371-3807F8DA80A8', 'title' => ''], + 'TemplateId' => ['description' => 'The template ID.', 'type' => 'string', 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'CreateTemplate', + 'summary' => 'Creates a custom template.', + 'description' => 'This topic provides an example of how to create a template named `MyTemplate` in the China (Hangzhou) region (`cn-hangzhou`). The `TemplateBody` parameter is set to `{"ROSTemplateFormatVersion": "2015-09-01"}`.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~315526~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | InvalidSchema |{reason}. |模板格式不正确。reason为具体原因。 |'."\n" + .'| 400 | InvalidTemplateAttribute |The Referenced Attribute ({resource} {name}) is incorrect. |模板包含不正确的资源属性(输出)引用。resource为资源名,name为属性名。 |'."\n" + .'| 400 | InvalidTemplatePropertyType |The specified value type of ({resource} {section}) is incorrect. |模板资源定义中的字段类型不正确。resource为资源名,section为字段名。 |'."\n" + .'| 400 | InvalidTemplateReference |The specified reference "{name}" (in {referencer}) is incorrect. |模板包含不正确的引用。name为引用名,referencer为引用者。 |'."\n" + .'| 400 | InvalidTemplateSection |The template section is invalid: {section}. |模板包含无效的字段。section为字段名。 |'."\n" + .'| 400 | InvalidTemplateVersion |The template version is invalid: {reason}. |模板版本不正确。reason为具体原因。 |'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTemplate'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8C5D90E1-66B6-496C-9371-3807F8DA80A8\\",\\n \\"TemplateId\\": \\"5ecd1e10-b0e9-4389-a565-e4c15efc****\\"\\n}","type":"json"}]', + ], + 'CreateTemplateScratch' => [ + 'summary' => 'Creates templatescratch: scenario.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '69533', + 'abilityTreeNodes' => ['FEATURErosUSKZAD', 'FEATURErosHDIJ7A', 'FEATURErosSKHQLM'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the resource scenario.'."\n" + ."\n" + .'You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], [ - 'name' => 'Status', + 'name' => 'TemplateScratchType', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The type of the resource scenario. Valid values:'."\n" + ."\n" + .'- ArchitectureReplication: resource replication'."\n" + ."\n" + .'- ArchitectureDetection: resource profiling'."\n" + ."\n" + .'- ResourceImport: resource management'."\n" + ."\n" + .'- ResourceMigration: resource migration'."\n" + ."\n" + .'> When you specify different values for the TemplateScratchType parameter, the optional parameters in the supplementary description of request parameters are also different. For more information, refer to **Supplementary description of request parameters** section below.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ArchitectureReplication', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the resource scenario.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Copy VPC resources.', 'title' => ''], + ], + [ + 'name' => 'SourceResources', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The status of the stack.'."\n", + 'description' => 'The source resources.'."\n" + ."\n" + .'When you set TemplateScratchType to ArchitectureDetection, you can specify SourceResources to detect the architecture data of all resources associated with the specified source resources. For example, if you specify a CLB instance ID, the system will detect and identify its associated resources such as ECS instances, vSwitches, and VPCs.'."\n" + ."\n" + .'If TemplateScratchType is set to ArchitectureDetection, you can specify up to **20 source resources**.'."\n" + ."\n" + .'In other cases, up to **200 source resources** are supported.', 'type' => 'array', 'items' => [ - 'description' => 'The state of the stack. Valid values:'."\n" - ."\n" - .'* CREATE_IN_PROGRESS: The stack is being created.'."\n" - .'* CREATE_FAILED: The stack fails to be created.'."\n" - .'* CREATE_COMPLETE: The stack is created.'."\n" - .'* UPDATE_IN_PROGRESS: The stack is being updated.'."\n" - .'* UPDATE_FAILED: The stack fails to be updated.'."\n" - .'* UPDATE_COMPLETE: The stack is updated.'."\n" - .'* DELETE_IN_PROGRESS: The stack is being deleted.'."\n" - .'* DELETE_FAILED: The stack fails to be deleted.'."\n" - .'* CREATE_ROLLBACK_IN_PROGRESS: The resources are being rolled back after the stack fails to be created.'."\n" - .'* CREATE_ROLLBACK_FAILED: The resources fail to be rolled back after the stack fails to be created.'."\n" - .'* CREATE_ROLLBACK_COMPLETE: The resources are rolled back after the stack fails to be created.'."\n" - .'* ROLLBACK_IN_PROGRESS: The resources of the stack are being rolled back.'."\n" - .'* ROLLBACK_FAILED: The resources of the stack fail to be rolled back.'."\n" - .'* ROLLBACK_COMPLETE: The resources of the stack are rolled back.'."\n" - .'* CHECK_IN_PROGRESS: The stack is being validated.'."\n" - .'* CHECK_FAILED: The stack fails to be validated.'."\n" - .'* CHECK_COMPLETE: The stack is validated.'."\n" - .'* REVIEW_IN_PROGRESS: The stack is being reviewed.'."\n" - .'* IMPORT_CREATE_IN_PROGRESS: The stack is being created by using imported resources.'."\n" - .'* IMPORT_CREATE_FAILED: The stack fails to be created by using imported resources.'."\n" - .'* IMPORT_CREATE_COMPLETE: The stack is created by using imported resources.'."\n" - .'* IMPORT_CREATE_ROLLBACK_IN_PROGRESS: The resources are being rolled back after the stack fails to be created by using imported resources.'."\n" - .'* IMPORT_CREATE_ROLLBACK_FAILED: The resources fail to be rolled back after the stack fails to be created by using imported resources.'."\n" - .'* IMPORT_CREATE_ROLLBACK_COMPLETE: The resources are rolled back after the stack fails to be created by using imported resources.'."\n" - .'* IMPORT_UPDATE_IN_PROGRESS: The stack is being updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_FAILED: The stack fails to be updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_COMPLETE: The stack is updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_ROLLBACK_IN_PROGRESS: The resources are being rolled back after the stack fails to be updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_ROLLBACK_FAILED: The resources fail to be rolled back after the stack fails to be updated by using imported resources.'."\n" - .'* IMPORT_UPDATE_ROLLBACK_COMPLETE: The resources are rolled back after the stack fails to be updated by using imported resources.'."\n", - 'type' => 'string', + 'description' => 'The source resource.', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'required' => true, 'example' => 'vpc-bp1m6fww66xbntjyc****', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'required' => true, 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the resource.'."\n" + ."\n" + .'You can call [DescribeRegions](~~131035~~) to query the most recent region list.'."\n" + ."\n" + .'> - This parameter takes effect only when TemplateScratchType is set to ArchitectureDetection.'."\n" + .'>'."\n" + .'> - The region ID of a global resource is `global`. For example, ALIYUN::CDN::Domain is a global resource, and its region ID is `global`.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], + 'RelatedResourceTypeFilter' => [ + 'description' => 'The related resource type filters.', + 'type' => 'array', + 'items' => ['description' => 'The related resource type filter.', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => 'CREATE_COMPLETE', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'CREATE_COMPLETE', - 'maxItems' => 5, + 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'StackName', + 'name' => 'SourceTag', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'json', 'schema' => [ - 'description' => 'The names of the stacks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of stack N.\\'."\n" - .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter. You can use the wildcard character (\\*) for fuzzy search.'."\n" + 'description' => 'The source tags.', + 'type' => 'object', + 'properties' => [ + 'ResourceTags' => ['description' => 'The source tags that consist of key-value pairs. If you want to specify only a tag key, set the tag value to an empty string, for example: `{"TagKey": ""}`.'."\n" ."\n" - .'Valid values of N: 1 to 5.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MyStack', + .'You can add up to 10 source tags. If you set TemplateScratchType to ArchitectureDetection, you can add up to 5 source tags.', 'type' => 'object', 'required' => true, 'example' => '{"a": "b"}', 'title' => ''], + 'ResourceTypeFilter' => [ + 'description' => 'The resource types filter.', + 'type' => 'array', + 'items' => ['description' => 'The filter for resource types. If a list of resource types is specified, only resources of the specified types that contain the specified tags will be scanned. If not specified, all resources that contain the specified tags will be scanned.'."\n" + ."\n" + .'You can specify up to 20 resource types.', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], ], 'required' => false, - 'example' => 'MyStack', - 'maxItems' => 5, + 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'SourceResourceGroup', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'json', + 'schema' => [ + 'description' => 'The source resource group.', + 'type' => 'object', + 'properties' => [ + 'ResourceGroupId' => ['description' => 'The ID of the source resource group.', 'type' => 'string', 'required' => true, 'example' => 'rg-acfmzawhxxc****', 'title' => ''], + 'ResourceTypeFilter' => [ + 'description' => 'The resource types for filtering resources.', + 'type' => 'array', + 'items' => ['description' => 'The filter for resource types. If a list of resource types is specified, only resources of the specified types that contain the specified tags will be scanned. If not specified, all resources that contain the specified tags will be scanned.'."\n" + ."\n" + .'You can specify up to 20 resource types.', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'docRequired' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'PreferenceParameters', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The tags of the stack.'."\n", + 'description' => 'Configuration parameters for resource scenario', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N.\\'."\n" - .'Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The value of tag N.\\'."\n" - .'Valid values of N: 1 to 20.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'ParameterKey' => ['description' => 'The parameter key.'."\n" + ."\n" + .'For more information about the valid values, refer to **Supplementary description of request parameters** section in this topic.'."\n" + ."\n" + .'> - PreferenceParameters is optional. If you specify PreferenceParameters, you must specify ParameterKey and ParameterValue.'."\n" + .'>'."\n" + .'> - You must set ParameterKey to DeletionPolicy when TemplateScratchType is set to ResourceImport.', 'type' => 'string', 'required' => true, 'example' => 'DeletionPolicy', 'title' => ''], + 'ParameterValue' => ['description' => 'Parameter value. The value is an assignment to the ParameterKey.'."\n" + ."\n" + .'For more information about the valid values, refer to **Supplementary description of request parameters** section in this topic.'."\n" + ."\n" + .'> PreferenceParameters is optional. If you specify PreferenceParameters, you must specify ParameterKey and ParameterValue.', 'type' => 'string', 'required' => true, 'example' => 'Retain', 'title' => ''], ], 'required' => false, 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 21, + 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'LogicalIdStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.\\'."\n" - .'For more information about resource groups, see the "Resource Group" section of the [What is Resource Management?](~~94475~~) topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4ph6aiy****', - ], + 'schema' => ['description' => 'Logical ID generation strategy. Valid values:'."\n" + ."\n" + .'- LongTypePrefixAndIndexSuffix: long-type prefix + index-type suffix'."\n" + ."\n" + .'- LongTypePrefixAndHashSuffix: long-type prefix + hash-type suffix'."\n" + ."\n" + .'- ShortTypePrefixAndHashSuffix: short-type prefix + hash-type suffix'."\n" + ."\n" + .'> Default value: LongTypePrefixAndIndexSuffix. If TemplateScratchType is set to ArchitectureDetection, the default value is LongTypePrefixAndHashSuffix.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'LongTypePrefixAndIndexSuffix', 'title' => ''], ], [ - 'name' => 'StackIds', + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'Ensures the idempotency of the request. This value must be generated by the client and must be globally unique.'."\n" + ."\n" + .'It must be no more than 64 characters in length and can contain letters, digits, hyphens (**-**), and underscores (**\\_**).'."\n" + ."\n" + .'For more information, refer to [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'ExecutionMode', + 'in' => 'query', + 'schema' => ['description' => 'The execution mode. Valid values:'."\n" + ."\n" + .'- Async (default): asynchronous mode'."\n" + ."\n" + .'- Sync: synchronous mode'."\n" + ."\n" + .'> If the resource scope is large, the synchronous execution takes a long time. We recommend that you specify ClientToken to avoid timeout issues.', 'type' => 'string', 'required' => false, 'example' => 'Sync', 'title' => ''], + ], + [ + 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the stacks.'."\n", + 'description' => 'The tags of the resource scenario.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of stack N. You can specify one or more IDs to query one or more stacks at the same time. Valid values of N: 1 to 10.'."\n", - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N that you want to add to the resource scenario.'."\n" + ."\n" + .'> Tags is optional. If you specify Tags, you must specify Tags.N.Key.', 'type' => 'string', 'required' => true, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The value of tag N that you want to add to the resource scenario.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], 'required' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'StartTime', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2023-04-01T15:10:00Z', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range during which data was queried. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2023-04-01T15:16:00Z', - ], + 'schema' => ['description' => 'The ID of the resource group to which you want to assign the snapshot policy. If you leave this parameter empty, the resource scenario is added to the default resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], ], 'responses' => [ @@ -3372,234 +2675,149 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of stacks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n" - ."\n" - .'Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'FBAC80B4-9C27-529D-BC9C-4155FA5CD7A7', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Stacks' => [ - 'description' => 'Details of the stacks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the stack.'."\n", - 'type' => 'string', - 'example' => 'CREATE_COMPLETE', - ], - 'UpdateTime' => [ - 'description' => 'The time when the stack was updated. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-03-10T07:44:36', - ], - 'DriftDetectionTime' => [ - 'description' => 'The time when the most recent successful drift detection was performed on the stack.'."\n", - 'type' => 'string', - 'example' => '2022-03-10T06:46:36', - ], - 'StatusReason' => [ - 'description' => 'The reason why the stack is in its current state.'."\n", - 'type' => 'string', - 'example' => 'Stack CREATE completed successfully', - ], - 'CreateTime' => [ - 'description' => 'The time when the stack was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-03-10T06:44:36', - ], - 'DisableRollback' => [ - 'description' => 'Indicates whether rollback is disabled when the stack fails to be created. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Tags' => [ - 'description' => 'The tags of the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the stack.'."\n", - 'type' => 'string', - 'example' => 'acs:rm:rgId', - ], - 'Value' => [ - 'description' => 'The tag value of the stack.'."\n", - 'type' => 'string', - 'example' => 'rg-aek2frunvw7****', - ], - ], - 'description' => '', - ], - ], - 'StackName' => [ - 'description' => 'The stack name.'."\n", - 'type' => 'string', - 'example' => 'MyStack', - ], - 'TimeoutInMinutes' => [ - 'description' => 'The timeout period for creating the stack. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'RegionId' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ParentStackId' => [ - 'description' => 'The ID of the parent stack.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf692****', - ], - 'StackId' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'example' => '67805444-a605-45ee-a57f-83908ff6****', - ], - 'StackDriftStatus' => [ - 'description' => 'The state of the stack on which the most recent successful drift detection was performed. Valid values:'."\n" - ."\n" - .'* DRIFTED: The stack has drifted.'."\n" - .'* NOT_CHECKED: No successful drift detection is performed on the stack.'."\n" - .'* IN_SYNC: The stack is being synchronized.'."\n", - 'type' => 'string', - 'example' => 'IN_SYNC', - ], - 'StackType' => [ - 'description' => 'The stack type. Valid values:'."\n" - ."\n" - .'* ROS: ROS stack. The stack is created by using a ROS template.'."\n" - .'* Terraform: Terraform stack. The stack is created by using a Terraform template.'."\n", - 'type' => 'string', - 'example' => 'ROS', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-aek2frunvw7****', - ], - 'ServiceManaged' => [ - 'description' => 'Indicates whether the stack is a managed stack. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ServiceName' => [ - 'description' => 'The name of the service to which the managed stack belongs.'."\n", - 'type' => 'string', - 'example' => 'ACVS', - ], - 'OperationInfo' => [ - 'description' => 'The supplementary information that is returned if an error occurs on a stack operation.'."\n" - ."\n" - .'> This parameter is returned only under specific conditions, and is returned together with at least one sub-parameter. For example, an error occurred when an API operation of another Alibaba Cloud service was called.'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The error code.'."\n", - 'type' => 'string', - 'example' => 'DependencyViolation', - ], - 'Message' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'There is still instance(s) in the specified security group.', - ], - 'RequestId' => [ - 'description' => 'The ID of the request that is initiated to call the API operation of another Alibaba Cloud service.'."\n", - 'type' => 'string', - 'example' => '071D6166-3F6B-5C7B-A1F0-0113FBB643A8', - ], - 'Action' => [ - 'description' => 'The name of the API operation that belongs to another Alibaba Cloud service.'."\n", - 'type' => 'string', - 'example' => 'DeleteSecurityGroup', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource on which the operation error occurred.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::SecurityGroup', - ], - 'LogicalResourceId' => [ - 'description' => 'The logical ID of the resource on which the operation error occurred.'."\n", - 'type' => 'string', - 'example' => 'EcsSecurityGroup', - ], - ], - ], - 'DeletionProtection' => [ - 'description' => 'Indicates whether deletion protection is enabled for the stack. Valid values:'."\n" - ."\n" - .'* Enabled: Deletion protection is enabled for the stack.'."\n" - .'* Disabled: Deletion protection is disabled for the stack. In this case, you can delete the stack by using the console or calling the [DeleteStack](~~610812~~) operation.'."\n" - ."\n" - .'> Deletion protection of a nested stack is the same as that of its root stack.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'Enabled' => 'Enabled', - 'Disabled' => 'Disabled', - ], - 'example' => 'Disabled', - ], - ], - 'description' => '', - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '84980977-22F0-5421-B30D-B201311D5DCF', 'title' => ''], + 'TemplateScratchId' => ['description' => 'The ID of the resource scenario.', 'type' => 'string', 'example' => 'ts-7f7a704cf71c49a6****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"FBAC80B4-9C27-529D-BC9C-4155FA5CD7A7\\",\\n \\"PageNumber\\": 1,\\n \\"Stacks\\": [\\n {\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"UpdateTime\\": \\"2022-03-10T07:44:36\\",\\n \\"DriftDetectionTime\\": \\"2022-03-10T06:46:36\\",\\n \\"StatusReason\\": \\"Stack CREATE completed successfully\\",\\n \\"CreateTime\\": \\"2022-03-10T06:44:36\\",\\n \\"DisableRollback\\": false,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"acs:rm:rgId\\",\\n \\"Value\\": \\"rg-aek2frunvw7****\\"\\n }\\n ],\\n \\"StackName\\": \\"MyStack\\",\\n \\"TimeoutInMinutes\\": 60,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ParentStackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf692****\\",\\n \\"StackId\\": \\"67805444-a605-45ee-a57f-83908ff6****\\",\\n \\"StackDriftStatus\\": \\"IN_SYNC\\",\\n \\"StackType\\": \\"ROS\\",\\n \\"ResourceGroupId\\": \\"rg-aek2frunvw7****\\",\\n \\"ServiceManaged\\": false,\\n \\"ServiceName\\": \\"ACVS\\",\\n \\"OperationInfo\\": {\\n \\"Code\\": \\"DependencyViolation\\",\\n \\"Message\\": \\"There is still instance(s) in the specified security group.\\",\\n \\"RequestId\\": \\"071D6166-3F6B-5C7B-A1F0-0113FBB643A8\\",\\n \\"Action\\": \\"DeleteSecurityGroup\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"LogicalResourceId\\": \\"EcsSecurityGroup\\"\\n },\\n \\"DeletionProtection\\": \\"Disabled\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListStacksResponse>\\n <TotalCount>2</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>FBAC80B4-9C27-529D-BC9C-4155FA5CD7A7</RequestId>\\n <PageNumber>1</PageNumber>\\n <Stacks>\\n <Status>CREATE_COMPLETE</Status>\\n <UpdateTime>2022-03-10T07:44:36</UpdateTime>\\n <DriftDetectionTime>2022-03-10T06:46:36</DriftDetectionTime>\\n <StatusReason>Stack CREATE completed successfully</StatusReason>\\n <CreateTime>2022-03-10T06:44:36</CreateTime>\\n <DisableRollback>false</DisableRollback>\\n <Tags>\\n <Key>acs:rm:rgId</Key>\\n <Value>rg-aek2frunvw7****</Value>\\n </Tags>\\n <StackName>MyStack</StackName>\\n <TimeoutInMinutes>60</TimeoutInMinutes>\\n <RegionId>cn-hangzhou</RegionId>\\n <ParentStackId>4a6c9851-3b0f-4f5f-b4ca-a14bf692****</ParentStackId>\\n <StackId>67805444-a605-45ee-a57f-83908ff6****</StackId>\\n <StackDriftStatus>IN_SYNC</StackDriftStatus>\\n <StackType>ROS</StackType>\\n <ResourceGroupId>rg-aek2frunvw7****</ResourceGroupId>\\n <ServiceManaged>false</ServiceManaged>\\n <ServiceName>ACVS</ServiceName>\\n <OperationInfo>\\n <Code>DependencyViolation</Code>\\n <Message>There is still instance(s) in the specified security group.</Message>\\n <RequestId>071D6166-3F6B-5C7B-A1F0-0113FBB643A8</RequestId>\\n <Action>DeleteSecurityGroup</Action>\\n <ResourceType>ALIYUN::ECS::SecurityGroup</ResourceType>\\n <LogicalResourceId>EcsSecurityGroup</LogicalResourceId>\\n </OperationInfo>\\n </Stacks>\\n</ListStacksResponse>","errorExample":""}]', - 'title' => 'ListStacks', - 'description' => '###'."\n" + 'title' => 'CreateTemplateScratch', + 'description' => '### Limits'."\n" ."\n" - .'This topic provides an example on how to query a list of stacks. In this example, the stacks that are deployed in the China (Hangzhou) region are queried.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CancelUpdateStack' => [ - 'summary' => 'Cancels an update operation on a stack. You can call this operation to cancel an update operation on a stack when the stack is being updated or created.', - 'path' => '/V2/CancelUpdateStack', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'Only specific resource types support the resource scenario feature. For more information, refer to [Resource types that support scenarios](~~353175~~).'."\n" + ."\n" + .'### Description'."\n" + ."\n" + .'Resource Orchestration Service (ROS) provides the resource scenario feature. You can select a resource scope in the UI and perform operations such as replication or management of a group of resources, helping simplify resource management. For more information about resource scenarios, refer to [Overview](~~352074~~).'."\n" + ."\n" + .'#### Resource replication scenario'."\n" + ."\n" + .'If you want to replicate a collection of resources and dependencies between the resources, you can create a resource replication scenario. This type of scenario lets you replicate all existing resources within the specified scope and generate a collection of resources that have the same architecture as the existing resources. For more information, refer to [Resource replication scenario](~~353133~~).'."\n" + ."\n" + .'#### Resource profiling scenario'."\n" + ."\n" + .'If the relationships between resources that you want to create are complicated, you can create a resource profiling scenario to preview the overall resource architecture or the architecture starting from a specific resource. This helps simplify resource management. For more information, refer to [Resource detection scenario](~~2591901~~).'."\n" + ."\n" + .'#### Resource management scenario'."\n" + ."\n" + .'If you need to import a collection of existing resources into a new resource stack for unified management, you can create a resource management scenario. For more information, refer to [Resource management scenario](~~353163~~).'."\n" + ."\n" + .'#### Resource migration scenario'."\n" + ."\n" + .'If you want to migrate a collection of resources and dependencies between the resources, you can create a resource migration scenario. When you migrate the resources, ROS generates a stack. You can view the migration progress on the Stacks tab of the scenario details page. After you migrate the resources, you can delete source resources. For more information, refer to [Resource migration scenario](~~379902~~).'."\n" + ."\n" + .'This topic provides an example of how to create a resource replication scenario in the China (Hangzhou) region to replicate a virtual private cloud (VPC) with the ID of `vpc-bp1m6fww66xbntjyc****`.', + 'requestParamsDescription' => '### Additional notes on request parameters'."\n" + ."\n" + .'For more information, refer to [Common parameters](~~131957~~).'."\n" + ."\n" + .'When you specify different values for the `TemplateScratchType` parameter, the valid values of ParameterKey and ParameterValue also differ.'."\n" + ."\n" + .'#### Resource replication scenario'."\n" + ."\n" + .'The following table describes the valid values of ParameterKey and ParameterValue when you set TemplateScratchType to ArchitectureReplication.'."\n" + ."\n" + .'| **ParameterKey** | **ParameterValue** |'."\n" + .'| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| DeletionPolicy | The resource deletion policy. Valid values: Retain: retains resources when you delete the stack to which the resources are replicated. Delete: deletes resources by default when you delete the stack to which the resources are replicated. If you retain specific resources when the Delete Stack dialog box appears, the resources are retained. |'."\n" + .'| RegionId | The ID of the destination region to which you want to replicate resources. If you do not specify a destination region, the current region is used by default. Example: cn-shanghai. |'."\n" + .'| ZoneId | The ID of the destination zone to which you want to replicate resources. If you replicate resources in the same region and you do not specify a destination zone, the zone of the source resources is used for the replicated resources. If you replicate resources across regions and you do not specify a destination zone, the system filters zones that are supported by all resources. Example: cn-shanghai-b. |'."\n" + .'| VpcId | The ID of the destination VPC to which you want to replicate resources. If you replicate resources in the same region and you do not specify a destination VPC, the VPC of the source resources is used for the replicated resources. If you replicate resources across regions and you do not specify a destination VPC, the system automatically creates a VPC in the destination region. Example: vpc-bp1hye0s8b69xokfu****. |'."\n" + .'| VSwitchId | The ID of the destination vSwitch to which you want to replicate resources. If you replicate resources in the same region and you do not specify a destination vSwitch, the vSwitch of the source resources is used for the replicated resources. If you replicate resources across regions and you do not specify a destination vSwitch, the system automatically creates a vSwitch in the destination region. Example: vsw-bp11ufkwqwggtm1cj****. |'."\n" + .'| NamePrefix | The prefix of the resource name. By default, a resource name does not contain a prefix. The prefix must be 2 to 32 characters in length. |'."\n" + .'| DisableNameUnique | Specifies whether to disable automatic enforcement of name uniqueness. By default, it is enabled. For resources that have the feature enabled, such as the Bucket resource, eight-character random codes are automatically appended to the resource names to ensure the name uniqueness of replicated resources. |'."\n" + .'| InstanceDataReplication | Specifies whether to replicate ECS instance data. Default value: false. Valid values:* true: replicates ECS instance data. If you replicate the data in the same region, a custom image is created for the source instance and new instances are created based on the custom image. If you replicate the data across regions, a custom image is created for the source instance and replicated to the destination region. New instances are created based on the custom image. |'."\n" + ."\n" + .'- false: does not replicate ECS instance data. | | InstancePeriod | The subscription duration of the destination subscription ECS instance. By default, the subscription duration of the source instance is used. | | InstancePeriodUnit | The unit of the subscription duration of the destination subscription ECS instance. By default, the subscription duration unit of the source instance is used. Valid values:\\* Week'."\n" + ."\n" + .'- Month'."\n" + ."\n" + .'- Year | | InstanceAmount | The number of ECS instances to be replicated. This parameter takes effect only when the source resource is a single ECS instance. | | RamAttachedPolicyReplication | Specifies whether to replicate the RAM policy associated with RAM users, user groups, and roles. Default value: false. Valid values:\\* true'."\n" + ."\n" + .'- false | | AlbLoadBalancerEdition | The edition of the ALB instance. The features and billing rules vary based on the edition. Valid values:\\* Basic: Basic Edition'."\n" + ."\n" + .'- Standard: Standard Edition'."\n" + ."\n" + .'- StandardWithWaf: Web Application Firewall (WAF)-enabled EditionExample: Standard. | | AlbAddressType | The type of the address of the ALB instance. Valid values:\\* Internet: The ALB instance has a public IP address. The Domain Name System (DNS) domain name is resolved to the public IP address. Therefore, the ALB instance can be accessed over the Internet.'."\n" + ."\n" + .'- Intranet: The ALB instance has only a private IP address. The DNS domain name is resolved to the private IP address. Therefore, the ALB instance can be accessed only within the VPC where the ALB instance is deployed.Example: Internet. | | AlbAddressIpVersion | The IP version. Valid values:\\* IPv4: IPv4'."\n" + ."\n" + .'- DualStack: dual stackExample: IPv4. | | AlbZoneMappings | The mappings between zones and vSwitches. You can specify at most 10 zones. If the selected region supports two or more zones, select at least two zones to ensure the high availability of your service. The value is a JSON string that has the same structure as the `ZoneMappings` parameter in the ALB [CreateLoadBalancer](~~2254834~~) operation. Example: \\[{"ZoneId": "cn-bejing-g": "VSwitchId": "vsw-gersdf\\*\\*\\*\\*"}, {"ZoneId": "cn-bejing-f": "VSwitchId": "vsw-fersdf\\*\\*\\*\\*"}] | | SlbListenerProtocols | The listener protocol of a CLB instance. Specifies the listener protocols to be included in the replication. You can set one or more protocols, separated by commas. By default, no restriction is applied. Valid values:\\* tcp'."\n" + ."\n" + .'- udp'."\n" + ."\n" + .'- http'."\n" + ."\n" + .'- httpsExample: tcp,udp. |'."\n" + ."\n" + .'> When you set ParameterKey to InstanceDataReplication and ParameterValue to true, stop the source instance before you replicate resources to ensure data consistency.'."\n" + ."\n" + .'#### Resource profiling scenario'."\n" + ."\n" + .'The following table describes the valid values of ParameterKey and ParameterValue when you set TemplateScratchType to ArchitectureDetection.'."\n" + ."\n" + .'| **ParameterKey** | **ParameterValue** |'."\n" + .'| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| RegionIds | One or more region IDs. Separate multiple region IDs with commas (,). The global region `global` is supported. If you do not specify a region, the region of the scenario is used. |'."\n" + ."\n" + .'#### Resource management scenario'."\n" + ."\n" + .'The following table describes the valid values of ParameterKey and ParameterValue when you set TemplateScratchType to ResourceImport.'."\n" + ."\n" + .'> For a resource management scenario, you must set ParameterKey to DeletionPolicy.'."\n" + ."\n" + .'| **ParameterKey** | **ParameterValue** |'."\n" + .'| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| DeletionPolicy | The resource deletion policy. Valid values: **Retain**: retains resources when you delete the stack that you use to manage the resources. **Delete**: deletes resources by default when you delete the stack that you use to manage the resources. If you retain specific resources when the Delete Stack dialog box appears, the resources are retained. |'."\n" + .'| SlbListenerProtocols | The listener protocol of a CLB instance. Specifies the listener protocols to be included in the management. You can set one or more protocols, separated by commas. By default, no restriction is applied. Valid values: Valid values:* tcp |'."\n" + ."\n" + .'- udp'."\n" + ."\n" + .'- http'."\n" + ."\n" + .'- httpsExample: tcp,udp. |'."\n" + ."\n" + .'#### Resource migration scenario'."\n" + ."\n" + .'The following table describes the valid values of ParameterKey and ParameterValue when you set TemplateScratchType to ResourceMigration.'."\n" + ."\n" + .'| **ParameterKey** | **ParameterValue** |'."\n" + .'| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| RegionId | The ID of the destination region to which you want to migrate resources. If you do not specify a destination region, the current region is used by default. Example: cn-shanghai. |'."\n" + .'| ZoneId | The ID of the destination zone to which you want to migrate resources. If you replicate resources in the same region and you do not specify a destination zone, the zone of the source resources is used for the replicated resources. If you replicate resources across regions and you do not specify a destination zone, the system filters the zones that are supported by all resources. Example: cn-shanghai-b. |'."\n" + .'| VpcId | The ID of the destination VPC to which you want to migrate resources. If you replicate resources in the same region and you do not specify a destination VPC, the VPC of the source resources is used for the replicated resources. If you replicate resources across regions and you do not specify a destination VPC, the system automatically creates a VPC in the destination region. Example: vpc-bp1hye0s8b69xokfu****. |'."\n" + .'| VSwitchId | The ID of the destination vSwitch to which you want to migrate resources. If you replicate resources in the same region and you do not specify a destination vSwitch, the vSwitch of the source resources is used for the replicated resources. If you replicate resources across regions and you do not specify a destination vSwitch, the system automatically creates a vSwitch in the destination region. Example: vsw-bp11ufkwqwggtm1cj****. |'."\n" + .'| InstanceDataReplication | Specifies whether to migrate ECS instance data. Valid values: **true**: migrates ECS instance data. If you migrate the data in the same region, a custom image is created for the source instance and new instances are created based on the custom image. If you migrate the data across regions, a custom image is created for the source instance and replicated to the destination region. New instances are created based on the custom image. **false**: does not migrate ECS instance data. |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTemplateScratch'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateTemplateScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"84980977-22F0-5421-B30D-B201311D5DCF\\",\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\"\\n}","type":"json"}]', + ], + 'DeleteChangeSet' => [ + 'summary' => 'Deletes change sets.', + 'path' => '/V2/DeleteChangeSet', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3608,49 +2826,97 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeNodes' => ['FEATURErosM9I2VQ'], ], 'parameters' => [ [ - 'name' => 'StackId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The region ID of the change set. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ChangeSetId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the change set.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [], + 'title' => 'DeleteChangeSet', + 'description' => '- Before you call this operation, make sure that the following requirements are met:'."\n" + ."\n" + .' - The status of the change set is CREATE\\_COMPLETE, CREATE\\_FAILED, or DELETE\\_FAILED.'."\n" + ."\n" + .' - The execution status is UNAVAILABLE or AVAILABLE.'."\n" + ."\n" + .'- After a change set is executed, other change sets associated with the same stack as this change set are also deleted.'."\n" + ."\n" + .'- After a stack is deleted, change sets associated with the stack are deleted.'."\n" + ."\n" + .'- If a change set of the CREATE type is deleted, you must delete stacks associated with the change set.'."\n" + ."\n" + .'In this example, a change set whose ID is `1f6521a4-05af-4975-afe9-bc4b45ad****` is deleted. The change set is created in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| ChangeSetNotFound |The ChangeSet ({name}) of Stack ({stack}) could not be found. | 404 |更改集不存在,name为更改集名称或ID,stack为资源栈名称或ID。 |'."\n" + .'| ChangeSetNotFound |The ChangeSet {ID} could not be found. | 404 |更改集不存在,ID为更改集ID。 |'."\n" + .'| StackNotFound |The Stack ({name}) could not be found. | 404 |资源栈不存在,name为资源栈名称或ID。 |'."\n" + .'| ActionInProgress |Stack {name} already has an action ({action}) in progress. | 409 |资源栈在变更中,name为资源栈名称或ID,action为变更操作。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteChangeSet'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteChangeSet', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', + ], + 'DeleteDiagnostic' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CancelType', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'ReportId', 'in' => 'query', - 'schema' => [ - 'description' => 'The method to cancel the update operation. Valid values:'."\n" - ."\n" - .'* Quick: cancels the update of a stack as soon as possible.'."\n" - .'* Safe: cancels the update of a stack as safely as possible.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'Safe', - ], + 'schema' => ['description' => 'The report ID. You can troubleshoot issues based on the report.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dr-56a0e30bf9854b00****'], ], ], 'responses' => [ @@ -3658,34 +2924,41 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], + 'Code' => ['description' => 'The error code returned.'."\n", 'type' => 'string', 'example' => 'Forbidden'], + 'HttpStatusCode' => ['description' => 'The HTTP status code returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => 'The error message returned.'."\n", 'type' => 'string', 'example' => 'You are not authorized to complete this action.'], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '91EF0DC1-3BB5-555E-AAA1-4F5C640D15DA'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"<CancelUpdateStackResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n</CancelUpdateStackResponse>","errorExample":""}]', - 'title' => 'CancelUpdateStack', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => '| HTTP status code | Error code | Error message | Description |'."\n" - .'| ---------------- | ---------- | ------------- | ----------- |'."\n" - .'| 404 | StackNotFound | The Stack ({name}) could not be found. | The error message returned because the specified stack does not exist. name indicates the name or ID of the stack. |'."\n" - .'| 409 | ActionInProgress | Stack {name} already has an action ({action}) in progress. | The error message returned because the specified stack has a change operation in progress. name indicates the name or ID of the stack, and action indicates the change operation. |', - ], - 'CancelStackOperation' => [ - 'summary' => 'Cancels operations on a stack.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Forbidden\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"RequestId\\": \\"91EF0DC1-3BB5-555E-AAA1-4F5C640D15DA\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'title' => 'DeleteDiagnostic', + 'summary' => 'Deletes a diagnostic record.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteDiagnostic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteStack' => [ + 'summary' => 'Deletes a stack, optionally retaining resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3696,164 +2969,155 @@ 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '12675', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + ], + [ + 'name' => 'RetainAllResources', + 'in' => 'query', + 'schema' => ['description' => 'Whether to retain all resources in the stack.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false (default)', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack. Call [DescribeRegions](~~131035~~) to query available regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'CancelType', + 'name' => 'RamRoleName', 'in' => 'query', + 'schema' => ['description' => 'The RAM role name. ROS assumes this role to create the stack and call Alibaba Cloud service APIs.<br> Even if you have stack operation permissions but lack RAM role permissions, ROS still assumes the role. Ensure the role follows the least-privilege principle.<br> If empty, ROS cannot assume the existing RAM role associated with the stack. To have ROS assume a role, specify this parameter. If no RAM role is available, ROS uses a temporary credential from your account credentials.<br> Maximum length: 64 bytes.', 'type' => 'string', 'required' => false, 'example' => 'test-role', 'title' => ''], + ], + [ + 'name' => 'RetainResources', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The method that you want to use to cancel the operations. Valid values:'."\n" - ."\n" - .'* Quick: cancels the operations on the stack at the earliest opportunity. In this case, Resource Orchestration Service (ROS) stops scheduling new resources and stops running resources at the earliest opportunity. If you use this method, the resource status may become invalid and subsequent stack operations may be affected.'."\n" - .'* Safe (default): cancels the operations on the stack in a secure manner. In this case, ROS stops scheduling new resources and waits for running resources to be stopped.'."\n", - 'type' => 'string', + 'description' => 'Resources to retain.', + 'type' => 'array', + 'items' => ['description' => 'Names of resources to retain.', 'type' => 'string', 'required' => false, 'example' => 'my_disk', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => 'Safe', + 'example' => 'WebServer', + 'maxItems' => 200, + 'title' => '', ], ], [ - 'name' => 'AllowedStackOperations', + 'name' => 'DeleteOptions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The operations that you want to cancel on the stack.'."\n", + 'description' => 'Stack deletion options.', 'type' => 'array', - 'items' => [ - 'description' => 'The operation N that you want to cancel on the stack. Valid values:'."\n" - ."\n" - .'* CREATE: creates a stack, or continues to create a stack from where the creation operation is stopped.'."\n" - .'* UPDATE: updates a stack.'."\n" - .'* IMPORT_UPDATE: creates a stack by importing resources.'."\n" - .'* IMPORT_UPDATE: updates a stack by importing resources.'."\n" - .'* DELETE: deletes a stack.'."\n" - .'* NOT_ROLLBACK (default): all types of non-rollback operations, including CREATE, UPDATE, IMPORT_CREATE, IMPORT_UPDATE, and DELETE. If you cancel a rollback operation on a stack, the stack status may become invalid and subsequent stack operations may be affected. We recommend that you do not cancel rollback operations.'."\n" - .'* CREATE_ROLLBACK: rolls back resources after a stack fails to be created.'."\n" - .'* ROLLBACK: rolls back resources after a stack fails to be updated.'."\n" - .'* IMPORT_CREATE_ROLLBACK: rolls back resources after a stack fails to be created by using imported resources.'."\n" - .'* IMPORT_UPDATE_ROLLBACK: rolls back resources after a stack fails to be updated by using imported resources.'."\n" - .'* ALL: all types of operations, including CREATE, UPDATE, IMPORT_CREATE, IMPORT_UPDATE, DELETE, CREATE_ROLLBACK, ROLLBACK, IMPORT_CREATE_ROLLBACK, and IMPORT_UPDATE_ROLLBACK.'."\n" - ."\n" - .'Valid values of N: 1 to 10.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'NOT_ROLLBACK', - ], + 'items' => ['description' => 'Stack deletion option. Valid values:'."\n" + ."\n" + .'- Null (default): Subscription resources are ignored during deletion.'."\n" + ."\n" + .'- ThrowErrorWithSubscriptionResources: Returns an error if subscription resources exist.', 'type' => 'string', 'required' => false, 'example' => '["ThrowErrorWithSubscriptionResources"]', 'title' => ''], 'required' => false, - 'maxItems' => 10, + 'maxItems' => 1, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'Parallelism', + 'in' => 'query', + 'schema' => ['description' => 'Maximum number of concurrent resource operations.'."\n" + ."\n" + .'Default: empty. Accepts an integer >= 0.'."\n" + ."\n" + .'> - A value greater than 0 is used as-is. A value of 0 or empty imposes no limit on ROS stacks. For Terraform stacks, the Terraform default (typically 10) applies.'."\n" + .'>'."\n" + .'> - This value persists on the stack and affects subsequent operations such as updates.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"<CancelStackOperationResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n</CancelStackOperationResponse>","errorExample":""}]', - 'title' => 'CancelStackOperation', - ], - 'SetDeletionProtection' => [ - 'summary' => 'Modifies the deletion protection setting for a stack.', - 'path' => '/V2/SetDeletionProtection', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DeleteStack', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '访问[公共错误码](~~131033~~)查看更多错误码。'."\n" + .'| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | InvalidOperation.DeletionProtection | Fail to delete stack {ID}, as deletion protection is enabled. | 资源栈开启了删除保护,无法被删除。ID为资源栈ID。 |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。|'."\n" + .'| 409 | ActionInProgress | Stack {name} already has an action ({action}) in progress. |资源栈在变更中。name为资源栈名称或ID,action为具体的变更操作。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteStack'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', + ], + 'DeleteStackGroup' => [ + 'summary' => 'Deletes a stack group.', + 'path' => '/V2/DeleteStackGroup', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], ], 'parameters' => [ [ - 'name' => 'StackId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n" - ."\n" - .'The delete protection attribute of a nested stack is determined by the root stack and remains unchanged from the root stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - ], - [ - 'name' => 'DeletionProtection', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Indicates whether stack deletion protection is enabled. Valid values:'."\n" - ."\n" - .'* Enabled: enables the stack deletion protection.'."\n" - .'* Disabled (default): Resource stack deletion protection is Disabled. You can use the console or API(DeleteStack) to release the stack resources.'."\n" - ."\n" - .'> The deletion of nested stacks is the same as the root stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Enabled', - ], + 'schema' => ['description' => 'The ID of the region to which the stack group belongs. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'StackGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The name of the stack group. The name must be unique in a region.'."\n" + ."\n" + .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). The name must start with a digit or a letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], ], ], 'responses' => [ @@ -3861,165 +3125,222 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', - 'title' => 'SetDeletionProtection', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ListStackEvents' => [ - 'summary' => 'Queries a stack and the resource events of the stack.', - 'path' => '/V2/ListStackEvents', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DeleteStackGroup', + 'description' => 'A stack group can be deleted only when the stack group does not contain stacks. You can call the [DeleteStackInstances](~~151715~~) operation to delete stacks.'."\n" + ."\n" + .'This topic provides an example on how to delete a stack group. In this example, a stack group named `MyStackGroup` in the China (Hangzhou) region is deleted.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" + .'| ------------------ | ------------------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------- |'."\n" + .'| StackGroupNotEmpty | The StackGroup ({name}) is not empty. | 400 | The error message returned because the stack group contains stacks. name indicates the name of the stack group. |'."\n" + .'| StackGroupNotFound | The StackGroup ({name}) could not be found. | 404 | The error message returned because the stack group does not exist. name indicates the name of the stack group. |', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| StackGroupNotEmpty |The StackGroup ({name}) is not empty. | 400 |资源栈组内存在资源栈。name为资源栈组名称。 |'."\n" + .'| StackGroupNotFound |The StackGroup ({name}) could not be found. | 404 |资源栈组不存在。name为资源栈组名称。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteStackGroup'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\"\\n}","type":"json"}]', + ], + 'DeleteStackInstances' => [ + 'summary' => 'Deletes stack instances from specified accounts and regions. You can choose to retain the resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATURErosTBD793'], ], 'parameters' => [ [ - 'name' => 'StackId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The region ID of the stack group. Call the [DescribeRegions](~~131035~~) operation to query the most recent list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'StackGroupName', 'in' => 'query', + 'schema' => ['description' => 'The name of the stack group. The name must be unique within a region.<br>The name can be up to 255 characters long. It must start with a letter or a digit and can contain letters, digits, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], + ], + [ + 'name' => 'AccountIds', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The number of entries to return on each page.\\'."\n" - .'Maximum value: 50.\\'."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'The IDs of the accounts from which to delete stack instances. This parameter applies only to stack groups that use self-managed permissions. You can specify up to 50 account IDs.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the accounts from which to delete stack instances. This parameter applies only to stack groups that use self-managed permissions. You can specify up to 50 account IDs.', 'type' => 'string', 'required' => false, 'example' => '["151266687691****","141261387191****"]', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => '10', + 'example' => '["151266687691****"]', + 'title' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'RegionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the regions where the stack instances are deployed. You can specify up to 20 region IDs.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the regions where the stack instances are deployed. You can specify up to 20 region IDs.', 'type' => 'string', 'required' => false, 'example' => '["cn-hangzhou","cn-beijing"]', 'title' => ''], 'required' => true, 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'example' => '["cn-hangzhou", "cn-beijing"]', + 'title' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'RetainStacks', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.\\'."\n" - .'Pages start from page 1.\\'."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether to retain the stacks.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: The stacks are retained.'."\n" + ."\n" + .'- false: The stacks are deleted.', 'type' => 'boolean', 'required' => true, 'docRequired' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'Status', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The status of the resource.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The state of the resource. Valid values:'."\n" - ."\n" - .'* CREATE_COMPLETE'."\n" - .'* CREATE_FAILED'."\n" - .'* CREATE_IN_PROGRESS'."\n" - .'* UPDATE_IN_PROGRESS'."\n" - .'* UPDATE_FAILED'."\n" - .'* UPDATE_COMPLETE'."\n" - .'* UPDATE_SKIPPED'."\n" - .'* DELETE_IN_PROGRESS'."\n" - .'* DELETE_FAILED'."\n" - .'* CHECK_IN_PROGRESS'."\n" - .'* CHECK_FAILED'."\n" - .'* CHECK_COMPLETE'."\n" - .'* IMPORT_IN_PROGRESS'."\n" - .'* IMPORT_FAILED'."\n" - .'* IMPORT_COMPLETE'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CREATE_IN_PROGRESS', - ], - 'required' => false, - 'example' => 'CREATE_IN_PROGRESS', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request. You can use your client to generate the token, but you must make sure that the token is unique among different requests.<br>The token can be up to 64 characters long and can contain letters, digits, hyphens (-), and underscores (\\_).<br>For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'OperationDescription', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The resource types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource type N. Maximum value of N: 200. For more information about resource types, see [List of resource types by service](~~127039~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN::ECS::Instance', - ], - 'required' => false, - 'example' => 'ALIYUN::ECS::Instance', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The description of the operation to delete stack instances.'."\n" + ."\n" + .'The description can be 1 to 256 characters long.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Delete stack instances in hangzhou and beijing', 'title' => ''], ], [ - 'name' => 'LogicalResourceId', + 'name' => 'OperationPreferences', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'json', + 'schema' => ['description' => 'The preferences for the operation to delete stack instances.'."\n" + ."\n" + .'This parameter contains the following subparameters:'."\n" + ."\n" + .'- {"FailureToleranceCount": N}'."\n" + ."\n" + .' The number of accounts in each region for which the deletion of stack instances can fail. If the number of failures in a region exceeds this value, the operation stops in that region. If the operation stops in one region, it does not continue in other regions.'."\n" + ."\n" + .' The value of N must be an integer from 0 to 20.'."\n" + ."\n" + .' If you do not specify FailureToleranceCount, the default value is 0.'."\n" + ."\n" + .'- {"FailureTolerancePercentage": N}'."\n" + ."\n" + .' The percentage of accounts in each region for which the deletion of stack instances can fail. If the percentage of failures in a region exceeds this value, the operation stops in that region.'."\n" + ."\n" + .' The value of N must be an integer from 0 to 100. If the calculated percentage is not an integer, ROS rounds it down to the nearest integer.'."\n" + ."\n" + .' If you do not specify FailureTolerancePercentage, the default value is 0.'."\n" + ."\n" + .'- {"MaxConcurrentCount": N}'."\n" + ."\n" + .' The maximum number of accounts in each region for which stack instances can be deleted at the same time.'."\n" + ."\n" + .' The value of N must be an integer from 1 to 20.'."\n" + ."\n" + .' If you do not specify MaxConcurrentCount, the default value is 1.'."\n" + ."\n" + .'- {"MaxConcurrentPercentage": N}'."\n" + ."\n" + .' The maximum percentage of accounts in each region for which stack instances can be deleted at the same time.'."\n" + ."\n" + .' The value of N must be an integer from 1 to 100. If the calculated percentage is not an integer, ROS rounds it down to the nearest integer.'."\n" + ."\n" + .' If you do not specify MaxConcurrentPercentage, the default value is 1.'."\n" + ."\n" + .'- {"RegionConcurrencyType": N}'."\n" + .' The concurrency model for deleting stack instances in different regions. Valid values:'."\n" + ."\n" + .' - SEQUENTIAL (default): Deletes stack instances in each specified region sequentially. At any given time, the operation deletes stack instances in only one region.'."\n" + ."\n" + .' - PARALLEL: Deletes stack instances in all specified regions in parallel.'."\n" + ."\n" + .'Separate multiple parameters with commas (,).'."\n" + ."\n" + .'> - You cannot specify both MaxConcurrentCount and MaxConcurrentPercentage.'."\n" + .'>'."\n" + .'> - You cannot specify both FailureToleranceCount and FailureTolerancePercentage.', 'type' => 'object', 'required' => false, 'docRequired' => false, 'example' => '{"FailureToleranceCount": 1, "MaxConcurrentCount": 2}', 'title' => ''], + ], + [ + 'name' => 'DeploymentTargets', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The logical IDs of the resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The logical ID of the resource. The logical ID specifies the name of the resource that is defined in the template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'WebServer', + 'description' => 'The deployment targets from which to delete stack instances. This parameter applies only to stack groups that use service-managed permissions.', + 'type' => 'object', + 'properties' => [ + 'RdFolderIds' => [ + 'description' => 'The IDs of folders in the resource directory. You can specify up to 20 folder IDs.'."\n" + ."\n" + .'Stack instances are deleted from all member accounts in the specified folders. If you specify the Root folder, stack instances are deleted from all member accounts in your resource directory.'."\n" + ."\n" + .'> You can find the folder IDs on the Overview page in the Resource Management console. For more information, see [View the basic information of a folder](~~111223~~).', + 'type' => 'array', + 'items' => ['description' => 'The IDs of folders in the resource directory. You can specify up to 20 folder IDs.'."\n" + ."\n" + .'Stack instances are deleted from all member accounts in the specified folders. If you specify the Root folder, stack instances are deleted from all member accounts in your resource directory.'."\n" + ."\n" + .'> You can find the folder IDs on the Overview page in the Resource Management console. For more information, see [View the basic information of a folder](~~111223~~).', 'type' => 'string', 'required' => false, 'example' => '["fd-4PvlVLOL8v"]', 'title' => ''], + 'required' => false, + 'docRequired' => false, + 'title' => '', + 'example' => '', + ], + 'AccountIds' => [ + 'description' => 'The IDs of member accounts in the resource directory. You can specify up to 30 member account IDs.'."\n" + ."\n" + .'> You can find the member account IDs on the Overview page in the Resource Management console. For more information, see [View the details of a member](~~111624~~).', + 'type' => 'array', + 'items' => ['description' => 'The IDs of member accounts in the resource directory. You can specify up to 30 member account IDs.'."\n" + ."\n" + .'> You can find the member account IDs on the Overview page in the Resource Management console. For more information, see [View the details of a member](~~111624~~).', 'type' => 'string', 'required' => false, 'example' => '["151266687691****","141261387191****"]', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], ], 'required' => false, - 'example' => 'WebServer', - 'maxItems' => 5, + 'title' => '', + 'example' => '', ], ], ], @@ -4028,270 +3349,289 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of returned events.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.\\'."\n" - .'Maximum value: 50.\\'."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.\\'."\n" - .'Pages start from page 1.\\'."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Events' => [ - 'description' => 'The events.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the resource.'."\n", - 'type' => 'string', - 'example' => 'CREATE_COMPLETE', - ], - 'EventId' => [ - 'description' => 'The event ID.'."\n", - 'type' => 'string', - 'example' => '0086612d-77cf-4056-b0b5-ff8e94ad****', - ], - 'LogicalResourceId' => [ - 'description' => 'The logical ID of the resource. The logical ID indicates the name of the resource that is defined in the template.'."\n", - 'type' => 'string', - 'example' => 'WebServer', - ], - 'StackId' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - 'PhysicalResourceId' => [ - 'description' => 'The physical ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'i-m5e3tfdbinchnexh****', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::Instance', - ], - 'StatusReason' => [ - 'description' => 'The reason why the resource is in the current state.'."\n", - 'type' => 'string', - 'example' => 'state changed', - ], - 'CreateTime' => [ - 'description' => 'The time when the event was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-08-01T04:07:39', - ], - 'StackName' => [ - 'description' => 'The stack name.'."\n", - 'type' => 'string', - 'example' => 'StackName', - ], - ], - 'description' => '', - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'OperationId' => ['description' => 'The operation ID.', 'type' => 'string', 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 20,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"PageNumber\\": 1,\\n \\"Events\\": [\\n {\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"EventId\\": \\"0086612d-77cf-4056-b0b5-ff8e94ad****\\",\\n \\"LogicalResourceId\\": \\"WebServer\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"PhysicalResourceId\\": \\"i-m5e3tfdbinchnexh****\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::Instance\\",\\n \\"StatusReason\\": \\"state changed\\",\\n \\"CreateTime\\": \\"2019-08-01T04:07:39\\",\\n \\"StackName\\": \\"StackName\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListStackEventsResponse>\\n <TotalCount>20</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6</RequestId>\\n <PageNumber>1</PageNumber>\\n <Events>\\n <Status>CREATE_COMPLETE</Status>\\n <EventId>0086612d-77cf-4056-b0b5-ff8e94ad****</EventId>\\n <LogicalResourceId>WebServer</LogicalResourceId>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n <PhysicalResourceId>i-m5e3tfdbinchnexh****</PhysicalResourceId>\\n <ResourceType>ALIYUN::ECS::Instance</ResourceType>\\n <StatusReason>state changed</StatusReason>\\n <CreateTime>2019-08-01T04:07:39</CreateTime>\\n <StackName>StackName</StackName>\\n </Events>\\n</ListStackEventsResponse>","errorExample":""}]', - 'title' => 'ListStackEvents', - 'requestParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', + 'title' => 'DeleteStackInstances', + 'description' => 'This topic provides an example of how to delete a stack instance from the `MyStackGroup` stack group. The stack group uses self-managed permissions and is in the China (Hangzhou) region. This example deletes the stack instance that is deployed in the China (Beijing) region for the Alibaba Cloud account `151266687691****`.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'ListStackOperationRisks' => [ - 'summary' => 'Detects stack-related operation risks and returns missing permissions and the causes of the risks.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidParameter |The specified parameter {name} is invalid, {reason}. | 400 |无效参数,name为参数名,reason为原因。 |'."\n" + .'| StackGroupNotFound |The StackGroup ({name}) could not be found. | 404 |资源栈组不存在。name为资源栈组名称。 |'."\n" + .'| StackGroupOperationInProgress |Another Operation on StackGroup ({name}) is in progress. | 409 |资源栈组存在进行中的操作。name为资源栈组名称。 |'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteStackInstances'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteStackInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], + ], + ], + ], ], + ], + 'DeleteTemplate' => [ + 'summary' => 'Deletes a template.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeCode' => '12678', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The template ID. Applies to private templates only.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], - [ - 'name' => 'StackId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691**** ', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8C5D90E1-66B6-496C-9371-3807F8DA80A8', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'OperationType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the operation of which you want to detect risks. Valid values:'."\n" - ."\n" - .'* DeleteStack: detects high risks that may arise in resources when you delete a stack.'."\n" - .'* CreateStack: detects the missing permissions when you fail to create a stack.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'DeleteStack', + ], + 'title' => 'DeleteTemplate', + 'description' => 'If a template is shared with other Alibaba Cloud accounts, unshare it before deletion.', + 'requestParamsDescription' => 'This operation also uses [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | TemplateBeingProcessed |Template { ID } is being processed, retry later.|模板正在处理中,稍后再试。ID为模板ID。|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTemplate'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#templateId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8C5D90E1-66B6-496C-9371-3807F8DA80A8\\"\\n}","type":"json"}]', + ], + 'DeleteTemplateScratch' => [ + 'summary' => 'Deletes a scenario.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_). For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544**** ', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosSKHQLM', 'FEATURErosHDIJ7A', 'FEATURErosUSKZAD'], + ], + 'parameters' => [ [ - 'name' => 'RamRoleName', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role.'."\n" - ."\n" - .'* If you specify a RAM role, ROS creates stacks based on the permissions that are granted to the RAM role and uses the credentials of the RAM role to call the API operations of Alibaba Cloud services.'."\n" - .'* If you do not specify a RAM role, ROS creates stacks based on the permissions of your Alibaba Cloud account.'."\n" - ."\n" - .'The name of the RAM role can be up to 64 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-role', - ], + 'schema' => ['description' => 'The region ID of the scenario.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RetainAllResources', + 'name' => 'TemplateScratchId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the scenario.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ts-4f83704400994409****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to retain all resources in the stack. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n" - ."\n" - .'> This parameter takes effect only if you set OperationType to DeleteStack.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'false', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '1B9C6333-5904-5A1E-9845-CB17A369AFDC', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RetainResources', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The list of resources to retain.'."\n" - ."\n" - .'> This parameter takes effect only if you set OperationType to DeleteStack.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource that you want to retain.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'instance', + ], + 'title' => 'DeleteTemplateScratch', + 'description' => 'In this topic, a scenario whose ID is `ts-4f83704400994409****` is deleted in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTemplateScratch'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteTemplateScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#templatescratchId}'], ], - 'required' => false, - 'example' => 'WebServer', - 'maxItems' => 200, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1B9C6333-5904-5A1E-9845-CB17A369AFDC\\"\\n}","type":"json"}]', + ], + 'DeregisterResourceType' => [ + 'summary' => 'Deletes a resource type or a specific version of a resource type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosUIOT2M'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'TemplateURL', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/stack-policy/demo and oss://ros/stack-policy/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length. If you do not specify RegionId in the URL, the region ID of the stack is used.'."\n" - ."\n" - .'> You must specify one of TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'oss://ros-template/demo', - ], + 'schema' => ['description' => 'The resource type.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', 'title' => ''], ], [ - 'name' => 'TemplateId', + 'name' => 'VersionId', 'in' => 'query', + 'schema' => ['description' => 'The version ID. Specify this parameter to delete a specific version of the resource type.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the template. This parameter applies to shared and private templates.'."\n" - ."\n" - .'> You must specify one of TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeregisterResourceType', + 'description' => '- If you delete a resource type, it can no longer be used in ROS.'."\n" + ."\n" + .'- If you delete a version of a resource type, that version can no longer be used in ROS.'."\n" + ."\n" + .'- You can delete a resource type only if it has a single version. If a resource type has multiple versions, you must delete the other versions first.'."\n" + ."\n" + .'- You cannot delete the default version if the resource type has more than one version.'."\n" + ."\n" + .'- If a resource type has only one version, deleting that version also deletes the resource type.', + 'extraInfo' => '| 错误代码 | 错误信息 | HTTPS状态码 | 描述 |'."\n" + .'| --- | --- | --- | --- |'."\n" + .'| ResourceTypeDeregisterFailure | Fail to deregister {entity_type} ({name}), {reason}. | 400 | 注销资源类型失败。entity_type实体类型,name为类型名称,reason为失败原因。 |'."\n" + .'| ResourceTypeDeregisterFailure | Fail to deregister version ({version}) of {entity_type} ({name}), {reason}. | 400 | 注销资源类型版本失败。version为版本ID,entity_type实体类型,name为类型名称,reason为失败原因。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeregisterResourceType'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeregisterResourceType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\"\\n}","type":"json"}]', + ], + 'DescribeRegions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TemplateVersion', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '12679', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'AcceptLanguage', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template.'."\n" - ."\n" - .'> This parameter takes effect only if you specify TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The language in which you want to display the results. Valid values:'."\n" + ."\n" + .'- zh-CN (default): Chinese'."\n" + ."\n" + .'- en-US: English'."\n" + ."\n" + .'- ja: Japanese', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], ], 'responses' => [ @@ -4299,639 +3639,303 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '72108E7A-E874-4A5E-B22C-A61E94AD12CD', - ], - 'RiskResources' => [ - 'description' => 'The resources that are at risk.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '59F0F0A0-A637-4292-9B91-251EF5010913', 'title' => ''], + 'Regions' => [ + 'description' => 'The regions.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'LogicalResourceId' => [ - 'description' => 'The logical ID of the resource. The logical ID is the resource name that is defined in the template.'."\n", - 'type' => 'string', - 'example' => 'MySG', - ], - 'PhysicalResourceId' => [ - 'description' => 'The physical ID of the resource. The physical ID is the actual ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'sg-bp1dpioafqphedg9****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request when the risk detection fails.'."\n" - ."\n" - .'> This parameter is not returned if the risk detection is successful.'."\n", - 'type' => 'string', - 'example' => 'DF4296CF-F45F-4845-A72B-BE617601DB25', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::SecurityGroup', - ], - 'Code' => [ - 'description' => 'The error code that is returned when the risk detection fails.'."\n" - ."\n" - .'> This parameter is not returned if the risk detection is successful.'."\n", - 'type' => 'string', - 'example' => 'NoPermission', - ], - 'Message' => [ - 'description' => 'The error message that is returned when the risk detection fails.'."\n" - ."\n" - .'> This parameter is not returned if the risk detection is successful.'."\n", - 'type' => 'string', - 'example' => 'You are not authorized to complete this action.', - ], - 'RiskType' => [ - 'description' => 'The type of the risk. Valid values:'."\n" - ."\n" - .'* Referenced: The resource is referenced by other resources.'."\n" - .'* MaybeReferenced: The resource may be referenced by other resources.'."\n" - .'* AdditionalRiskCheckRequired: An additional risk detection is required for a nested stack.'."\n" - .'* OperationIgnored: The operation does not take effect for the resource.'."\n", - 'type' => 'string', - 'example' => 'Referenced', - ], - 'Reason' => [ - 'description' => 'The cause of the risk.'."\n", - 'type' => 'string', - 'example' => 'There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group.', - ], + 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'China (Hangzhou)', 'title' => ''], + 'RegionEndpoint' => ['description' => 'The endpoint of the region.', 'type' => 'string', 'example' => 'ros.aliyuncs.com', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - ], - 'MissingPolicyActions' => [ - 'description' => 'The operations on which the permissions are not granted to the Alibaba Cloud account of the caller.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The operation on which the permissions are not granted to the Alibaba Cloud account of the caller.'."\n", - 'type' => 'string', - 'example' => '["ecs:DescribeInstance", "ros:CreateStack"]', - ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"72108E7A-E874-4A5E-B22C-A61E94AD12CD\\",\\n \\"RiskResources\\": [\\n {\\n \\"LogicalResourceId\\": \\"MySG\\",\\n \\"PhysicalResourceId\\": \\"sg-bp1dpioafqphedg9****\\",\\n \\"RequestId\\": \\"DF4296CF-F45F-4845-A72B-BE617601DB25\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"Code\\": \\"NoPermission\\",\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"RiskType\\": \\"Referenced\\",\\n \\"Reason\\": \\"There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group.\\"\\n }\\n ],\\n \\"MissingPolicyActions\\": [\\n \\"[\\\\\\"ecs:DescribeInstance\\\\\\", \\\\\\"ros:CreateStack\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListStackOperationRisksResponse>\\n <RequestId>72108E7A-E874-4A5E-B22C-A61E94AD12CD</RequestId>\\n <RiskResources>\\n <LogicalResourceId>MySG</LogicalResourceId>\\n <PhysicalResourceId>sg-bp1dpioafqphedg9****</PhysicalResourceId>\\n <RequestId>DF4296CF-F45F-4845-A72B-BE617601DB25</RequestId>\\n <ResourceType>ALIYUN::ECS::SecurityGroup</ResourceType>\\n <Code>NoPermission</Code>\\n <Message>You are not authorized to complete this action.</Message>\\n <RiskType>Referenced</RiskType>\\n <Reason>There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group.</Reason>\\n </RiskResources>\\n <MissingPolicyActions>[\\"ecs:DescribeInstance\\", \\"ros:CreateStack\\"]</MissingPolicyActions>\\n</ListStackOperationRisksResponse>","errorExample":""}]', - 'title' => 'ListStackOperationRisks', - 'description' => 'The ListStackOperationRisks operation is suitable for the following scenarios:'."\n" - ."\n" - .'* You want to detect high risks that may arise in resources when you delete a stack that contains the resources, and query the cause of each risk in a resource.'."\n" - .'* When you create a stack, the creation may fail. In this case, you can call this operation to check which types of permissions that are required to create stacks are missing.'."\n", + 'title' => 'DescribeRegions', + 'summary' => 'Queries a list of available regions.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'PreviewStack' => [ - 'summary' => 'Previews the information about a stack that you want to create based on a template. You can call this operation to verify whether the template resources are valid.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"59F0F0A0-A637-4292-9B91-251EF5010913\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"China (Hangzhou)\\",\\n \\"RegionEndpoint\\": \\"ros.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DetectStackDrift' => [ + 'summary' => 'Performs drift detection on resources in a stack to check whether the resources have drifted from the expected template configurations.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeNodes' => ['FEATURErosGGHNC3'], ], 'parameters' => [ [ - 'name' => 'DisableRollback', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable rollback for the resources when the stack fails to be created. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'TimeoutInMinutes', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for creating the stack.'."\n" - ."\n" - .'Unit: minutes.'."\n" - ."\n" - .'Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '60', - ], - ], - [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', - ], - ], - [ - 'name' => 'StackPolicyURL', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the stack policy. The URL must point to a policy that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/stack-policy/demo or oss://ros/stack-policy/demo?RegionId=cn-hangzhou. The policy file can be up to 16,384 bytes in length. If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'> You can specify only one of StackPolicyBody and StackPolicyURL.'."\n" - ."\n" - .'The URL can be up to 1,350 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-stack-policy/demo', - ], + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'StackPolicyBody', - 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the stack policy body. The stack policy body must be 1 to 16,384 bytes in length.'."\n" - ."\n" - .'> You can specify only one of StackPolicyBody and StackPolicyURL.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}', - ], - ], - [ - 'name' => 'StackName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The stack name. You can use this parameter to preview the stack that you want to create. The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.'."\n" - ."\n" - .'> You must and can specify only one of StackName and StackId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'MyStack', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.\\'."\n" - .'The token can be up to 64 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).\\'."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" + ."\n" + .'The value can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'TemplateURL', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an OSS bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length. If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-template/demo', - ], - ], - [ - 'name' => 'TemplateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The template ID. This parameter applies to shared and private templates.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], - ], - [ - 'name' => 'TemplateVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. This parameter takes effect only when TemplateId is specified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], - ], - [ - 'name' => 'Parameters', + 'name' => 'LogicalResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The parameters of the stack.'."\n", + 'description' => 'The logical ID of resource.', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of the parameter N. If you do not specify the name and value of a parameter, Resource Orchestration Service (ROS) uses the default name and value that are specified in the template. Maximum value of N: 200.'."\n" - ."\n" - .'> If you specify Parameters, you must specify Parameters.N.ParameterKey.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ALIYUN::AccountId', - ], - 'ParameterValue' => [ - 'description' => 'The value of parameter N. Maximum value of N: 200.'."\n" - ."\n" - .'> If you specify Parameters, you must specify Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '151266687691****', - ], - ], - 'required' => false, - 'description' => '', - ], + 'items' => ['description' => 'The logical ID of resource N, which is used to filter resources.', 'type' => 'string', 'required' => false, 'example' => 'ScalingRule', 'title' => ''], 'required' => false, + 'example' => 'ScalingRule', 'maxItems' => 200, + 'title' => '', ], ], - [ - 'name' => 'Parallelism', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The maximum number of concurrent operations that can be performed on resources. This parameter takes effect only for Terraform stacks.'."\n" - ."\n" - .'By default, this parameter is empty. You can set this parameter to an integer that is greater than or equal to 0.'."\n" - ."\n" - .'> If you set this parameter to an integer greater than 0, the integer is used. If you set this parameter to 0 or leave this parameter empty, the default value of Terraform is used. In most cases, the default value of Terraform is 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + 'DriftDetectionId' => ['description' => 'The ID of the drift detection.', 'type' => 'string', 'example' => 'a7044f0d-6f2e-4128-a307-4524ef88****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'TemplateScratchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scenario ID.'."\n" - ."\n" - .'For more information about how to query the scenario ID, see [ListTemplateScratches](~~363050~~).'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ts-aa9c62feab844a6b****', + ], + 'title' => 'DetectStackDrift', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | StackNotFound |The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。 |'."\n" + .'| 404 | ResourceNotFound |The Resource ({name}) could not be found in Stack {stack}. |资源栈中不存某资源。name为资源名,stack为资源栈名称或ID。 |'."\n" + .'| 409 | ActionInProgress |Stack {name} already has an action ({action}) in progress. |资源栈在变更中。name为资源栈名称或ID,action为具体的变更操作。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetectStackDrift'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DetectStackDrift', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"DriftDetectionId\\": \\"a7044f0d-6f2e-4128-a307-4524ef88****\\"\\n}","type":"json"}]', + ], + 'DetectStackGroupDrift' => [ + 'summary' => 'Performs drift detection on stack groups to check whether the stack groups have drifted from the expected template configurations.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TemplateScratchRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scenario. The default value is the same as the value of RegionId.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], + ], + 'parameters' => [ [ - 'name' => 'StackId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The stack ID. You can use this parameter to preview a stack that you want to update.'."\n" - ."\n\n" - ."\n" - .'> - You must and can specify only one of StackName and StackId.'."\n" - .'> - In the scenario in which you preview a stack that you want to create or update, you cannot preview the resources in its nested stacks.', - 'type' => 'string', - 'required' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" + ."\n" + .'The value can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'EnablePreConfig', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to query the parameters that you want to use in compliance precheck.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035#doc-api-ROS-DescribeRegions~~ "Queries the DescribeRegions list of a region.") operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TaintResources', + 'name' => 'StackGroupName', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The name of the stack group. The name must be unique in a region.'."\n" + ."\n" + .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], ], [ - 'name' => 'UsePreviousParameters', + 'name' => 'OperationPreferences', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'style' => 'json', + 'schema' => ['description' => 'The operation settings, in JSON format. The following fields are supported:'."\n" + ."\n" + .'- FailureToleranceCount'."\n" + ."\n" + .'The maximum number of stack group operation failures that can occur. In a stack group operation, if the total number of failures does not exceed the FailureToleranceCount value, the operation succeeds. Otherwise, the operation fails.'."\n" + ."\n" + .'If FailureToleranceCount is not specified, the default value 0 is used. You can specify one of FailureToleranceCount or FailureTolerancePercentage parameters, but you cannot specify both of them.'."\n" + ."\n" + .'Valid values: 0 to 20.'."\n" + ."\n" + .'- FailureTolerancePercentage'."\n" + ."\n" + .'The percentage of stack group operation failures that can occur. In a stack group operation, if the percentage of failures does not exceed the FailureTolerancePercentage value, the operation succeeds. Otherwise, the operation fails.'."\n" + ."\n" + .'You can specify one of FailureToleranceCount or FailureTolerancePercentage parameters, but you cannot specify both of them.'."\n" + ."\n" + .'Valid values: 0 to 100.'."\n" + ."\n" + .'- MaxConcurrentCount'."\n" + ."\n" + .'The maximum number of target accounts in which a drift detection operation can be performed at a time.'."\n" + ."\n" + .'You can specify one of MaxConcurrentCount or MaxConcurrentPercentage parameters, but you cannot specify both of them.'."\n" + ."\n" + .'Valid values: 1 to 20.'."\n" + ."\n" + .'- MaxConcurrentPercentage'."\n" + ."\n" + .'The maximum percentage of target accounts in which a drift detection operation can be performed at a time.'."\n" + ."\n" + .'You can specify one of MaxConcurrentCount or MaxConcurrentPercentage parameters, but you cannot specify both of them.'."\n" + ."\n" + .'Valid values: 1 to 100.', 'type' => 'object', 'required' => false, 'docRequired' => false, 'example' => '{"FailureToleranceCount": 1, "MaxConcurrentCount": 2}', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'Stack' => [ - 'description' => 'The information about the stack that is previewed.'."\n", - 'type' => 'object', - 'properties' => [ - 'TemplateDescription' => [ - 'description' => 'The description of the template.'."\n", - 'type' => 'string', - 'example' => 'One ECS instance.', - ], - 'Parameters' => [ - 'description' => 'The parameters of the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::AccountId', - ], - 'ParameterValue' => [ - 'description' => 'The value of the parameter.'."\n", - 'type' => 'string', - 'example' => '151266687691****', - ], - ], - 'description' => '', - ], - ], - 'Description' => [ - 'description' => 'The description of the stack.'."\n", - 'type' => 'string', - 'example' => 'One ECS instance.', - ], - 'DisableRollback' => [ - 'description' => 'Indicates whether rollback is disabled for the resources when the stack fails to be created.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'StackName' => [ - 'description' => 'The stack name.'."\n", - 'type' => 'string', - 'example' => 'MyStack', - ], - 'TimeoutInMinutes' => [ - 'description' => 'The timeout period for creating the stack.'."\n" - ."\n" - .'Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'StackPolicyBody' => [ - 'description' => 'The structure that contains the stack policy body.'."\n", - 'type' => 'object', - 'example' => '{ "Statement": [ { "Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*" }, { "Action": "Update:*", "Resource": "LogicalResourceId/apple1", "Effect": "Deny", "Principal": "*" } ] }', - ], - 'Resources' => [ - 'description' => 'The resources in the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LogicalResourceId' => [ - 'description' => 'The logical ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'WebServer', - ], - 'AcsResourceType' => [ - 'description' => 'The resource type of an Alibaba Cloud service.'."\n", - 'type' => 'string', - 'example' => 'ACS::ECS::Instance', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::Instance', - ], - 'Description' => [ - 'description' => 'The description of the resource.'."\n", - 'type' => 'string', - 'example' => 'ECS instance.', - ], - 'Stack' => [ - 'description' => 'The information about the nested stack. The data structure of the value is the same as the data structure of the entire response.'."\n", - 'type' => 'object', - 'example' => '{}', - ], - 'RequiredBy' => [ - 'description' => 'The resources on which the stack depends.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource on which the stack depends.'."\n", - 'type' => 'string', - 'example' => '["Resource1", "Resource2"]', - ], - ], - 'Properties' => [ - 'description' => 'The resource properties.'."\n", - 'type' => 'object', - 'example' => '{ "DiskMappings": [ { "Category": "cloud_ssd", "Size": "20" } ], "SystemDisk_Category": "cloud_ssd", "InstanceChargeType": "PostPaid", "AutoRenew": "False", "WillReplace": true, "ImageId": "centos_7", "InstanceType": "ecs.g6.large", "AllocatePublicIP": true, "AutoRenewPeriod": 1, "IoOptimized": "optimized", "ZoneId": "cn-beijing-g", "VSwitchId": "", "SecurityGroupId": "", "Period": 1, "InternetChargeType": "PayByTraffic", "SystemDiskCategory": "cloud_efficiency", "InternetMaxBandwidthOut": 1, "VpcId": "", "InternetMaxBandwidthIn": 200, "PeriodUnit": "Month" }', - ], - 'Action' => [ - 'description' => 'The action that is performed on the resource. Valid values:'."\n" - ."\n" - .'* Add'."\n" - .'* Modify'."\n" - .'* Remove'."\n" - .'* None'."\n", - 'type' => 'string', - 'example' => 'Add', - ], - 'Replacement' => [ - 'description' => 'Indicates whether a replacement update is performed on the template. Valid values:'."\n" - ."\n" - .'* True: A replacement update is performed on the template.'."\n" - .'* False: A change is made on the template.'."\n" - .'* Conditional: A replacement update may be performed on the template. You can check whether a replacement update is performed when the template is in use.'."\n" - ."\n" - .'> This parameter is returned only if Action is set to Modify.'."\n", - 'type' => 'string', - 'example' => 'False', - ], - 'PhysicalResourceId' => [ - 'description' => 'The physical ID of the resource.'."\n" - ."\n" - .'This parameter is returned only if Action is set to Modify or Remove.'."\n", - 'type' => 'string', - 'example' => 'i-a1b2c3***', - ], - ], - 'description' => '', - ], - ], - 'RegionId' => [ - 'description' => 'The region where the stack resides.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Log' => [ - 'description' => 'The log that is generated when the stack is run.'."\n", - 'type' => 'object', - 'properties' => [ - 'TerraformLogs' => [ - 'description' => 'The Terraform logs. This parameter is returned only if the stack is a Terraform stack.'."\n" - ."\n" - .'> This parameter contains the logs of previewing the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Command' => [ - 'description' => 'The name of the Terraform command that is run. Valid values:'."\n" - ."\n" - .'* apply'."\n" - .'* plan'."\n" - .'* destroy'."\n" - .'* version'."\n" - ."\n" - .'For more information about Terraform commands, see [Basic CLI Features](https://www.terraform.io/cli/commands).'."\n", - 'type' => 'string', - 'example' => 'apply', - ], - 'Stream' => [ - 'description' => 'The output stream. Valid values:'."\n" - ."\n" - .'* stdout: standard output stream'."\n" - .'* stderr: standard error stream'."\n", - 'type' => 'string', - 'example' => 'stdout', - ], - 'Content' => [ - 'description' => 'The content of the output stream that is returned after the command is run.'."\n", - 'type' => 'string', - 'example' => 'Apply complete! Resources: 42 added, 0 changed, 0 destroyed.', - ], - ], - 'description' => '', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + 'OperationId' => ['description' => 'The ID of the operation.', 'type' => 'string', 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"Stack\\": {\\n \\"TemplateDescription\\": \\"One ECS instance.\\",\\n \\"Parameters\\": [\\n {\\n \\"ParameterKey\\": \\"ALIYUN::AccountId\\",\\n \\"ParameterValue\\": \\"151266687691****\\"\\n }\\n ],\\n \\"Description\\": \\"One ECS instance.\\",\\n \\"DisableRollback\\": false,\\n \\"StackName\\": \\"MyStack\\",\\n \\"TimeoutInMinutes\\": 60,\\n \\"StackPolicyBody\\": {\\n \\"Statement\\": [\\n {\\n \\"Action\\": \\"Update:*\\",\\n \\"Resource\\": \\"*\\",\\n \\"Effect\\": \\"Allow\\",\\n \\"Principal\\": \\"*\\"\\n },\\n {\\n \\"Action\\": \\"Update:*\\",\\n \\"Resource\\": \\"LogicalResourceId/apple1\\",\\n \\"Effect\\": \\"Deny\\",\\n \\"Principal\\": \\"*\\"\\n }\\n ]\\n },\\n \\"Resources\\": [\\n {\\n \\"LogicalResourceId\\": \\"WebServer\\",\\n \\"AcsResourceType\\": \\"ACS::ECS::Instance\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::Instance\\",\\n \\"Description\\": \\"ECS instance.\\",\\n \\"Stack\\": {},\\n \\"RequiredBy\\": [\\n \\"[\\\\\\"Resource1\\\\\\", \\\\\\"Resource2\\\\\\"]\\"\\n ],\\n \\"Properties\\": {\\n \\"DiskMappings\\": [\\n {\\n \\"Category\\": \\"cloud_ssd\\",\\n \\"Size\\": \\"20\\"\\n }\\n ],\\n \\"SystemDisk_Category\\": \\"cloud_ssd\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"AutoRenew\\": \\"False\\",\\n \\"WillReplace\\": true,\\n \\"ImageId\\": \\"centos_7\\",\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"AllocatePublicIP\\": true,\\n \\"AutoRenewPeriod\\": 1,\\n \\"IoOptimized\\": \\"optimized\\",\\n \\"ZoneId\\": \\"cn-beijing-g\\",\\n \\"VSwitchId\\": \\"\\",\\n \\"SecurityGroupId\\": \\"\\",\\n \\"Period\\": 1,\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"InternetMaxBandwidthOut\\": 1,\\n \\"VpcId\\": \\"\\",\\n \\"InternetMaxBandwidthIn\\": 200,\\n \\"PeriodUnit\\": \\"Month\\"\\n },\\n \\"Action\\": \\"Add\\",\\n \\"Replacement\\": \\"False\\",\\n \\"PhysicalResourceId\\": \\"i-a1b2c3***\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Log\\": {\\n \\"TerraformLogs\\": [\\n {\\n \\"Command\\": \\"apply\\",\\n \\"Stream\\": \\"stdout\\",\\n \\"Content\\": \\"Apply complete! Resources: 42 added, 0 changed, 0 destroyed.\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<PreviewStackResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n <Stack>\\n <TemplateDescription>One ECS instance.</TemplateDescription>\\n <Parameters>\\n <ParameterKey>ALIYUN::AccountId</ParameterKey>\\n <ParameterValue>151266687691****</ParameterValue>\\n </Parameters>\\n <Description>One ECS instance.</Description>\\n <DisableRollback>false</DisableRollback>\\n <StackName>MyStack</StackName>\\n <TimeoutInMinutes>60</TimeoutInMinutes>\\n <Resources>\\n <LogicalResourceId>WebServer</LogicalResourceId>\\n <AcsResourceType>ACS::ECS::Instance</AcsResourceType>\\n <ResourceType>ALIYUN::ECS::Instance</ResourceType>\\n <Description>ECS instance.</Description>\\n <RequiredBy>[\\"Resource1\\", \\"Resource2\\"]</RequiredBy>\\n <Action>Add</Action>\\n <Replacement>False</Replacement>\\n </Resources>\\n <RegionId>cn-hangzhou</RegionId>\\n <Log>\\n <TerraformLogs>\\n <Command>apply</Command>\\n <Stream>stdout</Stream>\\n <Content>Apply complete! Resources: 42 added, 0 changed, 0 destroyed.</Content>\\n </TerraformLogs>\\n </Log>\\n </Stack>\\n</PreviewStackResponse>","errorExample":""}]', - 'title' => 'PreviewStack', - 'description' => 'This topic provides an example on how to create a stack named `MyStack` in the China (Hangzhou) region by using a template and preview the information about the stack. In this example, the `template body` is `{"ROSTemplateFormatVersion":"2015-09-01"}`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'title' => 'DetectStackGroupDrift', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ListStackResources' => [ - 'summary' => 'This topic provides an example on how to query the resources in a specified stack. In this example, the resources in the stack whose ID is \\`4a6c9851-3b0f-4f5f-b4ca-a14bf691\\*\\*\\*\\*\\` in the China (Hangzhou) region are queried.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | StackGroupNotFound |The StackGroup ({name}) could not be found. |资源栈组不存在。name为资源栈组名称。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetectStackGroupDrift'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DetectStackGroupDrift', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack_group/{#StackGroupName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', + ], + 'DetectStackResourceDrift' => [ + 'summary' => 'Performs drift detection on resources in a stack to determine whether the resources have drifted from the expected configurations.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeNodes' => ['FEATURErosGGHNC3'], ], 'parameters' => [ [ 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region to which the stack belongs. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" + ."\n" + .'The value can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'LogicalResourceId', + 'in' => 'query', + 'schema' => ['description' => 'The name of the resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ScalingRuleName', 'title' => ''], ], ], 'responses' => [ @@ -4939,252 +3943,185 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Details about resources.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], - 'Resources' => [ - 'description' => 'The resources.'."\n", + 'LogicalResourceId' => ['description' => 'The logical ID of the resource that is defined in the template.', 'type' => 'string', 'example' => 'ScalingRule', 'title' => ''], + 'ResourceDriftStatus' => ['description' => 'The drift status of the resource. Valid values:'."\n" + ."\n" + .'- DELETED: The actual configuration of the resource differs from its expected template configuration because the resource is deleted.'."\n" + ."\n" + .'- MODIFIED: The actual configuration of the resource differs from its expected template configuration.'."\n" + ."\n" + .'- NOT\\_CHECKED: Resource Orchestration Service (ROS) has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" + ."\n" + .'- IN\\_SYNC: The actual configuration of the resource matches its expected template configuration.', 'type' => 'string', 'example' => 'MODIFIED', 'title' => ''], + 'PropertyDifferences' => [ + 'description' => 'The property drifts of the resource.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The state of the resource. Valid values:'."\n" - ."\n" - .'* INIT_COMPLETE: The resource is pending to be created.'."\n" - .'* CREATE_COMPLETE: The resource is created.'."\n" - .'* CREATE_FAILED: The resource failed to be created.'."\n" - .'* CREATE_IN_PROGRESS: The resource is being created.'."\n" - .'* UPDATE_IN_PROGRESS: The resource is being updated.'."\n" - .'* UPDATE_FAILED: The resource failed to be updated.'."\n" - .'* UPDATE_COMPLETE: The resource is updated.'."\n" - .'* DELETE_IN_PROGRESS: The resource is being deleted.'."\n" - .'* DELETE_FAILED: The resource failed to be deleted.'."\n" - .'* DELETE_COMPLETE: The resource is deleted.'."\n" - .'* CHECK_IN_PROGRESS: The resource is being validated.'."\n" - .'* CHECK_FAILED: The resource failed to be validated.'."\n" - .'* CHECK_COMPLETE: The resource is validated.'."\n" - .'* IMPORT_IN_PROGRESS: The resource is being imported.'."\n" - .'* IMPORT_FAILED: The resource failed to be imported.'."\n" - .'* IMPORT_COMPLETE: The resource is imported.'."\n", - 'type' => 'string', - 'example' => 'UPDATE_COMPLETE', - ], - 'LogicalResourceId' => [ - 'description' => 'The logical ID of the resource. The logical ID is the resource name that is defined in the template.'."\n", - 'type' => 'string', - 'example' => 'dummy', - ], - 'UpdateTime' => [ - 'description' => 'The time when the resource was updated. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format.'."\n", - 'type' => 'string', - 'example' => '2019-08-01T06:01:29', - ], - 'StackId' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - 'PhysicalResourceId' => [ - 'description' => 'The physical ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'd04af923-e6b7-4272-aeaa-47ec9777****', - ], - 'DriftDetectionTime' => [ - 'description' => 'The time when the most recent successful drift detection was performed on the stack.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ROS::Stack', - ], - 'ResourceDriftStatus' => [ - 'description' => 'The drift state of the resource in the most recent successful drift detection. Valid values:'."\n" - ."\n" - .'* DELETED: The actual configuration of the resource differs from its expected template configuration because the resource is deleted.'."\n" - .'* MODIFIED: The actual configuration of the resource differs from its expected template configuration.'."\n" - .'* NOT_CHECKED: Resource Orchestration Service (ROS) has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" - .'* IN_SYNC: The actual configuration of the resource matches its expected template configuration.'."\n", - 'type' => 'string', - 'example' => 'IN_SYNC', - ], - 'StatusReason' => [ - 'description' => 'The reason why the resource is in its current state.'."\n", - 'type' => 'string', - 'example' => 'state changed', - ], - 'CreateTime' => [ - 'description' => 'The time when the resource was created. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format.'."\n", - 'type' => 'string', - 'example' => '2019-08-01T06:01:23', - ], - 'StackName' => [ - 'description' => 'The stack name.\\'."\n" - .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.'."\n", - 'type' => 'string', - 'example' => 'test-describe-resource', - ], - 'ModuleInfo' => [ - 'description' => 'The information about the modules from which the resource is created. This parameter is returned only if the resource is created from modules.'."\n", - 'type' => 'object', - 'properties' => [ - 'LogicalIdHierarchy' => [ - 'description' => 'The concatenated logical IDs of one or more modules that contain the resource. The modules are listed from the outermost layer and separated by forward slashes (`/`).'."\n" - ."\n" - .'In the following example, the resource is created from Module B nested within Parent Module A:'."\n" - ."\n" - .'`moduleA/moduleB`'."\n", - 'type' => 'string', - 'example' => 'moduleA/moduleB', - ], - 'TypeHierarchy' => [ - 'description' => 'The concatenated types of one or more modules that contain the resource. The module types are listed from the outermost layer and separated by forward slashes (`/`).'."\n" - ."\n" - .'In the following example, the resource is created from a module of the `MODULE::ROS::Child::Example` type that is nested within a parent module of the `MODULE::ROS::Parent::Example` type:'."\n" - ."\n" - .'`MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example`'."\n", - 'type' => 'string', - 'example' => 'MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example', - ], - ], - ], + 'ActualValue' => ['description' => 'The actual value of the resource property.', 'type' => 'string', 'example' => 'test1', 'title' => ''], + 'DifferenceType' => ['description' => 'The drift type of the resource property. Valid values:'."\n" + ."\n" + .'- ADD: The property value has been added to a resource property whose data type was Array or List.'."\n" + ."\n" + .'- REMOVE: The property has been deleted from the current resource configuration.'."\n" + ."\n" + .'- NOT\\_EQUAL: The current property value differs from the expected value defined in the stack template.', 'type' => 'string', 'example' => 'NOT_EQUAL', 'title' => ''], + 'PropertyPath' => ['description' => 'The path of the resource property.', 'type' => 'string', 'example' => '/ScalingRuleName', 'title' => ''], + 'ExpectedValue' => ['description' => 'The expected value of the resource property that is defined in the template.', 'type' => 'string', 'example' => 'test2', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'PhysicalResourceId' => ['description' => 'The physical ID of the resource.', 'type' => 'string', 'example' => 'asr-2ze4zzc3kf9yz1kd****', 'title' => ''], + 'ExpectedProperties' => ['description' => 'The JSON-formatted resource properties that are defined in the template.', 'type' => 'string', 'example' => '{"ScalingRuleName": "test2"}', 'title' => ''], + 'DriftDetectionTime' => ['description' => 'The time when the resource drift detection was initiated.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'ResourceType' => ['description' => 'The type of the resource.', 'type' => 'string', 'example' => 'ALIYUN::ESS::ScalingRule', 'title' => ''], + 'ActualProperties' => ['description' => 'The actual JSON-formatted resource properties.', 'type' => 'string', 'example' => '{"ScalingRuleName": "test1"}', 'title' => ''], + 'StackId' => ['description' => 'The ID of the stack.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"Resources\\": [\\n {\\n \\"Status\\": \\"UPDATE_COMPLETE\\",\\n \\"LogicalResourceId\\": \\"dummy\\",\\n \\"UpdateTime\\": \\"2019-08-01T06:01:29\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"PhysicalResourceId\\": \\"d04af923-e6b7-4272-aeaa-47ec9777****\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"ResourceType\\": \\"ALIYUN::ROS::Stack\\",\\n \\"ResourceDriftStatus\\": \\"IN_SYNC\\",\\n \\"StatusReason\\": \\"state changed\\",\\n \\"CreateTime\\": \\"2019-08-01T06:01:23\\",\\n \\"StackName\\": \\"test-describe-resource\\",\\n \\"ModuleInfo\\": {\\n \\"LogicalIdHierarchy\\": \\"moduleA/moduleB\\",\\n \\"TypeHierarchy\\": \\"MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example\\"\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListStackResourcesResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6</RequestId>\\n <Resources>\\n <Status>UPDATE_COMPLETE</Status>\\n <LogicalResourceId>dummy</LogicalResourceId>\\n <UpdateTime>2019-08-01T06:01:29</UpdateTime>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n <PhysicalResourceId>d04af923-e6b7-4272-aeaa-47ec9777****</PhysicalResourceId>\\n <DriftDetectionTime>2020-02-27T07:47:47</DriftDetectionTime>\\n <ResourceType>ALIYUN::ROS::Stack</ResourceType>\\n <ResourceDriftStatus>IN_SYNC</ResourceDriftStatus>\\n <StatusReason>state changed</StatusReason>\\n <CreateTime>2019-08-01T06:01:23</CreateTime>\\n <StackName>test-describe-resource</StackName>\\n </Resources>\\n</ListStackResourcesResponse>","errorExample":""}]', - 'title' => 'ListStackResources', - 'description' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'requestParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" - .'| ---------- | ------------- | ---------------- | ----------- |'."\n" - .'| StackNotFound | The Stack ({name}) could not be found. | 404 | The error message returned because the specified stack does not exist. name indicates the name or ID of the stack. |', - 'responseParamsDescription' => 'The operation that you want to perform. Set the value to ListStackResources.'."\n", - ], - 'GetStackResource' => [ - 'summary' => 'For more information about common request parameters, see \\[Common parameters]\\(~~131957~~).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'DetectStackResourceDrift', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | ResourceDriftDetectionProcessing |Drift detection of resource {name} is processing. |已经在对资源进行偏差检测。name为资源名。|'."\n" + .'| 400 | ResourceDriftDetectionFailure |Fail to detect resource {name} drift: {reason} |资源偏差检测失败。name为资源名,reason为原因。 |'."\n" + .'| 404 | StackNotFound |The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。 |'."\n" + .'| 404 | ResourceNotFound |The Resource ({name}) could not be found in Stack {stack}. |资源栈中不存某资源。name为资源名,stack为资源栈名称或ID。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetectStackResourceDrift'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DetectStackResourceDrift', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"LogicalResourceId\\": \\"ScalingRule\\",\\n \\"ResourceDriftStatus\\": \\"MODIFIED\\",\\n \\"PropertyDifferences\\": [\\n {\\n \\"ActualValue\\": \\"test1\\",\\n \\"DifferenceType\\": \\"NOT_EQUAL\\",\\n \\"PropertyPath\\": \\"/ScalingRuleName\\",\\n \\"ExpectedValue\\": \\"test2\\"\\n }\\n ],\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"PhysicalResourceId\\": \\"asr-2ze4zzc3kf9yz1kd****\\",\\n \\"ExpectedProperties\\": \\"{\\\\\\"ScalingRuleName\\\\\\": \\\\\\"test2\\\\\\"}\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::ScalingRule\\",\\n \\"ActualProperties\\": \\"{\\\\\\"ScalingRuleName\\\\\\": \\\\\\"test1\\\\\\"}\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\"\\n}","type":"json"}]', + ], + 'EnableServiceAccess' => [ + 'summary' => 'Enables trusted service access.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeNodes' => ['FEATUREros4U80G2'], + 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'StackId', - 'in' => 'query', + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the region to which the stack belongs. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '23045A5D-720E-5D11-A752-E1568F725C93', 'title' => ''], + 'ServiceAccessInfo' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The trusted service access status.', 'type' => 'string', 'example' => 'ENABLED', 'title' => ''], + ], + 'description' => 'The trusted service access information.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to query the resource properties. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + 'title' => 'EnableServiceAccess', + 'description' => '### Description'."\n" + ."\n" + .'Enables trusted service access.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ros:EnableServiceAccess', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"23045A5D-720E-5D11-A752-E1568F725C93\\",\\n \\"ServiceAccessInfo\\": {\\n \\"Status\\": \\"ENABLED\\"\\n }\\n}","type":"json"}]', + ], + 'EnableServices' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The logical ID of the resource defined in the template.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'ShowResourceAttributes', + 'name' => 'ServiceNames', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The name of resource property N that you want to query.', - 'type' => 'boolean', + 'type' => 'array', + 'items' => ['description' => 'The service to enable.', 'type' => 'string', 'required' => false, 'example' => '[\\"OSS\\"]', 'title' => ''], + 'description' => 'A list of services to enable.', 'required' => false, - 'docRequired' => false, - 'example' => 'true', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LogicalResourceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of resource property N that you want to query.'."\n" - ."\n" - .'> Maximum value of N: 20.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'WebServer', - ], - ], - [ - 'name' => 'ResourceAttributes', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The status of the resource. Valid values:'."\n" - ."\n" - .'* CREATE_COMPLETE'."\n" - .'* CREATE_FAILED'."\n" - .'* CREATE_IN_PROGRESS'."\n" - .'* UPDATE_IN_PROGRESS'."\n" - .'* UPDATE_FAILED'."\n" - .'* UPDATE_COMPLETE'."\n" - .'* DELETE_IN_PROGRESS'."\n" - .'* DELETE_FAILED'."\n" - .'* CHECK_IN_PROGRESS'."\n" - .'* CHECK_FAILED'."\n" - .'* CHECK_COMPLETE'."\n" - .'* IMPORT_IN_PROGRESS'."\n" - .'* IMPORT_FAILED'."\n" - .'* IMPORT_COMPLETE'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The description of the resource.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'InstanceId', - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region where the service is enabled.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -5192,144 +4129,61 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CREATE_COMPLETE', - ], - 'Description' => [ - 'description' => 'The reason why the resource is in its current state.'."\n", - 'type' => 'string', - 'example' => 'no description', - ], - 'RequestId' => [ - 'description' => 'The physical ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], - 'StatusReason' => [ - 'description' => 'The time when the resource was created.'."\n" - ."\n" - .'The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => 'state changed', - ], - 'PhysicalResourceId' => [ - 'description' => 'The metadata.'."\n", - 'type' => 'string', - 'example' => 'd04af923-e6b7-4272-aeaa-47ec9777****', - ], - 'CreateTime' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => '2019-08-01T06:01:23', - ], - 'Metadata' => [ - 'description' => 'The list of the resource properties.'."\n", - 'type' => 'object', - 'example' => '{"key": "value"}', - ], - 'ResourceType' => [ - 'description' => 'The logical ID of the resource defined in the template.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ROS::WaitConditionHandle', - ], - 'ResourceAttributes' => [ - 'description' => 'The status of the resource in the last successful drift detection. Valid values:'."\n" - ."\n" - .'* DELETED: The actual configuration of the resource differs from its expected template configuration because the resource is deleted.'."\n" - .'* MODIFIED: The actual configuration of the resource differs from its expected template configuration.'."\n" - .'* NOT_CHECKED: ROS has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" - .'* IN_SYNC: The actual configuration of the resource matches its expected template configuration.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E1BD3327-6BEE-53AD-8788-D892EB575962', 'title' => ''], + 'FailedServices' => [ 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', - 'example' => '[{"ResourceAttributeKey": "CurlCli","ResourceAttributeValue": "curl -i -X POST -H \'Content-Type: application/json\' -H \'Accept: application/json\' -H \'x-acs-region-id: cn-beijing\' http://192.168.XX.XX/waitcondition?stackname=test-describe-resource\\\\&stackid=efdf5c10-96a5-4fd7-ab89-68e7baa2****\\\\&resource=WaitConditionHandle\\\\&expire=156468****\\\\&signature=991d910a901a89db6580d74233119960c004****"}]', - ], - ], - 'LogicalResourceId' => [ - 'description' => 'The time when the resource was updated.'."\n" - ."\n" - .'The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => 'WebServer', - ], - 'ResourceDriftStatus' => [ - 'description' => 'The time when the last successful drift detection was performed on the stack.'."\n", - 'type' => 'string', - 'example' => 'IN_SYNC', - ], - 'UpdateTime' => [ - 'description' => 'The name of the stack.'."\n" - ."\n" - .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). The name must start with a digit or letter.'."\n", - 'type' => 'string', - 'example' => '2019-08-01T06:01:29', - ], - 'DriftDetectionTime' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'StackName' => [ - 'description' => 'The name of the stack.', - 'type' => 'string', - 'example' => 'test-describe-resource', - ], - 'StackId' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'example' => 'efdf5c10-96a5-4fd7-ab89-68e7baa2****', - ], - 'ModuleInfo' => [ - 'description' => 'The information about the modules from which the resource is created. This parameter is returned only if the resource is created from modules.'."\n", - 'type' => 'object', - 'properties' => [ - 'LogicalIdHierarchy' => [ - 'description' => 'The concatenated logical IDs of one or more modules that contain the resource. The modules are listed from the outermost layer and separated by forward slashes (`/`).'."\n" - ."\n" - .'In the following example, the resource is created from Module B nested within Parent Module A:'."\n" - ."\n" - .'`moduleA/moduleB`'."\n", - 'type' => 'string', - 'example' => 'moduleA/moduleB'."\n", - ], - 'TypeHierarchy' => [ - 'description' => 'The concatenated types of one or more modules that contain the resource. The module types are listed from the outermost layer and separated by forward slashes (`/`).'."\n" - ."\n" - .'In the following example, the resource is created from a module of the `MODULE::ROS::Child::Example` type that is nested within a parent module of the `MODULE::ROS::Parent::Example` type:'."\n" - ."\n" - .'`MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example`'."\n", - 'type' => 'string', - 'example' => 'MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example', + 'properties' => [ + 'ServiceName' => ['description' => 'The name of the Alibaba Cloud service.', 'type' => 'string', 'example' => 'ACVS', 'title' => ''], + 'Code' => ['description' => 'The error code.', 'type' => 'string', 'example' => '400', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'Failed', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'description' => 'A list of services that failed to be enabled.', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"Description\\": \\"no description\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"StatusReason\\": \\"state changed\\",\\n \\"PhysicalResourceId\\": \\"d04af923-e6b7-4272-aeaa-47ec9777****\\",\\n \\"CreateTime\\": \\"2019-08-01T06:01:23\\",\\n \\"Metadata\\": {\\n \\"key\\": \\"value\\"\\n },\\n \\"ResourceType\\": \\"ALIYUN::ROS::WaitConditionHandle\\",\\n \\"ResourceAttributes\\": [\\n [\\n {\\n \\"ResourceAttributeKey\\": \\"CurlCli\\",\\n \\"ResourceAttributeValue\\": \\"curl -i -X POST -H \'Content-Type: application/json\' -H \'Accept: application/json\' -H \'x-acs-region-id: cn-beijing\' http://192.168.XX.XX/waitcondition?stackname=test-describe-resource\\\\\\\\&stackid=efdf5c10-96a5-4fd7-ab89-68e7baa2****\\\\\\\\&resource=WaitConditionHandle\\\\\\\\&expire=156468****\\\\\\\\&signature=991d910a901a89db6580d74233119960c004****\\"\\n }\\n ]\\n ],\\n \\"LogicalResourceId\\": \\"WebServer\\",\\n \\"ResourceDriftStatus\\": \\"IN_SYNC\\",\\n \\"UpdateTime\\": \\"2019-08-01T06:01:29\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"StackName\\": \\"test-describe-resource\\",\\n \\"StackId\\": \\"efdf5c10-96a5-4fd7-ab89-68e7baa2****\\",\\n \\"ModuleInfo\\": {\\n \\"LogicalIdHierarchy\\": \\"moduleA/moduleB\\\\n\\",\\n \\"TypeHierarchy\\": \\"MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetStackResourceResponse>\\n\\t<CreateTime>2019-08-01T06:01:23</CreateTime>\\n\\t<Description></Description>\\n\\t<LogicalResourceId>WaitConditionHandle</LogicalResourceId>\\n\\t<Metadata />\\n\\t<PhysicalResourceId></PhysicalResourceId>\\n\\t<RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n\\t<ResourceAttributes>\\n\\t\\t<ResourceAttributeKey>CurlCli</ResourceAttributeKey>\\n\\t\\t<ResourceAttributeValue>curl -i -X POST -H \'Content-Type: application/json\' -H \'Accept: application/json\' -H \'x-acs-region-id: cn-beijing\' http://192.168.XX.XX/waitcondition?stackname=test-describe-resource\\\\&stackid=efdf5c10-96a5-4fd7-ab89-68e7baa2****\\\\&resource=WaitConditionHandle\\\\&expire=156468****\\\\&signature=991d910a901a89db6580d74233119960c004****</ResourceAttributeValue>\\n\\t</ResourceAttributes>\\n\\t<ResourceAttributes>\\n\\t\\t<ResourceAttributeKey>WindowsCurlCli</ResourceAttributeKey>\\n\\t\\t<ResourceAttributeValue>curl -i -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "x-acs-region-id: cn-beijing" "http://192.168.XX.XX/waitcondition?stackname=test-describe-resource&stackid=efdf5c10-96a5-4fd7-ab89-68e7baa2****&resource=WaitConditionHandle&expire=156468****&signature=991d910a901a89db6580d74233119960c004****"</ResourceAttributeValue>\\n\\t</ResourceAttributes>\\n\\t<ResourceAttributes>\\n\\t\\t<ResourceAttributeKey>PowerShellCurlCli</ResourceAttributeKey>\\n\\t\\t<ResourceAttributeValue>curl -Uri "http://192.168.XX.XX/waitcondition?stackname=test-describe-resource&stackid=efdf5c10-96a5-4fd7-ab89-68e7baa2****&resource=WaitConditionHandle&expire=156468****&signature=991d910a901a89db6580d74233119960c004****" -Method Post -Headers @{"Content-Type"="application/json"; "Accept"="application/json"; "x-acs-region-id"="cn-beijing"}</ResourceAttributeValue>\\n\\t</ResourceAttributes>\\n\\t<ResourceType>ALIYUN::ROS::WaitConditionHandle</ResourceType>\\n\\t<StackId>efdf5c10-96a5-4fd7-ab89-68e7baa2****</StackId>\\n\\t<StackName>test-describe-resource</StackName>\\n\\t<Status>UPDATE_COMPLETE</Status>\\n\\t<StatusReason>state changed</StatusReason>\\n\\t<UpdateTime>2019-08-01T06:01:29</UpdateTime>\\n\\t<DriftDetectionTime>2020-02-27T07:47:47</DriftDetectionTime>\\n\\t<ResourceDriftStatus>IN_SYNC</ResourceDriftStatus>\\n</GetStackResourceResponse>","errorExample":""}]', - 'title' => 'GetStackResource', - 'description' => '| Http status code | Error code | Error message | Description |'."\n" - .'| ---------------- | ---------- | ------------- | ----------- |'."\n" - .'| 404 | ResourceNotFound | The Resource ({name}) could not be found in Stack {stack}. | The error message returned because the specified resource does not exist in the stack. name indicates the resource name. stack indicates the stack name or ID. |'."\n" - .'| 404 | StackNotFound | The Stack ({name}) could not be found. | The error message returned because the stack does not exist. name indicates the name or ID of the stack. |', - 'requestParamsDescription' => 'The operation that you want to perform. Set the value to GetStackResource.'."\n", - 'responseParamsDescription' => 'The ID of the stack.'."\n", - ], - 'MoveResourceGroup' => [ - 'summary' => 'Moves a resource to a specific resource group.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'EnableServices', + 'summary' => 'Enables services in a batch.', + 'description' => '### Description'."\n" + ."\n" + .'This operation enables multiple Alibaba Cloud services in a batch.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ros:EnableServices', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E1BD3327-6BEE-53AD-8788-D892EB575962\\",\\n \\"FailedServices\\": [\\n {\\n \\"ServiceName\\": \\"ACVS\\",\\n \\"Code\\": \\"400\\",\\n \\"Message\\": \\"Failed\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ExecuteChangeSet' => [ + 'summary' => 'Executes change sets.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5340,850 +4194,1208 @@ 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATURErosM9I2VQ'], ], 'parameters' => [ [ - 'name' => 'ResourceType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* stack: stack'."\n" - .'* stackgroup: stack group'."\n" - .'* template: template'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'stack', - ], + 'schema' => ['description' => 'The region ID of the change set. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4e8611cb-251e-42b7-b9cb-3496362c****', - ], - ], - [ - 'name' => 'NewResourceGroupId', + 'name' => 'ChangeSetId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which you want to move the resource. For more information about resource groups, see the "Resource Group" section of the [What is Resource Management?](~~94475~~) topic.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rg-acfm3peow3k****', - ], + 'schema' => ['description' => 'The ID of the change set.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource.\\'."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests.'."\n" + ."\n" + .'The token can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F84A05B3-7275-4C8B-8AEE-9088C639C271', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F84A05B3-7275-4C8B-8AEE-9088C639C271\\"\\n}","errorExample":""},{"type":"xml","example":"<MoveResourceGroupResponse>\\r\\n <RequestId>F84A05B3-7275-4C8B-8AEE-9088C639C271</RequestId>\\r\\n</MoveResourceGroupResponse>","errorExample":""}]', - 'title' => 'MoveResourceGroup', - 'description' => 'In this example, a stack deployed in the `China (Hangzhou)` region is moved to a specific resource group. The ID of the stack is `4e8611cb-251e-42b7-b9cb-3496362c****` and the ID of the resource group is `rg-acfm3peow3k****`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'title' => 'ExecuteChangeSet', + 'description' => 'In this example, the change set whose ID is `1f6521a4-05af-4975-afe9-bc4b45ad****` is executed. The change set is created in the `China (Hangzhou)` region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateTemplateScratch' => [ - 'summary' => 'Creates a resource scenario.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => "\n" + .'| 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| ChangeSetNotFound |The ChangeSet ({name}) of Stack ({stack}) could not be found. | 404 |更改集不存在,name为更改集名称或ID,stack为资源栈名称或ID。 |'."\n" + .'| ChangeSetNotFound |The ChangeSet {ID} could not be found. | 404 |更改集不存在,ID为更改集ID。 |'."\n" + .'| StackNotFound |The Stack ({name}) could not be found. | 404 |资源栈不存在,name为资源栈名称或ID。 |'."\n" + .'| ActionInProgress |Stack {name} already has an action ({action}) in progress. | 409 |资源栈在变更中,name为资源栈名称或ID,action为变更操作。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecuteChangeSet'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:ExecuteChangeSet', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', + ], + 'GenerateTemplateByScratch' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '69533', - 'abilityTreeNodes' => [ - 'FEATURErosUSKZAD', - 'FEATURErosHDIJ7A', - 'FEATURErosSKHQLM', - ], - 'tenantRelevance' => 'tenant', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosUSKZAD', 'FEATURErosHDIJ7A', 'FEATURErosSKHQLM'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource scenario.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the resource scenario.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TemplateScratchType', + 'name' => 'TemplateScratchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource scenario. Valid values:'."\n" - ."\n" - .'* ArchitectureReplication: resource replication'."\n" - .'* ArchitectureDetection: resource detection'."\n" - .'* ResourceImport: resource management'."\n" - .'* ResourceMigration: resource migration'."\n" - ."\n" - .'> The valid values of the ParameterKey and ParameterValue request parameters vary based on the value of TemplateScratchType. For more information, see the "**Additional information about request parameters**" section of this topic.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ArchitectureReplication', - ], + 'schema' => ['description' => 'The ID of the resource scenario.'."\n" + ."\n" + .'For more information about how to query the IDs of resource scenarios, see [ListTemplateScratches](~~363050~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ts-aa9c62feab844a6b****', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'ProvisionRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the resource scenario.', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'Replicate a VPC. ', - ], + 'schema' => ['description' => 'The region ID of the new node.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'SourceResources', + 'name' => 'TemplateType', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The source resources.'."\n" - ."\n" - .'When you set TemplateScratchType to ArchitectureDetection, you can specify SourceResources to detect the architecture data of all resources associated with the specified source resources. For example, if you set SourceResources to the ID of a Classic Load Balancer (CLB) instance, the architecture data of all resources, such as the Elastic Compute Service (ECS) instance, vSwitch, and VPC, associated with the CLB instance is detected.'."\n" - ."\n" - .'If you set TemplateScratchType to ArchitectureDetection, you can specify up to 20 source resources. In other cases, you can specify up to 200 source resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The source resource.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceId' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vpc-bp1m6fww66xbntjyc****', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ALIYUN::ECS::VPC', - ], - 'RegionId' => [ - 'description' => 'The region ID of the resource.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* This parameter takes effect only when TemplateScratchType is set to ArchitectureDetection.'."\n" - ."\n" - .'* The region ID of a global resource is `global`. For example, the region ID of the ALIYUN::CDN::Domain global resource is `global`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], - 'RelatedResourceTypeFilter' => [ - 'description' => 'The related resource type filters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The related resource type filter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN::ECS::VPC', - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - 'docRequired' => false, - ], + 'schema' => ['description' => 'The type of the template that Resource Orchestration Service (ROS) generates. ROS can generate templates of the ROS and Terraform types. Default value: ROS.', 'type' => 'string', 'required' => false, 'example' => 'ROS', 'title' => ''], ], - [ - 'name' => 'SourceTag', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The source tag.'."\n", 'type' => 'object', 'properties' => [ - 'ResourceTags' => [ - 'description' => 'The source tags that consist of key-value pairs. If you want to specify only the tag key, you must leave the tag value empty. Example: `{"TagKey": ""}`.'."\n" + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D22C1D13-D74E-558C-AF68-1B4C05FA6F1A', 'title' => ''], + 'TemplateBody' => ['description' => 'The template content of the resource scenario.', 'type' => 'string', 'example' => '{\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\", \\"Resources\\": {\\"ECSVPC_001\\": {\\"DeletionPolicy\\": \\"Retain\\", \\"Type\\": \\"ALIYUN::ECS::VPC\\", \\"Properties\\": {\\"CidrBlock\\": \\"172.16.0.0/12\\", \\"VpcName\\": \\"MyTestVpc\\", \\"EnableIpv6\\": false}}}}', 'title' => ''], + 'ResourcesToImport' => [ + 'description' => 'The resources that you want to import into a stack in the resource management scenario.'."\n" ."\n" - .'You can add up to 10 source tags.'."\n", - 'type' => 'object', - 'required' => true, - 'example' => '{"a": "b"}', - ], - 'ResourceTypeFilter' => [ - 'description' => 'The resource types for filtering resources.', + .'> This parameter is returned only for a resource management scenario.', 'type' => 'array', 'items' => [ - 'description' => 'The resource type for filtering resources. If you specify this parameter, only the resources of the specified type and have the specified tags are scanned. If you do not specify this parameter, all resources that have the specified tags are scanned.'."\n" - ."\n" - .'You can specify up to 20 resource types.', - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN::ECS::VPC', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['description' => 'The type of the resource.', 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'LogicalResourceId' => ['description' => 'The logical ID of the resource.', 'type' => 'string', 'example' => 'ECSVPC_001', 'title' => ''], + 'ResourceIdentifier' => ['description' => 'The key-value mapping between strings. The value is a JSON string that identifies the resource that you want to import into a stack.<br>'."\n" + .'A key is an identifier for a resource, and a value is an assignment of data to the key. For example, VpcId is a key that indicates the ID of a virtual private cloud (VPC), and `vpc-bp1m6fww66xbntjyc****"` is a value that is assigned to VpcId.', 'type' => 'object', 'example' => '{"VpcId": "vpc-bp1m6fww66xbntjyc****" }', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'required' => false, + 'title' => '', + 'example' => '', ], ], - 'required' => false, - 'docRequired' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'SourceResourceGroup', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The source resource group.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceGroupId' => [ - 'description' => 'The ID of the source resource group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'rg-acfmzawhxxc****', - ], - 'ResourceTypeFilter' => [ - 'description' => 'The resource types for filtering resources.', - 'type' => 'array', - 'items' => [ - 'description' => 'The resource type for filtering resources. If you specify this parameter, only the resources of the specified type and in the specified resource group are scanned. If you do not specify this parameter, all resources in the specified resource group are scanned.'."\n" - ."\n" - .'You can specify up to 20 resource types.', - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN::ECS::VPC', - ], - 'required' => false, - ], + ], + 'title' => 'GenerateTemplateByScratch', + 'summary' => 'Generates a template for a resource scenario.', + 'description' => 'In this example, a template is generated for a resource management scenario that resides in the China (Hangzhou) region. The ID of the resource scenario is `ts-aa9c62feab844a6b****`.'."\n" + ."\n" + .'> You cannot generate a template for a resource detection scenario.', + 'requestParamsDescription' => 'For more information about common request parameters, see [API Reference](~~131957~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GenerateTemplateByScratch'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:GenerateTemplateByScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#templatescratchId}'], ], - 'required' => false, - 'docRequired' => false, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D22C1D13-D74E-558C-AF68-1B4C05FA6F1A\\",\\n \\"TemplateBody\\": \\"{\\\\\\\\\\\\\\"ROSTemplateFormatVersion\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"2015-09-01\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Resources\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"ECSVPC_001\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"DeletionPolicy\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"Retain\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"ALIYUN::ECS::VPC\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Properties\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"CidrBlock\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"172.16.0.0/12\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"VpcName\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"MyTestVpc\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"EnableIpv6\\\\\\\\\\\\\\": false}}}}\\",\\n \\"ResourcesToImport\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::VPC\\",\\n \\"LogicalResourceId\\": \\"ECSVPC_001\\",\\n \\"ResourceIdentifier\\": {\\n \\"VpcId\\": \\"vpc-bp1m6fww66xbntjyc****\\"\\n }\\n }\\n ]\\n}","type":"json"}]', + ], + 'GenerateTemplatePolicy' => [ + 'summary' => 'Generates the policy information required by a specified template.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PreferenceParameters', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '12684', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], + ], + 'parameters' => [ + [ + 'name' => 'TemplateURL', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The preference parameters of the resource scenario.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The parameter name.'."\n" - ."\n" - .'For more information about the valid values of ParameterKey, see the "**Additional information about request parameters**" section of this topic.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* PreferenceParameters is optional. If you specify PreferenceParameters, you must specify ParameterKey and ParameterValue.'."\n" - ."\n" - .'* You must set ParameterKey to DeletionPolicy when TemplateScratchType is set to ResourceImport.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'DeletionPolicy', - ], - 'ParameterValue' => [ - 'description' => 'The parameter value. The value is an assignment to the parameter key.'."\n" - ."\n" - .'For more information about the valid values of ParameterValue, see the "**Additional information about request parameters**" section of this topic.'."\n" - ."\n" - .'> PreferenceParameters is optional. If you specify PreferenceParameters, you must specify ParameterKey and ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Retain', - ], - ], - 'required' => false, - 'description' => 'The preference parameter of the resource scenario.', - ], - 'required' => false, - 'docRequired' => false, - ], + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on a web server (HTTP or HTTPS) or in an OSS bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=ap-southeast-1. The maximum size of the template is 524,288 bytes.'."\n" + ."\n" + .'> If the OSS region is not specified, the region specified by the RegionId parameter is used by default.'."\n" + ."\n" + .'You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n" + .'Maximum length: 1,024 bytes.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/template/demo', 'title' => ''], ], [ - 'name' => 'LogicalIdStrategy', + 'name' => 'TemplateBody', 'in' => 'query', - 'schema' => [ - 'description' => 'The policy based on which the logical ID is generated. Valid values:'."\n" - ."\n" - .'* LongTypePrefixAndIndexSuffix (default): long-type prefix + index-type suffix'."\n" - .'* LongTypePrefixAndHashSuffix: long-type prefix + hash-type suffix'."\n" - .'* ShortTypePrefixAndHashSuffix: short-type prefix + hash-type suffix'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'LongTypePrefixAndIndexSuffix', - ], + 'schema' => ['description' => 'The structure of the template body. The length is 1 to 524,288 bytes.'."\n" + .'If the length is large, we recommend that you use the HTTP POST method and include the parameter in the request body to avoid request failures caused by an excessively long URL. '."\n" + ."\n" + .'You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" - ."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The template ID. Shared templates and private templates are supported. '."\n" + .'You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ - 'name' => 'ExecutionMode', + 'name' => 'TemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The template version. This parameter takes effect only when TemplateId is specified.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'v1', 'title' => ''], + ], + [ + 'name' => 'OperationTypes', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The execution mode. Valid values:'."\n" + 'description' => 'The operation types for which policy information is generated.', + 'type' => 'array', + 'items' => ['description' => 'The operation type for which policy information is generated.'."\n" + .'Valid values:'."\n" + .'- CreateStack: calls the CreateStack operation to create a stack.'."\n" ."\n" - .'* Async (default)'."\n" - .'* Sync'."\n" + .'- UpdateStack: calls the UpdateStack operation to update a stack.'."\n" ."\n" - .'> If you have a wide scope of resources, Sync takes longer. If you set ExecutionMode to Sync, we recommend that you specify ClientToken to prevent the execution timeout.'."\n", - 'type' => 'string', + .'- DeleteStack: calls the DeleteStack operation to delete a stack.'."\n" + ."\n" + .'- DetectStackDrift: calls the DetectStackDrift operation to perform drift detection on a stack.'."\n" + ."\n" + .'- ListStackOperationRisks: calls the ListStackOperationRisks operation with the OperationType parameter set to DeleteStack to list the risks of deleting a stack.'."\n" + ."\n" + .'- GetTemplateEstimateCost: calls the GetTemplateEstimateCost operation to query the estimated prices of resources to be created based on the template.'."\n" + ."\n" + .'- GetTemplateParameterConstraints: calls the GetTemplateParameterConstraints operation to query the values of template parameters.'."\n" + ."\n" + .'- ImportResourcesToStack: calls the CreateChangeSet operation with the ChangeSetType parameter set resource import resource import resources into a stack.'."\n" + ."\n" + .'- SignalResource: sends a signal to a stack.'."\n" + ."\n" + .'> Default value: all valid values.', 'type' => 'string', 'required' => false, 'example' => '["CreateStack"]', 'title' => ''], 'required' => false, - 'example' => 'Sync', + 'maxItems' => 9, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Tags', + 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the resource scenario.', + 'description' => 'The input parameters. The input parameters define the parameters that must be specified when you create a stack by using this template. These parameters specify the details of each stack creation, such as the username, password, and environment-specific ECS instance types.', 'type' => 'array', 'items' => [ + 'description' => 'The input parameters. The input parameters define the parameters that must be specified when you create a stack by using this template. These parameters specify the details of each stack creation, such as the username, password, and environment-specific ECS instance types.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the resource scenario.'."\n" - ."\n" - .'> Tags is optional. If you want to specify Tags, you must specify Key.', - 'type' => 'string', - 'required' => true, - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The tag value of the resource scenario.', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'ParameterKey' => ['description' => 'The name of the parameter. If you do not specify the name and value of a parameter defined in the template, Resource Orchestration Service (ROS) uses the default value specified in the template. '."\n" + .'Maximum value of N: 200.'."\n" + .'Example values:'."\n" + ."\n" + .'- Parameters.1.ParameterKey: `Name`.'."\n" + ."\n" + .'- Parameters.2.ParameterKey: `Netmode`.'."\n" + ."\n\n" + .'> Parameters is optional. If you specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.', 'type' => 'string', 'required' => false, 'example' => 'Domain', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter defined in the template. Maximum value of N: 200. '."\n" + ."\n" + .'> Parameters is optional. If you specify Parameters, Parameters.N.ParameterValue is required.', 'type' => 'string', 'required' => false, 'example' => 'PostPaid', 'title' => ''], ], 'required' => false, - 'description' => 'The tags.', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 100, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'GenerateOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', + 'description' => 'The options that control how the template access policy is generated. This parameter is of the LIST type. You can specify whether to resolve template parameters and the permission scope of the generated policy: '."\n" + .'**ResolveParameters** indicates that the policy is generated after conditions and resources are resolved based on the specified Parameters or parameter default values.'."\n" + ."\n" + .'**IgnoreParameters** indicates that the policy is generated without resolving parameters, using the legacy logic.'."\n" + ."\n" + .'**MandatoryPolicy** indicates that only the minimum permissions required for template execution are generated.'."\n" + ."\n" + .'**FullPolicy** indicates that a full access policy is generated.'."\n" + ."\n" + .'ResolveParameters and IgnoreParameters are mutually exclusive. MandatoryPolicy and FullPolicy are mutually exclusive. MandatoryPolicy must be used together with ResolveParameters.'."\n" + ."\n" + .'If this parameter is not specified, ResolveParameters + FullPolicy is used by default when Parameters is specified. Otherwise, IgnoreParameters + FullPolicy is used by default.', + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'MandatoryPolicy', 'title' => ''], 'required' => false, - 'example' => 'rg-acfmxazb4ph6aiy****', + 'maxItems' => 2, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'The root node.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '84980977-22F0-5421-B30D-B201311D5DCF', + 'Policy' => [ + 'description' => 'The access policy information.', + 'type' => 'object', + 'properties' => [ + 'Version' => ['description' => 'The version number.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Statement' => [ + 'description' => 'The access policy statement details.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The first policy statement.', + 'type' => 'object', + 'properties' => [ + 'Effect' => ['description' => 'The authorization effect. Valid values: '."\n" + ."\n" + .'- Allow: Allowed. '."\n" + ."\n" + .'- Deny: Denied.', 'type' => 'string', 'example' => 'Allow', 'title' => ''], + 'Resource' => ['description' => 'The specific resource that is authorized. An asterisk (*) indicates all resources.', 'type' => 'string', 'example' => '*', 'title' => ''], + 'Action' => [ + 'description' => 'The operation on the specific resource.', + 'type' => 'array', + 'items' => ['description' => 'The operation on the specific resource.', 'type' => 'string', 'example' => '['."\n" + .' "ram:PassRole"'."\n" + .']', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Condition' => ['description' => 'The condition for the authorization to take effect.', 'type' => 'object', 'example' => '{'."\n" + .' "StringEquals": {'."\n" + .' "acs:Service": "fc.aliyuncs.com"'."\n" + .' }'."\n" + .'}', 'title' => ''], + ], + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'TemplateScratchId' => [ - 'description' => 'The ID of the resource scenario.', - 'type' => 'string', - 'example' => 'ts-7f7a704cf71c49a6****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + 'PolicyFunctions' => [ + 'title' => '', + 'description' => 'The policy function configurations.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The first element in the policy function list.', + 'type' => 'object', + 'properties' => [ + 'Action' => ['title' => '', 'description' => 'The action in the policy function.', 'type' => 'string', 'example' => 'accept'], + 'RequirementLevel' => ['title' => '', 'description' => 'The requirement level of the policy function.', 'type' => 'string', 'example' => ''], + 'ActionPolicyFunctions' => [ + 'title' => '', + 'description' => 'The policy function list.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The first sub-policy function of the root policy function.', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['title' => '', 'description' => 'The resource type associated with the policy function.', 'type' => 'string', 'example' => 'stack'], + 'LogicalResourceId' => ['title' => '', 'description' => 'The logical resource ID of the policy function.', 'type' => 'string', 'example' => 'SLBLoadBalancer_00001'], + 'Functions' => [ + 'title' => '', + 'description' => 'The policy function list.', + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The first function in the policy function list.', + 'type' => 'object', + 'properties' => [ + 'Function' => ['title' => '', 'description' => 'The function in the policy function.', 'type' => 'string', 'example' => 'notContains'], + 'RequirementLevel' => ['title' => '', 'description' => 'The requirement level of the function.', 'type' => 'string', 'example' => ''], + 'OperationType' => ['title' => '', 'description' => 'The operation type.', 'type' => 'string', 'example' => 'CreateStack'], + 'RelatedProperties' => [ + 'title' => '', + 'description' => 'The list of related properties.', + 'type' => 'array', + 'items' => ['title' => '', 'description' => 'The first element in the related properties list.', 'type' => 'string', 'example' => ''], + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', ], ], - 'description' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"84980977-22F0-5421-B30D-B201311D5DCF\\",\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTemplateScratchResponse>\\n <RequestId>84980977-22F0-5421-B30D-B201311D5DCF</RequestId>\\n <TemplateScratchId>ts-7f7a704cf71c49a6****</TemplateScratchId>\\n</CreateTemplateScratchResponse>","errorExample":""}]', - 'title' => 'CreateTemplateScratch', - 'description' => '### [](#)Limits'."\n" - ."\n" - .'Only specific resource types support the resource scenario feature. For more information, see [Resource types that support the scenario feature](~~353175~~l).'."\n" - ."\n" - .'### [](#)Description'."\n" - ."\n" - .'Resource Orchestration Service (ROS) provides the resource scenario feature that allows you to specify the scope of a collection of resources on a user interface (UI) and perform operations, such as replication and management, on the resources. This helps you manage resources in a simplified manner. For more information about resource scenarios, see [Overview](~~352074~~).'."\n" - ."\n" - .'#### [](#)Resource replication scenario'."\n" - ."\n" - .'If you want to replicate a collection of resources and dependencies between the resources, you can create a resource replication scenario. This type of resource scenario allows you to replicate all existing resources within the specified scope and generate a collection of resources that have the same architecture as the existing resources. For more information, see [Resource replication scenario](~~353133~~).'."\n" - ."\n" - .'#### [](#)Resource detection scenario'."\n" - ."\n" - .'If the relationships between resources that you want to create are complicated, you can create a resource detection scenario to preview the overall resource architecture or the architecture of a specific resource. This facilitates resource management. For more information, see [Resource detection scenario](~~2591901~~).'."\n" - ."\n" - .'#### [](#)Resource management scenario'."\n" - ."\n" - .'If you want to import a collection of existing resources to a stack and manage the resources in a centralized manner, you can create a resource management scenario. For more information, see [Resource management scenario](~~353163~~).'."\n" - ."\n" - .'#### [](#)Resource migration scenario'."\n" - ."\n" - .'If you want to migrate a collection of resources and dependencies between the resources, you can create a resource migration scenario. When you migrate the resources, ROS generates a stack. You can view the migration progress on the Stacks tab of the scenario details page. After you migrate the resources, you can delete source resources. For more information, see [Resource migration scenario](~~379902~~).'."\n" - ."\n" - .'This topic provides an example on how to create a resource replication scenario in the China (Hangzhou) region to replicate a resource. In this example, a virtual private cloud (VPC) whose ID is `vpc-bp1m6fww66xbntjyc****` is replicated.', - 'requestParamsDescription' => '### Additional information about request parameters'."\n" - ."\n" - .'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n" - ."\n" - .'The valid values of ParameterKey and ParameterValue vary based on the value of `TemplateScratchType`.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Policy\\": {\\n \\"Version\\": \\"1\\",\\n \\"Statement\\": [\\n {\\n \\"Effect\\": \\"Allow\\",\\n \\"Resource\\": \\"*\\",\\n \\"Action\\": [\\n \\"[\\\\n \\\\\\"ram:PassRole\\\\\\"\\\\n]\\"\\n ],\\n \\"Condition\\": {\\n \\"StringEquals\\": {\\n \\"acs:Service\\": \\"fc.aliyuncs.com\\"\\n }\\n }\\n }\\n ]\\n },\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"PolicyFunctions\\": [\\n {\\n \\"Action\\": \\"accept\\",\\n \\"RequirementLevel\\": \\"\\",\\n \\"ActionPolicyFunctions\\": [\\n {\\n \\"ResourceType\\": \\"stack\\",\\n \\"LogicalResourceId\\": \\"SLBLoadBalancer_00001\\",\\n \\"Functions\\": [\\n {\\n \\"Function\\": \\"notContains\\",\\n \\"RequirementLevel\\": \\"\\",\\n \\"OperationType\\": \\"CreateStack\\",\\n \\"RelatedProperties\\": [\\n \\"\\"\\n ]\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Generate policy information required by a template', + 'description' => 'If the policies required by the template include Enterprise Distributed Application Service (EDAS), log on to your Alibaba Cloud account and upgrade the RAM permissions for the Resource Access Management (RAM) users that require authorization.'."\n" ."\n" - .'#### Resource replication scenario'."\n" - ."\n" - .'The following table describes the valid values of ParameterKey and ParameterValue when you set TemplateScratchType to ArchitectureReplication.'."\n" - ."\n" - .'|**ParameterKey**|**ParameterValue**|'."\n" - .'|---|---|'."\n" - .'|DeletionPolicy|The deletion policy for resources. Valid values:Retain: retains resources when you delete the stack to which the resources are replicated.Delete: deletes resources by default when you delete the stack to which the resources are replicated. In the Delete Stack dialog box, you can select specific resources to retain them.|'."\n" - .'|RegionId|The ID of the destination region to which you want to replicate resources. If you leave this parameter empty, the region ID of the source resources is used.Example: cn-shanghai.|'."\n" - .'|ZoneId|The ID of the destination zone to which you want to replicate resources. If you replicate resources in the same region and you leave this parameter empty, the zone of the source resources is used for the replicated resources. If you replicate resources across regions and you leave this parameter empty, the system filters the zones that are supported by all resources.Example: cn-shanghai-b.|'."\n" - .'|VpcId|The ID of the destination VPC to which you want to replicate resources. If you replicate resources in the same region and you leave this parameter empty, the VPC of the source resources is used for the replicated resources. If you replicate resources across regions and you leave this parameter empty, the system automatically creates a VPC in the destination region.Example: vpc-bp1hye0s8b69xokfu\\*\\*\\*\\*.|'."\n" - .'|VSwitchId|The ID of the destination vSwitch to which you want to replicate resources. If you replicate resources in the same region and you leave this parameter empty, the vSwitch of the source resources is used for the replicated resources. If you replicate resources across regions and you leave this parameter empty, the system automatically creates a vSwitch in the destination region.Example: vsw-bp11ufkwqwggtm1cj\\*\\*\\*\\*.|'."\n" - .'|NamePrefix|The prefix of the resource name. By default, a resource name does not contain a prefix. The prefix must be 2 to 32 characters in length.|'."\n" - .'|DisableNameUnique|Specifies whether to disable automatic enforcement of name uniqueness. By default, automatic enforcement of name uniqueness is enabled. For resources that have the feature enabled, such as the Bucket resource, eight-character random codes are automatically appended to the resource names to ensure the name uniqueness of replicated resources.|'."\n" - .'|InstanceDataReplication|Specifies whether to replicate ECS instance data. Default value: false. Valid values:<ul data-sourcepos="16:53-16:187"><li data-sourcepos="16:57-16:154">true: replicates ECS instance data. If you replicate the data in the same region, the system creates a custom image for the source instance and creates an instance based on the image. If you replicate the data across regions, the system creates a custom image for the source instance, replicates the image to the destination region, and then creates an instance based on the image.</li><li data-sourcepos="16:154-16:182">false: does not replicate ECS instance data.</li></ul>|'."\n" - .'|InstancePeriod|The subscription duration of the destination subscription ECS instance. By default, the subscription duration of the source instance is used.|'."\n" - .'|InstancePeriodUnit|The unit of the subscription duration of the destination subscription ECS instance. By default, the subscription duration unit of the source instance is used. Valid values:<ul data-sourcepos="18:53-18:111"><li data-sourcepos="18:57-18:73">Week</li><li data-sourcepos="18:73-18:90">Month</li><li data-sourcepos="18:90-18:106">Year</li></ul>|'."\n" - .'|InstanceAmount|The number of ECS instances to be replicated. This parameter takes effect only when the source resource is a single ECS instance.|'."\n" - .'|RamAttachedPolicyReplication|Specifies whether to replicate the RAM policy associated with RAM users, user groups, and roles. Default value: false. Valid values:<ul data-sourcepos="20:59-20:137"><li data-sourcepos="20:63-20:103">true</li><li data-sourcepos="20:103-20:132">false</li></ul>|'."\n" - .'|SlbListenerProtocols|The destination listener protocols of the CLB instance to be replicated. You can specify one or more listener protocols. Separate multiple listener protocols with commas (,). By default, no listener protocol is used. Valid values:<ul data-sourcepos="21:78-21:138"><li data-sourcepos="21:82-21:94">tcp</li><li data-sourcepos="21:94-21:106">udp</li><li data-sourcepos="21:106-21:119">http</li><li data-sourcepos="21:119-21:133">https</li></ul>Example: tcp,udp.|'."\n" - ."\n" - .'**Note** If you set ParameterKey to InstanceDataReplication and ParameterValue to true, we recommend that you replicate resources after the source instance is stopped. This ensures data consistency.'."\n" - ."\n" - .'#### Resource detection scenario'."\n" - ."\n" - .'The following table describes the valid values of ParameterKey and ParameterValue when you set TemplateScratchType to ArchitectureDetection.'."\n" - ."\n" - .'|**ParameterKey**|**ParameterValue**|'."\n" - .'|---|---|'."\n" - .'|RegionIds|One or more region IDs. Separate multiple region IDs with commas (,). A value of `global` that specifies the global region is supported. If you leave this parameter empty, the region of the resource scenario is used.|'."\n" - ."\n" - .'#### Resource management scenario'."\n" - ."\n" - .'The following table describes the valid values of ParameterKey and ParameterValue when you set TemplateScratchType to ResourceImport.'."\n" - ."\n" - .'**Note** For a resource management scenario, you must set ParameterKey to DeletionPolicy.'."\n" - ."\n" - .'|**ParameterKey**|**ParameterValue**|'."\n" - .'|---|---|'."\n" - .'|DeletionPolicy|The deletion policy for resources. Valid values:Retain: retains resources when you delete the stack that you use to manage the resources.Delete: deletes resources by default when you delete the stack that you use to manage the resources. In the Delete Stack dialog box, you can select specific resources to retain them.|'."\n" - .'|SlbListenerProtocols|The destination listener protocols of the CLB instance to be managed. You can specify one or more listener protocols. Separate multiple listener protocols with commas (,). By default, no listener protocol is used. Valid values:<ul data-sourcepos="39:78-39:138"><li data-sourcepos="39:82-39:94">tcp</li><li data-sourcepos="39:94-39:106">udp</li><li data-sourcepos="39:106-39:119">http</li><li data-sourcepos="39:119-39:133">https</li></ul>Example: tcp,udp.|'."\n" - ."\n" - .'#### Resource migration scenario'."\n" - ."\n" - .'The following table describes the valid values of ParameterKey and ParameterValue when you set TemplateScratchType to ResourceMigration.'."\n" - ."\n" - .'|**ParameterKey**|**ParameterValue**|'."\n" - .'|---|---|'."\n" - .'|RegionId|The ID of the destination region to which you want to migrate resources. If you leave this parameter empty, the region ID of the source resources is used.Example: cn-shanghai.|'."\n" - .'|ZoneId|The ID of the destination zone to which you want to migrate resources. If you migrate resources in the same region and you leave this parameter empty, the zone of the source resources is used for the migrated resources. If you migrate resources across regions and you leave this parameter empty, the system filters the zones that are supported by all resources.Example: cn-shanghai-b.|'."\n" - .'|VpcId|The ID of the destination VPC to which you want to migrate resources. If you migrate resources in the same region and you leave this parameter empty, the VPC of the source resources is used for the migrated resources. If you migrate resources across regions and you leave this parameter empty, the system automatically creates a VPC in the destination region.Example: vpc-bp1hye0s8b69xokfu\\*\\*\\*\\*.|'."\n" - .'|VSwitchId|The ID of the destination vSwitch to which you want to migrate resources. If you migrate resources in the same region and you leave this parameter empty, the vSwitch of the source resources is used for the migrated resources. If you migrate resources across regions and you leave this parameter empty, the system automatically creates a vSwitch in the destination region.Example: vsw-bp11ufkwqwggtm1cj\\*\\*\\*\\*.|'."\n" - .'|InstanceDataReplication|Specifies whether to replicate ECS instance data. Valid values:true: replicates ECS instance data. If you replicate the data in the same region, the system creates a custom image for the source instance and creates an instance based on the image. If you replicate the data across regions, the system creates a custom image for the source instance, replicates the image to the destination region, and then creates an instance based on the image.false: does not replicate ECS instance data.|', - ], - 'DeleteTemplateScratch' => [ - 'summary' => 'Deletes a scenario.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'This topic provides an example of how to generate access policies for a template whose ID is `5ecd1e10-b0e9-4389-a565-e4c15efc****`.', + 'requestParamsDescription' => ' For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HTTP status code | Error code | Error message | Description |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | StackValidationFailed | {reason}. | Stack validation failed. reason indicates the specific cause. |'."\n" + .'| 404 | TemplateNotFound | The Tempalte ({ ID }) could not be found. | The template does not exist. ID indicates the template ID. |'."\n" + .'| 404 | TemplateNotFound | The Template { ID } with version { version } could not be found. | The template or the specified version does not exist. ID indicates the template ID, and version indicates the template version. |.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GenerateTemplatePolicy'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:GenerateTemplatePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], + ], ], + ], + 'GetAITask' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosSKHQLM', - 'FEATURErosHDIJ7A', - 'FEATURErosUSKZAD', - ], + 'abilityTreeCode' => '227776', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scenario.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the AI task.'."\n", 'type' => 'string', 'required' => false, 'example' => 't-asasas*****'], ], [ - 'name' => 'TemplateScratchId', + 'name' => 'OutputOption', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scenario.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ts-4f83704400994409****', - ], + 'schema' => ['description' => 'Specifies whether to return the TaskOutput parameter. The TaskOutput parameter specifies the outputs of the AI task. Valid values:'."\n" + ."\n" + .'* Enabled'."\n" + .'* Disabled (default)'."\n" + ."\n" + .'> The value of TaskOutput may be excessively long. If you do not require the outputs of the task, we recommend that you set OutputOption to Disabled to improve the response speed of the API operation.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Disabled'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", + 'TaskId' => ['description' => 'The ID of the AI task.'."\n", 'type' => 'string', 'example' => 't-asasas*****'."\n"], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A'], + 'TaskType' => [ + 'title' => '', + 'description' => 'The type of the AI task.'."\n" + ."\n" + .'* GenerateTemplate: The AI task is used to generate a template.'."\n" + .'* FixTemplate: The AI task is used to fix a template.'."\n", 'type' => 'string', - 'example' => '1B9C6333-5904-5A1E-9845-CB17A369AFDC', + 'required' => true, + 'enumValueTitles' => ['GenerateTemplate' => 'GenerateTemplate', 'FixTemplate' => 'FixTemplate'], + 'example' => 'GenerateTemplate', + ], + 'Status' => [ + 'description' => 'The state of the AI task.'."\n" + ."\n" + .'* PENDING'."\n" + .'* WAITING'."\n" + .'* RUNNING'."\n" + .'* SUCCESS'."\n" + .'* FAILURE'."\n", + 'type' => 'string', + 'enumValueTitles' => ['SUCCESS' => 'SUCCESS', 'RUNNING' => 'RUNNING', 'WAITING' => 'WAITING', 'PENDING' => 'PENDING', 'FAILURE' => 'FAILURE'], + 'example' => 'FAILURE', ], + 'StatusReason' => ['description' => 'The reason why the AI task is in the state.'."\n", 'type' => 'string', 'example' => 'Handler execution unexpected failure'], + 'TaskOutput' => ['description' => 'The outputs of the AI task. The outputs include the template.'."\n" + ."\n" + .'*'."\n", 'type' => 'object', 'example' => ' "Result": {'."\n" + .' "ROSTemplateFormatVersion": "2015-09-01",'."\n" + .'}'], + 'Code' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => 'Forbidden'], + 'HttpStatusCode' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => 'You are not authorized to complete this action.'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'example' => 'true'], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1B9C6333-5904-5A1E-9845-CB17A369AFDC\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTemplateScratchResponse>\\n <RequestId>1B9C6333-5904-5A1E-9845-CB17A369AFDC</RequestId>\\n</DeleteTemplateScratchResponse>","errorExample":""}]', - 'title' => 'DeleteTemplateScratch', - 'description' => 'In this topic, a scenario whose ID is `ts-4f83704400994409****` is deleted in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - ], - 'UpdateTemplateScratch' => [ - 'summary' => 'Updates a scenario.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TaskId\\": \\"t-asasas*****\\\\n\\",\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"TaskType\\": \\"GenerateTemplate\\",\\n \\"Status\\": \\"FAILURE\\",\\n \\"StatusReason\\": \\"Handler execution unexpected failure\\",\\n \\"TaskOutput\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Code\\": \\"Forbidden\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'title' => 'GetAITask', + 'summary' => 'Queries the information about an AI task by task ID.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetAITask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetChangeSet' => [ + 'summary' => 'Returns details for a specified change set, optionally including the details of its associated template.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATURErosUSKZAD', - 'FEATURErosHDIJ7A', - 'FEATURErosSKHQLM', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosM9I2VQ'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scenario.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'TemplateScratchId', + 'name' => 'ShowTemplate', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource scenario.'."\n" - ."\n" - .'The valid values of the ParameterKey and ParameterValue request parameters vary based on the IDs of different types of resource scenarios. For more information, see the "Additional information about request parameters" section of this topic.'."\n" - ."\n" - .'> You can call the [ListTemplateScratches](~~610832~~) operation to query the ID of a resource scenario.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ts-7f7a704cf71c49a6****', - ], + 'schema' => ['description' => 'Specifies whether to return the template. Valid values:'."\n" + ."\n" + .'- true: The template is returned.'."\n" + ."\n" + .'- false (default): The template is not returned.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the scenario.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'The description of the scenario. ', - ], + 'schema' => ['description' => 'The ID of the region to which the change set belongs. You can call the [DescribeRegions](~~131035~~) operation to query the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'SourceResources', + 'name' => 'ChangeSetId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The source resources.'."\n" - ."\n" - .'> You must specify only one of the following parameters: SourceResources, SourceTag, and SourceResourceGroup.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The source resource.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceId' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vpc-bp1m6fww66xbntjyc****', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ALIYUN::ECS::VPC', - ], - ], - 'required' => false, - ], - 'required' => false, - 'docRequired' => false, - ], + 'schema' => ['description' => 'The ID of the change set.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4c11658d-bd47-4dd0-ba64-727edc62****', 'title' => ''], ], - [ - 'name' => 'SourceTag', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The source tag.'."\n" - ."\n" - .'> You must specify only one of the following parameters: SourceResources, SourceTag, and SourceResourceGroup.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'ResourceTags' => [ - 'description' => 'The source tags. A tag contains a tag key and a tag value.'."\n" - ."\n" - .'If you want to specify only the tag key, you must leave the tag value empty. Example: {"TagKey": ""}.'."\n" + 'Status' => ['description' => 'The status of the change set.', 'type' => 'string', 'example' => 'CREATE_COMPLETE', 'title' => ''], + 'Changes' => [ + 'description' => 'The changes in the change set.', + 'type' => 'array', + 'items' => ['description' => 'A change in the change set.'."\n" ."\n" - .'If you set TemplateScratchType to ArchitectureDetection, you can add up to 5 source tags. In other cases, you can add up to 10 source tags.'."\n", + .'For more information, see [change set data structure](~~155988~~).', 'type' => 'object', 'example' => 'See examples.', 'title' => ''], + 'title' => '', + 'example' => 'See examples.', + ], + 'Description' => ['description' => 'The description of the change set.', 'type' => 'string', 'example' => 'It is a demo.', 'title' => ''], + 'Parameters' => [ + 'description' => 'The parameters of the stack.', + 'type' => 'array', + 'items' => [ + 'description' => 'A parameter for the stack.', + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The name of the parameter.', 'type' => 'string', 'example' => 'ALIYUN::Region', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3766EE04-76DD-50F9-9C23-3AF136CD5708', 'title' => ''], + 'StatusReason' => ['description' => 'The reason for the change set\'s abnormal status.', 'type' => 'string', 'example' => 'too many changes.', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the change set was created. The time is in UTC and uses the `YYYY-MM-DDThh:mm:ss` format.', 'type' => 'string', 'example' => '2021-12-01T02:20:56', 'title' => ''], + 'TemplateBody' => ['description' => 'The template body of the change set.'."\n" + ."\n" + .'> This parameter is returned only when `ShowTemplate` is set to `true`.', 'type' => 'string', 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', 'title' => ''], + 'ChangeSetName' => ['description' => 'The name of the change set.', 'type' => 'string', 'example' => 'ChangeSet_template', 'title' => ''], + 'ChangeSetId' => ['description' => 'The ID of the change set.', 'type' => 'string', 'example' => '4c11658d-bd47-4dd0-ba64-727edc62****', 'title' => ''], + 'ExecutionStatus' => ['description' => 'The execution status of the change set.', 'type' => 'string', 'example' => 'AVAILABLE', 'title' => ''], + 'ChangeSetType' => ['description' => 'The type of the change set.', 'type' => 'string', 'example' => 'UPDATE', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'DisableRollback' => ['description' => 'Indicates whether to disable rollback when a stack creation or update fails.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'StackName' => ['description' => 'The name of the stack to which the change set belongs.', 'type' => 'string', 'example' => 'stack_2021-10-13', 'title' => ''], + 'TimeoutInMinutes' => ['description' => 'The timeout period for creating or updating the stack.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'StackId' => ['description' => 'The ID of the stack to which the change set belongs.', 'type' => 'string', 'example' => 'a486fc19-ebb7-4ce9-a70b-554a7c3d****', 'title' => ''], + 'Log' => [ + 'description' => 'Logs for the change set.', 'type' => 'object', - 'required' => true, - 'example' => '{"a": "b"}', + 'properties' => [ + 'TerraformLogs' => [ + 'description' => 'The Terraform output logs. This parameter is returned only for change sets of Terraform-based stacks.'."\n" + ."\n" + .'> This parameter is unavailable while a change set is being created because the logs are generated only after the creation is complete.', + 'type' => 'array', + 'items' => [ + 'description' => 'A Terraform log entry.', + 'type' => 'object', + 'properties' => [ + 'Command' => ['description' => 'The name of the Terraform command that was executed. Valid values:'."\n" + ."\n" + .'- apply'."\n" + ."\n" + .'- plan'."\n" + ."\n" + .'- destroy'."\n" + ."\n" + .'- version'."\n" + ."\n" + .'For more information about the commands, see [Command](https://www.terraform.io/cli/commands).', 'type' => 'string', 'example' => 'apply', 'title' => ''], + 'Stream' => ['description' => 'The output stream. Valid values:'."\n" + ."\n" + .'- `stdout`: standard output'."\n" + ."\n" + .'- `stderr`: standard error', 'type' => 'string', 'example' => 'stdout', 'title' => ''], + 'Content' => ['description' => 'The content that the command wrote to the specified stream.', 'type' => 'string', 'example' => 'Apply complete! Resources: 42 added, 0 changed, 0 destroyed.', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'ResourceTypeFilter' => [ - 'description' => 'The resource types for filtering resources.'."\n", + 'Tags' => [ 'type' => 'array', 'items' => [ - 'description' => 'The resource type for filtering resources. If you specify the resource types, ROS scans only the resources that are of the specified types and have the specified tags. If you do not specify the resource types, ROS scans all resources that have the specified tags.'."\n" - ."\n" - .'You can specify up to 20 resource types.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN::ECS::VPC', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'description' => 'A tag applied to the change set.', + 'title' => '', + 'example' => '', ], - 'required' => false, + 'description' => 'The tags of the change set.', + 'title' => '', + 'example' => '', ], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.<br>For more information about resource groups, see [What is a resource group?](~~94475~~).<br>', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], - 'required' => false, - 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"Changes\\": [\\n {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n ],\\n \\"Description\\": \\"It is a demo.\\",\\n \\"Parameters\\": [\\n {\\n \\"ParameterKey\\": \\"ALIYUN::Region\\",\\n \\"ParameterValue\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"RequestId\\": \\"3766EE04-76DD-50F9-9C23-3AF136CD5708\\",\\n \\"StatusReason\\": \\"too many changes.\\",\\n \\"CreateTime\\": \\"2021-12-01T02:20:56\\",\\n \\"TemplateBody\\": \\"{\\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"}\\",\\n \\"ChangeSetName\\": \\"ChangeSet_template\\",\\n \\"ChangeSetId\\": \\"4c11658d-bd47-4dd0-ba64-727edc62****\\",\\n \\"ExecutionStatus\\": \\"AVAILABLE\\",\\n \\"ChangeSetType\\": \\"UPDATE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"DisableRollback\\": false,\\n \\"StackName\\": \\"stack_2021-10-13\\",\\n \\"TimeoutInMinutes\\": 60,\\n \\"StackId\\": \\"a486fc19-ebb7-4ce9-a70b-554a7c3d****\\",\\n \\"Log\\": {\\n \\"TerraformLogs\\": [\\n {\\n \\"Command\\": \\"apply\\",\\n \\"Stream\\": \\"stdout\\",\\n \\"Content\\": \\"Apply complete! Resources: 42 added, 0 changed, 0 destroyed.\\"\\n }\\n ]\\n },\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\"\\n}","type":"json"}]', + 'title' => 'GetChangeSet', + 'description' => 'This topic demonstrates how to query a change set with the ID `4c11658d-bd47-4dd0-ba64-727edc62****` in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For details about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| ChangeSetNotFound |The ChangeSet ({name}) of Stack ({stack}) could not be found. | 404 |更改集不存在,name为更改集名称或ID,stack为资源栈名称或ID。 |'."\n" + .'| ChangeSetNotFound |The ChangeSet {ID} could not be found. | 404 |更改集不存在,ID为更改集ID。 |'."\n" + .'| StackNotFound |The Stack ({name}) could not be found. | 404 |资源栈不存在,name为资源栈名称或ID。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetChangeSet'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetChangeSet', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], + ], + ], + 'GetDiagnostic' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'SourceResourceGroup', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ + [ + 'name' => 'ReportId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dr-d540def087714890****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The source resource group.'."\n" - ."\n" - .'> You must specify only one of the following parameters: SourceResources, SourceTag, and SourceResourceGroup.'."\n", 'type' => 'object', 'properties' => [ - 'ResourceGroupId' => [ - 'description' => 'The ID of the source resource group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'rg-acfmzawhxxc****', - ], - 'ResourceTypeFilter' => [ - 'description' => 'The resource types for filtering resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource type for filtering resources. If you specify the resource types, ROS scans only the resources that are of the specified types and belong to the specified resource group. If you do not specify the resource types, ROS scans all resources that belong to the specified resource group.'."\n" - ."\n" - .'You can specify up to 20 resource types.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN::ECS::VPC', + 'Code' => ['description' => 'The error code returned.'."\n", 'type' => 'string', 'example' => 'Forbidden'], + 'DiagnosticProduct' => ['description' => 'The name of the diagnostic item.'."\n", 'type' => 'string', 'example' => 'ros'], + 'HttpStatusCode' => ['description' => 'The HTTP status code returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => 'The error message returned.'."\n", 'type' => 'string', 'example' => 'The specified parameter ReportId is invalid, Can not find diagnostic report dr-5f6135782f104b0f****.'], + 'Recommends' => ['description' => 'The suggestion for the diagnosis.'."\n", 'type' => 'object', 'example' => '{\'RosActionMessages\': {\'Reason\': \'Fail to delete stack (fc966920-450a-456b-983c-deeaec8e****), as deletion protection is enabled.\', \'Recommend\': \'\'}}'], + 'ReportId' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'example' => 'dr-cc80afc48c8741e9****'], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '96A24844-9603-5E79-BDF4-EFD412FC5D4C'], + 'Status' => ['description' => 'The diagnosis status. Valid values:'."\n" + ."\n" + .'* Running: The diagnosis is in progress.'."\n" + .'* Complete: The diagnosis is complete.'."\n" + .'* Failed: The diagnosis failed.'."\n", 'type' => 'string', 'example' => 'Running'], + 'StatusReason' => ['description' => 'The reason for the diagnosis status.'."\n", 'type' => 'string', 'example' => 'Complete'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'example' => 'true'], + 'DiagnosticKey' => ['description' => 'The keyword in the diagnosis.'."\n", 'type' => 'string', 'example' => '0938F60C-A2CA-5A2E-9983-03EB1E6D7AE2'], + 'DiagnosticTime' => ['description' => 'The time when the diagnosis was performed.'."\n", 'type' => 'string', 'example' => '2023-03-27T03:32:03Z'], + 'HttpCode' => ['description' => 'The HTTP status code'."\n", 'type' => 'string', 'example' => '200'], + 'DiagnosticResult' => [ + 'description' => 'The diagnosis result.'."\n", + 'type' => 'object', + 'properties' => [ + 'StackMessages' => ['description' => 'The stack information.'."\n", 'type' => 'object'], + 'RosActionMessages' => ['description' => 'The information about Resource Orchestration Service (ROS) calling.'."\n", 'type' => 'object'], + 'FailedResources' => ['description' => 'The resources that failed to be diagnosed.'."\n", 'type' => 'object'], ], - 'required' => false, ], ], - 'required' => false, - 'docRequired' => false, + 'description' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Forbidden\\",\\n \\"DiagnosticProduct\\": \\"ros\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"The specified parameter ReportId is invalid, Can not find diagnostic report dr-5f6135782f104b0f****.\\",\\n \\"Recommends\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"ReportId\\": \\"dr-cc80afc48c8741e9****\\",\\n \\"RequestId\\": \\"96A24844-9603-5E79-BDF4-EFD412FC5D4C\\",\\n \\"Status\\": \\"Running\\",\\n \\"StatusReason\\": \\"Complete\\",\\n \\"Success\\": \\"true\\",\\n \\"DiagnosticKey\\": \\"0938F60C-A2CA-5A2E-9983-03EB1E6D7AE2\\",\\n \\"DiagnosticTime\\": \\"2023-03-27T03:32:03Z\\",\\n \\"HttpCode\\": \\"200\\",\\n \\"DiagnosticResult\\": {\\n \\"StackMessages\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"RosActionMessages\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"FailedResources\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n }\\n}","type":"json"}]', + 'title' => 'GetDiagnostic', + 'summary' => 'Obtains the diagnosis details based on a specified diagnostic report ID.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:GetDiagnostic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'GetFeatureDetails' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PreferenceParameters', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '104761', + 'abilityTreeNodes' => ['FEATUREros68YWKF'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Feature', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The one or more features that you want to query. Valid values:'."\n" + ."\n" + .'- Terraform: the Terraform hosting feature.'."\n" + ."\n" + .'- ResourceCleaner: the resource cleaner feature. You can use ALIYUN::ROS::ResourceCleaner to create a resource cleaner.'."\n" + ."\n" + .'- TemplateScratch: the scenario feature.'."\n" + ."\n" + .'- All: all features that are supported by ROS.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Terraform', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The preference parameters of the resource scenario.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The preference parameter of the scenario.'."\n", - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The parameter name.'."\n" - ."\n" - .'For more information about the valid values of ParameterKey, see the "**Additional information about request parameters**" section of this topic.'."\n" - ."\n" - .'>- PreferenceParameters is optional. If you specify PreferenceParameters, you must specify both ParameterKey and ParameterValue.'."\n" - .'> - If you set TemplateScratchType to ResourceImport, you must set ParameterKey to DeletionPolicy.', - 'type' => 'string', - 'required' => true, - 'example' => 'DeletionPolicy', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EBF833DA-D0E2-52BE-92E2-59CA56BE834E', 'title' => ''], + 'Terraform' => [ + 'description' => 'Details of the Terraform hosting feature.', + 'type' => 'object', + 'properties' => [ + 'SupportedVersions' => [ + 'description' => 'The Terraform versions.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ProviderVersions' => [ + 'description' => 'The names and versions of the providers that correspond to the Terraform versions.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ProviderName' => ['description' => 'The name of the provider.', 'type' => 'string', 'example' => 'alicloud', 'title' => ''], + 'SupportedVersions' => [ + 'description' => 'The provider versions.', + 'type' => 'array', + 'items' => ['description' => 'The provider version.', 'type' => 'string', 'example' => '1.121.2', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'TerraformVersion' => ['description' => 'The Terraform version.', 'type' => 'string', 'example' => '1.0.11', 'title' => ''], + 'Transform' => ['description' => 'The Terraform version that is supported by ROS. The parameter value is the same as the value of the Transform parameter in a Terraform template.', 'type' => 'string', 'example' => 'Aliyun::Terraform-v1.0', 'title' => ''], + 'UpdateAllowedTransforms' => [ + 'description' => 'The Terraform versions that can be updated in ROS.', + 'type' => 'array', + 'items' => ['description' => 'The Terraform version that can be updated in ROS.', 'type' => 'string', 'example' => 'Aliyun::Terraform-v1.1', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SupportedResourceTypes' => [ + 'description' => 'The resource types that support the scenario feature.', + 'type' => 'object', + 'properties' => [ + 'SystemTag' => [ + 'description' => 'The resource types that support the system tag `acs:ros:stackId`.', + 'type' => 'array', + 'items' => ['description' => 'The resource types that support the system tag `acs:ros:stackId`.', 'type' => 'string', 'example' => 'alicloud_instance', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'CustomTag' => [ + 'description' => 'The resource types that support the custom tag feature.', + 'type' => 'array', + 'items' => ['description' => 'The resource types that support the custom tag feature.', 'type' => 'string', 'example' => 'alicloud_instance', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'EstimateCost' => [ + 'description' => 'The resource types that support the price inquiry feature.', + 'type' => 'array', + 'items' => ['description' => 'The resource types that support the price inquiry feature.', 'type' => 'string', 'example' => 'alicloud_instance', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ResourceGroup' => [ + 'description' => 'The resource types that support the resource group feature.', + 'type' => 'array', + 'items' => ['description' => 'The resource types that support the resource group feature.', 'type' => 'string', 'example' => 'alicloud_instance', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'StackOperationRisk' => [ + 'description' => 'The resource type that support the risk check feature.', + 'type' => 'object', + 'properties' => [ + 'DeleteStack' => [ + 'description' => 'The resource types that support the risk check performed to detect risks caused by a stack deletion operation.', + 'type' => 'array', + 'items' => ['description' => 'The resource types that support the risk check performed to detect risks caused by a stack deletion operation.', 'type' => 'string', 'example' => 'alicloud_instance', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], ], - 'ParameterValue' => [ - 'description' => 'The parameter value. The value of ParameterValue varies based on the value of ParameterKey.'."\n" - ."\n" - .'For more information about the valid values of ParameterKey, see the "**Additional information about request parameters**" section of this topic.'."\n" - ."\n" - .'> PreferenceParameters is optional. If you specify PreferenceParameters, you must specify both ParameterKey and ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Retain', + 'title' => '', + 'example' => '', + ], + 'TemplateScratch' => [ + 'description' => 'Details of the scenario feature.', + 'type' => 'object', + 'properties' => [ + 'SupportedResourceTypes' => [ + 'description' => 'The resource types that are supported by the scenario feature.', + 'type' => 'array', + 'items' => [ + 'description' => 'The resource types that support the scenario feature.', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::Disk', 'title' => ''], + 'SourceResourcesSupported' => ['description' => 'Indicates whether the resource scope can be specified by source resource. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SourceTagSupported' => ['description' => 'Indicates whether the resource scope can be specified by source tag. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SourceResourceGroupSupported' => ['description' => 'Indicates whether the resource scope can be specified by source resource group. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SourceSupported' => ['description' => 'Indicates whether the resource scope can be specified by source tag, resource group, or resource. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SupportedTemplateScratchTypes' => [ + 'description' => 'The scenario types that are supported.', + 'type' => 'array', + 'items' => ['description' => 'The scenario type that is supported. Valid values:'."\n" + ."\n" + .'- ArchitectureReplication: resource replication'."\n" + ."\n" + .'- ArchitectureDetection: resource detection'."\n" + ."\n" + .'- ResourceImport: resource management'."\n" + ."\n" + .'- ResourceMigration: resource migration', 'type' => 'string', 'example' => 'ArchitectureReplication', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', + ], + 'ResourceCleaner' => [ + 'description' => 'Details of the resource cleaner feature.', + 'type' => 'object', + 'properties' => [ + 'SupportedResourceTypes' => [ + 'description' => 'The resource types that can be cleaned up.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['description' => 'The resource type that supports the resource cleaner feature.', 'type' => 'string', 'example' => 'ECS:Instance', 'title' => ''], + 'SupportedFilters' => [ + 'description' => 'The names of the filters that are supported by the resource type.', + 'type' => 'array', + 'items' => ['description' => 'The name of the filter that is supported by the resource type. Valid values:'."\n" + ."\n" + .'- RegionId'."\n" + ."\n" + .'- ResourceId'."\n" + ."\n" + .'- ResourceName'."\n" + ."\n" + .'- Tags'."\n" + ."\n" + .'- ResourceGroupId'."\n" + ."\n" + .'- DeletionProtection', 'type' => 'string', 'example' => 'ResourceName', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'SideEffects' => [ + 'description' => 'The names of the side effects that may be caused by the cleanup operation performed on the resources of the specified type.', + 'type' => 'array', + 'items' => ['description' => 'The name of the side effect that may be caused by the cleanup operation performed on the resources of the specified type. Only StopInstance may be returned, which indicates that instances related to the specified resource type are stopped.', 'type' => 'string', 'example' => 'StopInstance', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The resource types that can be cleaned up.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'TemplateParameterConstraints' => [ + 'description' => 'Details of the template parameter constraint feature.', + 'type' => 'object', + 'properties' => [ + 'SupportedResourceTypes' => [ + 'description' => 'The resource types that support the template parameter constraint feature.', + 'type' => 'array', + 'items' => [ + 'description' => 'The resource types that support the template parameter constraint feature.', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::Disk', 'title' => ''], + 'Properties' => [ + 'description' => 'The names of properties that are supported by the resource type.', + 'type' => 'array', + 'items' => ['description' => 'The name of the property that is supported by the resource type.', 'type' => 'string', 'example' => '["DiskCategory", "ZoneId"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'DriftDetection' => [ + 'description' => 'Details of the drift detection feature.', + 'type' => 'object', + 'properties' => [ + 'SupportedResourceTypes' => [ + 'description' => 'The resource types that are supported by the drift detection feature.', + 'type' => 'array', + 'items' => ['description' => 'The resource types that are supported by the drift detection feature.', 'type' => 'string', 'example' => 'ALIYUN::ECS::Disk', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ResourceImport' => [ + 'description' => 'Details of the resource import feature.', + 'type' => 'object', + 'properties' => [ + 'SupportedResourceTypes' => [ + 'description' => 'The resource types that are supported by the resource import feature.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::Disk', 'title' => ''], + 'ResourceIdentifiers' => [ + 'description' => 'The resource identifiers.', + 'type' => 'array', + 'items' => ['description' => 'The resource identifier.', 'type' => 'string', 'example' => 'DiskId', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'required' => false, ], - 'required' => false, - 'docRequired' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'LogicalIdStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The policy based on which the logical ID is generated. Valid values:'."\n" - ."\n" - .'* LongTypePrefixAndIndexSuffix: long-type prefix + index-type suffix'."\n" - .'* LongTypePrefixAndHashSuffix: long-type prefix + hash-type suffix'."\n" - .'* ShortTypePrefixAndHashSuffix: short-type prefix + hash-type suffix'."\n" - ."\n" - .'> If you set TemplateScratchType to ArchitectureDetection, the default value of LogicalIdStrategy is LongTypePrefixAndHashSuffix. In other cases, the default value of LogicalIdStrategy is LongTypePrefixAndIndexSuffix.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'LongTypePrefixAndIndexSuffix', - ], + ], + 'title' => 'GetFeatureDetails', + 'summary' => 'Queries the details of features that are supported by Resource Orchestration Service (ROS).', + 'description' => 'You can call this operation to query the Terraform hosting, resource cleaner, and scenario features.'."\n" + ."\n" + .'This topic provides an example on how to query the details of features supported by ROS in the China (Hangzhou) region. The details include Terraform versions, provider versions, and supported resource types.'."\n" + ."\n" + .'> In the Examples section, only part of the sample code is provided.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetFeatureDetails'], ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EBF833DA-D0E2-52BE-92E2-59CA56BE834E\\",\\n \\"Terraform\\": {\\n \\"SupportedVersions\\": [\\n {\\n \\"ProviderVersions\\": [\\n {\\n \\"ProviderName\\": \\"alicloud\\",\\n \\"SupportedVersions\\": [\\n \\"1.121.2\\"\\n ]\\n }\\n ],\\n \\"TerraformVersion\\": \\"1.0.11\\",\\n \\"Transform\\": \\"Aliyun::Terraform-v1.0\\",\\n \\"UpdateAllowedTransforms\\": [\\n \\"Aliyun::Terraform-v1.1\\"\\n ]\\n }\\n ],\\n \\"SupportedResourceTypes\\": {\\n \\"SystemTag\\": [\\n \\"alicloud_instance\\"\\n ],\\n \\"CustomTag\\": [\\n \\"alicloud_instance\\"\\n ],\\n \\"EstimateCost\\": [\\n \\"alicloud_instance\\"\\n ],\\n \\"ResourceGroup\\": [\\n \\"alicloud_instance\\"\\n ],\\n \\"StackOperationRisk\\": {\\n \\"DeleteStack\\": [\\n \\"alicloud_instance\\"\\n ]\\n }\\n }\\n },\\n \\"TemplateScratch\\": {\\n \\"SupportedResourceTypes\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::Disk\\",\\n \\"SourceResourcesSupported\\": true,\\n \\"SourceTagSupported\\": true,\\n \\"SourceResourceGroupSupported\\": true,\\n \\"SourceSupported\\": true,\\n \\"SupportedTemplateScratchTypes\\": [\\n \\"ArchitectureReplication\\"\\n ]\\n }\\n ]\\n },\\n \\"ResourceCleaner\\": {\\n \\"SupportedResourceTypes\\": [\\n {\\n \\"ResourceType\\": \\"ECS:Instance\\",\\n \\"SupportedFilters\\": [\\n \\"ResourceName\\"\\n ],\\n \\"SideEffects\\": [\\n \\"StopInstance\\"\\n ]\\n }\\n ]\\n },\\n \\"TemplateParameterConstraints\\": {\\n \\"SupportedResourceTypes\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::Disk\\",\\n \\"Properties\\": [\\n \\"[\\\\\\"DiskCategory\\\\\\", \\\\\\"ZoneId\\\\\\"]\\"\\n ]\\n }\\n ]\\n },\\n \\"DriftDetection\\": {\\n \\"SupportedResourceTypes\\": [\\n \\"ALIYUN::ECS::Disk\\"\\n ]\\n },\\n \\"ResourceImport\\": {\\n \\"SupportedResourceTypes\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::Disk\\",\\n \\"ResourceIdentifiers\\": [\\n \\"DiskId\\"\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetResourceType' => [ + 'summary' => 'Queries the details of a resource type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" - ."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'ExecutionMode', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The execution mode. Valid values:'."\n" - ."\n" - .'* Async (default)'."\n" - .'* Sync'."\n" - ."\n" - .'> If you have a wide scope of resources, Sync takes longer. If you set ExecutionMode to Sync, we recommend that you specify ClientToken to prevent the execution timeout.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Sync', - ], + 'schema' => ['description' => 'The resource type. '."\n" + .'For more information about the resource types supported by ROS, see [Resource type index](~~127039~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ALIYUN::ROS::WaitConditionHandle', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'VersionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4ph6aiy****', - ], + 'schema' => ['description' => 'The version ID. To query a specific version of the resource type, specify this parameter. Otherwise, the resource type is queried.'."\n" + ."\n" + .'> Only modules support versions.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], ], 'responses' => [ @@ -6191,95 +5403,181 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A28FBA2E-B6B3-5822-AA45-AB875EF23641', 'title' => ''], + 'Attributes' => ['description' => 'The return values of the resource.', 'type' => 'object', 'example' => '参见示例', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ROS::WaitConditionHandle', 'title' => ''], + 'Properties' => ['description' => 'The properties of the resource.', 'type' => 'object', 'example' => '参见示例', 'title' => ''], + 'SupportDriftDetection' => ['description' => 'Indicates whether the resource supports drift detection. Valid values:'."\n" + ."\n" + .'- true: Supported.'."\n" + ."\n" + .'- false: Not supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SupportScratchDetection' => ['description' => 'Indicates whether the resource supports resource scenarios. Valid values:'."\n" + ."\n" + .'- true: Supported.'."\n" + ."\n" + .'- false: Not supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'EntityType' => [ + 'description' => 'The entity type. Valid values:'."\n" + ."\n\n" + .'- Resource: a regular resource type. For more information, see [Resources](~~28863~~).'."\n" + ."\n" + .'- DataSource: a data source resource type. For more information, see [Data source resources](~~404753~~).'."\n" + ."\n" + .'- Module: a module.', + 'enumValueTitles' => ['Resource' => 'Resource', 'Module' => 'Module', 'DataSource' => 'DataSource'], 'type' => 'string', - 'example' => '221DA822-B8CF-50DF-A9D2-BA197BF97BD5', + 'example' => 'Resource', + 'title' => '', ], - 'TemplateScratchId' => [ - 'description' => 'The ID of the scenario.'."\n", + 'Provider' => [ + 'description' => 'The resource type provider. Valid values:'."\n" + .'- ROS: Resource Orchestration Service.'."\n" + .'- Self: the user.', + 'enumValueTitles' => ['ROS' => 'ROS', 'Self' => 'Self'], 'type' => 'string', - 'example' => 'ts-7f7a704cf71c49a6****', + 'example' => 'ROS', + 'title' => '', ], + 'Description' => ['description' => 'The description of the resource type.', 'type' => 'string', 'example' => 'It is a demo.', 'title' => ''], + 'DefaultVersionId' => ['description' => 'The default version ID.'."\n" + ."\n" + .'> This parameter is returned only when the resource type is queried.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'LatestVersionId' => ['description' => 'The latest version ID.'."\n" + .'> This parameter is returned only when the resource type is queried.', 'type' => 'string', 'example' => 'v10', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the resource type was created. The time is displayed in UTC+0 and follows the ISO 8601 standard without the trailing Z. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2023-02-24T08:25:21'."\n", 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the resource type was updated. The time is displayed in UTC+0 and follows the ISO 8601 standard without the trailing Z. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2023-02-24T08:25:21'."\n", 'title' => ''], + 'TotalVersionCount' => ['description' => 'The total number of versions.'."\n" + .'> This parameter is returned only when the resource type is queried.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'IsDefaultVersion' => [ + 'description' => 'Indicates whether the version is the default version. Valid values:'."\n" + .'- true: The version is the default version.'."\n" + .'- false: The version is not the default version.'."\n" + .'> This parameter is returned only when a specific version of the resource type is queried.', + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'TemplateBody' => ['description' => 'The template content of the module.'."\n" + .'> This parameter is returned only when a specific version of the resource type is queried.', 'type' => 'string', 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A28FBA2E-B6B3-5822-AA45-AB875EF23641\\",\\n \\"Attributes\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"ResourceType\\": \\"ALIYUN::ROS::WaitConditionHandle\\",\\n \\"Properties\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"SupportDriftDetection\\": false,\\n \\"SupportScratchDetection\\": false,\\n \\"EntityType\\": \\"Resource\\",\\n \\"Provider\\": \\"ROS\\",\\n \\"Description\\": \\"It is a demo.\\",\\n \\"DefaultVersionId\\": \\"v1\\",\\n \\"LatestVersionId\\": \\"v10\\",\\n \\"CreateTime\\": \\"2023-02-24T08:25:21\\\\n\\",\\n \\"UpdateTime\\": \\"2023-02-24T08:25:21\\\\n\\",\\n \\"TotalVersionCount\\": 10,\\n \\"IsDefaultVersion\\": true,\\n \\"TemplateBody\\": \\"{\\\\\\"ROSTemplateFormatVersion\\\\\\":\\\\\\"2015-09-01\\\\\\"}\\"\\n}","type":"json"}]', + 'title' => 'Query details of a resource type', + 'description' => 'This topic provides an example of how to query the details of the `ALIYUN::ROS::WaitConditionHandle` resource type.', + 'requestParamsDescription' => ' For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | Error code | Error message | Description |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'|404 |ResourceTypeNotFound |The Resource Type ({name}) could not be found. |The resource type does not exist. name indicates the resource type name. |.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetResourceType'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetResourceType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"221DA822-B8CF-50DF-A9D2-BA197BF97BD5\\",\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateTemplateScratchResponse>\\n <RequestId>221DA822-B8CF-50DF-A9D2-BA197BF97BD5</RequestId>\\n <TemplateScratchId>ts-7f7a704cf71c49a6****</TemplateScratchId>\\n</UpdateTemplateScratchResponse>","errorExample":""}]', - 'title' => 'UpdateTemplateScratch', - 'description' => '### [](#)Resource replication scenario'."\n" - ."\n" - .'Resource Orchestration Service (ROS) allows you to update a resource replication scenario. The updates that you make to a resource replication scenario do not affect the stack that is generated by using the resource scenario. You can call the [GenerateTemplateByScratch](~~610829~~) operation to generate a template for the resource scenario.'."\n" - ."\n" - .'### [](#)Resource migration scenario'."\n" - ."\n" - .'* If you want to update a resource migration scenario in which the migrated source resources are retained, you can delete the source resources to manage the updated resource migration scenario. You can also call the [GenerateTemplateByScratch](~~610829~~) operation to generate a template for the resource scenario.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** Make sure that the source resources that you want to delete from a resource migration scenario are associated only with the resource scenario. Otherwise, the source resources fail to be deleted.'."\n" - ."\n" - .'* If you want to update a resource migration scenario in which the migrated source resources are deleted, you can only call the [GenerateTemplateByScratch](~~610829~~) operation to generate a template for the resource scenario.'."\n" - ."\n" - .'### [](#)Resource management scenario'."\n" - ."\n" - .'If you want to update a resource management scenario after you use the resource scenario to manage resources, you can only call the [GenerateTemplateByScratch](~~610829~~) operation to generate a template for the resource scenario.'."\n" - ."\n" - .'### [](#)Resource detection scenario'."\n" - ."\n" - .'After you update a resource detection scenario, ROS obtains the most recent data from Resource Center and renders the architecture diagram.'."\n" - ."\n" - .'This topic provides an example on how to update a resource scenario. In this example, the ID of a virtual private cloud (VPC) in a resource scenario whose ID is `ts-7f7a704cf71c49a6****` is updated to `vpc-bp1m6fww66xbntjyc****`.'."\n", - 'requestParamsDescription' => '### Additional information about request parameters'."\n" - ."\n" - .'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n" - ."\n" - .'The valid values of the ParameterKey and ParameterValue request parameters vary based on resource scenario types.'."\n" - ."\n" - .'#### Resource replication scenario'."\n" - ."\n" - .'The following table describes the valid values of the ParameterKey and ParameterValue request parameters when you set TemplateScratchId to the ID of a resource replication scenario.'."\n" - ."\n" - .'|ParameterKey|ParameterValue|'."\n" - .'|---|---|'."\n" - .'|DeletionPolicy|The deletion policy for resources. Valid values:Retain: retains resources when you delete the stack to which the resources are replicated.Delete: deletes resources by default when you delete the stack to which the resources are replicated. If you retain specific resources when the Delete Stack dialog box appears, the resources are retained.|'."\n" - .'|RegionId|The ID of the destination region to which you want to replicate resources. If you leave this parameter empty, the region of the source resources is used for the replicated resources.Example: cn-shanghai.|'."\n" - .'|ZoneId|The ID of the destination zone to which you want to replicate resources. If you replicate resources in the same region and you leave this parameter empty, the zone of the source resources is used for the replicated resources. If you replicate resources across regions and you leave this parameter empty, the system filters the zones that are supported by all resources.Example: cn-shanghai-b.|'."\n" - .'|VpcId|The ID of the destination VPC to which you want to replicate resources. If you replicate resources in the same region and you leave this parameter empty, the VPC of the source resources is used for the replicated resources. If you replicate resources across regions and you leave this parameter empty, the system automatically creates a VPC in the destination region.Example: vpc-bp1hye0s8b69xokfu\\*\\*\\*\\*.|'."\n" - .'|VSwitchId|The ID of the destination vSwitch to which you want to replicate resources. If you replicate resources in the same region and you leave this parameter empty, the vSwitch of the source resources is used for the replicated resources. If you replicate resources across regions and you leave this parameter empty, the system automatically creates a vSwitch in the destination region.Example: vsw-bp11ufkwqwggtm1cj\\*\\*\\*\\*.|'."\n" - .'|InstanceDataReplication|Specifies whether to replicate Elastic Compute Service (ECS) instance data. Valid values:true: replicates ECS instance data. If you replicate the data in the same region, the system creates a custom image for the source instance and creates an instance based on the image. If you replicate the data across regions, the system creates a custom image for the source instance, replicates the image to the destination region, and then creates an instance based on the image.false: does not replicate ECS instance data.|'."\n" - ."\n" - .'**Note** If you set ParameterKey to InstanceDataReplication and ParameterValue to true, we recommend that you replicate resources after the source instance is stopped. This ensures data consistency.'."\n" - ."\n" - .'#### Resource management scenario'."\n" - ."\n" - .'The following table describes the valid values of the ParameterKey and ParameterValue request parameters when you set TemplateScratchId to the ID of a resource management scenario.'."\n" - ."\n" - .'**Note** For a resource management scenario, you must set ParameterKey to DeletionPolicy.'."\n" - ."\n" - .'|ParameterKey|ParameterValue|'."\n" - .'|---|---|'."\n" - .'|DeletionPolicy|The deletion policy for resources. Valid values:Retain: retains resources when you delete the stack that you use to manage the resources.Delete: deletes resources by default when you delete the stack that you use to manage the resources. If you retain specific resources when the Delete Stack dialog box appears, the resources are retained.|'."\n" - ."\n" - .'#### Resource detection scenario'."\n" - ."\n" - .'The following table describes the valid values of the ParameterKey and ParameterValue request parameters when you set TemplateScratchId to the ID of a resource detection scenario.'."\n" - ."\n" - .'|ParameterKey|ParameterValue|'."\n" - .'|---|---|'."\n" - .'|RegionIds|One or more region IDs. Separate multiple region IDs with commas (,). If you leave this parameter empty, the region of the resource scenario is used. You cannot specify both RegionIds and SourceResources.|', ], - 'ListTemplateScratches' => [ - 'summary' => 'Queries scenarios.', - 'methods' => [ - 'post', - 'get', + 'GetResourceTypeTemplate' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the resource. Call the [ListResourceTypes](~~133957~~) operation to query supported resource types.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + ], + [ + 'name' => 'VersionId', + 'in' => 'query', + 'schema' => ['description' => 'The version ID. Specify this parameter to query a specific version of the resource type. If you do not specify this parameter, the default version of the resource type is queried.'."\n" + ."\n" + .'> This parameter is supported only for modules.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '87F54B2B-AEF0-4C33-A72A-3F8856A575E9', 'title' => ''], + 'TemplateBody' => ['description' => 'The structure of the template body. The template body must be 1 to 51,200 bytes in length. For more information, see [Template syntax](~~28857~~).'."\n" + ."\n" + .'> This parameter is not recommended. Use TemplateContent instead.', 'type' => 'object', 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', 'title' => ''], + 'TemplateContent' => ['description' => 'The structure of the template body in JSON format. For more information, see [Template syntax](~~28857~~).', 'type' => 'string', 'example' => '{'."\n" + .' "ROSTemplateFormatVersion": "2015-09-01"'."\n" + .'}', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'GetResourceTypeTemplate', + 'summary' => 'Generates a sample template based on a resource type.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | ResourceTypeNotFound | The Resource Type ({name}) could not be found. |资源类型不存在。name为资源类型名。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetResourceTypeTemplate'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetResourceTypeTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"87F54B2B-AEF0-4C33-A72A-3F8856A575E9\\",\\n \\"TemplateBody\\": {\\n \\"ROSTemplateFormatVersion\\": \\"2015-09-01\\"\\n },\\n \\"TemplateContent\\": \\"{\\\\n \\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"\\\\n}\\"\\n}","type":"json"}]', + ], + 'GetServiceAccess' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6290,133 +5588,223 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosUSKZAD', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0DEFE672-690F-54C1-B42A-8E78E640BE07', 'title' => ''], + 'ServiceAccessInfo' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'Trusted service status.', 'type' => 'string', 'example' => 'ENABLED', 'title' => ''], + ], + 'description' => 'The trusted service details.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'GetServiceAccess', + 'summary' => 'Queries the access status of a trusted service.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetServiceAccess', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0DEFE672-690F-54C1-B42A-8E78E640BE07\\",\\n \\"ServiceAccessInfo\\": {\\n \\"Status\\": \\"ENABLED\\"\\n }\\n}","type":"json"}]', + ], + 'GetServiceProvisions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], + ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scenario.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TemplateScratchId', + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The structure of the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend to use the HTTP POST + Body Param method to pass the parameter in the request body to avoid request failures caused by an excessively long URL.'."\n" + ."\n" + .'> You can specify only one of the TemplateBody, TemplateURL, TemplateId, and Services parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ROSTemplateFormatVersion: \'2015-09-01\'\\r\\nResources:\\r\\n Vpc:\\r\\n Type: ALIYUN::ECS::VPC\\r\\n Properties:\\r\\n CidrBlock: 192.168.0.0/24\\r\\n VpcName: TestVpc', 'title' => ''], + ], + [ + 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scenario.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'ts-7f7a704cf71c49a6****', - ], + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket. The template body must be 1 to 524,288 bytes in length. Examples of OSS URLs: oss\\://ros/template/demo and oss\\://ros/template/demo?RegionId=cn-hangzhou. If you do not specify the region ID of the OSS bucket, the value of the RegionId parameter is used.'."\n" + ."\n" + .'You can specify only one of the TemplateBody, TemplateURL, TemplateId, and Services parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], ], [ - 'name' => 'TemplateScratchType', + 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource scenario. Valid values:'."\n" - ."\n" - .'* ArchitectureReplication: resource replication'."\n" - .'* ArchitectureDetection: resource detection'."\n" - .'* ResourceImport: resource management'."\n" - .'* ResourceMigration: resource migration'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ArchitectureReplication', - ], + 'schema' => ['description' => 'The template ID. This parameter applies to shared and private templates.'."\n" + ."\n" + .'You can specify only one of the TemplateBody, TemplateURL, TemplateId, and Services parameters.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ - 'name' => 'Status', + 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the scenario. Valid values:'."\n" - ."\n" - .'* GENERATE_IN_PROGRESS: The scenario is being created.'."\n" - .'* GENERATE_COMPLETE: The scenario is created.'."\n" - .'* GENERATE_FAILED: The scenario fails to be created.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["GENERATE_COMPLETE"]', - ], + 'schema' => ['description' => 'The version of the template. If you do not specify this parameter, the latest version is used.'."\n" + ."\n" + .'This parameter takes effect only when you specify TemplateId.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the scenario.'."\n", + 'description' => 'The parameters.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the scenario.'."\n" - ."\n" - .'> Tags is optional. If you want to specify Tags, you must specify Key.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The tag value of the scenario.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'ParameterKey' => ['description' => 'The name of the parameter. If you do not specify the name and value of a parameter, Resource Orchestration Service (ROS) uses the default name and value that are specified in the template.'."\n" + ."\n" + .'> Parameters is optional. If you specify Parameters, you must specify ParameterKey.', 'type' => 'string', 'required' => true, 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter.'."\n" + ."\n" + .'> Parameters is optional. If you specify Parameters, you must specify ParameterValue.', 'type' => 'string', 'required' => true, 'example' => '12', 'title' => ''], ], 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n" - ."\n" - .'Maximum value: 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'Services', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', + 'description' => 'The list of Alibaba Cloud services.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ServiceName' => ['description' => 'The name of the Alibaba Cloud service. Valid values:'."\n" + ."\n" + .'- AHAS: Application High Availability Service.'."\n" + ."\n" + .'- ARMS: Application Real-Time Monitoring Service.'."\n" + ."\n" + .'- ApiGateway: API Gateway.'."\n" + ."\n" + .'- BatchCompute: Batch Compute.'."\n" + ."\n" + .'- BrainIndustrial: Industrial Intelligence.'."\n" + ."\n" + .'- CloudStorageGateway: Cloud Storage Gateway.'."\n" + ."\n" + .'- CMS: Cloud Monitor.'."\n" + ."\n" + .'- CR: Container Registry.'."\n" + ."\n" + .'- CS: Container Service.'."\n" + ."\n" + .'- DCDN: DCDN.'."\n" + ."\n" + .'- DataHub: DataHub.'."\n" + ."\n" + .'- DataWorks: DataWorks.'."\n" + ."\n" + .'- EDAS: Enterprise Distributed Application Service.'."\n" + ."\n" + .'- EHPC: Elastic High Performance Computing.'."\n" + ."\n" + .'- EMAS: Enterprise Mobile Application Studio.'."\n" + ."\n" + .'- FC: Function Compute.'."\n" + ."\n" + .'- FNF: CloudFlow.'."\n" + ."\n" + .'- MaxCompute: MaxCompute.'."\n" + ."\n" + .'- SMQ: Simple Message Queue (formerly MNS).'."\n" + ."\n" + .'- HBR: Cloud Backup.'."\n" + ."\n" + .'- IMM: Intelligent Media Management.'."\n" + ."\n" + .'- IOT: IoT Platform.'."\n" + ."\n" + .'- KMS: Key Management Service.'."\n" + ."\n" + .'- NAS: File Storage NAS.'."\n" + ."\n" + .'- NLP: Natural Language Processing.'."\n" + ."\n" + .'- OSS: Object Storage Service.'."\n" + ."\n" + .'- OTS: Tablestore.'."\n" + ."\n" + .'- PrivateLink: PrivateLink.'."\n" + ."\n" + .'- PrivateZone: PrivateZone.'."\n" + ."\n" + .'- RocketMQ: Message Queue for Apache RocketMQ.'."\n" + ."\n" + .'- SAE: Serverless App Engine.'."\n" + ."\n" + .'- SLS: Simple Log Service.'."\n" + ."\n" + .'- TrafficMirror: Traffic Mirroring.'."\n" + ."\n" + .'- VS: Video Surveillance.'."\n" + ."\n" + .'- Xtrace: Tracing Analysis.', 'type' => 'string', 'required' => true, 'example' => 'EHPC', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'rg-acfmxazb4ph6aiy****', + 'maxItems' => 50, + 'title' => '', + 'example' => '', ], ], ], @@ -6425,283 +5813,215 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D1C09606-C58B-558F-9B4E-5BF263D17D09', - ], - 'TotalCount' => [ - 'description' => 'The total number of scenarios.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TemplateScratches' => [ - 'description' => 'The resource scenarios.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A9938C04-26AD-5EFA-B394-EA7866842DFF', 'title' => ''], + 'ServiceProvisions' => [ + 'description' => 'The details of the Alibaba Cloud services.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TemplateScratchId' => [ - 'description' => 'The ID of the resource scenario.'."\n", - 'type' => 'string', - 'example' => 'ts-48ad85d66cca4620****', - ], - 'TemplateScratchType' => [ - 'description' => 'The type of the resource scenario. Valid values:'."\n" - ."\n" - .'* ResourceImport: resource management'."\n" - .'* ArchitectureReplication: resource replication'."\n", - 'type' => 'string', - 'example' => 'ResourceImport', - ], - 'Status' => [ - 'description' => 'The state of the resource scenario.'."\n", - 'type' => 'string', - 'example' => 'GENERATE_COMPLETE', - ], - 'StatusReason' => [ - 'description' => 'The reason why the resource scenario failed to be generated.'."\n" - ."\n" - .'> This parameter is returned only if the value of Status is GENERATE_FAILED.'."\n", - 'type' => 'string', - 'example' => 'Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.', - ], - 'FailedCode' => [ - 'description' => 'The status code of the resource scenario that failed to be generated.'."\n" - ."\n" - .'> This parameter is returned only if the value of Status is GENERATE_FAILED.'."\n", - 'type' => 'string', - 'example' => 'InvalidZoneId', - ], - 'PreferenceParameters' => [ - 'description' => 'The preference parameters of the resource scenario.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'example' => 'DeletionPolicy', - ], - 'ParameterValue' => [ - 'description' => 'The parameter value.'."\n", - 'type' => 'string', - 'example' => 'Retain', - ], - ], - 'description' => '', - ], - ], - 'Description' => [ - 'description' => 'The description of the resource scenario.'."\n", - 'type' => 'string', - 'example' => 'The description of the scenario.', - ], - 'SourceResources' => [ - 'description' => 'The source resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ResourceId' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'example' => 'vpc-m5eauuq80anx59v28****', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::VPC', - ], - ], - 'description' => '', - ], - ], - 'SourceTag' => [ - 'description' => 'The source tag.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceTags' => [ - 'description' => 'The source tags.'."\n", - 'type' => 'object', - 'example' => '{"a": "b"}', - ], - 'ResourceTypeFilter' => [ - 'description' => 'The resource types for filtering resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource type for filtering resources.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::VPC', - ], - ], - ], - ], - 'SourceResourceGroup' => [ - 'description' => 'The source resource group.'."\n", + 'ServiceName' => ['description' => 'The name of the Alibaba Cloud service.', 'type' => 'string', 'example' => 'EHPC', 'title' => ''], + 'Status' => ['description' => 'The activation status of the Alibaba Cloud service. Valid values:'."\n" + ."\n" + .'- Enabled: The service is activated.'."\n" + ."\n" + .'- Disabled: The service is not activated.'."\n" + ."\n" + .'- Unknown: The activation status is unknown.', 'type' => 'string', 'example' => 'Enabled', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the Alibaba Cloud service is not activated or the activation status is unknown.'."\n" + ."\n" + .'> This parameter is returned only when the value of Status is Disabled or Unknown.', 'type' => 'string', 'example' => 'No permission.', 'title' => ''], + 'AutoEnableService' => ['description' => 'Indicates whether the service is automatically activated when the template is used to create a stack. Valid values:'."\n" + ."\n" + .'- true: The service is automatically activated.'."\n" + ."\n" + .'- false: The service is not automatically activated.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'EnableURL' => ['description' => 'The URL that you can use to activate the Alibaba Cloud service.'."\n" + ."\n" + .'> This parameter is returned only when the value of Status is Disabled.', 'type' => 'string', 'example' => 'https://common-buy.aliyun.com/?commodityCode=nas', 'title' => ''], + 'RoleProvision' => [ + 'description' => 'The information about the service-linked roles of the Alibaba Cloud service. If this parameter is empty, no service-linked role is associated with the service.', 'type' => 'object', 'properties' => [ - 'ResourceGroupId' => [ - 'description' => 'The ID of the source resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'ResourceTypeFilter' => [ - 'description' => 'The resource types for filtering resources.'."\n", + 'AuthorizationURL' => ['description' => 'The URL that you can use to grant permissions to the service-linked role.'."\n" + ."\n" + .'> This parameter is returned only when the value of Created is false.', 'type' => 'string', 'example' => 'https://ehpc.console.aliyun.com/', 'title' => ''], + 'Roles' => [ + 'description' => 'The service-linked roles.', 'type' => 'array', 'items' => [ - 'description' => 'The resource type for filtering resources.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::VPC', + 'type' => 'object', + 'properties' => [ + 'RoleName' => ['description' => 'The name of the service-linked role.', 'type' => 'string', 'example' => 'AliyunServiceRoleForEHPC', 'title' => ''], + 'Created' => ['description' => 'Indicates whether the service-linked role is created. Valid values:'."\n" + ."\n" + .'- true: The service-linked role is created.'."\n" + ."\n" + .'- false: The service-linked role is not created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Function' => ['description' => 'The purpose of the role. Default value: Default. This value indicates that the role is the default role of the service.', 'type' => 'string', 'example' => 'Default', 'title' => ''], + 'ApiForCreation' => [ + 'description' => 'The information about the API operation that is used to create the role.', + 'type' => 'object', + 'properties' => [ + 'ApiProductId' => ['description' => 'The ID of the Alibaba Cloud service to which the API operation belongs.', 'type' => 'string', 'example' => 'rds', 'title' => ''], + 'ApiName' => ['description' => 'The name of the API operation.', 'type' => 'string', 'example' => 'CreateServiceLinkedRole', 'title' => ''], + 'ApiType' => ['description' => 'The type of the API operation. Valid values:'."\n" + ."\n" + .'- Open: an Alibaba Cloud API operation.'."\n" + ."\n" + .'- Inner: an internal API operation.', 'type' => 'string', 'example' => 'Open', 'title' => ''], + 'Parameters' => ['description' => 'The parameters of the API operation. The value of a parameter is a dynamic value. The following dynamic value is supported: ${RegionId}, which indicates the region ID.', 'type' => 'object', 'example' => '{ "ServiceLinkedRole": "AliyunServiceRoleForRdsPgsqlOnEcs", "RegionId": "${RegionId}" }', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'LogicalIdStrategy' => [ - 'description' => 'The policy based on which the logical ID is generated. Valid values:'."\n" - ."\n" - .'* LongTypePrefixAndIndexSuffix (default): long-type prefix + index-type suffix'."\n" - .'* LongTypePrefixAndHashSuffix: long-type prefix + hash-type suffix'."\n" - .'* ShortTypePrefixAndHashSuffix: short-type prefix + hash-type suffix'."\n", - 'type' => 'string', - 'example' => 'LongTypePrefixAndIndexSuffix', + 'DependentServiceNames' => [ + 'description' => 'The services on which the service that you want to query depends.', + 'type' => 'array', + 'items' => ['description' => 'The name of the service on which the service that you want to query depends.', 'type' => 'string', 'example' => 'NAS', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'Tags' => [ - 'description' => 'The tags of the resource scenario.'."\n", + 'CommodityProvisions' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the resource scenario.'."\n", - 'type' => 'string', - 'example' => 'usage1', - ], - 'Value' => [ - 'description' => 'The tag value of the resource scenario.'."\n", - 'type' => 'string', - 'example' => 'test1', - ], + 'CommodityCode' => ['description' => 'The commodity code.', 'type' => 'string', 'example' => 'acs_postpaid_public_cn', 'title' => ''], + 'Status' => ['description' => 'The activation status of the Alibaba Cloud service. Valid values:'."\n" + ."\n" + .'- Enabled: The service is activated.'."\n" + ."\n" + .'- Disabled: The service is not activated.', 'type' => 'string', 'example' => 'Disabled', 'title' => ''], + 'EnableURL' => ['description' => 'The URL for activating the commodity.', 'type' => 'string', 'example' => 'https://common-buy.aliyun.com/?commodityCode=acs_postpaid_public_cn', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - ], - 'CreateTime' => [ - 'description' => 'The time when the resource scenario was created.'."\n" - ."\n" - .'The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-12-07T08:06:44', - ], - 'UpdateTime' => [ - 'description' => 'The time when the resource scenario was updated.'."\n" - ."\n" - .'The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-12-07T08:06:44', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-acfm4nxcvht4pmi', + 'description' => 'The details of the commodity. Some services, such as Container Compute Service (ACS), require you to activate multiple commodities.', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D1C09606-C58B-558F-9B4E-5BF263D17D09\\",\\n \\"TotalCount\\": 2,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TemplateScratches\\": [\\n {\\n \\"TemplateScratchId\\": \\"ts-48ad85d66cca4620****\\",\\n \\"TemplateScratchType\\": \\"ResourceImport\\",\\n \\"Status\\": \\"GENERATE_COMPLETE\\",\\n \\"StatusReason\\": \\"Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.\\",\\n \\"FailedCode\\": \\"InvalidZoneId\\",\\n \\"PreferenceParameters\\": [\\n {\\n \\"ParameterKey\\": \\"DeletionPolicy\\",\\n \\"ParameterValue\\": \\"Retain\\"\\n }\\n ],\\n \\"Description\\": \\"纳管VPC资源。\\",\\n \\"SourceResources\\": [\\n {\\n \\"ResourceId\\": \\"vpc-m5eauuq80anx59v28****\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::VPC\\"\\n }\\n ],\\n \\"SourceTag\\": {\\n \\"ResourceTags\\": {\\n \\"a\\": \\"b\\"\\n },\\n \\"ResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n },\\n \\"SourceResourceGroup\\": {\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n },\\n \\"LogicalIdStrategy\\": \\"LongTypePrefixAndIndexSuffix\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage1\\",\\n \\"Value\\": \\"test1\\"\\n }\\n ],\\n \\"CreateTime\\": \\"2021-12-07T08:06:44\\",\\n \\"UpdateTime\\": \\"2021-12-07T08:06:44\\",\\n \\"ResourceGroupId\\": \\"rg-acfm4nxcvht4pmi\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTemplateScratchesResponse>\\n <RequestId>D1C09606-C58B-558F-9B4E-5BF263D17D09</RequestId>\\n <TotalCount>2</TotalCount>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TemplateScratches>\\n <TemplateScratchId>ts-48ad85d66cca4620****</TemplateScratchId>\\n <TemplateScratchType>ResourceImport</TemplateScratchType>\\n <Status>GENERATE_COMPLETE</Status>\\n <StatusReason>Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.</StatusReason>\\n <FailedCode>InvalidZoneId</FailedCode>\\n <PreferenceParameters>\\n <ParameterKey>DeletionPolicy</ParameterKey>\\n <ParameterValue>Retain</ParameterValue>\\n </PreferenceParameters>\\n <Description>纳管VPC资源。</Description>\\n <SourceResources>\\n <ResourceId>vpc-m5eauuq80anx59v28****</ResourceId>\\n <ResourceType>ALIYUN::ECS::VPC</ResourceType>\\n </SourceResources>\\n <SourceTag>\\n <ResourceTypeFilter>ALIYUN::ECS::VPC</ResourceTypeFilter>\\n </SourceTag>\\n <SourceResourceGroup>\\n <ResourceGroupId>rg-acfmzawhxxc****</ResourceGroupId>\\n <ResourceTypeFilter>ALIYUN::ECS::VPC</ResourceTypeFilter>\\n </SourceResourceGroup>\\n <LogicalIdStrategy>LongTypePrefixAndIndexSuffix</LogicalIdStrategy>\\n <Tags>\\n <Key>usage1</Key>\\n <Value>test1</Value>\\n </Tags>\\n <CreateTime>2021-12-07T08:06:44</CreateTime>\\n <UpdateTime>2021-12-07T08:06:44</UpdateTime>\\n </TemplateScratches>\\n</ListTemplateScratchesResponse>","errorExample":""}]', - 'title' => 'ListTemplateScratches', - 'description' => 'In this example, the scenarios that are created in the China (Hangzhou) region are queried. In the response, a scenario of the Resource Management and a scenario of the Resource Replication type are returned.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - ], - 'GetTemplateScratch' => [ - 'summary' => 'Queries the details of a resource scenario.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'GetServiceProvisions', + 'summary' => 'Queries the activation status of an Alibaba Cloud service and information about its service-linked roles.', + 'description' => '### Usage notes'."\n" + ."\n" + .'This topic provides an example of how to query the activation status of Elastic High Performance Computing (EHPC) and information about the service-linked roles for EHPC in the China (Hangzhou) region.'."\n" + ."\n" + .'> Make sure that you have the permissions to call the [GetRole](~~28711~~) operation.', + 'requestParamsDescription' => 'For information about common request parameters, refer to [Common parameters](~~131957~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetServiceProvisions'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:GetServiceProvisions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A9938C04-26AD-5EFA-B394-EA7866842DFF\\",\\n \\"ServiceProvisions\\": [\\n {\\n \\"ServiceName\\": \\"EHPC\\",\\n \\"Status\\": \\"Enabled\\",\\n \\"StatusReason\\": \\"No permission.\\",\\n \\"AutoEnableService\\": false,\\n \\"EnableURL\\": \\"https://common-buy.aliyun.com/?commodityCode=nas\\",\\n \\"RoleProvision\\": {\\n \\"AuthorizationURL\\": \\"https://ehpc.console.aliyun.com/\\",\\n \\"Roles\\": [\\n {\\n \\"RoleName\\": \\"AliyunServiceRoleForEHPC\\",\\n \\"Created\\": true,\\n \\"Function\\": \\"Default\\",\\n \\"ApiForCreation\\": {\\n \\"ApiProductId\\": \\"rds\\",\\n \\"ApiName\\": \\"CreateServiceLinkedRole\\",\\n \\"ApiType\\": \\"Open\\",\\n \\"Parameters\\": {\\n \\"ServiceLinkedRole\\": \\"AliyunServiceRoleForRdsPgsqlOnEcs\\",\\n \\"RegionId\\": \\"${RegionId}\\"\\n }\\n }\\n }\\n ]\\n },\\n \\"DependentServiceNames\\": [\\n \\"NAS\\"\\n ],\\n \\"CommodityProvisions\\": [\\n {\\n \\"CommodityCode\\": \\"acs_postpaid_public_cn\\",\\n \\"Status\\": \\"Disabled\\",\\n \\"EnableURL\\": \\"https://common-buy.aliyun.com/?commodityCode=acs_postpaid_public_cn\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetStack' => [ + 'summary' => 'Queries stack information.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '69681', - 'abilityTreeNodes' => [ - 'FEATURErosHDIJ7A', - 'FEATURErosUSKZAD', - 'FEATURErosSKHQLM', - ], - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ + 'name' => 'StackId', + 'in' => 'query', + 'schema' => ['description' => 'The stack ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', 'title' => ''], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource scenario.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TemplateScratchId', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource scenario.', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'ts-7f7a704cf71c49a6****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. The token is generated by the client and must be globally unique. '."\n" + .'The token can be up to 64 characters in length. '."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ShowDataOption', + 'name' => 'OutputOption', 'in' => 'query', - 'schema' => [ - 'description' => 'The data display option. Valid values:'."\n" - ."\n" - .'* Sources: displays only the data of source nodes. This setting takes effect only when TemplateScratchType is set to ArchitectureDetection.'."\n" - .'* Source: displays only the data of the source node. This setting takes effect only when TemplateScratchType is not set to ArchitectureDetection.'."\n" - .'* Provisions: displays only the data of new nodes. This setting takes effect only when TemplateScratchType is not set to ArchitectureDetection.'."\n" - .'* All: displays all data.'."\n" - ."\n" - .'For more information about source nodes and new nodes, see [Overview](~~352074~~).'."\n" - ."\n" - .'> If you do not specify this parameter, the node data is not displayed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Source', - ], + 'schema' => ['description' => 'Specifies whether to return the Outputs parameter (the list of stack outputs). Valid values: '."\n" + ."\n" + .'- Enabled (default): Returns the Outputs parameter. '."\n" + ."\n" + .'- Disabled: Does not return the Outputs parameter. '."\n" + .'> Computing Outputs is time-consuming. If you do not need the Outputs information, set OutputOption to Disabled to improve the response speed of the API.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Disabled', 'title' => ''], + ], + [ + 'name' => 'ShowResourceProgress', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return the ResourceProgress parameter (resource processing progress). Valid values: '."\n" + ."\n" + .'- Disabled (default): Does not return the ResourceProgress parameter.'."\n" + ."\n" + .'- PercentageOnly: Returns the StackOperationProgress and StackActionProgress parameters in ResourceProgress.'."\n" + ."\n" + .'> Both ROS stacks and Terraform stacks are supported. Stack creation (including continued creation), update, deletion, resource import, and corresponding rollback operations are supported.'."\n" + ."\n" + .'- EnabledIfCreateStack (not recommended): Returns the *Count and InProgressResourceDetails parameters in ResourceProgress only during stack creation. '."\n" + .'> During stack creation, the stack status is CREATE_IN_PROGRESS, CREATE_COMPLETE, CREATE_FAILED, CREATE_ROLLBACK_IN_PROGRESS, CREATE_ROLLBACK_COMPLETE, or CREATE_ROLLBACK_FAILED.', 'type' => 'string', 'required' => false, 'example' => 'Disabled', 'title' => ''], + ], + [ + 'name' => 'LogOption', + 'in' => 'query', + 'schema' => ['description' => 'The log option. Valid values:'."\n" + .'- None: Does not return logs.'."\n" + .'- Stack (default): Returns stack-related logs.'."\n" + .'- Resource: Returns resource-related logs.'."\n" + .'- All: Returns all logs.', 'type' => 'string', 'required' => false, 'example' => 'Stack', 'title' => ''], ], ], 'responses' => [ @@ -6709,312 +6029,469 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A8E0EF98-6FBD-5656-8298-FC8194F0F7B7', + 'Status' => ['description' => 'The stack status. Valid values: '."\n" + .'- CREATE\\_IN_PROGRESS: The stack is being created.'."\n" + .'- CREATE_FAILED: The stack failed to be created.'."\n" + .'- CREATE_COMPLETE: The stack is created.'."\n" + .'- UPDATE\\_IN_PROGRESS: The stack is being updated.'."\n" + .'- UPDATE_FAILED: The stack failed to be updated.'."\n" + .'- UPDATE_COMPLETE: The stack is updated.'."\n" + .'- DELETE\\_IN_PROGRESS: The stack is being deleted.'."\n" + .'- DELETE_FAILED: The stack failed to be deleted.'."\n" + .'- DELETE_COMPLETE: The stack is deleted.'."\n" + .'- CREATE\\_ROLLBACK\\_IN_PROGRESS: The stack creation is being rolled back.'."\n" + .'- CREATE\\_ROLLBACK_FAILED: The stack creation failed to be rolled back.'."\n" + .'- CREATE\\_ROLLBACK_COMPLETE: The stack creation is rolled back.'."\n" + .'- ROLLBACK\\_IN_PROGRESS: The stack is being rolled back.'."\n" + .'- ROLLBACK_FAILED: The stack failed to be rolled back.'."\n" + .'- ROLLBACK_COMPLETE: The stack is rolled back.'."\n" + .'- CHECK\\_IN_PROGRESS: The stack is being validated.'."\n" + .'- CHECK_FAILED: The stack failed to be validated.'."\n" + .'- CHECK_COMPLETE: The stack is validated.'."\n" + .'- REVIEW\\_IN_PROGRESS: The stack is being reviewed.'."\n" + .'- IMPORT\\_CREATE\\_IN_PROGRESS: The stack is being created through resource import.'."\n" + .'- IMPORT\\_CREATE_FAILED: The stack failed to be created through resource import.'."\n" + .'- IMPORT\\_CREATE_COMPLETE: The stack is created through resource import.'."\n" + .'- IMPORT\\_CREATE\\_ROLLBACK\\_IN_PROGRESS: The stack creation through resource import is being rolled back.'."\n" + .'- IMPORT\\_CREATE\\_ROLLBACK_FAILED: The stack creation through resource import failed to be rolled back.'."\n" + .'- IMPORT\\_CREATE\\_ROLLBACK_COMPLETE: The stack creation through resource import is rolled back.'."\n" + .'- IMPORT\\_UPDATE\\_IN_PROGRESS: The stack is being updated through resource import.'."\n" + .'- IMPORT\\_UPDATE_FAILED: The stack failed to be updated through resource import.'."\n" + .'- IMPORT\\_UPDATE_COMPLETE: The stack is updated through resource import.'."\n" + .'- IMPORT\\_UPDATE\\_ROLLBACK\\_IN_PROGRESS: The stack update through resource import is being rolled back.'."\n" + .'- IMPORT\\_UPDATE\\_ROLLBACK_FAILED: The stack update through resource import failed to be rolled back.'."\n" + .'- IMPORT\\_UPDATE\\_ROLLBACK_COMPLETE: The stack update through resource import is rolled back.', 'type' => 'string', 'example' => 'CREATE_COMPLETE', 'title' => ''], + 'Description' => ['description' => 'The description of the stack.', 'type' => 'string', 'example' => 'Create a VPC.', 'title' => ''], + 'Parameters' => [ + 'description' => 'The stack parameters.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The parameter name.', 'type' => 'string', 'example' => 'ALIYUN::Region', 'title' => ''], + 'ParameterValue' => ['description' => 'The parameter value.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'TemplateScratch' => [ - 'description' => 'The resource scenario.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the stack is in its current state.', 'type' => 'string', 'example' => 'Stack CREATE completed successfully', 'title' => ''], + 'ParentStackId' => ['description' => 'The parent stack ID.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf692****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the stack was created. The time is displayed in UTC+0 and follows the ISO 8601 standard without the trailing Z. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2020-09-16T08:21:40', 'title' => ''], + 'DeletionProtection' => ['description' => 'Indicates whether deletion protection is enabled for the stack. Valid values:'."\n" + .'- Enabled: Deletion protection is enabled.'."\n" + .'- Disabled: Deletion protection is disabled. In this case, you can release the stack by using the console or by calling the DeleteStack operation.'."\n" + ."\n" + .'> The deletion protection mechanism of a nested stack is the same as that of the root stack.', 'type' => 'string', 'example' => 'Disabled', 'title' => ''], + 'RootStackId' => ['description' => 'The root stack ID. This parameter is returned only when the stack is a nested stack.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf692****', 'title' => ''], + 'TemplateDescription' => ['description' => 'The template description.', 'type' => 'string', 'example' => 'Create a VPC.', 'title' => ''], + 'StackType' => ['description' => 'The stack type. Valid values:'."\n" + .'- ROS: The stack uses an ROS template.'."\n" + .'- Terraform: The stack uses a Terraform template.', 'type' => 'string', 'example' => 'ROS', 'title' => ''], + 'RamRoleName' => ['description' => 'The RAM role name. Resource Orchestration Service (ROS) assumes this role to create the stack and calls API operations on behalf of the user by using the credentials of the role. '."\n" + .'ROS always uses this role for all operations that are performed on the stack. As long as the user has the permission to perform operations on the stack, ROS uses this role even if the user does not have the permission to use the role. This ensures that the role grants the least privilege. '."\n" + .'If no value is specified, ROS uses the role that was previously associated with the stack. If no role is available, ROS uses a temporary credential generated from the user credentials. '."\n" + .'The RAM role name can be up to 64 bytes in length.', 'type' => 'string', 'example' => 'test-role', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the stack was last updated. The time is displayed in UTC+0 and follows the ISO 8601 standard without the trailing Z. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2020-09-17T08:21:40', 'title' => ''], + 'Outputs' => [ + 'description' => 'The list of stack outputs.', + 'type' => 'array', + 'items' => ['description' => 'The list of stack outputs. '."\n" + ."\n" + .'> This parameter is returned only when OutputOption is set to Enabled.', 'type' => 'object', 'example' => '[{"Description": "VPC ID","OutputKey": "VpcId","OutputValue": "vpc-bp1m6fww66xbntjyc****"}]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DriftDetectionTime' => ['description' => 'The time when the most recent successful drift detection was performed on the stack.', 'type' => 'string', 'example' => '2020-09-16T09:21:40', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the stack. You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'StackDriftStatus' => ['description' => 'The drift status of the stack in the most recent successful drift detection. Valid values:'."\n" + .'- DRIFTED: The stack has drifted.'."\n" + .'- NOT_CHECKED: No successful drift detection has been performed on the stack.'."\n" + .'- IN_SYNC: The stack is in sync.', 'type' => 'string', 'example' => 'IN_SYNC', 'title' => ''], + 'NotificationURLs' => [ + 'description' => 'The callback URLs for receiving stack events.', + 'type' => 'array', + 'items' => ['description' => 'The callback URLs for receiving stack events.', 'type' => 'string', 'example' => '["http://127.XX.XX.1:8080/x", "http://127.0.XX.XX:8080/y"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DisableRollback' => ['description' => 'Indicates whether rollback is disabled when the stack fails to be created. Valid values:'."\n" + ."\n" + .'- true: Rollback is disabled. No rollback is performed when the stack fails to be created.'."\n" + .'- false (default): Rollback is enabled. Rollback is performed when the stack fails to be created.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'StackName' => ['description' => 'The stack name. '."\n" + .'The name can be up to 255 characters in length and must start with a digit or letter. It can contain digits, letters, hyphens (-), and underscores (_).', 'type' => 'string', 'example' => 'MyStack', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the stack.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the stack.', 'type' => 'string', 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the stack.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'TimeoutInMinutes' => ['description' => 'The timeout period for creating the stack. Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], + 'ResourceProgress' => [ + 'description' => 'The resource processing progress.', 'type' => 'object', 'properties' => [ - 'TemplateScratchId' => [ - 'description' => 'The ID of the resource scenario.', - 'type' => 'string', - 'example' => 'ts-7f7a704cf71c49a6****', - ], - 'TemplateScratchType' => [ - 'description' => 'The type of the resource scenario. Valid values:'."\n" - ."\n" - .'* ResourceImport: resource management'."\n" - .'* ArchitectureReplication: resource replication', - 'type' => 'string', - 'example' => 'ArchitectureReplication', - ], - 'Status' => [ - 'description' => 'The state of the resource scenario. Valid values:'."\n" - ."\n" - .'* GENERATE_IN_PROGRESS: The resource scenario is being created.'."\n" - .'* GENERATE_COMPLETE: The resource scenario is created.'."\n" - .'* GENERATE_FAILED: The resource scenario fails to be created.', - 'type' => 'string', - 'example' => 'GENERATE_COMPLETE', - ], - 'StatusReason' => [ - 'description' => 'The reason why the resource scenario fails to be created.'."\n" - ."\n" - .'> This parameter is returned only if you set Status to GENERATE_FAILED.', - 'type' => 'string', - 'example' => 'Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.', - ], - 'FailedCode' => [ - 'description' => 'The status code of the resource scenario that fails to be created.'."\n" + 'TotalResourceCount' => ['description' => 'The total number of resources.'."\n" + ."\n" + .'> This parameter is returned only when ShowResourceProgress is set to EnabledIfCreateStack.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'SuccessResourceCount' => ['description' => 'The number of resources that are successfully processed.'."\n" + ."\n" + .'> This parameter is returned only when ShowResourceProgress is set to EnabledIfCreateStack.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'FailedResourceCount' => ['description' => 'The number of resources that failed to be processed.'."\n" + ."\n" + .'> This parameter is returned only when ShowResourceProgress is set to EnabledIfCreateStack.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'InProgressResourceCount' => ['description' => 'The number of resources that are being processed.'."\n" + ."\n" + .'> This parameter is returned only when ShowResourceProgress is set to EnabledIfCreateStack.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PendingResourceCount' => ['description' => 'The number of resources that are pending processing.'."\n" + ."\n" + .'> This parameter is returned only when ShowResourceProgress is set to EnabledIfCreateStack.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'InProgressResourceDetails' => [ + 'description' => 'The list of progress details for resources that are being processed.'."\n" ."\n" - .'> This parameter is returned only if you set Status to GENERATE_FAILED.', - 'type' => 'string', - 'example' => 'InvalidZoneId', - ], - 'TemplateScratchData' => [ - 'description' => 'The resource scenario data.', - 'type' => 'object', - 'example' => '', - ], - 'PreferenceParameters' => [ - 'description' => 'The preference parameters of the resource scenario.', + .'> This parameter is returned only when ShowResourceProgress is set to EnabledIfCreateStack.', 'type' => 'array', 'items' => [ + 'description' => 'The progress details of a resource that is being processed.', 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'example' => 'DeletionPolicy', - ], - 'ParameterValue' => [ - 'description' => 'The parameter value.'."\n", - 'type' => 'string', - 'example' => 'Retain', - ], + 'ResourceName' => ['description' => 'The resource name.', 'type' => 'string', 'example' => 'WaitCondition', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ROS::WaitCondition', 'title' => ''], + 'ProgressValue' => ['description' => 'The current progress value of the resource.', 'type' => 'number', 'format' => 'float', 'example' => '5', 'title' => ''], + 'ProgressTargetValue' => ['description' => 'The target progress value of the resource.', 'type' => 'number', 'format' => 'float', 'example' => '10', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Description' => [ - 'description' => 'The description of the resource scenario.', - 'type' => 'string', - 'example' => 'The description of the resource scenario. ', - ], - 'SourceResources' => [ - 'description' => 'The source resources.'."\n", + 'StackOperationProgress' => ['description' => 'The stack operation progress percentage. Value range: 0 to 100.'."\n" + ."\n" + .'Example: During stack creation, the value starts from 0 and increases. If the creation succeeds, the value reaches 100. If the creation fails and rollback begins, the value decreases. When the rollback succeeds, the value reaches 0. This parameter indicates the overall progress of the creation operation, regardless of whether the stack status is creating or rolling back.'."\n" + ."\n" + .'> This parameter is returned only when ShowResourceProgress is set to PercentageOnly.', 'type' => 'number', 'format' => 'float', 'example' => '100', 'title' => ''], + 'StackActionProgress' => ['description' => 'The stack action progress percentage. Value range: 0 to 100.'."\n" + ."\n" + .'Example: During stack creation, the value starts from 0 and increases. If the creation succeeds, the value reaches 100. If the creation fails and rollback begins, the value starts from another value (100 minus the progress value when the resource creation failed) and increases. When the rollback succeeds, the value reaches 100. During stack creation, this parameter indicates the progress of the creation action. During stack rollback, this parameter indicates the progress of the rollback action.'."\n" + ."\n" + .'> This parameter is returned only when ShowResourceProgress is set to PercentageOnly.', 'type' => 'number', 'format' => 'float', 'example' => '100', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Log' => [ + 'description' => 'The stack-related output logs.', + 'type' => 'object', + 'properties' => [ + 'TerraformLogs' => [ + 'description' => 'The Terraform output logs. This parameter is returned only for Terraform stacks.'."\n" + .'This parameter is returned when LogOption is not specified, or when LogOption is set to Stack or All.'."\n" + ."\n" + .'> This parameter is not returned for stacks that are running. This parameter indicates the logs of the most recent operation (creation, continued creation, update, or deletion) on the stack.', 'type' => 'array', 'items' => [ - 'description' => 'The source resource.'."\n", + 'description' => 'test', 'type' => 'object', 'properties' => [ - 'ResourceId' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'example' => 'vpc-m5e7cv7e9mz69sszb****', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::VPC', - ], - 'RelatedResourceTypeFilter' => [ - 'description' => 'The related resource type filters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The related resource type filter.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::VPC', - ], - ], - ], - ], - ], - 'SourceTag' => [ - 'description' => 'The source tag.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceTags' => [ - 'description' => 'The source tags.'."\n", - 'type' => 'object', - 'example' => '{"a": "b"}', - ], - 'ResourceTypeFilter' => [ - 'description' => 'The resource type filters.', - 'type' => 'array', - 'items' => [ - 'description' => 'The resource type filter.', - 'type' => 'string', - 'example' => 'ALIYUN::ECS::VPC', - ], - ], - ], - ], - 'SourceResourceGroup' => [ - 'description' => 'The source resource group.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceGroupId' => [ - 'description' => 'The ID of the source resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmzawhxxc****', - ], - 'ResourceTypeFilter' => [ - 'description' => 'The resource type filters.', - 'type' => 'array', - 'items' => [ - 'description' => 'The resource type filter.', - 'type' => 'string', - 'example' => 'ALIYUN::ECS::VPC', - ], + 'Command' => ['description' => 'The name of the Terraform command that is run. Valid values:'."\n" + ."\n" + .'- apply'."\n" + ."\n" + .'- plan'."\n" + ."\n" + .'- destroy'."\n" + ."\n" + .'- version'."\n" + ."\n" + .'For more information about the commands, see [Command](https://www.terraform.io/cli/commands).', 'type' => 'string', 'example' => 'apply', 'title' => ''], + 'Stream' => ['description' => 'The output stream. Valid values:'."\n" + ."\n" + .'- stdout: standard output.'."\n" + ."\n" + .'- stderr: standard error.', 'type' => 'string', 'example' => 'stdout', 'title' => ''], + 'Content' => ['description' => 'The content that is output by the current command in the current output stream.', 'type' => 'string', 'example' => 'Apply complete! Resources: 42 added, 0 changed, 0 destroyed.', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'LogicalIdStrategy' => [ - 'description' => 'The policy based on which the logical ID is generated. Valid values:'."\n" - ."\n" - .'* LongTypePrefixAndIndexSuffix (default): long-type prefix + index-type suffix'."\n" - .'* LongTypePrefixAndHashSuffix: long-type prefix + hash-type suffix'."\n" - .'* ShortTypePrefixAndHashSuffix: short-type prefix + hash-type suffix'."\n", - 'type' => 'string', - 'example' => 'LongTypePrefixAndIndexSuffix', - ], - 'CreateTime' => [ - 'description' => 'The time at which the resource scenario was created.'."\n" - ."\n" - .'The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.', - 'type' => 'string', - 'example' => '2021-12-22T01:49:22', - ], - 'UpdateTime' => [ - 'description' => 'The time at which the resource scenario was updated.'."\n" + 'ResourceLogs' => [ + 'description' => 'The resource output logs. This parameter is returned when LogOption is set to Resource or All.'."\n" ."\n" - .'The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.', - 'type' => 'string', - 'example' => '2021-12-22T01:49:23', - ], - 'Stacks' => [ - 'description' => 'The stacks that are associated with the resource scenario.', + .'> Only certain resource types return resource logs, such as `ALIYUN::ROS::ResourceCleaner`.', 'type' => 'array', 'items' => [ + 'description' => 'test', 'type' => 'object', 'properties' => [ - 'StackId' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'example' => '3708bf6a-3a67-44d4-9eb1-c56704b9****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the stack.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'UsageType' => [ - 'description' => 'The purpose of the stack. Valid values:'."\n" - ."\n" - .'* ResourceImport: resource management'."\n" - .'* ArchitectureReplication: resource replication'."\n", - 'type' => 'string', - 'example' => 'ArchitectureReplication', + 'ResourceName' => ['description' => 'The resource name defined in the template.', 'type' => 'string', 'example' => 'MyResourceCleaner', 'title' => ''], + 'Logs' => [ + 'description' => 'All logs associated with the resource.', + 'type' => 'array', + 'items' => [ + 'description' => 'test', + 'type' => 'object', + 'properties' => [ + 'Keys' => [ + 'description' => 'The list of keywords for a log entry associated with the resource.', + 'type' => 'array', + 'items' => ['description' => 'The keyword.', 'type' => 'string', 'example' => 'ResourceDetails', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Content' => ['description' => 'The content of a log entry associated with the resource.', 'type' => 'string', 'example' => '[]', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], - 'description' => '', - ], - ], - 'StackProvision' => [ - 'description' => 'The preset information of the stack.'."\n", - 'type' => 'object', - 'properties' => [ - 'Creatable' => [ - 'description' => 'Indicates whether the resource is replicated by calling the [CreateStack](~~132086~~) operation. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Importable' => [ - 'description' => 'Indicates whether the resource is managed by calling the [CreateChangeSet](~~131051~~) operation. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmzmhzoaad5oq', - ], ], + 'title' => '', + 'example' => '', + ], + 'TemplateId' => ['description' => 'The template ID. This parameter is returned only when the template used by the stack is a private template or a shared template.'."\n" + ."\n" + .'If the template is a shared template, the returned value is the same as the TemplateARN of the template.', 'type' => 'string', 'example' => 'a52f81be-496f-4e1c-a286-8852ab54****', 'title' => ''], + 'TemplateVersion' => ['description' => 'The template version. This parameter is returned only when the template used by the stack is a private template or a shared template.'."\n" + ."\n" + .'If the template is a shared template, this parameter is returned only when VersionOption is set to AllVersions during sharing.'."\n" + ."\n" + .'Valid values: v1 to v100.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'TemplateScratchId' => ['description' => 'The resource scenario ID. This parameter is returned only when the template used by the stack is generated from a resource scenario.', 'type' => 'string', 'example' => 'ts-7f7a704cf71c49a6****', 'title' => ''], + 'TemplateURL' => ['description' => 'The URL of the file that contains the template body. This parameter is returned only when the template used by the stack is from a URL, including a web server (HTTP or HTTPS) or an Alibaba Cloud OSS bucket.', 'type' => 'string', 'example' => 'oss://ros/template/demo', 'title' => ''], + 'Interface' => ['description' => 'The interface description.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'ServiceManaged' => ['description' => 'Indicates whether the stack is a managed stack. Valid values: '."\n" + ."\n" + .'- true: The stack is a managed stack. '."\n" + ."\n" + .'- false: The stack is not a managed stack.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ServiceName' => ['description' => 'The service name to which the managed stack belongs.', 'type' => 'string', 'example' => 'ACVS', 'title' => ''], + 'OperationInfo' => [ + 'description' => 'The supplementary information that is returned when an error occurs during a stack operation.'."\n" + ."\n" + .'> This property is returned only in specific cases and contains at least one sub-property. For example, an error occurs when another cloud service API is called.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The error code.', 'type' => 'string', 'example' => 'DependencyViolation', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'There is still instance(s) in the specified security group.', 'title' => ''], + 'RequestId' => ['description' => 'The request ID of the API call to another cloud service.', 'type' => 'string', 'example' => '071D6166-3F6B-5C7B-A1F0-0113FBB643A8', 'title' => ''], + 'Action' => ['description' => 'The name of the API operation called on another cloud service.', 'type' => 'string', 'example' => 'DeleteSecurityGroup', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type on which the operation error occurred.', 'type' => 'string', 'example' => 'ALIYUN::ECS::SecurityGroup', 'title' => ''], + 'LogicalResourceId' => ['description' => 'The logical ID of the resource on which the operation error occurred.', 'type' => 'string', 'example' => 'EcsSecurityGroup', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'OrderIds' => [ + 'description' => 'The list of order IDs. This parameter is returned only when manual payment for subscription orders is configured during stack creation.', + 'type' => 'array', + 'items' => ['description' => 'The order ID.', 'type' => 'string', 'example' => '2161413696****', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'CheckedStackResourceCount' => ['description' => 'The number of resources on which drift detection has been performed.'."\n" + .'> This parameter is returned only when the most recent drift detection on the stack was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'NotCheckedStackResourceCount' => ['description' => 'The number of resources on which drift detection has not been performed.'."\n" + .'> This parameter is returned only when the most recent drift detection on the stack was successful.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RollbackFailedRootReason' => ['description' => 'When the stack status is rollback failed, this field displays the root cause of the failure in the previous phase that triggered the rollback.', 'type' => 'string', 'example' => 'Resource UPDATE failed: Exception: resources.FailToCreate: FailToCreate: reason', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A8E0EF98-6FBD-5656-8298-FC8194F0F7B7\\",\\n \\"TemplateScratch\\": {\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\",\\n \\"TemplateScratchType\\": \\"ArchitectureReplication\\",\\n \\"Status\\": \\"GENERATE_COMPLETE\\",\\n \\"StatusReason\\": \\"Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.\\",\\n \\"FailedCode\\": \\"InvalidZoneId\\",\\n \\"TemplateScratchData\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"PreferenceParameters\\": [\\n {\\n \\"ParameterKey\\": \\"DeletionPolicy\\",\\n \\"ParameterValue\\": \\"Retain\\"\\n }\\n ],\\n \\"Description\\": \\"复制VPC资源。\\",\\n \\"SourceResources\\": [\\n {\\n \\"ResourceId\\": \\"vpc-m5e7cv7e9mz69sszb****\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::VPC\\",\\n \\"RelatedResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n }\\n ],\\n \\"SourceTag\\": {\\n \\"ResourceTags\\": {\\n \\"a\\": \\"b\\"\\n },\\n \\"ResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n },\\n \\"SourceResourceGroup\\": {\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n },\\n \\"LogicalIdStrategy\\": \\"LongTypePrefixAndIndexSuffix\\",\\n \\"CreateTime\\": \\"2021-12-22T01:49:22\\",\\n \\"UpdateTime\\": \\"2021-12-22T01:49:23\\",\\n \\"Stacks\\": [\\n {\\n \\"StackId\\": \\"3708bf6a-3a67-44d4-9eb1-c56704b9****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"UsageType\\": \\"ArchitectureReplication\\"\\n }\\n ],\\n \\"StackProvision\\": {\\n \\"Creatable\\": true,\\n \\"Importable\\": false\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzmhzoaad5oq\\"\\n }\\n}","type":"json"}]', - 'title' => 'GetTemplateScratch', - 'description' => 'In this example, the details of the resource scenario whose ID is `ts-7f7a704cf71c49a6****` is queried. In the response, the source node data is displayed.', - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - ], - 'GenerateTemplateByScratch' => [ - 'summary' => 'Generates a template for a resource scenario.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"Description\\": \\"Create a VPC.\\",\\n \\"Parameters\\": [\\n {\\n \\"ParameterKey\\": \\"ALIYUN::Region\\",\\n \\"ParameterValue\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StatusReason\\": \\"Stack CREATE completed successfully\\",\\n \\"ParentStackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf692****\\",\\n \\"CreateTime\\": \\"2020-09-16T08:21:40\\",\\n \\"DeletionProtection\\": \\"Disabled\\",\\n \\"RootStackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf692****\\",\\n \\"TemplateDescription\\": \\"Create a VPC.\\",\\n \\"StackType\\": \\"ROS\\",\\n \\"RamRoleName\\": \\"test-role\\",\\n \\"UpdateTime\\": \\"2020-09-17T08:21:40\\",\\n \\"Outputs\\": [\\n [\\n {\\n \\"Description\\": \\"VPC ID\\",\\n \\"OutputKey\\": \\"VpcId\\",\\n \\"OutputValue\\": \\"vpc-bp1m6fww66xbntjyc****\\"\\n }\\n ]\\n ],\\n \\"DriftDetectionTime\\": \\"2020-09-16T09:21:40\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"StackDriftStatus\\": \\"IN_SYNC\\",\\n \\"NotificationURLs\\": [\\n \\"[\\\\\\"http://127.XX.XX.1:8080/x\\\\\\", \\\\\\"http://127.0.XX.XX:8080/y\\\\\\"]\\"\\n ],\\n \\"DisableRollback\\": false,\\n \\"StackName\\": \\"MyStack\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"TimeoutInMinutes\\": 10,\\n \\"StackId\\": \\"c754d2a4-28f1-46df-b557-9586173a****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"ResourceProgress\\": {\\n \\"TotalResourceCount\\": 2,\\n \\"SuccessResourceCount\\": 1,\\n \\"FailedResourceCount\\": 0,\\n \\"InProgressResourceCount\\": 1,\\n \\"PendingResourceCount\\": 0,\\n \\"InProgressResourceDetails\\": [\\n {\\n \\"ResourceName\\": \\"WaitCondition\\",\\n \\"ResourceType\\": \\"ALIYUN::ROS::WaitCondition\\",\\n \\"ProgressValue\\": 5,\\n \\"ProgressTargetValue\\": 10\\n }\\n ],\\n \\"StackOperationProgress\\": 100,\\n \\"StackActionProgress\\": 100\\n },\\n \\"Log\\": {\\n \\"TerraformLogs\\": [\\n {\\n \\"Command\\": \\"apply\\",\\n \\"Stream\\": \\"stdout\\",\\n \\"Content\\": \\"Apply complete! Resources: 42 added, 0 changed, 0 destroyed.\\"\\n }\\n ],\\n \\"ResourceLogs\\": [\\n {\\n \\"ResourceName\\": \\"MyResourceCleaner\\",\\n \\"Logs\\": [\\n {\\n \\"Keys\\": [\\n \\"ResourceDetails\\"\\n ],\\n \\"Content\\": \\"[]\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"TemplateId\\": \\"a52f81be-496f-4e1c-a286-8852ab54****\\",\\n \\"TemplateVersion\\": \\"v1\\",\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\",\\n \\"TemplateURL\\": \\"oss://ros/template/demo\\",\\n \\"Interface\\": \\"{}\\",\\n \\"ServiceManaged\\": false,\\n \\"ServiceName\\": \\"ACVS\\",\\n \\"OperationInfo\\": {\\n \\"Code\\": \\"DependencyViolation\\",\\n \\"Message\\": \\"There is still instance(s) in the specified security group.\\",\\n \\"RequestId\\": \\"071D6166-3F6B-5C7B-A1F0-0113FBB643A8\\",\\n \\"Action\\": \\"DeleteSecurityGroup\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"LogicalResourceId\\": \\"EcsSecurityGroup\\"\\n },\\n \\"OrderIds\\": [\\n \\"2161413696****\\"\\n ],\\n \\"CheckedStackResourceCount\\": 1,\\n \\"NotCheckedStackResourceCount\\": 1,\\n \\"RollbackFailedRootReason\\": \\"Resource UPDATE failed: Exception: resources.FailToCreate: FailToCreate: reason\\"\\n}","type":"json"}]', + 'title' => 'Query stack information', + 'description' => 'This topic provides an example of how to query the information of a stack whose ID is `c754d2a4-28f1-46df-b557-9586173a****` in the China (Hangzhou) region.', + 'requestParamsDescription' => ' For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | Error code | Error message | Description |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | StackNotFound |The Stack ({name}) could not be found. |The stack does not exist. name indicates the stack name or ID. |.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStack'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + ], + 'GetStackDriftDetectionStatus' => [ + 'path' => '/V2/GetStackDriftDetectionStatus', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosUSKZAD', - 'FEATURErosHDIJ7A', - 'FEATURErosSKHQLM', - ], + 'abilityTreeNodes' => ['FEATURErosGGHNC3'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the resource scenario.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack to be detected for drift.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TemplateScratchId', + 'name' => 'DriftDetectionId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the drift detection operation.'."\n" + ."\n" + .'You can call the [ListStackResourceDrifts](~~155098~~) operation to obtain the ID of the drift detection operation.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'a7044f0d-6f2e-4128-a307-4524ef88****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the resource scenario.'."\n" - ."\n" - .'For more information about how to query the IDs of resource scenarios, see [ListTemplateScratches](~~363050~~).', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ts-aa9c62feab844a6b****', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'DriftDetectionTime' => ['description' => 'The time when the stack drift detection operation was initiated.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'DriftDetectionStatusReason' => ['description' => 'The reason why the stack drift detection operation has its current status.', 'type' => 'string', 'example' => 'Detect stack drift successfully', 'title' => ''], + 'DriftedStackResourceCount' => ['description' => 'The total number of stack resources that have drifted.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StackDriftStatus' => ['description' => 'The drift status of the stack. Valid values:'."\n" + ."\n" + .'- DRIFTED: The actual configuration of the stack differs, or has drifted, from its expected template configuration. A stack is considered to have drifted if one or more of its resources have drifted.'."\n" + ."\n" + .'- NOT\\_CHECKED: Resource Orchestration Service (ROS) has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" + ."\n" + .'- IN\\_SYNC: The current configuration of each supported resource matches its expected template configuration. A stack with no resources that support drift detection also has a status of IN\\_SYNC.', 'type' => 'string', 'example' => 'DRIFTED', 'title' => ''], + 'DriftDetectionStatus' => ['description' => 'The drift detection status. Valid values:'."\n" + ."\n" + .'- DETECTION\\_COMPLETE: The drift detection operation has been completed for all resources that support drift detection in the stack.'."\n" + ."\n" + .'- DETECTION\\_FAILED: The stack drift detection operation has failed for at least one resource in the stack.'."\n" + ."\n" + .'- DETECTION\\_IN\\_PROGRESS: The stack drift detection operation is in progress.', 'type' => 'string', 'example' => 'DETECTION_COMPLETE', 'title' => ''], + 'StackId' => ['description' => 'The ID of the stack.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + 'DriftDetectionId' => ['description' => 'The ID of the drift detection operation.', 'type' => 'string', 'example' => 'a7044f0d-6f2e-4128-a307-4524ef88****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [], + 'title' => 'GetStackDriftDetectionStatus', + 'summary' => 'Queries the drift detection status of a stack.', + 'description' => 'In this topic, the status of a drift detection operation whose ID is `a7044f0d-6f2e-4128-a307-4524ef88****` is queried. The operation is performed in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => '| HTTP status code | Error code | Error message | Description |'."\n" + .'| ---------------- | --------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| 404 | StackDriftDetectionNotFound | The stack drift detection ({ID}) could not be found. | The error message returned because the drift detection does not exist. ID indicates the ID of the drift detection operation. |', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | StackDriftDetectionNotFound |The stack drift detection ({ID}) could not be found. |偏差检测不存在。ID为偏差检测ID。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackDriftDetectionStatus'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackDriftDetectionStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"DriftDetectionStatusReason\\": \\"Detect stack drift successfully\\",\\n \\"DriftedStackResourceCount\\": 1,\\n \\"StackDriftStatus\\": \\"DRIFTED\\",\\n \\"DriftDetectionStatus\\": \\"DETECTION_COMPLETE\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"DriftDetectionId\\": \\"a7044f0d-6f2e-4128-a307-4524ef88****\\"\\n}","type":"json"}]', + ], + 'GetStackGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ProvisionRegionId', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '12690', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the new node.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TemplateType', + 'name' => 'StackGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the template that Resource Orchestration Service (ROS) generates. ROS can generate templates of the ROS and Terraform types. Default value: ROS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ROS', - ], + 'schema' => ['description' => 'The name of the stack group. The name must be unique within a region. The name can be up to 255 characters in length, and must start with a digit or a letter. It can contain digits, letters, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .'> You must specify only one of the StackGroupName and StackGroupId parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'MyStackGroup', 'title' => ''], + ], + [ + 'name' => 'StackGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the stack group.'."\n" + ."\n" + .'> You must specify only one of the StackGroupName and StackGroupId parameters.', 'type' => 'string', 'required' => false, 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', 'title' => ''], ], ], 'responses' => [ @@ -7022,201 +6499,448 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D22C1D13-D74E-558C-AF68-1B4C05FA6F1A', - ], - 'TemplateBody' => [ - 'description' => 'The template content of the resource scenario.', - 'type' => 'string', - 'example' => '{\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\", \\"Resources\\": {\\"ECSVPC_001\\": {\\"DeletionPolicy\\": \\"Retain\\", \\"Type\\": \\"ALIYUN::ECS::VPC\\", \\"Properties\\": {\\"CidrBlock\\": \\"172.16.0.0/12\\", \\"VpcName\\": \\"MyTestVpc\\", \\"EnableIpv6\\": false}}}}', - ], - 'ResourcesToImport' => [ - 'description' => 'The resources that you want to import into a stack in the resource management scenario.'."\n" - ."\n" - .'> This parameter is returned only for a resource management scenario.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::VPC', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'StackGroup' => [ + 'description' => 'The details of the stack group.', + 'type' => 'object', + 'properties' => [ + 'StackGroupId' => ['description' => 'The ID of the stack group.', 'type' => 'string', 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', 'title' => ''], + 'Status' => ['description' => 'The status of the stack group.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- ACTIVE: The stack group is active.'."\n" + ."\n" + .'- DELETED: The stack group is deleted.', 'type' => 'string', 'example' => 'ACTIVE', 'title' => ''], + 'AdministrationRoleName' => ['description' => 'The name of the RAM administrator role that is assumed by ROS. This parameter is specified when you create a stack group in self-managed permission mode. If you do not specify this parameter, the default value AliyunROSStackGroupAdministrationRole is returned.', 'type' => 'string', 'example' => 'AliyunROSStackGroupAdministrationRole', 'title' => ''], + 'Parameters' => [ + 'description' => 'The list of the parameters of the stack group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The name of the parameter.', 'type' => 'string', 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter.', 'type' => 'string', 'example' => '12', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'LogicalResourceId' => [ - 'description' => 'The logical ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'ECSVPC_001', + 'title' => '', + 'example' => '', + ], + 'Description' => ['description' => 'The description of the stack group.', 'type' => 'string', 'example' => 'StackGroup Description', 'title' => ''], + 'StackGroupName' => ['description' => 'The name of the stack group.', 'type' => 'string', 'example' => 'MyStackGroup', 'title' => ''], + 'ExecutionRoleName' => ['description' => 'The name of the RAM execution role that is assumed by the administrator role AliyunROSStackGroupAdministrationRole. This parameter is specified when you create a stack group in self-managed permission mode. If you do not specify this parameter, the default value AliyunROSStackGroupExecutionRole is returned.', 'type' => 'string', 'example' => 'AliyunROSStackGroupExecutionRole', 'title' => ''], + 'TemplateBody' => ['description' => 'The structure of the template body.'."\n" + ."\n" + .'> We recommend that you do not use this parameter. Use TemplateContent instead.', 'type' => 'string', 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', 'title' => ''], + 'StackGroupDriftDetectionDetail' => [ + 'description' => 'The details of the last successful drift detection operation on the stack group.', + 'type' => 'object', + 'properties' => [ + 'DriftDetectionTime' => ['description' => 'The time when the drift detection operation was performed on the stack group.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'TotalStackInstancesCount' => ['description' => 'The number of stack instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'FailedStackInstancesCount' => ['description' => 'The number of stack instances for which the drift detection operation failed.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'DriftDetectionStatus' => ['description' => 'The drift detection status of the stack group.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- COMPLETED: The drift detection operation is completed for the stack group. All stack instances have been successfully drift-detected.'."\n" + ."\n" + .'- FAILED: The drift detection operation is completed for the stack group. The number of stack instances that failed the drift detection exceeds the specified threshold.'."\n" + ."\n" + .'- PARTIAL\\_SUCCESS: The drift detection operation is completed for the stack group. The drift detection operation failed for some stack instances, but the number of failures did not exceed the threshold.'."\n" + ."\n" + .'- IN\\_PROGRESS: The drift detection operation is in progress for the stack group.'."\n" + ."\n" + .'- STOPPED: The drift detection operation on the stack group was canceled.', 'type' => 'string', 'example' => 'COMPLETED', 'title' => ''], + 'StackGroupDriftStatus' => ['description' => 'The drift status of the stack group.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- DRIFTED: At least one stack instance has drifted.'."\n" + ."\n" + .'- NOT\\_CHECKED: No successful drift detection has been performed on the stack group.'."\n" + ."\n" + .'- IN\\_SYNC: All stack instances are in the IN\\_SYNC state.', 'type' => 'string', 'example' => 'DRIFTED', 'title' => ''], + 'InProgressStackInstancesCount' => ['description' => 'The number of stack instances on which a drift detection operation is in progress.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'InSyncStackInstancesCount' => ['description' => 'The number of stack instances that are in the IN\\_SYNC state.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CancelledStackInstancesCount' => ['description' => 'The number of stack instances for which the drift detection operation was canceled.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'DriftedStackInstancesCount' => ['description' => 'The number of stack instances that are in the DRIFTED state.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], - 'ResourceIdentifier' => [ - 'description' => 'The key-value mapping between strings. The value is a JSON string that identifies the resource that you want to import into a stack.\\'."\n" - .'A key is an identifier for a resource, and a value is an assignment of data to the key. For example, VpcId is a key that indicates the ID of a virtual private cloud (VPC), and `vpc-bp1m6fww66xbntjyc****"` is a value that is assigned to VpcId.'."\n", - 'type' => 'object', - 'example' => '{"VpcId": "vpc-bp1m6fww66xbntjyc****" }', + 'title' => '', + 'example' => '', + ], + 'ResourceGroupId' => ['description' => 'The ID of the resource group. This value is determined by the resource group ID that you specify when you create the stack group.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], + 'PermissionModel' => ['description' => 'The permission model.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- SELF\\_MANAGED: self-managed permissions.'."\n" + ."\n" + .'- SERVICE\\_MANAGED: service-managed permissions.'."\n" + ."\n" + .'> For more information about the permission models of stack groups, refer to [Overview](~~154578~~).', 'type' => 'string', 'example' => 'SELF_MANAGED', 'title' => ''], + 'AutoDeployment' => [ + 'description' => 'The information about automatic deployment settings.'."\n" + ."\n" + .'> This parameter is returned only if PermissionModel is set to SERVICE\\_MANAGED.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Indicates whether automatic deployment is enabled or disabled.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Automatic deployment is enabled. If you add a new member account to the folder, the stack group automatically deploys stack instances in the specified region of the new account. If you remove a member account from the folder, the stack group automatically deletes stack instances from the specified region of the account.'."\n" + ."\n" + .'- false: Automatic deployment is disabled. After automatic deployment is disabled, the stack instances remain unchanged when the member accounts in the folder change.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RetainStacksOnAccountRemoval' => ['description' => 'Indicates whether to retain the stacks in the member account when the member account is removed from the folder.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: retains the stacks.'."\n" + ."\n" + .'- false: deletes the stacks.'."\n" + ."\n" + .'> This parameter is returned only if Enabled is set to true.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'description' => '', + 'RdFolderIds' => [ + 'description' => 'The IDs of the folders in the resource directory. Stack instances are deployed in all the accounts in the folders.'."\n" + ."\n" + .'> This parameter is returned only if PermissionModel is set to SERVICE\\_MANAGED.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the folders in the resource directory. Stack instances are deployed in all the accounts in the folders.'."\n" + ."\n" + .'> This parameter is returned only if PermissionModel is set to SERVICE\\_MANAGED.', 'type' => 'string', 'example' => '["fd-4PvlVLOL8v"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'TemplateContent' => ['description' => 'The structure of the template body. The structure is in the JSON format. For more information, refer to [Template syntax](~~28857~~).', 'type' => 'string', 'example' => '{'."\n" + .' "ROSTemplateFormatVersion": "2015-09-01"'."\n" + .'}', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the stack group was created.', 'type' => 'string', 'example' => '2024-06-14T02:13:50', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the stack group was updated.', 'type' => 'string', 'example' => '2024-06-15T02:01:00', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D22C1D13-D74E-558C-AF68-1B4C05FA6F1A\\",\\n \\"TemplateBody\\": \\"{\\\\\\\\\\\\\\"ROSTemplateFormatVersion\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"2015-09-01\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Resources\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"ECSVPC_001\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"DeletionPolicy\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"Retain\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"ALIYUN::ECS::VPC\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Properties\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"CidrBlock\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"172.16.0.0/12\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"VpcName\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"MyTestVpc\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"EnableIpv6\\\\\\\\\\\\\\": false}}}}\\",\\n \\"ResourcesToImport\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::VPC\\",\\n \\"LogicalResourceId\\": \\"ECSVPC_001\\",\\n \\"ResourceIdentifier\\": {\\n \\"VpcId\\": \\"vpc-bp1m6fww66xbntjyc****\\"\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GenerateTemplateByScratchResponse>\\n <RequestId>D22C1D13-D74E-558C-AF68-1B4C05FA6F1A</RequestId>\\n <ResourcesToImport>\\n <ResourceIdentifier>\\n <VpcId>vpc-bp1m6fww66xbntjyc****</VpcId>\\n </ResourceIdentifier>\\n <LogicalResourceId>ECSVPC_001</LogicalResourceId>\\n <ResourceType>ALIYUN::ECS::VPC</ResourceType>\\n </ResourcesToImport>\\n <TemplateBody>{\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\", \\"Resources\\": {\\"ECSVPC_001\\": {\\"DeletionPolicy\\": \\"Retain\\", \\"Type\\": \\"ALIYUN::ECS::VPC\\", \\"Properties\\": {\\"CidrBlock\\": \\"172.16.0.0/12\\", \\"VpcName\\": \\"MyTestVpc\\", \\"EnableIpv6\\": false}}}}</TemplateBody>\\n</GenerateTemplateByScratchResponse>","errorExample":""}]', - 'title' => 'GenerateTemplateByScratch', - 'description' => 'In this example, a template is generated for a resource management scenario that resides in the China (Hangzhou) region. The ID of the resource scenario is `ts-aa9c62feab844a6b****`.'."\n" - ."\n" - .'> You cannot generate a template for a resource detection scenario.', - 'requestParamsDescription' => 'For more information about common request parameters, see [API Reference](~~131957~~).'."\n", - ], - 'CreateTemplate' => [ - 'summary' => 'Creates a custom template.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'GetStackGroup', + 'summary' => 'Queries the details of a stack group by its name in an Alibaba Cloud region.', + 'description' => 'This topic provides an example of how to query a stack group named `MyStackGroup`. The stack group is in the China (Hangzhou) region and uses the self-managed permission mode.', + 'requestParamsDescription' => 'For more information about common request parameters, refer to [Common parameters](~~131957~~).', + 'responseParamsDescription' => 'The action to perform. Set the value to GetStackGroup.', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| StackGroupNotFound |The StackGroup ({name}) could not be found. | 404 |资源栈组不存在。name为资源栈组名称。 |'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackGroup'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"StackGroup\\": {\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"AdministrationRoleName\\": \\"AliyunROSStackGroupAdministrationRole\\",\\n \\"Parameters\\": [\\n {\\n \\"ParameterKey\\": \\"Amount\\",\\n \\"ParameterValue\\": \\"12\\"\\n }\\n ],\\n \\"Description\\": \\"StackGroup Description\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"ExecutionRoleName\\": \\"AliyunROSStackGroupExecutionRole\\",\\n \\"TemplateBody\\": \\"{\\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"}\\",\\n \\"StackGroupDriftDetectionDetail\\": {\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"TotalStackInstancesCount\\": 2,\\n \\"FailedStackInstancesCount\\": 0,\\n \\"DriftDetectionStatus\\": \\"COMPLETED\\",\\n \\"StackGroupDriftStatus\\": \\"DRIFTED\\",\\n \\"InProgressStackInstancesCount\\": 0,\\n \\"InSyncStackInstancesCount\\": 1,\\n \\"CancelledStackInstancesCount\\": 0,\\n \\"DriftedStackInstancesCount\\": 1\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"PermissionModel\\": \\"SELF_MANAGED\\",\\n \\"AutoDeployment\\": {\\n \\"Enabled\\": true,\\n \\"RetainStacksOnAccountRemoval\\": true\\n },\\n \\"RdFolderIds\\": [\\n \\"[\\\\\\"fd-4PvlVLOL8v\\\\\\"]\\"\\n ],\\n \\"TemplateContent\\": \\"{\\\\n \\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"\\\\n}\\",\\n \\"CreateTime\\": \\"2024-06-14T02:13:50\\",\\n \\"UpdateTime\\": \\"2024-06-15T02:01:00\\"\\n }\\n}","type":"json"}]', + ], + 'GetStackGroupOperation' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '12673', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], ], 'parameters' => [ [ - 'name' => 'TemplateURL', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Alibaba Cloud Object Storage Service (OSS) bucket, such as oss://ros/stack-policy/demo or oss://ros/stack-policy/demo?RegionId=cn-hangzhou. The template body must be 1 to 1,024 bytes in length. If you do not specify the region of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'> You must specify TemplateBody or TemplateURL.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros/template/demo', - ], + 'schema' => ['description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'OperationId', 'in' => 'query', + 'schema' => ['description' => 'The operation ID. You can call the [ListStackGroupOperations](~~151342~~) operation to query the operation ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The description of the template. The description can be up to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'It is a demo.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'StackGroupOperation' => [ + 'description' => 'The information about the stack group operation.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The state of the operation.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- RUNNING'."\n" + ."\n" + .'- SUCCEEDED'."\n" + ."\n" + .'- FAILED'."\n" + ."\n" + .'- STOPPING'."\n" + ."\n" + .'- STOPPED', 'type' => 'string', 'example' => 'SUCCEEDED', 'title' => ''], + 'StackGroupId' => ['description' => 'The ID of the stack group.', 'type' => 'string', 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', 'title' => ''], + 'Action' => ['description' => 'The operation type.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- CREATE'."\n" + ."\n" + .'- UPDATE'."\n" + ."\n" + .'- DELETE'."\n" + ."\n" + .'- DETECT\\_DRIFT', 'type' => 'string', 'example' => 'DELETE', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the operation was initiated.', 'type' => 'string', 'example' => '2020-01-20T09:22:3', 'title' => ''], + 'RetainStacks' => ['description' => 'Indicates whether stacks are retained when the associated stack instances are deleted. When you delete a stack instance, you can choose to delete or retain the stack with which the stack instance is associated.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Stacks are retained when the associated stack instances are deleted.'."\n" + ."\n" + .'- false: Stacks are deleted when the associated stack instances are deleted. Proceed with caution.'."\n" + ."\n" + .'> This parameter is returned only if you delete stack instances.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'StackGroupName' => ['description' => 'The name of the stack group.', 'type' => 'string', 'example' => 'MyStackGroup', 'title' => ''], + 'OperationId' => ['description' => 'The operation ID.', 'type' => 'string', 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], + 'OperationDescription' => ['description' => 'The description of the operation.'."\n" + ."\n" + .'> This parameter is returned only if OperationDescription is specified when the [CreateStackInstances](~~151338~~) operation is called to create stack instances.', 'type' => 'string', 'example' => 'Create stack instance in hangzhou', 'title' => ''], + 'StackGroupDriftDetectionDetail' => [ + 'description' => 'The information about drift detection.'."\n" + ."\n" + .'> This parameter is returned only if drift detection is performed.', + 'type' => 'object', + 'properties' => [ + 'DriftDetectionTime' => ['description' => 'The time when drift detection was performed.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'TotalStackInstancesCount' => ['description' => 'The number of stack instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'FailedStackInstancesCount' => ['description' => 'The number of stack instances that failed drift detection.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'DriftDetectionStatus' => ['description' => 'The drift detection state.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- COMPLETED: Drift detection is performed on the stack group and all stack instances passed the drift detection.'."\n" + ."\n" + .'- FAILED: Drift detection is performed on the stack group. The number of stack instances that failed the drift detection exceeds the specified threshold.'."\n" + ."\n" + .'- PARTIAL\\_SUCCESS: Drift detection is performed on the stack group. The number of stack instances that failed the drift detection does not exceed the specified threshold.'."\n" + ."\n" + .'- IN\\_PROGRESS: Drift detection is being performed on the stack group.'."\n" + ."\n" + .'- STOPPED: Drift detection is canceled for the stack group.', 'type' => 'string', 'example' => 'COMPLETED', 'title' => ''], + 'StackGroupDriftStatus' => ['description' => 'The drift state of the stack group.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- DRIFTED: At least one stack instance in the stack group has drifted.'."\n" + ."\n" + .'- NOT\\_CHECKED: No successful drift detection is performed in the stack group.'."\n" + ."\n" + .'- IN\\_SYNC: All the stack instances in the stack group are being synchronized.', 'type' => 'string', 'example' => 'DRIFTED', 'title' => ''], + 'InProgressStackInstancesCount' => ['description' => 'The number of stack instances on which drift detection was being performed.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'InSyncStackInstancesCount' => ['description' => 'The number of stack instances that were being synchronized.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CancelledStackInstancesCount' => ['description' => 'The number of stack instances for which drift detection was canceled.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'DriftedStackInstancesCount' => ['description' => 'The number of stack instances that have drifted.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'OperationPreferences' => [ + 'description' => 'The operation settings.', + 'type' => 'object', + 'properties' => [ + 'MaxConcurrentCount' => ['description' => 'The maximum number of accounts within which stacks are deployed at the same time in each region.'."\n" + ."\n" + .'Valid values: 1 to 20.'."\n" + ."\n" + .'> Only one of MaxConcurrentCount and MaxConcurrentPercentage can be returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'FailureToleranceCount' => ['description' => 'The number of accounts within which stack operation failures are allowed to occur in each region. If the value of this parameter is exceeded in a region, Resource Orchestration Service (ROS) stops the operation in the region. If the operation is stopped in one region, the operation is no longer performed in other regions.'."\n" + ."\n" + .'Valid values: 0 to 20.'."\n" + ."\n" + .'> Only one of FailureToleranceCount and FailureTolerancePercentage can be returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxConcurrentPercentage' => ['description' => 'The percentage of the maximum number of accounts within which stacks are deployed at the same time to the total number of accounts in each region.'."\n" + ."\n" + .'Valid values: 1 to 100.'."\n" + ."\n" + .'> Only one of MaxConcurrentCount and MaxConcurrentPercentage can be returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RegionIdsOrder' => [ + 'description' => 'The regions in the order of operation execution.', + 'type' => 'array', + 'items' => ['description' => 'The region in the order of operation execution.', 'type' => 'string', 'example' => '["cn-hangzhou","cn-beijing"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'FailureTolerancePercentage' => ['description' => 'The percentage of the number of accounts within which stack operation failures are allowed to occur to the total number of accounts in each region. If the value of this parameter is exceeded in a region, ROS stops the operation in the region.'."\n" + ."\n" + .'Valid values: 0 to 100.'."\n" + ."\n" + .'> Only one of FailureToleranceCount and FailureTolerancePercentage can be returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'EndTime' => ['description' => 'The time when the operation ended.', 'type' => 'string', 'example' => '2020-01-20T09:22:4', 'title' => ''], + 'ExecutionRoleName' => ['description' => 'The name of the RAM role that you specify for the execution account when you create the self-managed stack group. The administrator role AliyunROSStackGroupAdministrationRole assumes the execution role to perform operations. If this parameter is not specified, the default value AliyunROSStackGroupExecutionRole is returned.', 'type' => 'string', 'example' => 'AliyunROSStackGroupExecutionRole', 'title' => ''], + 'AdministrationRoleName' => ['description' => 'The name of the RAM role that you specify for the administrator account when you create the self-managed stack group. ROS assumes the administrator role to perform operations. If this parameter is not specified, the default value AliyunROSStackGroupAdministrationRole is returned.', 'type' => 'string', 'example' => 'AliyunROSStackGroupAdministrationRole', 'title' => ''], + 'DeploymentTargets' => [ + 'description' => 'The destinations to deploy stack instances when the stack is granted service-managed permissions.', + 'type' => 'object', + 'properties' => [ + 'RdFolderIds' => [ + 'description' => 'The IDs of the folders in the resource directory.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the folder in the resource directory.', 'type' => 'string', 'example' => '["fd-4PvlVLOL8v"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'AccountIds' => [ + 'description' => 'The IDs of the members in the resource directory.'."\n" + ."\n" + .'> This parameter is returned only if AccountIds is specified when the [UpdateStackInstances](~~151716~~) operation is called to update stack instances.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the member in the resource directory.'."\n" + ."\n" + .'> This parameter is returned only if AccountIds is specified when the [UpdateStackInstances](~~151716~~) opeation is called to update stack instances.', 'type' => 'string', 'example' => '["151266687691****","141261387191****"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure of the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must specify TemplateBody or TemplateURL.'."\n" - ."\n" - .'You can create a Terraform template based on your business requirements. The following sample code provides an example on how to create a Terraform template:'."\n" - ."\n" - .' {'."\n" - .' "ROSTemplateFormatVersion": "2015-09-01",'."\n" - .' "Transform": "Aliyun::Terraform-v1.0",'."\n" - .' "Workspace": {'."\n" - .' "main.tf": "variable \\"name\\" { default = \\"auto_provisioning_group\\"}"'."\n" - .' },'."\n" - .' "Outputs": {}'."\n" - .' }'."\n" - ."\n" - .'For more information about Terraform templates, see [Structure of Terraform templates](~~184397~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', + ], + 'title' => 'GetStackGroupOperation', + 'summary' => 'Queries the information about a stack group operation in an Alibaba Cloud region.', + 'description' => 'In this example, the information about the stack group operation whose ID is `6da106ca-1784-4a6f-a7e1-e723863d****` is queried. The stack group named `MyStackGroup` is granted self-managed permissions and deployed in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidParameter | The specified parameter {name} is invalid, {reason}. | 400 |无效参数,name为参数名,reason为原因。 |'."\n" + .'| StackGroupOperationNotFound | The StackGroupOperation ({OperationId}) could not be found. | 404 |资源栈组操作不存在。OperationId为操作ID。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackGroupOperation'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackGroupOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroupOperation', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroupoperation/{#OperationId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"StackGroupOperation\\": {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"Action\\": \\"DELETE\\",\\n \\"CreateTime\\": \\"2020-01-20T09:22:3\\",\\n \\"RetainStacks\\": true,\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\",\\n \\"OperationDescription\\": \\"Create stack instance in hangzhou\\",\\n \\"StackGroupDriftDetectionDetail\\": {\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"TotalStackInstancesCount\\": 2,\\n \\"FailedStackInstancesCount\\": 0,\\n \\"DriftDetectionStatus\\": \\"COMPLETED\\",\\n \\"StackGroupDriftStatus\\": \\"DRIFTED\\",\\n \\"InProgressStackInstancesCount\\": 0,\\n \\"InSyncStackInstancesCount\\": 1,\\n \\"CancelledStackInstancesCount\\": 0,\\n \\"DriftedStackInstancesCount\\": 1\\n },\\n \\"OperationPreferences\\": {\\n \\"MaxConcurrentCount\\": 1,\\n \\"FailureToleranceCount\\": 1,\\n \\"MaxConcurrentPercentage\\": 10,\\n \\"RegionIdsOrder\\": [\\n \\"[\\\\\\"cn-hangzhou\\\\\\",\\\\\\"cn-beijing\\\\\\"]\\"\\n ],\\n \\"FailureTolerancePercentage\\": 10\\n },\\n \\"EndTime\\": \\"2020-01-20T09:22:4\\",\\n \\"ExecutionRoleName\\": \\"AliyunROSStackGroupExecutionRole\\",\\n \\"AdministrationRoleName\\": \\"AliyunROSStackGroupAdministrationRole\\",\\n \\"DeploymentTargets\\": {\\n \\"RdFolderIds\\": [\\n \\"[\\\\\\"fd-4PvlVLOL8v\\\\\\"]\\"\\n ],\\n \\"AccountIds\\": [\\n \\"[\\\\\\"151266687691****\\\\\\",\\\\\\"141261387191****\\\\\\"]\\"\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'GetStackInstance' => [ + 'summary' => 'Queries the information about a stack instance that is associated with a stack group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TemplateName', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosTBD793'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the template.\\'."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyTemplate', - ], + 'schema' => ['description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'StackGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.\\'."\n" - .'For more information about resource groups, see [Resource groups](~~94475~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4ph6aiy****', - ], + 'schema' => ['description' => 'The name of the stack group. The name must be unique within a region.<br>'."\n" + .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'StackInstanceAccountId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags of the template.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag of the template.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the template.'."\n" - ."\n" - .'> Tags is optional. If you need to specify Tags, you must also specify Key.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The tag value of the template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the destination account to which the stack belongs.'."\n" + ."\n" + .'- If the stack group is granted self-managed permissions, the stack belongs to an Alibaba Cloud account.'."\n" + ."\n" + .'- If the stack group is granted service-managed permissions, the stack belongs to a member in a resource directory.'."\n" + ."\n" + .'> For more information about the destination account, see [Overview](~~154578~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '151266687691****', 'title' => ''], ], [ - 'name' => 'ValidationOptions', + 'name' => 'StackInstanceRegionId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'required' => false, - 'maxItems' => 1, - ], + 'schema' => ['description' => 'The region ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing', 'title' => ''], + ], + [ + 'name' => 'OutputOption', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return the Outputs parameter. The Outputs parameter specifies the outputs of the stack. Valid values:'."\n" + ."\n" + .'- Enabled: returns the Outputs parameter.'."\n" + ."\n" + .'- Disabled (default): does not return the Outputs parameter.'."\n" + ."\n" + .'> The Outputs parameter requires a long period of time to calculate. If you do not require the outputs of the stack, we recommend that you set OutputOption to Disabled to improve the response speed of the API operation.', 'type' => 'string', 'required' => false, 'example' => 'Disabled', 'title' => ''], ], ], 'responses' => [ @@ -7224,64 +6948,146 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '8C5D90E1-66B6-496C-9371-3807F8DA80A8', - ], - 'TemplateId' => [ - 'description' => 'The ID of the template.'."\n", - 'type' => 'string', - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B8A6B693-82C8-419D-8796-DE99EC33CFF9', 'title' => ''], + 'StackInstance' => [ + 'description' => 'The information about the stack.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The state of the stack.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- CURRENT: The stack is up-to-date with the stack group.'."\n" + ."\n" + .'- OUTDATED: The stack is not up-to-date with the stack group. Stacks are in the OUTDATED state due to the following possible reasons:'."\n" + ."\n" + .' - When the CreateStackInstances operation is called to create stacks, the stacks fail to be created.'."\n" + ."\n" + .' - When the UpdateStackInstances or UpdateStackGroup operation is called to update stacks, the stacks fail to be updated, or only specific stacks are updated.'."\n" + ."\n" + .' - The creation or update operation is not complete.', 'type' => 'string', 'example' => 'CURRENT', 'title' => ''], + 'StackGroupId' => ['description' => 'The ID of the stack group.', 'type' => 'string', 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.'."\n" + ."\n" + .'> This parameter is returned only if the stack is in the CURRENT state.', 'type' => 'string', 'example' => '35ad60e3-6a92-42d8-8812-f0700d45****', 'title' => ''], + 'DriftDetectionTime' => ['description' => 'The time when the most recent successful drift detection was performed on the stack group.'."\n" + ."\n" + .'> This parameter is returned only if drift detection is performed on the stack group.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'StackDriftStatus' => ['description' => 'The state of the stack when the most recent successful drift detection was performed on the stack group.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- DRIFTED: The stack has drifted.'."\n" + ."\n" + .'- NOT\\_CHECKED: No successful drift detection is performed on the stack.'."\n" + ."\n" + .'- IN\\_SYNC: The stack is being synchronized.'."\n" + ."\n" + .'> This parameter is returned only if drift detection is performed on the stack group.', 'type' => 'string', 'example' => 'IN_SYNC', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the stack instance is in the OUTDATED state.'."\n" + ."\n" + .'> This parameter is returned only if the stack instance is in the OUTDATED state.', 'type' => 'string', 'example' => 'User initiated stop', 'title' => ''], + 'ParameterOverrides' => [ + 'description' => 'The parameters that are used to override specific parameters.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The name of the parameter that is used to override a specific parameter.', 'type' => 'string', 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter that is used to override a specific parameter.', 'type' => 'string', 'example' => '1', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'StackGroupName' => ['description' => 'The name of the stack group.', 'type' => 'string', 'example' => 'MyStackGroup', 'title' => ''], + 'AccountId' => ['description' => 'The ID of the destination account to which the stack belongs.', 'type' => 'string', 'example' => '151266687691****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the stack.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'RdFolderId' => ['description' => 'The ID of the folder in the resource directory.'."\n" + ."\n" + .'> This parameter is returned only if the stack group is granted service-managed permissions.', 'type' => 'string', 'example' => 'fd-4PvlVLOL8v', 'title' => ''], + 'Outputs' => [ + 'description' => 'The outputs of the stack.'."\n" + ."\n" + .'> This parameter is returned if OutputOption is set to Enabled.', + 'type' => 'array', + 'items' => ['description' => 'The output of the stack.'."\n" + ."\n" + .'> This parameter is returned if OutputOption is set to Enabled.', 'type' => 'object', 'example' => '[{\'OutputKey\': \'rds_connection_string\', \'OutputValue\': \'rm-gw868n4lzy0i7kzx3.mysql.germany.rds.aliyuncs.com\'}]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8C5D90E1-66B6-496C-9371-3807F8DA80A8\\",\\n \\"TemplateId\\": \\"5ecd1e10-b0e9-4389-a565-e4c15efc****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTemplateResponse>\\n <RequestId>8C5D90E1-66B6-496C-9371-3807F8DA80A8</RequestId>\\n <TemplateId>5ecd1e10-b0e9-4389-a565-e4c15efc****</TemplateId>\\n</CreateTemplateResponse>","errorExample":""}]', - 'title' => 'CreateTemplate', - 'description' => 'In this topic, a custom template named `MyTemplate` is created in the `cn-hangzhou` region. The `TemplateBody` parameter of the template is set to `{"ROSTemplateFormatVersion": "2015-09-01"}`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'title' => 'GetStackInstance', + 'description' => 'In this example, the information about a stack instance associated with a stack group named `MyStackGroup` is queried. The stack instance is deployed in the China (Beijing) region within the `151266687691****` Alibaba Cloud account. The stack group is granted self-managed permissions and deployed in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'DeleteTemplate' => [ - 'summary' => 'Deletes a template.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidParameter |The specified parameter {name} is invalid, {reason}. | 400 |无效参数,name为参数名,reason为原因。 |'."\n" + .'| StackGroupNotFound |The StackGroup ({name}) could not be found. | 404 |资源栈组不存在。name为资源栈组名称。 |'."\n" + .'| StackInstanceNotFound |The StackInstance could not be found. | 404 |资源栈不存在。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackInstance'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B8A6B693-82C8-419D-8796-DE99EC33CFF9\\",\\n \\"StackInstance\\": {\\n \\"Status\\": \\"CURRENT\\",\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"StackId\\": \\"35ad60e3-6a92-42d8-8812-f0700d45****\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"StackDriftStatus\\": \\"IN_SYNC\\",\\n \\"StatusReason\\": \\"User initiated stop\\",\\n \\"ParameterOverrides\\": [\\n {\\n \\"ParameterKey\\": \\"Amount\\",\\n \\"ParameterValue\\": \\"1\\"\\n }\\n ],\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"AccountId\\": \\"151266687691****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"RdFolderId\\": \\"fd-4PvlVLOL8v\\",\\n \\"Outputs\\": [\\n {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetStackPolicy' => [ + 'path' => '/V2/GetStackPolicy', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '12678', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'TemplateId', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the template. This parameter applies to only private templates.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the stack. Call [DescribeRegions](~~131035~~) to query available regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -7289,157 +7095,112 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '8C5D90E1-66B6-496C-9371-3807F8DA80A8', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'StackPolicyBody' => ['description' => 'The stack policy body. Length: 1 to 16,384 bytes.', 'type' => 'object', 'example' => '{"Statement": [{"Action": "Update:*", "Effect": "Allow","Principal": "*","Resource": "*"}]}', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8C5D90E1-66B6-496C-9371-3807F8DA80A8\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTemplateResponse>\\r\\n <RequestId>8C5D90E1-66B6-496C-9371-3807F8DA80A8</RequestId>\\r\\n</DeleteTemplateResponse>","errorExample":""}]', - 'title' => 'DeleteTemplate', - 'description' => 'If a template is shared with other Alibaba Cloud accounts, you must unshare the template before you delete it.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - ], - 'UpdateTemplate' => [ - 'summary' => 'Update Template', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'errorCodes' => [], + 'title' => 'GetStackPolicy', + 'summary' => 'Queries the stack policy of a specified stack.', + 'description' => 'This example queries the stack policy of stack `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` in the China (Hangzhou) region.', + 'requestParamsDescription' => 'This operation also uses [Common parameters](~~131957~~).', + 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" + .'| ------------- | -------------------------------------- | ---------------- | --------------------------------------------------------------- |'."\n" + .'| StackNotFound | The Stack ({name}) could not be found. | 404 | The specified stack does not exist. name: the stack name or ID. |', + 'extraInfo' => '| 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| StackNotFound |The Stack ({name}) could not be found. | 404 |资源栈不存在,name为资源栈名称或ID。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackPolicy'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StackPolicyBody\\": {\\n \\"Statement\\": [\\n {\\n \\"Action\\": \\"Update:*\\",\\n \\"Effect\\": \\"Allow\\",\\n \\"Principal\\": \\"*\\",\\n \\"Resource\\": \\"*\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetStackResource' => [ + 'summary' => 'Query a resource in a specific stack.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '12726', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'TemplateURL', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The location of the file containing the template body. The URL must point to a template located on a web server (HTTP or HTTPS) or in an Alibaba Cloud OSS bucket (e.g., oss://ros/template/demo, oss://ros/template/demo?RegionId=cn-hangzhou), with a maximum size of 524,288 bytes. '."\n" - ."\n" - .'> If the OSS region is not specified, it defaults to the same as the `RegionId` parameter in the request.'."\n" - .' '."\n" - .'You can only specify one of `TemplateBody` or `TemplateURL`. '."\n" - .'The maximum length of the URL is 1,024 bytes.', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros/template/demo', - ], + 'schema' => ['description' => 'The stack ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'TemplateName', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the template. '."\n" - .'The length should not exceed 255 characters (utf-8 encoding), and it must start with a number, letter, or Chinese character. It can include numbers, letters, Chinese characters, hyphens (-), and underscores (_).', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'MyTemplate', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. The value is generated by the client and must be globally unique.'."\n" + .'The value can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (_).'."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the template. The maximum length is 256 characters.', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'It is a demo.', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure of the template body. The length should be between 1 and 524,288 bytes. If the content is long, it is recommended to use HTTP POST + Body Param to pass the parameter in the request body to avoid request failure due to an overly long URL.'."\n" - ."\n" - .'> You must and can only specify one of `TemplateBody`, `TemplateURL`, `TemplateId`, or `TemplateScratchId`.', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', - ], + 'name' => 'ShowResourceAttributes', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to query resource attributes. Valid values:'."\n" + ."\n" + .'- true: queries resource attributes.'."\n" + ."\n" + .'- false: does not query resource attributes.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'TemplateId', + 'name' => 'LogicalResourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The template ID. Supports both shared and private templates.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The logical ID of the resource, which is the resource name defined in the template.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'WebServer', 'title' => ''], ], [ - 'name' => 'ValidationOptions', + 'name' => 'ResourceAttributes', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Validation options.'."\n" + 'description' => 'The list of resource output attributes to query.'."\n" ."\n" - .'By default, no options are enabled, and strict validation is performed.', + .'> The maximum value of N is 20.', 'type' => 'array', - 'items' => [ - 'description' => 'Validation options. Values:'."\n" - .'- BasicValidation: Only performs basic structural validation on the template content.', - 'type' => 'string', - 'required' => false, - 'example' => 'BasicValidation', - ], - 'required' => false, - 'maxItems' => 1, - ], - ], - [ - 'name' => 'RotateStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Template version rotation strategy. Values:'."\n" - .'- None (default): No rotation. An error occurs when the version limit is reached.'."\n" - .'- DeleteOldestNonSharedVersionWhenLimitExceeded: Rotates and deletes non-shared template versions.'."\n" - .'> '."\n" - .'> - If all versions of the template are shared, they cannot be rotated and deleted.'."\n" - .'> - The current latest version will not be rotated and deleted.'."\n" - .'> - Regardless of whether rotation deletion is used, the template version number cannot exceed v65000.', - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], - ], - [ - 'name' => 'IsDraft', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to update the Draft (draft) version. Values:'."\n" - .'- false (default): If template content is provided, a new version is created, and the Draft version is cleared. Otherwise, the current latest version is modified.'."\n" - .'- true: Modifies the Draft version. The Draft version can only be retrieved via the GetTemplate interface. The ListTemplateVersions interface will not return it. The TemplateVersion parameter in other interfaces cannot specify Draft.', - 'type' => 'boolean', + 'items' => ['description' => 'The name of the resource output attribute to query.'."\n" + ."\n" + .'> The maximum value of N is 20.', 'type' => 'string', 'required' => false, 'example' => 'InstanceId', 'title' => ''], 'required' => false, - 'example' => 'false', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], @@ -7448,57 +7209,105 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '8C5D90E1-66B6-496C-9371-3807F8DA80A8', - ], - 'TemplateId' => [ - 'description' => 'Template ID.', - 'type' => 'string', - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', + 'Status' => ['description' => 'The resource status. Valid values:'."\n" + .'- CREATE_COMPLETE'."\n" + .'- CREATE_FAILED'."\n" + .'- CREATE_IN_PROGRESS'."\n" + .'- UPDATE_IN_PROGRESS'."\n" + .'- UPDATE_FAILED'."\n" + .'- UPDATE_COMPLETE'."\n" + .'- DELETE_IN_PROGRESS'."\n" + .'- DELETE_FAILED'."\n" + .'- CHECK_IN_PROGRESS'."\n" + .'- CHECK_FAILED'."\n" + .'- CHECK_COMPLETE'."\n" + .'- IMPORT_IN_PROGRESS'."\n" + .'- IMPORT_FAILED'."\n" + .'- IMPORT_COMPLETE', 'type' => 'string', 'example' => 'CREATE_COMPLETE', 'title' => ''], + 'Description' => ['description' => 'The resource description.', 'type' => 'string', 'example' => 'no description', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the resource is in the current state.', 'type' => 'string', 'example' => 'state changed', 'title' => ''], + 'PhysicalResourceId' => ['description' => 'The physical ID of the resource, which is the actual resource ID.', 'type' => 'string', 'example' => 'd04af923-e6b7-4272-aeaa-47ec9777****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the resource was created. The time is displayed in UTC+0 and in the ISO 8601 standard format without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2019-08-01T06:01:23', 'title' => ''], + 'Metadata' => ['description' => 'The metadata.', 'type' => 'object', 'example' => '{"key": "value"}', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ROS::WaitConditionHandle', 'title' => ''], + 'ResourceAttributes' => [ + 'description' => 'The resource attribute list.', + 'type' => 'array', + 'items' => ['description' => 'The resource attribute list.', 'type' => 'object', 'example' => '[{"ResourceAttributeKey": "CurlCli","ResourceAttributeValue": "curl -i -X POST -H \'Content-Type: application/json\' -H \'Accept: application/json\' -H \'x-acs-region-id: cn-beijing\' http://192.168.XX.XX/waitcondition?stackname=test-describe-resource\\\\&stackid=efdf5c10-96a5-4fd7-ab89-68e7baa2****\\\\&resource=WaitConditionHandle\\\\&expire=156468****\\\\&signature=991d910a901a89db6580d74233119960c004****"}]', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'TemplateVersion' => [ - 'description' => 'The template version affected by this operation.', - 'type' => 'string', - 'example' => 'v2', + 'LogicalResourceId' => ['description' => 'The logical ID of the resource, which is the resource name defined in the template.', 'type' => 'string', 'example' => 'WebServer', 'title' => ''], + 'ResourceDriftStatus' => ['description' => 'The drift status of the resource in the most recent successful drift detection of the stack. Valid values:'."\n" + .'- DELETED: The resource differs from its expected template configuration because the resource has been deleted.'."\n" + .'- MODIFIED: The resource differs from its expected template configuration.'."\n" + .'- NOT_CHECKED: ROS has not checked whether the resource differs from its expected template configuration.'."\n" + .'- IN_SYNC: The current configuration of the resource matches its expected template configuration.', 'type' => 'string', 'example' => 'IN_SYNC', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the resource was last updated. The time is displayed in UTC+0 and in the ISO 8601 standard format without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2019-08-01T06:01:29', 'title' => ''], + 'DriftDetectionTime' => ['description' => 'The time when the resource was last successfully checked for drift detection of the stack.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'StackName' => ['description' => 'The stack name.'."\n" + .'The name can be up to 255 characters in length, and must start with a digit or letter. It can contain digits, letters, hyphens (-), and underscores (_).', 'type' => 'string', 'example' => 'test-describe-resource', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => 'efdf5c10-96a5-4fd7-ab89-68e7baa2****', 'title' => ''], + 'ModuleInfo' => [ + 'description' => 'The information about the module from which the resource was created. This parameter is returned only when the resource is created from a module.', + 'type' => 'object', + 'properties' => [ + 'LogicalIdHierarchy' => ['description' => 'A concatenated list of the logical IDs of one or more modules that contain the resource. The modules are listed starting from the outermost module, separated by `/`.'."\n" + ."\n" + .'In the following example, the resource was created from moduleB, which is nested in the parent module moduleA.'."\n" + ."\n" + .'`moduleA/moduleB`', 'type' => 'string', 'example' => 'moduleA/moduleB'."\n", 'title' => ''], + 'TypeHierarchy' => ['description' => 'A concatenated list of the types of one or more modules that contain the resource. The module types are listed starting from the outermost module, separated by `/`.'."\n" + ."\n" + .'In the following example, the resource was created from a module of the `MODULE::ROS::Child::Example` type, which is nested in a parent module of the `MODULE::ROS::Parent::Example` type.'."\n" + ."\n" + .'`MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example`', 'type' => 'string', 'example' => 'MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8C5D90E1-66B6-496C-9371-3807F8DA80A8\\",\\n \\"TemplateId\\": \\"5ecd1e10-b0e9-4389-a565-e4c15efc****\\",\\n \\"TemplateVersion\\": \\"v2\\"\\n}","type":"json"}]', - 'title' => 'Update Template', - 'description' => 'When updating a template, please note: '."\n" - ."\n" - .'- If you specify `TemplateBody` or `TemplateURL`, the template version will be incremented by 1 after a successful update. For example, the version changes from v1 to v2.'."\n" - .'- If neither `TemplateBody` nor `TemplateURL` is specified, the template version remains unchanged.'."\n" - .'- A template can have up to 100 versions. If the version limit is reached, the template update will fail, and you need to recreate the template.', - 'requestParamsDescription' => 'For details on common request parameters, see [Common Parameters](~~131957~~).', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"Description\\": \\"no description\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"StatusReason\\": \\"state changed\\",\\n \\"PhysicalResourceId\\": \\"d04af923-e6b7-4272-aeaa-47ec9777****\\",\\n \\"CreateTime\\": \\"2019-08-01T06:01:23\\",\\n \\"Metadata\\": {\\n \\"key\\": \\"value\\"\\n },\\n \\"ResourceType\\": \\"ALIYUN::ROS::WaitConditionHandle\\",\\n \\"ResourceAttributes\\": [\\n [\\n {\\n \\"ResourceAttributeKey\\": \\"CurlCli\\",\\n \\"ResourceAttributeValue\\": \\"curl -i -X POST -H \'Content-Type: application/json\' -H \'Accept: application/json\' -H \'x-acs-region-id: cn-beijing\' http://192.168.XX.XX/waitcondition?stackname=test-describe-resource\\\\\\\\&stackid=efdf5c10-96a5-4fd7-ab89-68e7baa2****\\\\\\\\&resource=WaitConditionHandle\\\\\\\\&expire=156468****\\\\\\\\&signature=991d910a901a89db6580d74233119960c004****\\"\\n }\\n ]\\n ],\\n \\"LogicalResourceId\\": \\"WebServer\\",\\n \\"ResourceDriftStatus\\": \\"IN_SYNC\\",\\n \\"UpdateTime\\": \\"2019-08-01T06:01:29\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"StackName\\": \\"test-describe-resource\\",\\n \\"StackId\\": \\"efdf5c10-96a5-4fd7-ab89-68e7baa2****\\",\\n \\"ModuleInfo\\": {\\n \\"LogicalIdHierarchy\\": \\"moduleA/moduleB\\\\n\\",\\n \\"TypeHierarchy\\": \\"MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example\\"\\n }\\n}","type":"json"}]', + 'title' => 'Query a resource in a stack', + 'description' => 'This topic provides an example on how to query the details of a resource named `WebServer` in a stack whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` in the China (Hangzhou) region.', + 'requestParamsDescription' => ' For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + 'extraInfo' => '| HttpCode | Error code | Error message | Description |'."\n" .'| ------------- | ------------- | ------------- | ------------- |'."\n" - .'| 404 | TemplateNotFound |The Tempalte ({ ID }) could not be found. |模板不存在。 |'."\n" - .'| 400 | InvalidSchema |{reason}. |模板格式不正确。reason为具体原因。 |'."\n" - .'| 400 | InvalidTemplateAttribute |The Referenced Attribute ({resource} {name}) is incorrect. |模板包含不正确的资源属性(输出)引用。resource为资源名,name为属性名。 |'."\n" - .'| 400 | InvalidTemplatePropertyType |The specified value type of ({resource} {section}) is incorrect. |模板资源定义中的字段类型不正确。resource为资源名,section为字段名。 |'."\n" - .'| 400 | InvalidTemplateReference |The specified reference "{name}" (in {referencer}) is incorrect. |模板包含不正确的引用。name为引用名,referencer为引用者。 |'."\n" - .'| 400 | InvalidTemplateSection |The template section is invalid: {section}. |模板包含无效的字段。section为字段名。 |'."\n" - .'| 400 | InvalidTemplateVersion |The template version is invalid: {reason}. |模板版本不正确。reason为具体原因。 |'."\n" - .'| 400 | TemplateBeingProcessed |Template { ID } is being processed, retry later.|模板正在处理中,稍后再试。ID为模板ID。|'."\n" - ."\n", - 'translator' => 'machine', + .'| 404 | ResourceNotFound | The Resource ({name}) could not be found in Stack {stack}. | The specified resource does not exist in the stack. name indicates the resource name, and stack indicates the stack name or ID. |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. | The specified stack does not exist. name indicates the stack name or ID. |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackResource'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackResource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], + ], ], 'GetTemplate' => [ 'summary' => 'Queries the details of a template based on stacks, stack groups, change sets, or any custom template information.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7510,131 +7319,84 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12695', - 'abilityTreeNodes' => [ - 'FEATUREros85NBPH', - ], + 'abilityTreeNodes' => ['FEATUREros85NBPH'], ], 'parameters' => [ [ 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n" - ."\n" - .'> You must specify one of the following parameters: StackId, ChangeSetId, StackGroupName, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The ID of the stack.'."\n" + ."\n" + .'> You must specify one of the following parameters: StackId, ChangeSetId, StackGroupName, and TemplateId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack or stack group that uses the template. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack or stack group that uses the template. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ChangeSetId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change set.'."\n" - ."\n" - .'> You must specify one of the following parameters: StackId, ChangeSetId, StackGroupName, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', - ], + 'schema' => ['description' => 'The ID of the change set.'."\n" + ."\n" + .'> You must specify one of the following parameters: StackId, ChangeSetId, StackGroupName, and TemplateId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', 'title' => ''], ], [ 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the template.'."\n" - ."\n" - .'This parameter applies to shared and private templates. If the template is a shared template, the value of TemplateId is the same as the value of TemplateARN. You can use the template ID to query a shared template.'."\n" - ."\n" - .'> You must specify one of the following parameters: StackId, ChangeSetId, StackGroupName, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The ID of the template.'."\n" + ."\n" + .'This parameter applies to shared and private templates. If the template is a shared template, the value of TemplateId is the same as the value of TemplateARN. You can use the template ID to query a shared template.'."\n" + ."\n" + .'> You must specify one of the following parameters: StackId, ChangeSetId, StackGroupName, and TemplateId.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. This parameter takes effect only if you specify TemplateId.\\'."\n" - .'If the template is a shared template, you can specify this parameter only if VersionOption is set to AllVersions. For more information, see [SetTemplatePermission](~~194768~~).'."\n" - ."\n" - .'Valid values: v1 to v100.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The version of the template. This parameter takes effect only if you specify TemplateId.<br>'."\n" + .'If the template is a shared template, you can specify this parameter only if VersionOption is set to AllVersions. For more information, see [SetTemplatePermission](~~194768~~).'."\n" + ."\n" + .'Valid values: v1 to v100.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ 'name' => 'TemplateStage', 'in' => 'query', - 'schema' => [ - 'description' => 'The stage of the template. This parameter takes effect only if you specify StackId, ChangeSetId, or StackGroupName.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* Processed (default): returns the processed template.'."\n" - .'* Original: returns the original template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Processed', - ], + 'schema' => ['description' => 'The stage of the template. This parameter takes effect only if you specify StackId, ChangeSetId, or StackGroupName.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- Processed (default): returns the processed template.'."\n" + ."\n" + .'- Original: returns the original template.', 'type' => 'string', 'required' => false, 'example' => 'Processed', 'title' => ''], ], [ 'name' => 'IncludePermission', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to query the shared information about the template. Valid values:'."\n" - ."\n" - .'* Enabled'."\n" - .'* Disabled (default)'."\n" - ."\n" - .'> Only the template owner can query the shared information of a template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Enabled', - ], + 'schema' => ['description' => 'Specifies whether to query the shared information about the template. Valid values:'."\n" + ."\n" + .'- Enabled'."\n" + ."\n" + .'- Disabled (default)'."\n" + ."\n" + .'> Only the template owner can query the shared information of a template.', 'type' => 'string', 'required' => false, 'example' => 'Enabled', 'title' => ''], ], [ 'name' => 'StackGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group.'."\n" - ."\n" - .'> You must specify one of the following parameters: StackId, ChangeSetId, StackGroupName, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The name of the stack group.'."\n" + ."\n" + .'> You must specify one of the following parameters: StackId, ChangeSetId, StackGroupName, and TemplateId.', 'type' => 'string', 'required' => false, 'example' => 'MyStackGroup', 'title' => ''], ], [ 'name' => 'IncludeTags', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to query the information about tags. Valid values:'."\n" - ."\n" - .'* Enabled'."\n" - .'* Disabled (default)'."\n" - ."\n" - .'> This parameter takes effect only if you specify TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Enabled', - ], + 'schema' => ['description' => 'Specifies whether to query the information about tags. Valid values:'."\n" + ."\n" + .'- Enabled'."\n" + ."\n" + .'- Disabled (default)'."\n" + ."\n" + .'> This parameter takes effect only if you specify TemplateId.', 'type' => 'string', 'required' => false, 'example' => 'Enabled', 'title' => ''], ], ], 'responses' => [ @@ -7642,199 +7404,120 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TemplateARN' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the template. This parameter is returned only if you specify TemplateId.'."\n", - 'type' => 'string', - 'example' => 'acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****', - ], - 'Description' => [ - 'description' => 'The description of the template. This parameter is returned only if you specify TemplateId.'."\n", - 'type' => 'string', - 'example' => 'ROS template for create ECS instance.', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84****', - ], - 'CreateTime' => [ - 'description' => 'The time when the template was created. This parameter is returned only if you specify TemplateId.'."\n" - ."\n" - .'> - If you specify TemplateVersion, the creation time of the template whose version is specified by TemplateVersion is returned.'."\n" - .'> - If you do not specify TemplateVersion, the creation time of the template whose version is the default version is returned.', - 'type' => 'string', - 'example' => '2020-11-18T08:49:26', - ], - 'StackGroupName' => [ - 'description' => 'The name of the stack group. This parameter is returned only if you specify StackGroupName.'."\n", - 'type' => 'string', - 'example' => 'MyStackGroup', - ], - 'TemplateVersion' => [ - 'description' => 'The version of the template. This parameter is returned only if you specify TemplateId.\\'."\n" - .'If TemplateVersion is not specified or does not take effect, the default version is used.'."\n" - ."\n" - .'If the template is a shared template, this parameter is returned only if you set VersionOption to AllVersions.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'TemplateBody' => [ - 'description' => 'The content of the template.'."\n", - 'type' => 'string', - 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', - ], - 'ChangeSetId' => [ - 'description' => 'The ID of the change set. This parameter is returned only if you specify ChangeSetId.'."\n", - 'type' => 'string', - 'example' => 'e85abe0c-6528-43fb-ae93-fdf8de22****', - ], - 'OwnerId' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the template belongs. This parameter is returned only if you specify TemplateId.'."\n", - 'type' => 'string', - 'example' => '151266687691****', - ], - 'UpdateTime' => [ - 'description' => 'The time when the template was last updated. This parameter is returned only if you specify TemplateId.'."\n" - ."\n" - .'> - If you specify TemplateVersion, the last update time of the template whose version is specified by TemplateVersion is returned.'."\n" - .'> - If you do not specify TemplateVersion, the last update time of the template whose version is the default version is returned.', - 'type' => 'string', - 'example' => '2020-12-07T06:11:48', - ], + 'TemplateARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the template. This parameter is returned only if you specify TemplateId.', 'type' => 'string', 'example' => 'acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****', 'title' => ''], + 'Description' => ['description' => 'The description of the template. This parameter is returned only if you specify TemplateId.', 'type' => 'string', 'example' => 'ROS template for create ECS instance.', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the template was created. This parameter is returned only if you specify TemplateId.'."\n" + ."\n" + .'> - If you specify TemplateVersion, the creation time of the template whose version is specified by TemplateVersion is returned.'."\n" + .'>'."\n" + .'> - If you do not specify TemplateVersion, the creation time of the template whose version is the default version is returned.', 'type' => 'string', 'example' => '2020-11-18T08:49:26', 'title' => ''], + 'StackGroupName' => ['description' => 'The name of the stack group. This parameter is returned only if you specify StackGroupName.', 'type' => 'string', 'example' => 'MyStackGroup', 'title' => ''], + 'TemplateVersion' => ['description' => 'The version of the template. This parameter is returned only if you specify TemplateId.<br>'."\n" + .'If TemplateVersion is not specified or does not take effect, the default version is used.'."\n" + ."\n" + .'If the template is a shared template, this parameter is returned only if you set VersionOption to AllVersions.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'TemplateBody' => ['description' => 'The content of the template.', 'type' => 'string', 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', 'title' => ''], + 'ChangeSetId' => ['description' => 'The ID of the change set. This parameter is returned only if you specify ChangeSetId.', 'type' => 'string', 'example' => 'e85abe0c-6528-43fb-ae93-fdf8de22****', 'title' => ''], + 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the template belongs. This parameter is returned only if you specify TemplateId.', 'type' => 'string', 'example' => '151266687691****', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the template was last updated. This parameter is returned only if you specify TemplateId.'."\n" + ."\n" + .'> - If you specify TemplateVersion, the last update time of the template whose version is specified by TemplateVersion is returned.'."\n" + .'>'."\n" + .'> - If you do not specify TemplateVersion, the last update time of the template whose version is the default version is returned.', 'type' => 'string', 'example' => '2020-12-07T06:11:48', 'title' => ''], 'Permissions' => [ 'description' => 'Details of the sharing status of the template. This parameter is returned only if you specify TemplateId and set IncludePermission to Enabled.'."\n" ."\n" .'> - If TemplateVersion is not specified or does not take effect, the details of the sharing status of the template whose version is the default version is returned.'."\n" + .'>'."\n" .'> - If TemplateVersion is specified and takes effect, the details of the sharing status of the template whose version is specified by TemplateVersion is returned.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'VersionOption' => [ - 'description' => 'The version option for the shared template. This parameter is returned only if you set ShareOption to ShareToAccounts.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* AllVersions: All template versions are shared.'."\n" - .'* Latest: Only the latest template version is shared. When the version of the template is updated, Resource Orchestration Service (ROS) updates the shared version to the latest version.'."\n" - .'* Current: Only the latest template version is shared. When the version of the template is updated, ROS does not update the shared version.'."\n" - .'* Specified: Only the specified template version is shared.'."\n", - 'type' => 'string', - 'example' => 'AllVersions', - ], - 'AccountId' => [ - 'description' => 'The ID of the Alibaba Cloud account with which the template is shared.'."\n", - 'type' => 'string', - 'example' => '142437958638****', - ], - 'ShareOption' => [ - 'description' => 'The sharing option.'."\n" - ."\n" - .'The value ShareToAccounts indicates that the template is shared with one or more Alibaba Cloud accounts.'."\n", - 'type' => 'string', - 'example' => 'ShareToAccounts', - ], - 'TemplateVersion' => [ - 'description' => 'The version of the shared template. This parameter is returned only if you set ShareOption to ShareToAccounts and set VersionOption to Specified or Current.'."\n" - ."\n" - .'Valid values: v1 to v100.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'ShareSource' => [ - 'description' => 'The service that is used for resource sharing. Valid values:'."\n" - ."\n" - .'- ROS: Resources are shared from ROS by using the ROS console or calling the ROS API.'."\n" - .'- ResourceDirectory: Resources are shared with accounts in a resource directory from Resource Management by using the resource sharing feature.'."\n" - .'> - The number of accounts with which resources are shared from ROS is independent of the number of accounts with which resources are shared from the resource directory.'."\n" - .'> - The shared resources from ROS cannot override or overwrite the shared resources from the resource directory.'."\n" - .'> - The shared resources from the resource directory can overwrite the shared resources from ROS.', - 'type' => 'string', - 'example' => 'ROS', - ], + 'VersionOption' => ['description' => 'The version option for the shared template. This parameter is returned only if you set ShareOption to ShareToAccounts.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- AllVersions: All template versions are shared.'."\n" + ."\n" + .'- Latest: Only the latest template version is shared. When the version of the template is updated, Resource Orchestration Service (ROS) updates the shared version to the latest version.'."\n" + ."\n" + .'- Current: Only the latest template version is shared. When the version of the template is updated, ROS does not update the shared version.'."\n" + ."\n" + .'- Specified: Only the specified template version is shared.', 'type' => 'string', 'example' => 'AllVersions', 'title' => ''], + 'AccountId' => ['description' => 'The ID of the Alibaba Cloud account with which the template is shared.', 'type' => 'string', 'example' => '142437958638****', 'title' => ''], + 'ShareOption' => ['description' => 'The sharing option.'."\n" + ."\n" + .'The value ShareToAccounts indicates that the template is shared with one or more Alibaba Cloud accounts.', 'type' => 'string', 'example' => 'ShareToAccounts', 'title' => ''], + 'TemplateVersion' => ['description' => 'The version of the shared template. This parameter is returned only if you set ShareOption to ShareToAccounts and set VersionOption to Specified or Current.'."\n" + ."\n" + .'Valid values: v1 to v100.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'ShareSource' => ['description' => 'The service that is used for resource sharing. Valid values:'."\n" + ."\n" + .'- ROS: Resources are shared from ROS by using the ROS console or calling the ROS API.'."\n" + ."\n" + .'- ResourceDirectory: Resources are shared with accounts in a resource directory from Resource Management by using the resource sharing feature.'."\n" + ."\n" + .'> * The number of accounts with which resources are shared from ROS is independent of the number of accounts with which resources are shared from the resource directory.'."\n" + .'>'."\n" + .'> * The shared resources from ROS cannot override or overwrite the shared resources from the resource directory.'."\n" + .'>'."\n" + .'> * The shared resources from the resource directory can overwrite the shared resources from ROS.', 'type' => 'string', 'example' => 'ROS', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'TemplateName' => [ - 'description' => 'The name of the template. This parameter is returned only if you specify TemplateId.'."\n" - ."\n" - .'> - If you specify TemplateVersion, the name of the template whose version is specified by TemplateVersion is returned.'."\n" - .'> - If you not specify TemplateVersion, the name of the template whose version is the default version is returned.', - 'type' => 'string', - 'example' => 'MyTemplate', - ], - 'RegionId' => [ - 'description' => 'The region ID of the stack or stack group that uses the template. This parameter is returned only if you specify StackId, ChangeSetId, or StackGroupName.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'TemplateId' => [ - 'description' => 'The ID of the template. This parameter is returned only if you specify TemplateId.'."\n" - ."\n" - .'If the template is a shared template, the value of this parameter is the same as the value of TemplateARN.'."\n", - 'type' => 'string', - 'example' => 'a52f81be-496f-4e1c-a286-8852ab54****', - ], - 'StackId' => [ - 'description' => 'The ID of the stack. This parameter is returned only if you specify StackId.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691**** ', - ], - 'ShareType' => [ - 'description' => 'The sharing type of the template. This parameter is returned only if you specify TemplateId.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* Private: The template belongs to the template owner.'."\n" - .'* Shared: The template is shared by other users.'."\n", - 'type' => 'string', - 'example' => 'Private', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmxazb4ph6aiy****', - ], - 'Interface' => [ - 'description' => 'The description of the web UI in the ROS console.'."\n", - 'type' => 'string', - 'example' => '{}', - ], + 'TemplateName' => ['description' => 'The name of the template. This parameter is returned only if you specify TemplateId.'."\n" + ."\n" + .'> - If you specify TemplateVersion, the name of the template whose version is specified by TemplateVersion is returned.'."\n" + .'>'."\n" + .'> - If you not specify TemplateVersion, the name of the template whose version is the default version is returned.', 'type' => 'string', 'example' => 'MyTemplate', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the stack or stack group that uses the template. This parameter is returned only if you specify StackId, ChangeSetId, or StackGroupName.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'TemplateId' => ['description' => 'The ID of the template. This parameter is returned only if you specify TemplateId.'."\n" + ."\n" + .'If the template is a shared template, the value of this parameter is the same as the value of TemplateARN.', 'type' => 'string', 'example' => 'a52f81be-496f-4e1c-a286-8852ab54****', 'title' => ''], + 'StackId' => ['description' => 'The ID of the stack. This parameter is returned only if you specify StackId.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691**** ', 'title' => ''], + 'ShareType' => ['description' => 'The sharing type of the template. This parameter is returned only if you specify TemplateId.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- Private: The template belongs to the template owner.'."\n" + ."\n" + .'- Shared: The template is shared by other users.', 'type' => 'string', 'example' => 'Private', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], + 'Interface' => ['description' => 'The description of the web UI in the ROS console.', 'type' => 'string', 'example' => '{}', 'title' => ''], 'Tags' => [ - 'description' => 'The tags of the template.'."\n", + 'description' => 'The tags of the template.', 'type' => 'array', 'items' => [ - 'description' => 'The tag of the template.'."\n", + 'description' => 'The tag of the template.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the template.'."\n", - 'type' => 'string', - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The tag value of the template.'."\n", - 'type' => 'string', - 'example' => 'test', - ], + 'Key' => ['description' => 'The tag key of the template.', 'type' => 'string', 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the template.', 'type' => 'string', 'example' => 'test', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'AdditionalInfo' => [ - 'description' => 'Supplementary information for the public template.', - 'type' => 'object', - 'example' => '{"DeploymentDuration":null,"Title":"Self-Built_ElasticSearch_Snapshot_Saved_To_OSS","Labels":{"ResourceTypes":["ALIYUN::ECS::Instance","ALIYUN::ECS::SecurityGroup","ALIYUN::ECS::VPC","ALIYUN::ECS::VSwitch","ALIYUN::OSS::Bucket","ALIYUN::ROS::WaitCondition","ALIYUN::ROS::WaitConditionHandle"],"DeployTypes":["ROS"],"ApplicationScenes":["其他"]},"Provider":"ROS","Categories":["Solution"]}', - ], + 'AdditionalInfo' => ['description' => 'Supplementary information for the public template.', 'type' => 'object', 'example' => '{"DeploymentDuration":null,"Title":"Self-Built_ElasticSearch_Snapshot_Saved_To_OSS","Labels":{"ResourceTypes":["ALIYUN::ECS::Instance","ALIYUN::ECS::SecurityGroup","ALIYUN::ECS::VPC","ALIYUN::ECS::VSwitch","ALIYUN::OSS::Bucket","ALIYUN::ROS::WaitCondition","ALIYUN::ROS::WaitConditionHandle"],"DeployTypes":["ROS"],"ApplicationScenes":["other"]},"Provider":"ROS","Categories":["Solution"]}', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TemplateARN\\": \\"acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****\\",\\n \\"Description\\": \\"ROS template for create ECS instance.\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84****\\",\\n \\"CreateTime\\": \\"2020-11-18T08:49:26\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"TemplateVersion\\": \\"v1\\",\\n \\"TemplateBody\\": \\"{\\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"}\\",\\n \\"ChangeSetId\\": \\"e85abe0c-6528-43fb-ae93-fdf8de22****\\",\\n \\"OwnerId\\": \\"151266687691****\\",\\n \\"UpdateTime\\": \\"2020-12-07T06:11:48\\",\\n \\"Permissions\\": [\\n {\\n \\"VersionOption\\": \\"AllVersions\\",\\n \\"AccountId\\": \\"142437958638****\\",\\n \\"ShareOption\\": \\"ShareToAccounts\\",\\n \\"TemplateVersion\\": \\"v1\\",\\n \\"ShareSource\\": \\"ROS\\"\\n }\\n ],\\n \\"TemplateName\\": \\"MyTemplate\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"TemplateId\\": \\"a52f81be-496f-4e1c-a286-8852ab54****\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\\\t\\",\\n \\"ShareType\\": \\"Private\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Interface\\": \\"{}\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"AdditionalInfo\\": {\\n \\"DeploymentDuration\\": null,\\n \\"Title\\": \\"Self-Built_ElasticSearch_Snapshot_Saved_To_OSS\\",\\n \\"Labels\\": {\\n \\"ResourceTypes\\": [\\n \\"ALIYUN::ECS::Instance\\",\\n \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"ALIYUN::ECS::VPC\\",\\n \\"ALIYUN::ECS::VSwitch\\",\\n \\"ALIYUN::OSS::Bucket\\",\\n \\"ALIYUN::ROS::WaitCondition\\",\\n \\"ALIYUN::ROS::WaitConditionHandle\\"\\n ],\\n \\"DeployTypes\\": [\\n \\"ROS\\"\\n ],\\n \\"ApplicationScenes\\": [\\n \\"其他\\"\\n ]\\n },\\n \\"Provider\\": \\"ROS\\",\\n \\"Categories\\": [\\n \\"Solution\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetTemplateResponse>\\n <TemplateARN>acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****</TemplateARN>\\n <Description>ROS template for create ECS instance.</Description>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84****</RequestId>\\n <CreateTime>2020-11-18T08:49:26</CreateTime>\\n <StackGroupName>MyStackGroup</StackGroupName>\\n <TemplateVersion>v1</TemplateVersion>\\n <TemplateBody>{\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\"}</TemplateBody>\\n <ChangeSetId>e85abe0c-6528-43fb-ae93-fdf8de22****</ChangeSetId>\\n <OwnerId>151266687691****</OwnerId>\\n <UpdateTime>2020-12-07T06:11:48</UpdateTime>\\n <Permissions>\\n <VersionOption>AllVersions</VersionOption>\\n <AccountId>142437958638****</AccountId>\\n <ShareOption>ShareToAccounts</ShareOption>\\n <TemplateVersion>v1</TemplateVersion>\\n <ShareSource>ROS</ShareSource>\\n </Permissions>\\n <TemplateName>MyTemplate</TemplateName>\\n <RegionId>cn-hangzhou</RegionId>\\n <TemplateId>a52f81be-496f-4e1c-a286-8852ab54****</TemplateId>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n <ShareType>Private</ShareType>\\n <ResourceGroupId>rg-acfmxazb4ph6aiy****</ResourceGroupId>\\n <Interface>{}</Interface>\\n <Tags>\\n <Key>usage</Key>\\n <Value>test</Value>\\n </Tags>\\n</GetTemplateResponse>","errorExample":""}]', 'title' => 'GetTemplate', - 'description' => 'In this example, the details of a template whose ID is `5ecd1e10-b0e9-4389-a565-e4c15efc****` is queried. The region ID of the template is `cn-hangzhou`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'description' => 'In this example, the details of a template whose ID is `5ecd1e10-b0e9-4389-a565-e4c15efc****` is queried. The region ID of the template is `cn-hangzhou`.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', 'extraInfo' => "\n" .'| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" @@ -7845,18 +7528,33 @@ .'| 404 | TemplateNotFound |The Template { ID } could not be found. |模板不存在。ID为模板ID。 |'."\n" .'| 404 | TemplateNotFound |The Template { ID } with version { version } could not be found. |模板或指定版本不存在。ID为模板ID,version为模板版本。 |'."\n" .'| 404 | StackGroupNotFound |The StackGroup ({name}) could not be found.|资源栈组不存在。name为资源栈组名称。|', - 'translator' => 'machine', - ], - 'ListTemplates' => [ - 'summary' => 'List Templates', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTemplate'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'template', 'arn' => 'acs:ros:*:{#accountId}:template/{#templateId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TemplateARN\\": \\"acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****\\",\\n \\"Description\\": \\"ROS template for create ECS instance.\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84****\\",\\n \\"CreateTime\\": \\"2020-11-18T08:49:26\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"TemplateVersion\\": \\"v1\\",\\n \\"TemplateBody\\": \\"{\\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"}\\",\\n \\"ChangeSetId\\": \\"e85abe0c-6528-43fb-ae93-fdf8de22****\\",\\n \\"OwnerId\\": \\"151266687691****\\",\\n \\"UpdateTime\\": \\"2020-12-07T06:11:48\\",\\n \\"Permissions\\": [\\n {\\n \\"VersionOption\\": \\"AllVersions\\",\\n \\"AccountId\\": \\"142437958638****\\",\\n \\"ShareOption\\": \\"ShareToAccounts\\",\\n \\"TemplateVersion\\": \\"v1\\",\\n \\"ShareSource\\": \\"ROS\\"\\n }\\n ],\\n \\"TemplateName\\": \\"MyTemplate\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"TemplateId\\": \\"a52f81be-496f-4e1c-a286-8852ab54****\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\\\t\\",\\n \\"ShareType\\": \\"Private\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Interface\\": \\"{}\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"AdditionalInfo\\": {\\n \\"DeploymentDuration\\": null,\\n \\"Title\\": \\"Self-Built_ElasticSearch_Snapshot_Saved_To_OSS\\",\\n \\"Labels\\": {\\n \\"ResourceTypes\\": [\\n \\"ALIYUN::ECS::Instance\\",\\n \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"ALIYUN::ECS::VPC\\",\\n \\"ALIYUN::ECS::VSwitch\\",\\n \\"ALIYUN::OSS::Bucket\\",\\n \\"ALIYUN::ROS::WaitCondition\\",\\n \\"ALIYUN::ROS::WaitConditionHandle\\"\\n ],\\n \\"DeployTypes\\": [\\n \\"ROS\\"\\n ],\\n \\"ApplicationScenes\\": [\\n \\"other\\"\\n ]\\n },\\n \\"Provider\\": \\"ROS\\",\\n \\"Categories\\": [\\n \\"Solution\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetTemplateEstimateCost' => [ + 'summary' => 'Queries the estimated prices of the resources in a template.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7864,380 +7562,121 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '12712', - 'abilityTreeNodes' => [ - 'FEATUREros85NBPH', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '12696', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], ], 'parameters' => [ [ - 'name' => 'PageNumber', + 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the template list. '."\n" - .'Start value: 1. '."\n" - .'Default value: 1.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests.'."\n" + ."\n" + .'The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .'For more information, see [Ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page in a paginated query. '."\n" - .'Value range: 1~50. '."\n" - .'Default value: 10.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the template. This parameter applies to shared and private templates.'."\n" + ."\n" + .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TemplateName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the template. This parameter is effective only when ShareType is Private. '."\n" - .'The length must not exceed 255 characters and must start with a digit or a letter. It can contain digits, letters, hyphens (-), and underscores (_).', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'MyTemplate', - ], + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" + ."\n" + .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ROSTemplateFormatVersion: \'2015-09-01\'\\nResources:\\n vpc:\\n Type: ALIYUN::ECS::VPC', 'title' => ''], ], [ - 'name' => 'ShareType', + 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The sharing type of the template. '."\n" - ."\n" - .'Values: '."\n" - .'- Private (default): The template is owned by the user. '."\n" - .'- Shared: The template is shared by other users. '."\n" - .'- Official: The template is officially shared.', - 'type' => 'string', - 'required' => false, - 'example' => 'Private', - ], + 'schema' => ['description' => 'The name of parameter N. If you do not specify the name and value of a parameter, ROS uses the default name and value that are specified in the template.'."\n" + ."\n" + .'Maximum value of N: 200.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Parameters.1.ParameterKey: `Name`'."\n" + ."\n" + .'- Parameters.2.ParameterKey: `Netmode`'."\n" + ."\n" + .'> The Parameters parameter is optional. If you want to specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'Tags. A maximum of 20 tags are supported.', - 'type' => 'array', - 'items' => [ - 'description' => 'Tag.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. This parameter is effective only when ShareType is Private. '."\n" - ."\n" - .'A maximum of 20 tag keys are supported.', - 'type' => 'string', - 'required' => false, - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The value of the tag. This parameter is effective only when ShareType is Private. '."\n" - ."\n" - .'A maximum of 20 tag values are supported.', - 'type' => 'string', - 'required' => false, - 'example' => 'deploy', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], - ], - [ - 'name' => 'ResourceGroupId', + 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group. '."\n" - .'For more information about resource groups, see [What is a Resource Group](~~94475~~).', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4ph6aiy****', - ], + 'schema' => ['description' => 'The value of parameter N.'."\n" + ."\n" + .'Maximum value of N: 200.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Parameters.1.ParameterValue: `DemoEip`'."\n" + ."\n" + .'- Parameters.2.ParameterValue: `public`'."\n" + ."\n" + .'> The Parameters parameter is optional. If you want to specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ - 'name' => 'IncludeTags', + 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to query tag information. Values: '."\n" - ."\n" - .'- Enabled: Query. '."\n" - .'- Disabled (default): Do not query. '."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Enabled', - ], + 'schema' => ['description' => 'The ID of the scenario.'."\n" + ."\n" + .'For more information about how to query the IDs of scenarios, see [ListTemplateScratches](~~363050~~).'."\n" + ."\n" + .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ - 'name' => 'Filters', + 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Filter.', + 'description' => 'The region ID of the scenario. The default value is the same as the value of the RegionId parameter.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'array', 'items' => [ - 'description' => 'Filter.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The name of the filter. You can choose one or more names for the query. Value range: '."\n" - ."\n" - .'- Categories: Template categories '."\n" - .'- DeployTypes: Deployment types '."\n" - .'- ApplicationScenes: Application scenarios '."\n" - .'- BasicServices: Basic services '."\n" - .'- ResourceTypes: Resource types '."\n" - .'- TemplateNames: Template names', - 'type' => 'string', - 'required' => false, - 'example' => 'Categories', - ], - 'Values' => [ - 'description' => 'The list of filter values.', - 'type' => 'array', - 'items' => [ - 'description' => 'The list of filter values. The value range of N is 1~10.', - 'type' => 'string', - 'required' => false, - 'example' => 'ROS', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'ParameterKey' => ['description' => 'The ID of the request.', 'type' => 'string', 'required' => true, 'example' => 'Name', 'title' => ''], + 'ParameterValue' => ['description' => 'Details of the resource.', 'type' => 'string', 'required' => true, 'example' => 'DemoEip', 'title' => ''], ], 'required' => false, + 'description' => 'The list of parameters.', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 10, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of templates.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page in a paginated query.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => 'C3A8413B-1F16-4DED-AC3E-61A00718DE8A', - ], - 'PageNumber' => [ - 'description' => 'The page number of the template list. '."\n" - .'Start value: 1.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Templates' => [ - 'description' => 'The list of templates.', - 'type' => 'array', - 'items' => [ - 'description' => 'The list of templates.', - 'type' => 'object', - 'properties' => [ - 'TemplateARN' => [ - 'description' => 'The ARN of the template.', - 'type' => 'string', - 'example' => 'acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****', - ], - 'UpdateTime' => [ - 'description' => 'The last update time of the template.', - 'type' => 'string', - 'example' => '2019-10-15T08:17:14.000000', - ], - 'Description' => [ - 'description' => 'Template description.', - 'type' => 'string', - 'example' => 'test-description', - ], - 'CreateTime' => [ - 'description' => 'Creation time.', - 'type' => 'string', - 'example' => '2019-10-15T08:17:14.000000', - ], - 'TemplateName' => [ - 'description' => 'Template name.', - 'type' => 'string', - 'example' => 'demo', - ], - 'TemplateVersion' => [ - 'description' => 'Latest template version name.', - 'type' => 'string', - 'example' => 'v1', - ], - 'TemplateId' => [ - 'description' => 'Template ID.', - 'type' => 'string', - 'example' => '4d4f5aa2-3260-4e47-863b-763fbb12****', - ], - 'OwnerId' => [ - 'description' => 'ID of the Alibaba Cloud account to which the template belongs.', - 'type' => 'string', - 'example' => '151266687691****', - ], - 'ShareType' => [ - 'description' => 'The sharing type of the template.'."\n" - ."\n" - .'Values:'."\n" - .'- Private: The template is owned by the user themselves.'."\n" - .'- Shared: The template is shared by other users.', - 'type' => 'string', - 'example' => 'Private', - ], - 'ResourceGroupId' => [ - 'description' => 'Resource group ID.', - 'type' => 'string', - 'example' => 'rg-acfmxazb4ph6aiy****', - ], - 'Tags' => [ - 'description' => 'Tags of the template.'."\n" - ."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Tags of the template.'."\n" - ."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'Tag key of the template.', - 'type' => 'string', - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'Tag value of the template.', - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - 'AdditionalInfo' => [ - 'description' => 'Supplementary information for public templates.', - 'type' => 'object', - 'example' => '{"DeploymentDuration":null,"Title":"Self-Built_ElasticSearch_Snapshot_Saved_To_OSS","Labels":{"ResourceTypes":["ALIYUN::ECS::Instance","ALIYUN::ECS::SecurityGroup","ALIYUN::ECS::VPC","ALIYUN::ECS::VSwitch","ALIYUN::OSS::Bucket","ALIYUN::ROS::WaitCondition","ALIYUN::ROS::WaitConditionHandle"],"DeployTypes":["ROS"],"ApplicationScenes":["其他"]},"Provider":"ROS","Categories":["Solution"]}', - ], - 'TemplateUrl' => [ - 'description' => 'Link to the template', - 'type' => 'string', - 'example' => 'https://ros-public-templates.oss-cn-hangzhou.aliyuncs.com/demo.yml', - ], - ], - ], - ], - ], + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"C3A8413B-1F16-4DED-AC3E-61A00718DE8A\\",\\n \\"PageNumber\\": 1,\\n \\"Templates\\": [\\n {\\n \\"TemplateARN\\": \\"acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****\\",\\n \\"UpdateTime\\": \\"2019-10-15T08:17:14.000000\\",\\n \\"Description\\": \\"test-description\\",\\n \\"CreateTime\\": \\"2019-10-15T08:17:14.000000\\",\\n \\"TemplateName\\": \\"demo\\",\\n \\"TemplateVersion\\": \\"v1\\",\\n \\"TemplateId\\": \\"4d4f5aa2-3260-4e47-863b-763fbb12****\\",\\n \\"OwnerId\\": \\"151266687691****\\",\\n \\"ShareType\\": \\"Private\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"AdditionalInfo\\": {\\n \\"DeploymentDuration\\": null,\\n \\"Title\\": \\"Self-Built_ElasticSearch_Snapshot_Saved_To_OSS\\",\\n \\"Labels\\": {\\n \\"ResourceTypes\\": [\\n \\"ALIYUN::ECS::Instance\\",\\n \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"ALIYUN::ECS::VPC\\",\\n \\"ALIYUN::ECS::VSwitch\\",\\n \\"ALIYUN::OSS::Bucket\\",\\n \\"ALIYUN::ROS::WaitCondition\\",\\n \\"ALIYUN::ROS::WaitConditionHandle\\"\\n ],\\n \\"DeployTypes\\": [\\n \\"ROS\\"\\n ],\\n \\"ApplicationScenes\\": [\\n \\"其他\\"\\n ]\\n },\\n \\"Provider\\": \\"ROS\\",\\n \\"Categories\\": [\\n \\"Solution\\"\\n ]\\n },\\n \\"TemplateUrl\\": \\"https://ros-public-templates.oss-cn-hangzhou.aliyuncs.com/demo.yml\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTemplatesResponse>\\n <TemplateARN>acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****</TemplateARN>\\n <Description>ROS template for create ECS instance.</Description>\\n <RequestId>C3A8413B-1F16-4DED-AC3E-61A00718DE8A</RequestId>\\n <CreateTime>2019-10-15T08:17:14.000000</CreateTime>\\n <StackGroupName>MyStackGroup</StackGroupName>\\n <TemplateVersion>v1</TemplateVersion>\\n <TemplateBody>{\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\"}</TemplateBody>\\n <ChangeSetId>e85abe0c-6528-43fb-ae93-fdf8de22****</ChangeSetId>\\n <OwnerId>151266687691****</OwnerId>\\n <UpdateTime>2019-10-15T08:17:14.000000</UpdateTime>\\n <Permissions>\\n <VersionOption>AllVersions</VersionOption>\\n <AccountId>142437958638****</AccountId>\\n <ShareOption>ShareToAccounts</ShareOption>\\n <TemplateVersion>v1</TemplateVersion>\\n <ShareSource>ROS</ShareSource>\\n </Permissions>\\n <TemplateName>MyTemplate</TemplateName>\\n <RegionId>cn-hangzhou</RegionId>\\n <TemplateId>4d4f5aa2-3260-4e47-863b-763fbb12****</TemplateId>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n <ShareType>Private</ShareType>\\n <ResourceGroupId>rg-acfmxazb4ph6aiy****</ResourceGroupId>\\n <Interface>{}</Interface>\\n <Tags>\\n <Key>usage</Key>\\n <Value>test</Value>\\n </Tags>\\n</ListTemplatesResponse>","errorExample":""}]', - 'title' => 'List Templates', - 'requestParamsDescription' => 'For details about common request parameters, see [Common Parameters](~~131957~~).', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - 'translator' => 'machine', - ], - 'ListTemplateVersions' => [ - 'summary' => 'Queries the list of versions of a template.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '12713', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], - ], - 'parameters' => [ - [ - 'name' => 'NextToken', + 'name' => 'TemplateScratchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0****', - ], + 'schema' => ['description' => 'The ID of the scenario.', 'type' => 'string', 'required' => false, 'example' => 'ts-aa9c62feab844a6b****', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'TemplateScratchRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of results to be returned in a single call when NextToken is used for the query.'."\n" - ."\n" - .'Valid values: 1 to 100.'."\n" - ."\n" - .'Default value: 50.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'maximum' => '10000', - 'minimum' => '1', - 'example' => '50', - ], + 'schema' => ['description' => 'The region ID of the scenario. The default value is the same as the value of the RegionId parameter.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TemplateId', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The template ID. This parameter applies to shared and private templates.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The stack ID.'."\n" + ."\n" + .'This parameter is used to query the estimated price in a configuration change scenario.'."\n" + ."\n" + .'Assume that the specified stack contains only one Elastic Compute Service (ECS) instance and the instance type is ecs.s6-c1m2.large. You downgrade the instance type to ecs.s6-c1m1.small and specify a new ApsaraDB RDS instance in the template that is used for the price inquiry. The queried result is the sum of the downgrade refund of the ECS instance and the price of the new ApsaraDB RDS instance.', 'type' => 'string', 'required' => false, 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', 'title' => ''], ], ], 'responses' => [ @@ -8245,80 +7684,169 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Versions' => [ - 'description' => 'The versions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the version was last updated.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'Description' => [ - 'description' => 'The description of the version.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'CreateTime' => [ - 'description' => 'The time when the version was created.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'TemplateName' => [ - 'description' => 'The template name that corresponds to the specified version.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'TemplateId' => [ - 'description' => 'The template ID. This parameter applies to shared and private templates. For a shared template, the template ID is the same as the Alibaba Cloud Resource Name (ARN) of the template.'."\n", - 'type' => 'string', - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], - 'TemplateVersion' => [ - 'description' => 'The version number.'."\n" - ."\n" - .'For a shared template, this parameter is returned only if VersionOption is set to AllVersions.'."\n" - ."\n" - .'Valid values: v1 to v100.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - ], - 'description' => '', - ], - ], - 'NextToken' => [ - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89', 'title' => ''], + 'Resources' => ['description' => 'The resource details.', 'type' => 'object', 'example' => '{'."\n" + .' "NewEip": {'."\n" + .' "Type": "ALIYUN::VPC::EIP",'."\n" + .' "Success": true,'."\n" + .' "Result": {'."\n" + .' "Order": {'."\n" + .' "TaxAmount": 0.0,'."\n" + .' "Currency": "CNY",'."\n" + .' "RuleIds": ['."\n" + .' "102204102264****"'."\n" + .' ],'."\n" + .' "TradeAmount": 87.5,'."\n" + .' "OriginalAmount": 125.0,'."\n" + .' "DiscountAmount": 37.5'."\n" + .' },'."\n" + .' "OrderSupplement": {'."\n" + .' "ChargeType": "PrePaid",'."\n" + .' "Period": 1,'."\n" + .' "Quantity": 1,'."\n" + .' "PriceType": "Total",'."\n" + .' "PeriodUnit": "Month"'."\n" + .' },'."\n" + .' "InquiryType": "Buy",'."\n" + .' "Rules": {'."\n" + .' "Rule": ['."\n" + .' {'."\n" + .' "RuleDescId": "102204102264****",'."\n" + .' "Name": "Contract_Discount_Full_Order_30%_Off"'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' }'."\n" + .' }'."\n" + .'}', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Versions\\": [\\n {\\n \\"UpdateTime\\": \\"2020-02-27T07:47:47\\",\\n \\"Description\\": \\"test\\",\\n \\"CreateTime\\": \\"2020-02-27T07:47:47\\",\\n \\"TemplateName\\": \\"test\\",\\n \\"TemplateId\\": \\"5ecd1e10-b0e9-4389-a565-e4c15efc****\\",\\n \\"TemplateVersion\\": \\"v1\\"\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0****\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"<ListTemplateVersionsResponse>\\n <Versions>\\n <Description>test</Description>\\n <CreateTime>2020-02-27T07:47:47</CreateTime>\\n <UpdateTime>2020-02-27T07:47:47</UpdateTime>\\n <TemplateVersion>v1</TemplateVersion>\\n <TemplateName>test</TemplateName>\\n <TemplateId>5ecd1e10-b0e9-4389-a565-e4c15efc****</TemplateId>\\n </Versions>\\n <NextToken>caeba0bbb2be03f84eb48b699f0****</NextToken>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n</ListTemplateVersionsResponse>","errorExample":""}]', - 'title' => 'ListTemplateVersions', - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', + 'title' => 'GetTemplateEstimateCost', + 'description' => '###'."\n" + ."\n" + .'- For more information about the resources that support price inquiry in Resource Orchestration Service (ROS) templates, see the "**Resource types that support price inquiry**" section of the [Estimate resource prices](~~203165~~) topic.'."\n" + ."\n" + .'- For more information about the resources that support price inquiry in Terraform templates, see the "**ROS resources supported by Terraform**" section of the [ROS features and resources supported by Terraform](~~184389~~) topic.'."\n" + ."\n" + .'The following sample code provides an example on how to query the estimated price of an elastic IP address (EIP) that you want to create based on a template. In this example, the following template is used:'."\n" + ."\n" + .'```'."\n" + .'{'."\n" + .' "ROSTemplateFormatVersion": "2015-09-01",'."\n" + .' "Parameters": {'."\n" + .' "Isp": {'."\n" + .' "Type": "String",'."\n" + .' "Default": "BGP"'."\n" + .' },'."\n" + .' "Name": {'."\n" + .' "Type": "String",'."\n" + .' "Default": "test"'."\n" + .' },'."\n" + .' "Netmode": {'."\n" + .' "Type": "String",'."\n" + .' "Default": "public"'."\n" + .' },'."\n" + .' "Bandwidth": {'."\n" + .' "Type": "Number",'."\n" + .' "Default": 5'."\n" + .' }'."\n" + .' },'."\n" + .' "Resources": {'."\n" + .' "NewEip": {'."\n" + .' "Type": "ALIYUN::VPC::EIP",'."\n" + .' "Properties": {'."\n" + .' "InstanceChargeType": "Prepaid",'."\n" + .' "PricingCycle": "Month",'."\n" + .' "Isp": {'."\n" + .' "Ref": "Isp"'."\n" + .' },'."\n" + .' "Period": 1,'."\n" + .' "DeletionProtection": false,'."\n" + .' "AutoPay": false,'."\n" + .' "Name": {'."\n" + .' "Ref": "Name"'."\n" + .' },'."\n" + .' "InternetChargeType": "PayByTraffic",'."\n" + .' "Netmode": {'."\n" + .' "Ref": "Netmode"'."\n" + .' },'."\n" + .' "Bandwidth": {'."\n" + .' "Ref": "Bandwidth"'."\n" + .' }'."\n" + .' }'."\n" + .' }'."\n" + .' }'."\n" + .'}'."\n" + .'```', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => 'The following table describes the parameters that are contained in Resources.'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| ----------------- | ------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| Order | | | The information about the order. |'."\n" + .'| \\- Currency | String | CNY | The currency unit. Valid values:CNY: This value is available only on the China site (aliyun.com).USD: This value is available only on the international site (alibabacloud.com) |'."\n" + .'| \\- OriginalAmount | Long | 125 | The original price. |'."\n" + .'| \\- DiscountAmount | Long | 15.63 | The discount amount. |'."\n" + .'| \\- TradeAmount | Long | 109.37 | The transaction price, which is equal to the original price minus the discount. |'."\n" + .'| \\- TaxAmount | Long | 0 | The available tax amount. |'."\n" + .'| \\- Coupons | Array | {"Coupon": []} | The available promotions. |'."\n" + .'| \\- RuleIds | Array | \\[102204102264****] | The IDs of the promotion rules. |'."\n" + .'| InquiryType | String | Buy | The price inquiry type. Valid values:Buy: price inquiry for new resourcesModificationBuy: price inquiry for resource configuration changes |'."\n" + .'| Rules | | | The promotion rules. |'."\n" + .'| \\- Rule | | | The promotion rule. |'."\n" + .'| \\- - Name | String | Contract discount_order discount_8.750 discount | The name of the promotion rule. |'."\n" + .'| \\- - RuleDescId | Long | 102204102264**** | The ID of the promotion rule. |'."\n" + .'| OrderSupplement | | | The supplementary information about the order. |'."\n" + .'| \\- AutoRenew | Boolean | false | Specifies whether to enable auto-renewal. Valid values:truefalse |'."\n" + .'| \\- ChargeType | String | PrePaid | The billing method. |'."\n" + .'| \\- Period | Long | 1 | The subscription duration. |'."\n" + .'| \\- PeriodUnit | String | Month | The unit of the subscription duration. Valid values:YearMonth |'."\n" + .'| \\- PriceType | String | Total | The price type. |'."\n" + .'| \\- Quantity | Long | 1 | The quantity. |', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 |CircularDependency |Circular Dependency Found: {reason}. |模板包含循环引用。reason为具体原因。 |'."\n" + .'| 400 |InvalidSchema |{reason}. |模板格式不正确。reason为具体原因。 |'."\n" + .'| 400 |InvalidTemplateAttribute |The Referenced Attribute ({resource} {name}) is incorrect. |模板包含不正确的资源属性(输出)引用。resource为资源名,name为属性名。 |'."\n" + .'| 400 |InvalidTemplatePropertyType |The specified value type of ({resource} {section}) is incorrect. |模板资源定义中的字段类型不正确。resource为资源名,section为字段名。 |'."\n" + .'| 400 |InvalidTemplateReference |The specified reference "{name}" (in {referencer}) is incorrect. |模板包含不正确的引用。name为引用名,referencer为引用者。 |'."\n" + .'| 400 |InvalidTemplateSection |The template section is invalid: {section}. |模板包含无效的字段。section为字段名。 |'."\n" + .'| 400 |InvalidTemplateVersion |The template version is invalid: {reason}. |模板版本不正确。reason为具体原因。 |'."\n" + .'| 400 |StackValidationFailed |{reason}. |资源栈校验失败。reason为具体原因。 |'."\n" + .'| 400 |UnknownUserParameter |The Parameter ({name}) was not defined in template. |传递的参数在模板中未定义。name为参数名。 |'."\n" + .'| 400 |UserParameterMissing |The Parameter {name} was not provided. |参数在模板中已定义,但未传递值。name为参数名。 |'."\n" + .'| 404 |TemplateNotFound |The Template ({ ID }) could not be found. |模板不存在。ID为模板ID。 |'."\n" + .'| 404 |TemplateNotFound |The Template { ID } with version { version } could not be found. |模板或指定版本不存在。ID为模板ID,version为模板版本。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTemplateEstimateCost'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplateEstimateCost', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89\\",\\n \\"Resources\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]', ], 'GetTemplateParameterConstraints' => [ - 'summary' => 'Queries the values of one or more parameters in a template.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8331,108 +7859,91 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '96176', - 'abilityTreeNodes' => [ - 'FEATUREros4Z9426', - ], + 'abilityTreeNodes' => ['FEATUREros4Z9426'], ], 'parameters' => [ [ 'name' => 'TemplateBody', 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure that contains the template body.'."\n" - ."\n" - .'The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}}', - ], + 'schema' => ['description' => 'The structure of the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommended to use the HTTP POST + Body Param method to pass the parameter in the request body to avoid request failures caused by an excessively long URL.'."\n" + ."\n" + .'> You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{'."\n" + .' "ROSTemplateFormatVersion": "2015-09-01",'."\n" + .' "Parameters": {'."\n" + .' "ZoneInfo": {'."\n" + .' "Type": "String"'."\n" + .' },'."\n" + .' "InstanceType": {'."\n" + .' "Type": "String"'."\n" + .' }'."\n" + .' },'."\n" + .' "Resources": {'."\n" + .' "ECS": {'."\n" + .' "Type": "ALIYUN::ECS::Instance",'."\n" + .' "Properties": {'."\n" + .' "ZoneId": {'."\n" + .' "Ref": "ZoneInfo"'."\n" + .' },'."\n" + .' "InstanceType": {'."\n" + .' "Ref": "InstanceType"'."\n" + .' }'."\n" + .' }'."\n" + .' }'."\n" + .' }'."\n" + .'}', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the template.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/stack-policy/demo or oss://ros/stack-policy/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length. If you do not specify the region ID of the OSS bucket, the value of the RegionId parameter is used.'."\n" - ."\n" - .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-template/demo', - ], + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Alibaba Cloud OSS bucket, such as oss\\://ros/template/demo or oss\\://ros/template/demo?RegionId=cn-hangzhou. The template must be 1 to 524,288 bytes in length. If the OSS region is not specified, the default is the same as the RegionId parameter.'."\n" + ."\n" + .'> You can specify only one of the TemplateBody, TemplateURL, and TemplateId parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], ], [ 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the template. This parameter applies to shared and private templates.'."\n" - ."\n" - .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The ID of the template. This parameter applies to shared templates and private templates.'."\n" + ."\n" + .'> You can specify only one of the TemplateBody, TemplateURL, and TemplateId parameters.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. If you do not specify this parameter, the latest version is used.'."\n" - ."\n" - .'> This parameter takes effect only if the TemplateId parameter is specified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The version of the template. If you do not specify this parameter, the latest version is used.'."\n" + ."\n" + .'> TemplateVersion is valid only when TemplateId is specified.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of parameter N in the template.', + 'description' => 'The parameters that are defined in the template.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of parameter N in the template.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify the Parameters parameter, you must specify the Parameters.N.ParameterKey parameter.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ZoneInfo', - ], - 'ParameterValue' => [ - 'description' => 'The value of parameter N in the template.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify the Parameters parameter, you must specify the Parameters.N.ParameterValue parameter.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou-h', - ], + 'ParameterKey' => ['description' => 'The name of the parameter that is defined in the template.'."\n" + ."\n" + .'> The Parameters parameter is optional. If you specify Parameters, you must specify ParameterKey.', 'type' => 'string', 'required' => true, 'example' => 'ZoneInfo', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter that is defined in the template.'."\n" + ."\n" + .'> The Parameters parameter is optional. If you specify Parameters, you must specify ParameterValue.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou-h', 'title' => ''], ], 'required' => false, 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ @@ -8440,65 +7951,45 @@ 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The parameters whose values you want to query.'."\n", + 'description' => 'The list of parameters to be queried.', 'type' => 'array', - 'items' => [ - 'description' => 'The parameters whose values you want to query.', - 'type' => 'string', - 'required' => false, - 'example' => 'ZoneInfo', - ], + 'items' => ['description' => 'The parameter to be queried.', 'type' => 'string', 'required' => false, 'example' => 'ZoneInfo', 'title' => ''], 'required' => false, 'docRequired' => false, 'maxItems' => 200, 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the value, but you must make sure that the value is unique among different requests. The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_). For more information, refer to [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'ParametersOrder', 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => 'The order in which associated parameters are arranged.'."\n" - ."\n" - .'> By default, the order of the associated parameters specified in the `Metadata` section of the template is used.', + 'description' => 'The dependency of the parameters.', 'type' => 'array', - 'items' => [ - 'description' => 'The order in which associated parameters are arranged.'."\n" - ."\n" - .'> By default, the order of the associated parameters specified in the `Metadata` section of the template is used.', - 'type' => 'string', - 'required' => false, - 'example' => '["ZoneId", "InstanceType"]', - ], + 'items' => ['description' => 'The order of the parameter dependency.'."\n" + ."\n" + .'> By default, the dependency of the parameters is specified by the `Metadata` parameter in the template.', 'type' => 'string', 'required' => false, 'example' => '["ZoneId", "InstanceType"]', 'title' => ''], 'required' => false, 'maxItems' => 100, 'minItems' => 0, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', - ], + 'schema' => ['description' => 'The ID of the stack.'."\n" + ."\n" + .'If you specify this parameter, the parameter constraints for an upgrade or downgrade scenario are queried.', 'type' => 'string', 'required' => false, 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', 'title' => ''], ], ], 'responses' => [ @@ -8506,367 +7997,194 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9816785B-BCF8-514D-8B76-C1EC2BC954FC', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9816785B-BCF8-514D-8B76-C1EC2BC954FC', 'title' => ''], 'ParameterConstraints' => [ - 'description' => 'The constraints of the parameters.'."\n", + 'description' => 'The information about the parameter constraints.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'ZoneInfo', - ], - 'Type' => [ - 'description' => 'The data type of the parameter.'."\n", - 'type' => 'string', - 'example' => 'String', - ], + 'ParameterKey' => ['description' => 'The name of the parameter.', 'type' => 'string', 'example' => 'ZoneInfo', 'title' => ''], + 'Type' => ['description' => 'The type of the parameter.', 'type' => 'string', 'example' => 'String', 'title' => ''], 'AllowedValues' => [ - 'description' => 'The values of the parameter.'."\n", + 'description' => 'The list of valid values of the parameter.', 'type' => 'array', - 'items' => [ - 'description' => 'The value of the parameter.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-h', - ], - ], - 'Behavior' => [ - 'description' => 'The behavior of the parameter. Valid values:'."\n" - ."\n" - .'* NoLimit: No limit is imposed on the value of this parameter.'."\n" - .'* NotSupport: The value of this parameter cannot be queried.'."\n" - .'* QueryError: This parameter failed to be queried.'."\n" - ."\n" - .'> If AllowedValues is not returned, Behavior and BehaviorReason are returned.'."\n", - 'type' => 'string', - 'example' => 'NoLimit', - ], - 'BehaviorReason' => [ - 'description' => 'The reason why the behavior of the parameter is returned.'."\n", - 'type' => 'string', - 'example' => 'No resource property refer to the parameter', + 'items' => ['description' => 'The valid value of the parameter.', 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'Behavior' => ['description' => 'The behavior of the parameter. Valid values:'."\n" + ."\n" + .'- NoLimit: The parameter has no limit on its valid values.'."\n" + ."\n" + .'- NotSupport: The valid values of the parameter cannot be queried.'."\n" + ."\n" + .'- QueryError: The query failed.'."\n" + ."\n" + .'> If AllowedValues is not returned, Behavior and BehaviorReason are returned to indicate the behavior of the parameter and the reason for the behavior.', 'type' => 'string', 'example' => 'NoLimit', 'title' => ''], + 'BehaviorReason' => ['description' => 'The reason for the behavior of the parameter.', 'type' => 'string', 'example' => 'No resource property refer to the parameter', 'title' => ''], 'AssociationParameterNames' => [ - 'description' => 'The names of the associated parameters.'."\n", + 'description' => 'The names of the associated parameters.', 'type' => 'array', - 'items' => [ - 'description' => 'The name of the associated parameter.'."\n", - 'type' => 'string', - 'example' => 'InstanceType', - ], + 'items' => ['description' => 'The name of an associated parameter.', 'type' => 'string', 'example' => 'InstanceType', 'title' => ''], + 'title' => '', + 'example' => '', ], 'IllegalValueByParameterConstraints' => [ - 'description' => 'The values that do not conform to the parameter constraints.'."\n" + 'description' => 'The values that do not match the parameter constraints.'."\n" ."\n" - .'> If AllowedValues is returned, IllegalValueByParameterConstraints and IllegalValueByRules are returned at the same time.'."\n", + .'> If AllowedValues is returned, IllegalValueByParameterConstraints and IllegalValueByRules are returned to indicate the invalid values that are filtered out by the parameter constraints and template rules.', 'type' => 'array', - 'items' => [ - 'description' => 'The value that does not conform to the parameter constraints.'."\n" - ."\n" - .'> If `AllowedValues` is returned, `IllegalValueByParameterConstraints` and `IllegalValueByRules` are returned at the same time.'."\n", - 'type' => 'any', - 'example' => 'cn-hangzhou-h', - ], + 'items' => ['description' => 'The value that does not match the parameter constraints.'."\n" + ."\n" + .'> If `AllowedValues` is returned, the invalid values that are filtered out by the parameter constraints and template rules are returned in the `IllegalValueByParameterConstraints` and `IllegalValueByRules` parameters.', 'type' => 'any', 'example' => 'cn-hangzhou-h', 'title' => ''], + 'title' => '', + 'example' => '', ], 'IllegalValueByRules' => [ - 'description' => 'The values that do not match the rules in the template.'."\n" + 'description' => 'The values that do not match the template rules.'."\n" ."\n" - .'> If AllowedValues is returned, IllegalValueByParameterConstraints and IllegalValueByRules are returned at the same time.'."\n", + .'> If AllowedValues is returned, IllegalValueByParameterConstraints and IllegalValueByRules are returned to indicate the invalid values that are filtered out by the parameter constraints and template rules.', 'type' => 'array', - 'items' => [ - 'description' => 'The value that does not match the rules in the template.'."\n" - ."\n" - .'> If `AllowedValues` is returned, `IllegalValueByParameterConstraints` and `IllegalValueByRules` are returned at the same time.'."\n", - 'type' => 'any', - 'example' => 'cn-hangzhou-h', - ], + 'items' => ['description' => 'The value that does not match the template rules.'."\n" + ."\n" + .'> If `AllowedValues` is returned, the invalid values that are filtered out by the parameter constraints and template rules are returned in the `IllegalValueByParameterConstraints` and `IllegalValueByRules` parameters.', 'type' => 'any', 'example' => 'cn-hangzhou-h', 'title' => ''], + 'title' => '', + 'example' => '', ], 'NotSupportResources' => [ - 'description' => 'The unsupported resource in the template.'."\n", + 'description' => 'The details of the unsupported resources.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The details of the unsupported resource.'."\n" + ."\n" + .'This parameter is returned when the value of `Behavior` is `NotSupport`.', 'type' => 'object', 'properties' => [ - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::InstanceGroup', - ], - 'PropertyName' => [ - 'description' => 'The name of the resource property.'."\n", - 'type' => 'string', - 'example' => 'InstanceName', - ], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::InstanceGroup', 'title' => ''], + 'PropertyName' => ['description' => 'The name of the resource property.', 'type' => 'string', 'example' => 'InstanceName', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], 'QueryErrors' => [ - 'description' => 'The error that is returned when the request fails.'."\n", + 'description' => 'The details of the query failure.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The details of the query failure.'."\n" + ."\n" + .'This parameter is returned when the value of `Behavior` is `QueryError`.', 'type' => 'object', 'properties' => [ - 'ErrorMessage' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::InstanceGroup', - ], - 'ResourceName' => [ - 'description' => 'The resource name.'."\n", - 'type' => 'string', - 'example' => 'MyECS', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'InstanceType is needed while query DataDisk', - ], + 'ErrorMessage' => ['description' => 'The error details.', 'type' => 'string', 'example' => 'ALIYUN::ECS::InstanceGroup', 'title' => ''], + 'ResourceName' => ['description' => 'The name of the resource.', 'type' => 'string', 'example' => 'MyECS', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'InstanceType is needed while query DataDisk', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], 'OriginalConstraints' => [ - 'description' => 'The original constraint information.'."\n", + 'description' => 'The information about the original constraints.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The information about the original constraint.', 'type' => 'object', 'properties' => [ - 'ResourceName' => [ - 'description' => 'The name of the resource that is defined in the template.'."\n", - 'type' => 'string', - 'example' => 'MyECS', - ], + 'ResourceName' => ['description' => 'The name of the resource that is defined in the template.', 'type' => 'string', 'example' => 'MyECS', 'title' => ''], 'AllowedValues' => [ - 'description' => 'The values of the parameter.'."\n", + 'description' => 'The list of valid values of the parameter.', 'type' => 'array', - 'items' => [ - 'description' => 'The value of the parameter.'."\n", - 'type' => 'any', - 'example' => 'cn-hangzhou-a', - ], - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::InstanceGroup'."\n", - ], - 'PropertyName' => [ - 'description' => 'The name of the resource property.'."\n", - 'type' => 'string', - 'example' => 'ZoneId', - ], - 'Behavior' => [ - 'description' => 'Behavior of the parameter', - 'type' => 'string', - 'example' => 'QueryError', - ], - 'BehaviorReason' => [ - 'description' => 'The reason for the parameter behavior', - 'type' => 'string', - 'example' => 'No resource property refer to the parameter', - ], - 'PropertiesData' => [ - 'type' => 'string', - ], - 'RequestInfo' => [ - 'type' => 'string', + 'items' => ['description' => 'The valid value of the parameter.', 'type' => 'any', 'example' => 'cn-hangzhou-a', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::InstanceGroup'."\n", 'title' => ''], + 'PropertyName' => ['description' => 'The name of the property.', 'type' => 'string', 'example' => 'ZoneId', 'title' => ''], + 'Behavior' => ['description' => 'The behavior of the parameter.', 'type' => 'string', 'example' => 'QueryError', 'title' => ''], + 'BehaviorReason' => ['description' => 'The reason for the behavior of the parameter.', 'type' => 'string', 'example' => 'No resource property refer to the parameter', 'title' => ''], + 'PropertiesData' => ['description' => 'The query parameters that are used during the query of parameter constraints.', 'type' => 'string', 'example' => '{'."\n" + .' "ZoneId":"cn-hangzhou-h",'."\n" + .' "SystemDiskCategory":"cloud_essd"'."\n" + .'}', 'title' => ''], + 'RequestInfo' => ['description' => 'The request information of the operation that is called to query the parameter constraints of a cloud service.', 'type' => 'string', 'example' => 'ecs:2014-05-26:DescribeAvailableResource:4C5B6929-EB64-5086-A821-9CCB553A5AE9', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], 'QueryTimeoutDetails' => [ - 'description' => 'Query the details of timeout.', + 'description' => 'The details of the query timeout.', 'type' => 'array', 'items' => [ - 'description' => 'Query the details of timeout.', + 'description' => 'The details of the query timeout.', 'type' => 'object', 'properties' => [ - 'ResourceType' => [ - 'description' => 'Resource type.', - 'type' => 'string', - 'example' => 'ALIYUN::RDS::DBInstance', - ], - 'ResourceName' => [ - 'description' => 'Resource name.', - 'type' => 'string', - 'example' => 'rds', - ], - 'ErrorMessage' => [ - 'description' => 'Error message.', - 'type' => 'string', - 'example' => 'query property SlaveZoneIds.* in resource rds error, error message: query 8 seconds timeout', - ], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::RDS::DBInstance', 'title' => ''], + 'ResourceName' => ['description' => 'The name of the resource.', 'type' => 'string', 'example' => 'rds', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'query property SlaveZoneIds.* in resource rds error, error message: query 8 seconds timeout', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9816785B-BCF8-514D-8B76-C1EC2BC954FC\\",\\n \\"ParameterConstraints\\": [\\n {\\n \\"ParameterKey\\": \\"ZoneInfo\\",\\n \\"Type\\": \\"String\\",\\n \\"AllowedValues\\": [\\n \\"cn-hangzhou-h\\"\\n ],\\n \\"Behavior\\": \\"NoLimit\\",\\n \\"BehaviorReason\\": \\"No resource property refer to the parameter\\",\\n \\"AssociationParameterNames\\": [\\n \\"InstanceType\\"\\n ],\\n \\"IllegalValueByParameterConstraints\\": [\\n \\"cn-hangzhou-h\\"\\n ],\\n \\"IllegalValueByRules\\": [\\n \\"cn-hangzhou-h\\"\\n ],\\n \\"NotSupportResources\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::InstanceGroup\\",\\n \\"PropertyName\\": \\"InstanceName\\"\\n }\\n ],\\n \\"QueryErrors\\": [\\n {\\n \\"ErrorMessage\\": \\"ALIYUN::ECS::InstanceGroup\\",\\n \\"ResourceName\\": \\"MyECS\\",\\n \\"ResourceType\\": \\"InstanceType is needed while query DataDisk\\"\\n }\\n ],\\n \\"OriginalConstraints\\": [\\n {\\n \\"ResourceName\\": \\"MyECS\\",\\n \\"AllowedValues\\": [\\n \\"cn-hangzhou-a\\"\\n ],\\n \\"ResourceType\\": \\"ALIYUN::ECS::InstanceGroup\\\\n\\",\\n \\"PropertyName\\": \\"ZoneId\\",\\n \\"Behavior\\": \\"QueryError\\",\\n \\"BehaviorReason\\": \\"No resource property refer to the parameter\\",\\n \\"PropertiesData\\": \\"{\\\\n \\\\\\"ZoneId\\\\\\":\\\\\\"cn-hangzhou-h\\\\\\",\\\\n \\\\\\"SystemDiskCategory\\\\\\":\\\\\\"cloud_essd\\\\\\"\\\\n}\\",\\n \\"RequestInfo\\": \\"ecs:2014-05-26:DescribeAvailableResource:4C5B6929-EB64-5086-A821-9CCB553A5AE9\\"\\n }\\n ],\\n \\"QueryTimeoutDetails\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::RDS::DBInstance\\",\\n \\"ResourceName\\": \\"rds\\",\\n \\"ErrorMessage\\": \\"query property SlaveZoneIds.* in resource rds error, error message: query 8 seconds timeout\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetTemplateParameterConstraintsResponse>\\n <RequestId>9816785B-BCF8-514D-8B76-C1EC2BC954FC</RequestId>\\n <ParameterConstraints>\\n <ParameterKey>ZoneInfo</ParameterKey>\\n <Type>String</Type>\\n <AllowedValues>cn-hangzhou-i</AllowedValues>\\n <AllowedValues>cn-hangzhou-k</AllowedValues>\\n <AllowedValues>cn-hangzhou-d</AllowedValues>\\n <AssociationParameterNames>InstanceType</AssociationParameterNames>\\n <IllegalValueByParameterConstraints>cn-hangzhou-h</IllegalValueByParameterConstraints>\\n <IllegalValueByRules>cn-hangzhou-h</IllegalValueByRules>\\n </ParameterConstraints>\\n</GetTemplateParameterConstraintsResponse>","errorExample":""}]', 'title' => 'GetTemplateParameterConstraints', - 'description' => 'This topic provides an example on how to query the values of a parameter. In this example, the values of the `ZoneInfo` parameter in a template that is created in the China (Hangzhou) region are queried. The template body is `{"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}}`.'."\n" + 'summary' => 'Queries the valid values of the parameters in a template.', + 'description' => '### Description'."\n" ."\n" - .'For more information about the template parameters whose values you can query by calling this operation and the sample code of the template, see [Query the constraints of parameters](~~432820~~).', - 'translator' => 'machine', - ], - 'SetTemplatePermission' => [ - 'summary' => 'Shares or unshares a template.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '12717', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], - ], - 'parameters' => [ - [ - 'name' => 'ShareOption', - 'in' => 'query', - 'schema' => [ - 'description' => 'The sharing option.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* ShareToAccounts: shares the template with other Alibaba Cloud accounts.'."\n" - .'* CancelSharing: unshares the template.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ShareToAccounts', - ], - ], - [ - 'name' => 'VersionOption', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version option for the shared template. This parameter takes effect only if you set ShareOption to ShareToAccounts.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* AllVersions (default): shares all versions of the template.'."\n" - .'* Latest: shares only the latest version of template. When the version of the template is updated, ROS updates the shared version to the latest version.'."\n" - .'* Current: shares only the current version of the template. When the version of the template is updated, ROS does not update the shared version.'."\n" - .'* Specified: shares only the specified version of the template.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'Specified', - ], - ], - [ - 'name' => 'TemplateVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the shared template. This parameter takes effect only if you set ShareOption to ShareToAccounts and set VersionOption to Specified.'."\n" - ."\n" - .'Valid values: v1 to v100.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'v1', - ], - ], - [ - 'name' => 'TemplateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the template.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], - ], - [ - 'name' => 'AccountIds', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The Alibaba Cloud accounts with or from which you want to share or unshare the template.\\'."\n" - .'Valid values of N: 1, 2, 3, 4, and 5.'."\n" - ."\n" - .'> - This parameter cannot be set to the ID of the Alibaba Cloud account that owns the template, or the RAM users of this Alibaba Cloud account.'."\n" - .'> - When ShareOption is set to CancelSharing, you can unshare the template from all the specified Alibaba Cloud accounts by using an asterisk (\\*).', - 'type' => 'array', - 'items' => [ - 'description' => 'The Alibaba Cloud account with or from which you want to share or unshare the template.\\'."\n" - .'Valid values of N: 1, 2, 3, 4, and 5.'."\n" - ."\n" - .'> - This parameter cannot be set to the ID of the Alibaba Cloud account that owns the template, or the RAM users of this Alibaba Cloud account.'."\n" - .'> - When ShareOption is set to CancelSharing, you can unshare the template from all the specified Alibaba Cloud accounts by using an asterisk (\\*).', - 'type' => 'string', - 'required' => false, - 'example' => '147322325937****', - ], - 'required' => true, - 'example' => '123456789', - 'maxItems' => 5, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], + .'This topic provides an example of how to query the valid values for the `ZoneInfo` parameter in a template specific to the China (Hangzhou) region. The template is `{ "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { "ZoneInfo": { "Type": "String" }, "InstanceType": { "Type": "String" } }, "Resources": { "ECS": { "Type": "ALIYUN::ECS::Instance", "Properties": { "ZoneId": { "Ref": "ZoneInfo" }, "InstanceType": { "Ref": "InstanceType" } } } } }`.'."\n" + ."\n" + .'For more information about the queryable parameters and template content, refer to [Query parameter constraints](~~432820~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTemplateParameterConstraints'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplateParameterConstraints', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"<SetTemplatePermissionResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n</SetTemplatePermissionResponse>","errorExample":""}]', - 'title' => 'SetTemplatePermission', - 'description' => 'In this example, the template whose ID is `5ecd1e10-b0e9-4389-a565-e4c15efc****` is shared with an Alibaba Cloud account. The ID of the Alibaba Cloud account is `151266687691****`.'."\n" - ."\n" - .'> The recipient Alibaba Cloud account (ID: `151266687691****`) can authorize RAM users to use the shared template.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9816785B-BCF8-514D-8B76-C1EC2BC954FC\\",\\n \\"ParameterConstraints\\": [\\n {\\n \\"ParameterKey\\": \\"ZoneInfo\\",\\n \\"Type\\": \\"String\\",\\n \\"AllowedValues\\": [\\n \\"cn-hangzhou-h\\"\\n ],\\n \\"Behavior\\": \\"NoLimit\\",\\n \\"BehaviorReason\\": \\"No resource property refer to the parameter\\",\\n \\"AssociationParameterNames\\": [\\n \\"InstanceType\\"\\n ],\\n \\"IllegalValueByParameterConstraints\\": [\\n \\"cn-hangzhou-h\\"\\n ],\\n \\"IllegalValueByRules\\": [\\n \\"cn-hangzhou-h\\"\\n ],\\n \\"NotSupportResources\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::InstanceGroup\\",\\n \\"PropertyName\\": \\"InstanceName\\"\\n }\\n ],\\n \\"QueryErrors\\": [\\n {\\n \\"ErrorMessage\\": \\"ALIYUN::ECS::InstanceGroup\\",\\n \\"ResourceName\\": \\"MyECS\\",\\n \\"ResourceType\\": \\"InstanceType is needed while query DataDisk\\"\\n }\\n ],\\n \\"OriginalConstraints\\": [\\n {\\n \\"ResourceName\\": \\"MyECS\\",\\n \\"AllowedValues\\": [\\n \\"cn-hangzhou-a\\"\\n ],\\n \\"ResourceType\\": \\"ALIYUN::ECS::InstanceGroup\\\\n\\",\\n \\"PropertyName\\": \\"ZoneId\\",\\n \\"Behavior\\": \\"QueryError\\",\\n \\"BehaviorReason\\": \\"No resource property refer to the parameter\\",\\n \\"PropertiesData\\": \\"{\\\\n \\\\\\"ZoneId\\\\\\":\\\\\\"cn-hangzhou-h\\\\\\",\\\\n \\\\\\"SystemDiskCategory\\\\\\":\\\\\\"cloud_essd\\\\\\"\\\\n}\\",\\n \\"RequestInfo\\": \\"ecs:2014-05-26:DescribeAvailableResource:4C5B6929-EB64-5086-A821-9CCB553A5AE9\\"\\n }\\n ],\\n \\"QueryTimeoutDetails\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::RDS::DBInstance\\",\\n \\"ResourceName\\": \\"rds\\",\\n \\"ErrorMessage\\": \\"query property SlaveZoneIds.* in resource rds error, error message: query 8 seconds timeout\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'GetTemplateEstimateCost' => [ - 'summary' => 'Queries the estimated prices of the resources in a template.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'GetTemplateScratch' => [ + 'summary' => 'Retrieves the details of a resource scenario.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8877,173 +8195,38 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '12696', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], + 'abilityTreeCode' => '69681', + 'abilityTreeNodes' => ['FEATURErosHDIJ7A', 'FEATURErosUSKZAD', 'FEATURErosSKHQLM'], ], 'parameters' => [ [ - 'name' => 'TemplateURL', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests.'."\n" - ."\n" - .'The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-template/demo', - ], - ], - [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the template. This parameter applies to shared and private templates.'."\n" - ."\n" - .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'The parameters.'."\n", - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of parameter N. If you do not specify the name and value of a parameter, ROS uses the default name and value that are specified in the template.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* Parameters.1.ParameterKey: `Name`'."\n" - .'* Parameters.2.ParameterKey: `Netmode`'."\n" - ."\n" - .'> The Parameters parameter is optional. If you want to specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'TemplateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The value of parameter N.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* Parameters.1.ParameterValue: `DemoEip`'."\n" - .'* Parameters.2.ParameterValue: `public`'."\n" - ."\n" - .'> The Parameters parameter is optional. If you want to specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], - ], - [ - 'name' => 'TemplateVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scenario.'."\n" - ."\n" - .'For more information about how to query the IDs of scenarios, see [ListTemplateScratches](~~363050~~).'."\n" - ."\n" - .'> You must specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], - ], - [ - 'name' => 'Parameters', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The region ID of the scenario. The default value is the same as the value of the RegionId parameter.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Name', - ], - 'ParameterValue' => [ - 'description' => 'Details of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'DemoEip', - ], - ], - 'required' => false, - 'description' => 'The list of parameters.'."\n", - ], - 'required' => false, - 'maxItems' => 200, - ], + 'schema' => ['description' => 'The region ID of the resource scenario.'."\n" + ."\n" + .'You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'TemplateScratchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the scenario.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ts-aa9c62feab844a6b****', - ], + 'schema' => ['description' => 'The ID of the resource scenario.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'ts-7f7a704cf71c49a6****', 'title' => ''], ], [ - 'name' => 'TemplateScratchRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the scenario. The default value is the same as the value of the RegionId parameter.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'StackId', + 'name' => 'ShowDataOption', 'in' => 'query', - 'schema' => [ - 'description' => 'The stack ID.'."\n" - ."\n" - .'This parameter is used to query the estimated price in a configuration change scenario.'."\n" - ."\n" - .'Assume that the specified stack contains only one Elastic Compute Service (ECS) instance and the instance type is ecs.s6-c1m2.large. You downgrade the instance type to ecs.s6-c1m1.small and specify a new ApsaraDB RDS instance in the template that is used for the price inquiry. The queried result is the sum of the downgrade refund of the ECS instance and the price of the new ApsaraDB RDS instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', - ], + 'schema' => ['description' => 'The data display option. Valid values:'."\n" + ."\n" + .'- Sources: displays only source node data. This value is applicable when TemplateScratchType is set to ArchitectureDetection.'."\n" + ."\n" + .'- Source: displays only source node data. This value is applicable when TemplateScratchType is not set to ArchitectureDetection.'."\n" + ."\n" + .'- Provisions: displays only new node data. This value is applicable when TemplateScratchType is not set to ArchitectureDetection.'."\n" + ."\n" + .'- All: displays all data.'."\n" + ."\n" + .'For more information about source nodes and new nodes, see [Overview](~~352074~~).'."\n" + ."\n" + .'> If you do not specify this parameter, node data is not displayed by default.', 'type' => 'string', 'required' => false, 'example' => 'Source', 'title' => ''], ], ], 'responses' => [ @@ -9051,112 +8234,191 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89', - ], - 'Resources' => [ - 'description' => 'The resource details.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A8E0EF98-6FBD-5656-8298-FC8194F0F7B7', 'title' => ''], + 'TemplateScratch' => [ + 'description' => 'The resource scenario.', 'type' => 'object', - 'example' => '[{\'LogicalResourceIdPattern\': \'wait1\', \'ResourceType\': \'time_sleep\', \'ResourcePath\': \'wait1\'}, {\'LogicalResourceIdPattern\': \'wait2\', \'ResourceType\': \'time_sleep\', \'ResourcePath\': \'wait2\'}]', + 'properties' => [ + 'TemplateScratchId' => ['description' => 'The ID of the resource scenario.', 'type' => 'string', 'example' => 'ts-7f7a704cf71c49a6****', 'title' => ''], + 'TemplateScratchType' => ['description' => 'The type of the resource scenario. Valid values:'."\n" + ."\n" + .'- ResourceImport: resource management.'."\n" + ."\n" + .'- ArchitectureReplication: resource replication.', 'type' => 'string', 'example' => 'ArchitectureReplication', 'title' => ''], + 'Status' => ['description' => 'The status of the resource scenario. Valid values:'."\n" + ."\n" + .'- GENERATE\\_IN_PROGRESS: being generated.'."\n" + ."\n" + .'- GENERATE_COMPLETE: generated.'."\n" + ."\n" + .'- GENERATE_FAILED: failed to be generated.', 'type' => 'string', 'example' => 'GENERATE_COMPLETE', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the resource scenario failed to be generated.'."\n" + ."\n" + .'> This parameter is returned only when Status is set to GENERATE_FAILED.', 'type' => 'string', 'example' => 'Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.', 'title' => ''], + 'FailedCode' => ['description' => 'The status code that indicates why the resource scenario failed to be generated.'."\n" + ."\n" + .'> This parameter is returned only when Status is set to GENERATE_FAILED.', 'type' => 'string', 'example' => 'InvalidZoneId', 'title' => ''], + 'TemplateScratchData' => ['description' => 'The resource scenario data.', 'type' => 'object', 'example' => '参见返回示例', 'title' => ''], + 'PreferenceParameters' => [ + 'description' => 'The configuration parameters of the resource scenario.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The parameter name.', 'type' => 'string', 'example' => 'DeletionPolicy', 'title' => ''], + 'ParameterValue' => ['description' => 'The parameter value.', 'type' => 'string', 'example' => 'Retain', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Description' => ['description' => 'The description of the resource scenario.', 'type' => 'string', 'example' => '复制VPC资源。', 'title' => ''], + 'SourceResources' => [ + 'description' => 'The source resources.', + 'type' => 'array', + 'items' => [ + 'description' => 'The source resources.', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'vpc-m5e7cv7e9mz69sszb****', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'RelatedResourceTypeFilter' => [ + 'description' => 'The filter for related resource types.', + 'type' => 'array', + 'items' => ['description' => 'The filter for related resource types.', 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SourceTag' => [ + 'description' => 'The source tag.', + 'type' => 'object', + 'properties' => [ + 'ResourceTags' => ['description' => 'The source tag.', 'type' => 'object', 'example' => '{"a": "b"}', 'title' => ''], + 'ResourceTypeFilter' => [ + 'description' => 'The resource type filter.', + 'type' => 'array', + 'items' => ['description' => 'The resource type filter.', 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'SourceResourceGroup' => [ + 'description' => 'The source resource group.', + 'type' => 'object', + 'properties' => [ + 'ResourceGroupId' => ['description' => 'The ID of the source resource group.', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****', 'title' => ''], + 'ResourceTypeFilter' => [ + 'description' => 'The resource type filter.', + 'type' => 'array', + 'items' => ['description' => 'The resource type filter.', 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'LogicalIdStrategy' => ['description' => 'The logical ID generation strategy. Valid values:'."\n" + ."\n" + .'- LongTypePrefixAndIndexSuffix (default): long type prefix with index suffix.'."\n" + ."\n" + .'- LongTypePrefixAndHashSuffix: long type prefix with hash suffix.'."\n" + ."\n" + .'- ShortTypePrefixAndHashSuffix: short type prefix with hash suffix.', 'type' => 'string', 'example' => 'LongTypePrefixAndIndexSuffix', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the resource scenario was created. The time is displayed in UTC+0 and follows the ISO 8601 standard without the trailing Z. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2021-12-22T01:49:22', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the resource scenario was last updated. The time is displayed in UTC+0 and follows the ISO 8601 standard without the trailing Z. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2021-12-22T01:49:23', 'title' => ''], + 'Stacks' => [ + 'description' => 'The list of stacks associated with the resource scenario.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => '3708bf6a-3a67-44d4-9eb1-c56704b9****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the stack.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'UsageType' => ['description' => 'The purpose of the stack. Valid values:'."\n" + ."\n" + .'- ResourceImport: resource management.'."\n" + ."\n" + .'- ArchitectureReplication: resource replication.', 'type' => 'string', 'example' => 'ArchitectureReplication', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'StackProvision' => [ + 'description' => 'The stack provisioning information.', + 'type' => 'object', + 'properties' => [ + 'Creatable' => ['description' => 'Indicates whether you can call [CreateStack](~~132086~~) to create a stack for resource replication. Valid values:'."\n" + ."\n" + .'- true: Supported.'."\n" + ."\n" + .'- false: Not supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Importable' => ['description' => 'Indicates whether you can call [CreateChangeSet](~~131051~~) to create a change set for resource management. Valid values:'."\n" + ."\n" + .'- true: Supported.'."\n" + ."\n" + .'- false: Not supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmzmhzoaad5oq', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89\\",\\n \\"Resources\\": {\\n \\"NewEip\\": {\\n \\"Type\\": \\"ALIYUN::VPC::EIP\\",\\n \\"Success\\": true,\\n \\"Result\\": {\\n \\"Order\\": {\\n \\"TaxAmount\\": 0,\\n \\"Currency\\": \\"CNY\\",\\n \\"RuleIds\\": [\\n \\"102204102264****\\"\\n ],\\n \\"TradeAmount\\": 87.5,\\n \\"OriginalAmount\\": 125,\\n \\"DiscountAmount\\": 37.5\\n },\\n \\"OrderSupplement\\": {\\n \\"ChargeType\\": \\"PrePaid\\",\\n \\"Period\\": 1,\\n \\"Quantity\\": 1,\\n \\"PriceType\\": \\"Total\\",\\n \\"PeriodUnit\\": \\"Month\\"\\n },\\n \\"InquiryType\\": \\"Buy\\",\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"RuleDescId\\": \\"102204102264****\\",\\n \\"Name\\": \\"合同优惠_整单_7.0折\\"\\n }\\n ]\\n }\\n }\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetTemplateEstimateCostResponse>\\n <RequestId>6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89</RequestId>\\n <Resources>\\n <NewEip>\\n <Type>ALIYUN::VPC::EIP</Type>\\n <Success>true</Success>\\n <Result>\\n <Order>\\n <TaxAmount>0</TaxAmount>\\n <TradeCycleAmount>0</TradeCycleAmount>\\n <RiCycleAmount>0</RiCycleAmount>\\n <Currency>CNY</Currency>\\n <TotalCostAmount>109.37</TotalCostAmount>\\n <RuleIds>102204102264****</RuleIds>\\n <TradeAmount>109.37</TradeAmount>\\n <DiscountCycleAmount>0</DiscountCycleAmount>\\n <OriginalAmount>125</OriginalAmount>\\n <DiscountAmount>15.63</DiscountAmount>\\n </Order>\\n <OrderSupplement>\\n <ChargeType>PrePaid</ChargeType>\\n <Period>1</Period>\\n <Quantity>1</Quantity>\\n <PriceType>Total</PriceType>\\n <PeriodUnit>Month</PeriodUnit>\\n </OrderSupplement>\\n <OrderDetails>\\n <ModuleCode>bandwidth</ModuleCode>\\n <ModuleName>带宽</ModuleName>\\n <Currency>CNY</Currency>\\n <TradeAmount>109.37</TradeAmount>\\n <OriginalAmount>125</OriginalAmount>\\n <DiscountAmount>15.63</DiscountAmount>\\n </OrderDetails>\\n <Rules>\\n <Rule>\\n <RuleDescId>102204102264****</RuleDescId>\\n <Name>合同优惠_整单_8.750折</Name>\\n </Rule>\\n </Rules>\\n </Result>\\n </NewEip>\\n </Resources>\\n</GetTemplateEstimateCostResponse>","errorExample":""}]', - 'title' => 'GetTemplateEstimateCost', - 'description' => '###'."\n" - ."\n" - .'* For more information about the resources that support price inquiry in Resource Orchestration Service (ROS) templates, see the "**Resource types that support price inquiry**" section of the [Estimate resource prices](~~203165~~) topic.'."\n" - .'* For more information about the resources that support price inquiry in Terraform templates, see the "**ROS resources supported by Terraform**" section of the [ROS features and resources supported by Terraform](~~184389~~) topic.'."\n" - ."\n" - .'The following sample code provides an example on how to query the estimated price of an elastic IP address (EIP) that you want to create based on a template. In this example, the following template is used:'."\n" - ."\n" - .' {'."\n" - .' "ROSTemplateFormatVersion": "2015-09-01",'."\n" - .' "Parameters": {'."\n" - .' "Isp": {'."\n" - .' "Type": "String",'."\n" - .' "Default": "BGP"'."\n" - .' },'."\n" - .' "Name": {'."\n" - .' "Type": "String",'."\n" - .' "Default": "test"'."\n" - .' },'."\n" - .' "Netmode": {'."\n" - .' "Type": "String",'."\n" - .' "Default": "public"'."\n" - .' },'."\n" - .' "Bandwidth": {'."\n" - .' "Type": "Number",'."\n" - .' "Default": 5'."\n" - .' }'."\n" - .' },'."\n" - .' "Resources": {'."\n" - .' "NewEip": {'."\n" - .' "Type": "ALIYUN::VPC::EIP",'."\n" - .' "Properties": {'."\n" - .' "InstanceChargeType": "Prepaid",'."\n" - .' "PricingCycle": "Month",'."\n" - .' "Isp": {'."\n" - .' "Ref": "Isp"'."\n" - .' },'."\n" - .' "Period": 1,'."\n" - .' "DeletionProtection": false,'."\n" - .' "AutoPay": false,'."\n" - .' "Name": {'."\n" - .' "Ref": "Name"'."\n" - .' },'."\n" - .' "InternetChargeType": "PayByTraffic",'."\n" - .' "Netmode": {'."\n" - .' "Ref": "Netmode"'."\n" - .' },'."\n" - .' "Bandwidth": {'."\n" - .' "Ref": "Bandwidth"'."\n" - .' }'."\n" - .' }'."\n" - .' }'."\n" - .' }'."\n" - .' }', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A8E0EF98-6FBD-5656-8298-FC8194F0F7B7\\",\\n \\"TemplateScratch\\": {\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\",\\n \\"TemplateScratchType\\": \\"ArchitectureReplication\\",\\n \\"Status\\": \\"GENERATE_COMPLETE\\",\\n \\"StatusReason\\": \\"Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.\\",\\n \\"FailedCode\\": \\"InvalidZoneId\\",\\n \\"TemplateScratchData\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"PreferenceParameters\\": [\\n {\\n \\"ParameterKey\\": \\"DeletionPolicy\\",\\n \\"ParameterValue\\": \\"Retain\\"\\n }\\n ],\\n \\"Description\\": \\"复制VPC资源。\\",\\n \\"SourceResources\\": [\\n {\\n \\"ResourceId\\": \\"vpc-m5e7cv7e9mz69sszb****\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::VPC\\",\\n \\"RelatedResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n }\\n ],\\n \\"SourceTag\\": {\\n \\"ResourceTags\\": {\\n \\"a\\": \\"b\\"\\n },\\n \\"ResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n },\\n \\"SourceResourceGroup\\": {\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n },\\n \\"LogicalIdStrategy\\": \\"LongTypePrefixAndIndexSuffix\\",\\n \\"CreateTime\\": \\"2021-12-22T01:49:22\\",\\n \\"UpdateTime\\": \\"2021-12-22T01:49:23\\",\\n \\"Stacks\\": [\\n {\\n \\"StackId\\": \\"3708bf6a-3a67-44d4-9eb1-c56704b9****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"UsageType\\": \\"ArchitectureReplication\\"\\n }\\n ],\\n \\"StackProvision\\": {\\n \\"Creatable\\": true,\\n \\"Importable\\": false\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmzmhzoaad5oq\\"\\n }\\n}","type":"json"}]', + 'title' => 'Get resource scenario details', + 'description' => 'This topic provides an example of how to query the details of the resource scenario `ts-7f7a704cf71c49a6****` in the China (Hangzhou) region and display source node data.', 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', - 'responseParamsDescription' => 'The following table describes the parameters that are contained in Resources.'."\n" - ."\n" - .'|Parameter|Type|Example|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|Order|||The information about the order.|'."\n" - .'|\\- Currency|String|CNY|The currency unit. Valid values:CNY: This value is available only on the China site (aliyun.com).USD: This value is available only on the international site (alibabacloud.com)|'."\n" - .'|\\- OriginalAmount|Long|125|The original price.|'."\n" - .'|\\- DiscountAmount|Long|15.63|The discount amount.|'."\n" - .'|\\- TradeAmount|Long|109.37|The transaction price, which is equal to the original price minus the discount.|'."\n" - .'|\\- TaxAmount|Long|0|The available tax amount.|'."\n" - .'|\\- Coupons|Array|{"Coupon": \\[\\]}|The available promotions.|'."\n" - .'|\\- RuleIds|Array|\\[102204102264\\*\\*\\*\\*\\]|The IDs of the promotion rules.|'."\n" - .'|InquiryType|String|Buy|The price inquiry type. Valid values:Buy: price inquiry for new resourcesModificationBuy: price inquiry for resource configuration changes|'."\n" - .'|Rules|||The promotion rules.|'."\n" - .'|\\- Rule|||The promotion rule.|'."\n" - .'|\\- - Name|String|Contract discount\\_order discount\\_8.750 discount|The name of the promotion rule.|'."\n" - .'|\\- - RuleDescId|Long|102204102264\\*\\*\\*\\*|The ID of the promotion rule.|'."\n" - .'|OrderSupplement|||The supplementary information about the order.|'."\n" - .'|\\- AutoRenew|Boolean|false|Specifies whether to enable auto-renewal. Valid values:truefalse|'."\n" - .'|\\- ChargeType|String|PrePaid|The billing method.|'."\n" - .'|\\- Period|Long|1|The subscription duration.|'."\n" - .'|\\- PeriodUnit|String|Month|The unit of the subscription duration. Valid values:YearMonth|'."\n" - .'|\\- PriceType|String|Total|The price type.|'."\n" - .'|\\- Quantity|Long|1|The quantity.|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTemplateScratch'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplateScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#templatescratchId}'], + ], + ], + ], + ], ], 'GetTemplateSummary' => [ - 'summary' => 'Queries the information about a template resource by using the relevant template, stack, stack group, or change set.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9168,164 +8430,105 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], ], 'parameters' => [ [ 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The stack ID.'."\n" - ."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The stack ID.'."\n" + ."\n" + .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ 'name' => 'TemplateBody', 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length.\\'."\n" - .'If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.\\'."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', - ], + 'schema' => ['description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length.<br>'."\n" + .'If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.<br>'."\n" + .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack or stack group that uses the template. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n" - ."\n" - .'This parameter takes effect only when one of the following parameters are specified: StackId, ChangeSetId, and StackGroupName.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack or stack group that uses the template. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n" + ."\n" + .'This parameter takes effect only when one of the following parameters are specified: StackId, ChangeSetId, and StackGroupName.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'TemplateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The template ID. This parameter applies to shared and private templates.'."\n" - ."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The template ID. This parameter applies to shared and private templates.'."\n" + ."\n" + .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length.'."\n" - ."\n" - .'> If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.'."\n" - ."\n" - .'The URL can be up to 1,024 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros/template/demo', - ], + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss\\://ros/template/demo or oss\\://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length.'."\n" + ."\n" + .'> If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" + ."\n" + .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.'."\n" + ."\n" + .'The URL can be up to 1,024 bytes in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/template/demo', 'title' => ''], ], [ 'name' => 'ChangeSetId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change set.'."\n" - ."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', - ], + 'schema' => ['description' => 'The ID of the change set.'."\n" + ."\n" + .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', 'title' => ''], ], [ 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. This parameter takes effect when TemplateId is specified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The version of the template. This parameter takes effect when TemplateId is specified.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ 'name' => 'StackGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group.'."\n" - ."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'my-stack-group', - ], + 'schema' => ['description' => 'The name of the stack group.'."\n" + ."\n" + .'You can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, StackId, ChangeSetId, and StackGroupName.', 'type' => 'string', 'required' => false, 'example' => 'my-stack-group', 'title' => ''], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The parameters that are defined in the template.'."\n", + 'description' => 'The parameters that are defined in the template.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of parameter N that is defined in the template. If you do not specify the name and value of a parameter, Resource Orchestration Service (ROS) uses the default name and value that are defined in the template.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'InstanceId', - ], - 'ParameterValue' => [ - 'description' => 'The value of parameter N that is defined in the template.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'i-rotp2e20whfrs2****', - ], + 'ParameterKey' => ['description' => 'The name of parameter N that is defined in the template. If you do not specify the name and value of a parameter, Resource Orchestration Service (ROS) uses the default name and value that are defined in the template.'."\n" + ."\n" + .'Maximum value of N: 200.'."\n" + ."\n" + .'> The Parameters parameter is optional. If you specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.', 'type' => 'string', 'required' => false, 'example' => 'InstanceId', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of parameter N that is defined in the template.'."\n" + ."\n" + .'Maximum value of N: 200.'."\n" + ."\n" + .'> The Parameters parameter is optional. If you specify Parameters, you must specify both Parameters.N.ParameterKey and Parameters.N.ParameterValue.', 'type' => 'string', 'required' => false, 'example' => 'i-rotp2e20whfrs2****', 'title' => ''], ], 'required' => false, 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.\\'."\n" - .'The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).\\'."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.<br>'."\n" + .'The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).<br>'."\n" + .'For more information, see [Ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], ], 'responses' => [ @@ -9334,210 +8537,218 @@ 'type' => 'object', 'properties' => [ 'ResourceTypes' => [ - 'description' => 'All resource types that are used in the template.'."\n", + 'description' => 'All resource types that are used in the template.', 'type' => 'array', - 'items' => [ - 'description' => 'The resource type that is used in the template.'."\n", - 'type' => 'string', - 'example' => '["ALIYUN::ECS::VPC"]', - ], - ], - 'Description' => [ - 'description' => 'The description of the stack template.'."\n", - 'type' => 'string', - 'example' => 'No description', + 'items' => ['description' => 'The resource type that is used in the template.', 'type' => 'string', 'example' => '["ALIYUN::ECS::VPC"]', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'Description' => ['description' => 'The description of the stack template.', 'type' => 'string', 'example' => 'No description', 'title' => ''], 'Parameters' => [ - 'description' => 'The declarations of the parameters in the template.'."\n", + 'description' => 'The declarations of the parameters in the template.', 'type' => 'array', - 'items' => [ - 'description' => 'The declaration of the parameter in the template.'."\n", - 'type' => 'object', - 'example' => '[{"Description":"", "Label":"Name", "NoEcho":"false", "ParameterKey":"Name", "Type":"String"}]', - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], - 'Version' => [ - 'description' => 'The version of the template.'."\n", - 'type' => 'string', - 'example' => '2015-09-01', - ], - 'Metadata' => [ - 'description' => 'The metadata that is defined in the template.'."\n", - 'type' => 'object', - 'example' => '{"key": "value"}', + 'items' => ['description' => 'The declaration of the parameter in the template.', 'type' => 'object', 'example' => '[{"Description":"", "Label":"Name", "NoEcho":"false", "ParameterKey":"Name", "Type":"String"}]', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + 'Version' => ['description' => 'The version of the template.', 'type' => 'string', 'example' => '2015-09-01', 'title' => ''], + 'Metadata' => ['description' => 'The metadata that is defined in the template.', 'type' => 'object', 'example' => '{"key": "value"}', 'title' => ''], 'ResourceIdentifierSummaries' => [ - 'description' => 'The resource identifier summaries.\\'."\n" - .'A summary describes the resource that you want to import and the properties that are used to identify the resource during the import. For example, VpcId is an identifier property of ALIYUN::ECS::VPC.'."\n", + 'description' => 'The resource identifier summaries.<br>'."\n" + .'A summary describes the resource that you want to import and the properties that are used to identify the resource during the import. For example, VpcId is an identifier property of ALIYUN::ECS::VPC.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ResourceType' => [ - 'description' => 'The resource type.'."\n" - ."\n" - .'> The resource import feature is supported for the resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::VPC', - ], + 'ResourceType' => ['description' => 'The resource type.'."\n" + ."\n" + .'> The resource import feature is supported for the resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], 'LogicalResourceIds' => [ - 'description' => 'The logical IDs of all resources of the type that is specified by ResouceType in the template.'."\n", + 'description' => 'The logical IDs of all resources of the type that is specified by ResouceType in the template.', 'type' => 'array', - 'items' => [ - 'description' => 'The logical ID of the resource of the type that is specified by ResouceType in the template.'."\n", - 'type' => 'string', - 'example' => '["Vpc"]', - ], + 'items' => ['description' => 'The logical ID of the resource of the type that is specified by ResouceType in the template.', 'type' => 'string', 'example' => '["Vpc"]', 'title' => ''], + 'title' => '', + 'example' => '', ], 'ResourceIdentifiers' => [ - 'description' => 'The resource properties. You can use a resource property to identify the resource that you want to manage. For example, VpcId is an identifier property of ALIYUN::ECS::VPC.'."\n", + 'description' => 'The resource properties. You can use a resource property to identify the resource that you want to manage. For example, VpcId is an identifier property of ALIYUN::ECS::VPC.', 'type' => 'array', - 'items' => [ - 'description' => 'The resource property. You can use a resource property to identify the resource that you want to manage. For example, VpcId is an identifier property of ALIYUN::ECS::VPC.'."\n", - 'type' => 'string', - 'example' => '["VpcId"]', - ], + 'items' => ['description' => 'The resource property. You can use a resource property to identify the resource that you want to manage. For example, VpcId is an identifier property of ALIYUN::ECS::VPC.', 'type' => 'string', 'example' => '["VpcId"]', 'title' => ''], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ResourceTypes\\": [\\n \\"[\\\\\\"ALIYUN::ECS::VPC\\\\\\"]\\"\\n ],\\n \\"Description\\": \\"No description\\",\\n \\"Parameters\\": [\\n [\\n {\\n \\"Description\\": \\"\\",\\n \\"Label\\": \\"Name\\",\\n \\"NoEcho\\": \\"false\\",\\n \\"ParameterKey\\": \\"Name\\",\\n \\"Type\\": \\"String\\"\\n }\\n ]\\n ],\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"Version\\": \\"2015-09-01\\",\\n \\"Metadata\\": {\\n \\"key\\": \\"value\\"\\n },\\n \\"ResourceIdentifierSummaries\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::VPC\\",\\n \\"LogicalResourceIds\\": [\\n \\"[\\\\\\"Vpc\\\\\\"]\\"\\n ],\\n \\"ResourceIdentifiers\\": [\\n \\"[\\\\\\"VpcId\\\\\\"]\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetTemplateSummary>\\n\\t\\t<Description>No description</Description>\\n\\t\\t<Metadata />\\n\\t\\t<Parameters>\\n\\t\\t\\t<Description>Description of the vpc, [2, 256] characters. Do not fill or empty, the default is empty.</Description>\\n\\t\\t\\t<Label>Description</Label>\\n\\t\\t\\t<NoEcho>false</NoEcho>\\n\\t\\t\\t<ParameterKey>Description</ParameterKey>\\n\\t\\t\\t<Type>String</Type>\\n\\t\\t</Parameters>\\n\\t\\t<Parameters>\\n\\t\\t\\t<Description>Tags to attach to vpc. Max support 20 tags to add during create vpc. Each tag with two properties Key and Value, and Key is required.</Description>\\n\\t\\t\\t<Label>Tags</Label>\\n\\t\\t\\t<MaxLength>20</MaxLength>\\n\\t\\t\\t<NoEcho>false</NoEcho>\\n\\t\\t\\t<ParameterKey>Tags</ParameterKey>\\n\\t\\t\\t<Type>Json</Type>\\n\\t\\t</Parameters>\\n\\t\\t<Parameters>\\n\\t\\t\\t<Description>IPv6 network cidr of the VPC.</Description>\\n\\t\\t\\t<Label>Ipv6CidrBlock</Label>\\n\\t\\t\\t<MinLength>1</MinLength>\\n\\t\\t\\t<NoEcho>false</NoEcho>\\n\\t\\t\\t<ParameterKey>Ipv6CidrBlock</ParameterKey>\\n\\t\\t\\t<Type>String</Type>\\n\\t\\t</Parameters>\\n\\t\\t<Parameters>\\n\\t\\t\\t<AllowedValues>True</AllowedValues>\\n\\t\\t\\t<AllowedValues>true</AllowedValues>\\n\\t\\t\\t<AllowedValues>False</AllowedValues>\\n\\t\\t\\t<AllowedValues>false</AllowedValues>\\n\\t\\t\\t<Default>false</Default>\\n\\t\\t\\t<Description>Whether to enable an IPv6 network cidr, the value is:False (default): not turned on.True: On.</Description>\\n\\t\\t\\t<Label>EnableIpv6</Label>\\n\\t\\t\\t<NoEcho>false</NoEcho>\\n\\t\\t\\t<ParameterKey>EnableIpv6</ParameterKey>\\n\\t\\t\\t<Type>Boolean</Type>\\n\\t\\t</Parameters>\\n\\t\\t<Parameters>\\n\\t\\t\\t<Description>Resource group id.</Description>\\n\\t\\t\\t<Label>ResourceGroupId</Label>\\n\\t\\t\\t<NoEcho>false</NoEcho>\\n\\t\\t\\t<ParameterKey>ResourceGroupId</ParameterKey>\\n\\t\\t\\t<Type>String</Type>\\n\\t\\t</Parameters>\\n\\t\\t<Parameters>\\n\\t\\t\\t<Description>Display name of the vpc instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, \'_\' or \'.\', \'-\'</Description>\\n\\t\\t\\t<Label>VpcName</Label>\\n\\t\\t\\t<NoEcho>false</NoEcho>\\n\\t\\t\\t<ParameterKey>VpcName</ParameterKey>\\n\\t\\t\\t<Type>String</Type>\\n\\t\\t</Parameters>\\n\\t\\t<Parameters>\\n\\t\\t\\t<Description>\\n\\t\\t\\t\\tThe IP address range of the VPC in the CIDR block form. You can use the following IP address ranges and their subnets:\\n\\t\\t\\t\\t10.0.0.0/8\\n\\t\\t\\t\\t172.16.0.0/12 (Default)\\n\\t\\t\\t 192.168.0.0/16</Description>\\n\\t\\t\\t<Label>CidrBlock</Label>\\n\\t\\t\\t<NoEcho>false</NoEcho>\\n\\t\\t\\t<ParameterKey>CidrBlock</ParameterKey>\\n\\t\\t\\t<Type>String</Type>\\n\\t\\t</Parameters>\\n\\t\\t<RequestId>FD70598C-3F4B-4E66-9A76-67F2E2D36938</RequestId>\\n\\t\\t<ResourceIdentifierSummaries>\\n\\t\\t\\t<LogicalResourceIds>Vpc</LogicalResourceIds>\\n\\t\\t\\t<ResourceIdentifiers>VpcId</ResourceIdentifiers>\\n\\t\\t\\t<ResourceType>ALIYUN::ECS::VPC</ResourceType>\\n\\t\\t</ResourceIdentifierSummaries>\\n\\t\\t<ResourceTypes>ALIYUN::ECS::VPC</ResourceTypes>\\n\\t\\t<Version>2015-09-01</Version>\\n</GetTemplateSummary>\\n","errorExample":""}]', 'title' => 'GetTemplateSummary', - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'summary' => 'Queries the information about a template resource by using the relevant template, stack, stack group, or change set.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'ValidateTemplate' => [ - 'summary' => 'Validates a template by using a template URL or template body. The template is used to create a stack.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | StackValidationFailed | {reason}. |资源栈校验失败。reason为具体原因。|'."\n" + .'| 404 | ChangeSetNotFound | The ChangeSet ({name}) of Stack ({stack}) could not be found. |更改集不存在。name为更改集名称或ID,stack为资源栈名称或ID。|'."\n" + .'| 404 | ChangeSetNotFound | The ChangeSet {ID} could not be found. |更改集不存在。ID为更改集ID。|'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。|'."\n" + .'| 404 | TemplateNotFound | The Tempalte ({ ID }) could not be found. |模板不存在。ID为模板ID。|'."\n" + .'| 404 | TemplateNotFound |The Template { ID } with version { version } could not be found. |模板或指定版本不存在。ID为模板ID,version为模板版本。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTemplateSummary'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplateSummary', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResourceTypes\\": [\\n \\"[\\\\\\"ALIYUN::ECS::VPC\\\\\\"]\\"\\n ],\\n \\"Description\\": \\"No description\\",\\n \\"Parameters\\": [\\n [\\n {\\n \\"Description\\": \\"\\",\\n \\"Label\\": \\"Name\\",\\n \\"NoEcho\\": \\"false\\",\\n \\"ParameterKey\\": \\"Name\\",\\n \\"Type\\": \\"String\\"\\n }\\n ]\\n ],\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"Version\\": \\"2015-09-01\\",\\n \\"Metadata\\": {\\n \\"key\\": \\"value\\"\\n },\\n \\"ResourceIdentifierSummaries\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::VPC\\",\\n \\"LogicalResourceIds\\": [\\n \\"[\\\\\\"Vpc\\\\\\"]\\"\\n ],\\n \\"ResourceIdentifiers\\": [\\n \\"[\\\\\\"VpcId\\\\\\"]\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'ImportStacksToStackGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '12727', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '240282', + 'abilityTreeNodes' => ['FEATURErosTBD793'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'TemplateURL', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP web server or in an Object Storage Service (OSS) bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length.'."\n" - ."\n" - .'> If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'You can specify one of TemplateBody and TemplateURL, but not both of them. The URL can be up to 1,024 bytes in length.\\'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros/template/demo', - ], + 'schema' => ['description' => 'The region ID of the stack group. You can call [DescribeRegions](~~131035~~) to view the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'StackGroupName', 'in' => 'query', + 'schema' => ['description' => 'The name of the stack group. The name must be unique within a single region. It cannot exceed 255 characters and must start with a letter or number, and can include letters, numbers, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], + ], + [ + 'name' => 'StackArns', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The region ID of the template. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, + 'description' => 'A list of ARNs for the stacks to be imported into the stack group, in the format `acs:ros:${RegionId}:${AccountId}:stack/${StackId}`. A maximum of 10 stacks can be added.', + 'type' => 'array', + 'items' => ['description' => 'The ARN of the stack to be imported into the stack group, in the format acs:ros:${RegionId}:${AccountId}:stack/${StackId}. A maximum of 10 stacks can be added.', 'type' => 'string', 'required' => false, 'example' => 'acs:ros:cn-hangzhou:175458000000****:stack/4a65f506-c3cc-43b6-af06-3f000000****', 'title' => ''], + 'required' => true, 'docRequired' => false, - 'example' => 'cn-hangzhou', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'TemplateBody', - 'in' => 'formData', + 'name' => 'ResourceDirectoryFolderIds', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length.\\'."\n" - .'If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.\\'."\n" - .'You can specify the TemplateBody or TemplateURL parameter, but not both parameters.'."\n", - 'type' => 'string', + 'description' => 'A list of resource directory folder IDs for the stacks to be imported. A maximum of 10 folders can be added.', + 'type' => 'array', + 'items' => ['description' => 'The resource directory folder ID for the stacks to be imported. A maximum of 10 folders can be added.', 'type' => 'string', 'required' => false, 'example' => '["fd-1111VL****"]', 'title' => ''], 'required' => false, 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', + 'title' => '', + 'example' => '', ], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" - ."\n" - .'The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Ensures the idempotence of the request. This value is generated by the client and must be globally unique.'."\n" + .'It cannot exceed 64 characters and can include letters, numbers, hyphens (-), and underscores (\\_).'."\n" + .'For more information, see [How to Ensure Idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ - 'name' => 'ValidationOption', + 'name' => 'OperationDescription', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable additional validation for the template. Valid values:'."\n" - ."\n" - .'* None (default): does not enable additional validation.'."\n" - .'* EnableTerraformValidation: runs the `terraform validate` command in the Terraform CLI to enable additional validation for a Terraform template.'."\n" - .'* EnableFastTerraformValidation: runs a command that is similar to the `terraform validate` command in the Terraform CLI to enable additional validation for a Terraform template.'."\n" - ."\n" - .'> Compared with the EnableTerraformValidation method, the EnableFastTerraformValidation method validates a template at a faster speed but a lower integrity level.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'None', - ], + 'schema' => ['description' => 'Description of the operation.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Import ops stacks to stack group', 'title' => ''], ], [ - 'name' => 'UpdateInfoOptions', + 'name' => 'OperationPreferences', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The options that are used to control the generation of information about the stack update. You can specify up to two options.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The option that is used to control the generation of information about the stack update. Valid values:'."\n" - ."\n" - .'* Disabled: does not generate information about the stack update.'."\n" - .'* ConsiderCondition: generates information about the stack update with conditions considered. We recommend that you use this option. Otherwise, the conditions are calculated, and the default parameter values or a value of null is used for the parameters involved in the calculation.'."\n" - .'* EnableReplacement: generates information about the stack update with replacement updates considered.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'ConsiderCondition' => 'ConsiderCondition', - 'EnableReplacement' => 'EnableReplacement', - 'Disabled' => 'Disabled', - ], - 'example' => 'ConsiderCondition', - ], - 'required' => false, - 'maxItems' => 2, - ], + 'style' => 'json', + 'schema' => ['description' => 'Operation settings for importing stacks into the stack group.'."\n" + ."\n" + .'Includes the following parameters:'."\n" + ."\n" + .'- {"FailureToleranceCount": N}'."\n" + ."\n" + .' Failure tolerance count. The number of accounts in which the stack can fail in each region. If this number is exceeded, the operation in that region will stop. If the operation in one region stops, it will not continue in other regions.'."\n" + ."\n" + .' The range of N: 0\\~20.'."\n" + ."\n" + .' If FailureToleranceCount is not specified, the default value is 0.'."\n" + ."\n" + .'- {"FailureTolerancePercentage": N}'."\n" + ."\n" + .' Failure tolerance percentage. The percentage of total accounts in which the stack can fail in each region. If this percentage is exceeded, the operation in that region will stop.'."\n" + ."\n" + .' The range of N: 0\\~100. If the percentage is not an integer, ROS will round down.'."\n" + ."\n" + .' If FailureTolerancePercentage is not specified, the default value is 0.'."\n" + ."\n" + .'- {"MaxConcurrentCount": N}'."\n" + ."\n" + .' Maximum concurrent account count. The number of accounts in which the stack can be deployed simultaneously in each region.'."\n" + ."\n" + .' The range of N: 1\\~20.'."\n" + ."\n" + .' If MaxConcurrentCount is not specified, the default value is 1.'."\n" + ."\n" + .'- {"MaxConcurrentPercentage": N} Maximum concurrent account percentage.'."\n" + ."\n" + .' The percentage of total accounts in which the stack can be deployed simultaneously in each region.'."\n" + ."\n" + .' The range of N: 1\\~100. If the percentage is not an integer, ROS will round down.'."\n" + ."\n" + .' If MaxConcurrentPercentage is not specified, the default value is 1.'."\n" + ."\n" + .'- {"RegionConcurrencyType": N}'."\n" + .' Region-level concurrency type for deploying stack instances, values:'."\n" + ."\n" + .' - SEQUENTIAL (default): Deploy sequentially in each specified region, only one region at a time.'."\n" + ."\n" + .' - PARALLEL: Deploy in parallel across all specified regions.'."\n" + ."\n" + .'Multiple parameters are separated by commas (,).'."\n" + ."\n" + .'> - Do not specify both MaxConcurrentCount and MaxConcurrentPercentage.'."\n" + .'>'."\n" + .'> - Do not specify both FailureToleranceCount and FailureTolerancePercentage.', 'type' => 'object', 'required' => false, 'docRequired' => false, 'example' => '{"FailureToleranceCount": 1,"MaxConcurrentCount": 2}', 'title' => ''], ], ], 'responses' => [ @@ -9545,263 +8756,43 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Description' => [ - 'description' => 'The description of the template.'."\n", - 'type' => 'string', - 'example' => 'No description', - ], - 'Parameters' => [ - 'description' => 'The parameters that are defined in the Parameters section of the template.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter that is defined in the Parameters section of the template.\\'."\n" - .'The Parameters section contains the parameters that you must specify when you use the template to create a stack. You can use the parameters to specify the stack details, such as the username, password, and environment-related Elastic Compute Service (ECS) instance type.'."\n", - 'type' => 'object', - 'example' => '[{"Description": "", "Label": "param_integer", "NoEcho": "false", "ParameterKey": "param_integer", "Type": "Number"},{ "Description": "", "Label": "param_float", "NoEcho": "false", "ParameterKey": "param_float", "Type": "Number"}]', - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'Outputs' => [ - 'description' => 'The outputs of the template.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'OutputKey' => [ - 'description' => 'The name of the template output.'."\n", - 'type' => 'string', - 'example' => 'instance_id', - ], - 'Description' => [ - 'description' => 'The description of the template output.'."\n", - 'type' => 'string', - 'example' => 'The instance ID of my ECS.', - ], - 'Label' => [ - 'description' => 'The alias of the template output.'."\n", - 'type' => 'string', - 'example' => 'Instance ID', - ], - ], - 'description' => '', - ], - ], - 'ResourceTypes' => [ - 'description' => 'The resource types that are used in the template.'."\n", - 'type' => 'object', - 'properties' => [ - 'Resources' => [ - 'description' => 'The regular resource types that are used in the template. The value is deduplicated.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The regular resource type that is used in the template.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::InstanceGroup', - ], - ], - 'DataSources' => [ - 'description' => 'The DataSource resource types that are used in the template. The value is deduplicated.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The DataSource resource type that is used in the template.'."\n", - 'type' => 'string', - 'example' => 'DATASOURCE::VPC::Vpcs', - ], - ], - ], - ], - 'Resources' => [ - 'description' => 'The regular resources that are defined in the template.'."\n" - ."\n" - .'> - For a Resource Orchestration Service (ROS) template, the resource whose definition contains `Count` is not displayed as a list.'."\n" - .'> - For a Terraform template, the resource whose definition contains `count` or `for_each` is not displayed as a list.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The regular resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::InstanceGroup', - ], - 'ResourcePath' => [ - 'description' => 'The path of the regular resource. In most cases, the path of a regular resource is the same as the resource name.'."\n", - 'type' => 'string', - 'example' => 'server', - ], - 'LogicalResourceIdPattern' => [ - 'description' => 'The pattern in which the logical IDs of regular resources are formed.'."\n" - ."\n" - .'If resources are defined in a ROS template, the following rules apply:'."\n" - ."\n" - .'* Resource whose definition does not contain `Count`: If the resource name defined in the template is `server`, the values of LogicalResourceIdPattern and `ResourcePath` are both `server`.``'."\n" - .'* Resource whose definition contains `Count`: If the resource name defined in the template is `server`, the value of LogicalResourceIdPattern is `server[*]`, and the value of `ResourcePath` is `server`.'."\n" - ."\n" - .'If resources and [modules](https://www.terraform.io/language/modules) are defined in a Terraform template, the following rules apply:'."\n" - ."\n" - .'* Resource and module whose definitions do not contain [`count`](https://www.terraform.io/language/meta-arguments/count) or [`for_each`](https://www.terraform.io/language/meta-arguments/for_each): If the resource name defined in the template is `server`, the values of LogicalResourceIdPattern and `ResourcePath` are both `server`.``'."\n" - .'* Resource and module whose definitions contain [`count`](https://www.terraform.io/language/meta-arguments/count) or [`for_each`](https://www.terraform.io/language/meta-arguments/for_each): If the resource name defined in the template is `server`, the value of LogicalResourceIdPattern is `server[*]`, and the value of `ResourcePath` is `server`.'."\n" - ."\n" - .'Examples of LogicalResourceIdPattern for resources in a Terraform template:'."\n" - ."\n" - .'* Valid values of LogicalResourceIdPattern if a resource belongs to the root module:'."\n" - ."\n" - .' * `server`: In this case, `count` and `for_each` are not contained in the resource. The value of `ResourcePath` is `server`.'."\n" - .' * `server[*]`: In this case, `count` or `for_each` is contained in the resource. The value of `ResourcePath` is `server`.'."\n" - ."\n" - .'* Valid values of LogicalResourceIdPattern if a resource belongs to a child module:'."\n" - ."\n" - .' * `app.server`: In this case, `count` and `for_each` are not contained in the `app` module and the `server` resource. The value of `ResourcePath` is `app.server`.````'."\n" - .' * `app.server[*]`: In this case, `count` or `for_each` is contained in the `server` resource, but `count` and `for_each` are not contained in the `app` module. The value of `ResourcePath` is `app.server`.'."\n" - .' * `app[*].server`: In this case, `count` or `for_each` is contained in the `app` module, but `count` and `for_each` are not contained in the `server` resource. The value of `ResourcePath` is `app.server`.'."\n" - .' * `app[*].server[*]`: In this case, `count` or `for_each` is contained in the `app` module and the `server` resource. The value of `ResourcePath` is `app.server`.````'."\n" - .' * `app.app_group[*].server`: In this case, `count` or `for_each` is contained in the `app_group` module, but `count` and `for_each` are not contained in the `app` module and the `server` resource. The value of `ResourcePath` is `app.app_group.server`. The `app_group` module is a child module of the `app` module.````'."\n", - 'type' => 'string', - 'example' => 'server', - ], - ], - 'description' => '', - ], - ], - 'UpdateInfo' => [ - 'description' => 'The information about the stack update. This parameter cannot be returned if the value of UpdateInfoOptions contains Disabled.'."\n", - 'type' => 'object', - 'properties' => [ - 'ParametersAllowedToBeModified' => [ - 'description' => 'The parameters that can be modified.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter that can be modified. If you change only values of the parameters in a stack template and use the template to update the stack, no validation errors are caused.'."\n", - 'type' => 'string', - 'example' => 'param1', - ], - ], - 'ParametersCauseInterruptionIfModified' => [ - 'description' => 'The parameters whose changes cause service interruptions.'."\n" - ."\n" - .'> - This parameter is supported only for a small number of resource types.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change causes a service interruption. If you change only values of the parameters in a stack template and use the template to update the stack, service interruptions are caused.'."\n", - 'type' => 'string', - 'example' => 'param1', - ], - ], - 'ParametersConditionallyAllowedToBeModified' => [ - 'description' => 'The parameters that can be modified under specific conditions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter that can be modified under specific conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the new values of the parameters determine whether validation errors are caused.'."\n", - 'type' => 'string', - 'example' => 'param2', - ], - ], - 'ParametersConditionallyCauseInterruptionIfModified' => [ - 'description' => 'The parameters whose changes cause service interruptions under specific conditions.'."\n" - ."\n" - .'> - This parameter is supported only for a small number of resource types.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change causes a service interruption under specific conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the new values and the update type determine whether service interruptions are caused.'."\n", - 'type' => 'string', - 'example' => 'param2', - ], - ], - 'ParametersNotAllowedToBeModified' => [ - 'description' => 'The parameters that cannot be modified.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter that cannot be modified. If you change only values of the parameters in a stack template and use the template to update the stack, validation errors are caused.'."\n", - 'type' => 'string', - 'example' => 'param3', - ], - ], - 'ParametersUncertainlyAllowedToBeModified' => [ - 'description' => 'The parameters that can be modified under uncertain conditions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter that can be modified under uncertain conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the actual running environment determines whether validation errors are caused.'."\n", - 'type' => 'string', - 'example' => 'param4', - ], - ], - 'ParametersUncertainlyCauseInterruptionIfModified' => [ - 'description' => 'The parameters whose changes cause service interruptions under uncertain conditions.'."\n" - ."\n" - .'> - This parameter is supported only for a small number of resource types.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change causes a service interruption under uncertain conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the actual running environment determines whether service interruptions are caused.'."\n", - 'type' => 'string', - 'example' => 'param4', - ], - ], - 'ParametersCauseReplacementIfModified' => [ - 'description' => 'The parameters whose changes trigger replacement updates for resources.'."\n" - ."\n" - .'> - This parameter can be returned only if the value of UpdateInfoOptions contains EnableReplacement.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change triggers a replacement update for resources. If you change only values of the parameters in a stack template and use the template to update the stack, replacement updates are triggered for resources.'."\n", - 'type' => 'string', - 'example' => 'param5', - ], - ], - 'ParametersConditionallyCauseReplacementIfModified' => [ - 'description' => 'The parameters whose changes trigger replacement updates for resources under specific conditions.'."\n" - ."\n" - .'> - This parameter can be returned only if the value of UpdateInfoOptions contains EnableReplacement.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change triggers a replacement update for resources under specific conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the new values determine whether replacement updates are triggered for resources.'."\n", - 'type' => 'string', - 'example' => 'param6', - ], - ], - 'ParametersUncertainlyCauseReplacementIfModified' => [ - 'description' => 'The parameters whose changes trigger replacement updates for resources under uncertain conditions.'."\n" - ."\n" - .'> - This parameter can be returned only if the value of UpdateInfoOptions contains EnableReplacement.'."\n" - .'> - This parameter is valid only for updates on ROS stacks.', - 'type' => 'array', - 'items' => [ - 'description' => 'The parameter whose change triggers a replacement update for resources under uncertain conditions. If you change only values of the parameters in a stack template and use the template to update the stack, the actual running environment determines whether replacement updates are triggered for resources.'."\n", - 'type' => 'string', - 'example' => 'param7', - ], - ], - ], - ], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'OperationId' => ['description' => 'Operation ID.', 'type' => 'string', 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Description\\": \\"No description\\",\\n \\"Parameters\\": [\\n [\\n {\\n \\"Description\\": \\"\\",\\n \\"Label\\": \\"param_integer\\",\\n \\"NoEcho\\": \\"false\\",\\n \\"ParameterKey\\": \\"param_integer\\",\\n \\"Type\\": \\"Number\\"\\n },\\n {\\n \\"Description\\": \\"\\",\\n \\"Label\\": \\"param_float\\",\\n \\"NoEcho\\": \\"false\\",\\n \\"ParameterKey\\": \\"param_float\\",\\n \\"Type\\": \\"Number\\"\\n }\\n ]\\n ],\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"Outputs\\": [\\n {\\n \\"OutputKey\\": \\"instance_id\\",\\n \\"Description\\": \\"The instance ID of my ECS.\\",\\n \\"Label\\": \\"Instance ID\\"\\n }\\n ],\\n \\"ResourceTypes\\": {\\n \\"Resources\\": [\\n \\"ALIYUN::ECS::InstanceGroup\\"\\n ],\\n \\"DataSources\\": [\\n \\"DATASOURCE::VPC::Vpcs\\"\\n ]\\n },\\n \\"Resources\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::InstanceGroup\\",\\n \\"ResourcePath\\": \\"server\\",\\n \\"LogicalResourceIdPattern\\": \\"server\\"\\n }\\n ],\\n \\"UpdateInfo\\": {\\n \\"ParametersAllowedToBeModified\\": [\\n \\"param1\\"\\n ],\\n \\"ParametersCauseInterruptionIfModified\\": [\\n \\"param1\\"\\n ],\\n \\"ParametersConditionallyAllowedToBeModified\\": [\\n \\"param2\\"\\n ],\\n \\"ParametersConditionallyCauseInterruptionIfModified\\": [\\n \\"param2\\"\\n ],\\n \\"ParametersNotAllowedToBeModified\\": [\\n \\"param3\\"\\n ],\\n \\"ParametersUncertainlyAllowedToBeModified\\": [\\n \\"param4\\"\\n ],\\n \\"ParametersUncertainlyCauseInterruptionIfModified\\": [\\n \\"param4\\"\\n ],\\n \\"ParametersCauseReplacementIfModified\\": [\\n \\"param5\\"\\n ],\\n \\"ParametersConditionallyCauseReplacementIfModified\\": [\\n \\"param6\\"\\n ],\\n \\"ParametersUncertainlyCauseReplacementIfModified\\": [\\n \\"param7\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ValidateTemplateResponse>\\n <Description>No description</Description>\\n <Parameters>\\n <Description/>\\n <Label>param_integer</Label>\\n <NoEcho>false</NoEcho>\\n <ParameterKey>param_integer</ParameterKey>\\n <Type>Number</Type>\\n </Parameters>\\n <Parameters>\\n <Description/>\\n <Label>param_float</Label>\\n <NoEcho>false</NoEcho>\\n <ParameterKey>param_float</ParameterKey>\\n <Type>Number</Type>\\n </Parameters>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n <Outputs>\\n <OutputKey>instance_id</OutputKey>\\n <Description>The instance ID of my ECS.</Description>\\n </Outputs>\\n <ResourceTypes>\\n <Resources>ALIYUN::ECS::InstanceGroup</Resources>\\n <DataSources>DATASOURCE::VPC::Vpcs</DataSources>\\n </ResourceTypes>\\n</ValidateTemplateResponse>","errorExample":""}]', - 'title' => 'ValidateTemplate', - 'description' => 'In this example, a template that you want to use to create a stack is validated. `TemplateURL` is set to `oss://ros/template/demo`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - ], - 'GenerateTemplatePolicy' => [ - 'summary' => 'Generates the information about a policy that is required by a template.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'ROS::2019-09-10::GetStackGroupOperation', 'callbackInterval' => 2000, 'maxCallbackTimes' => 30], + 'title' => 'ImportStacksToStackGroup', + 'summary' => 'Import stacks from multiple different accounts into a stack group.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ImportStacksToStackGroup'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:ImportStacksToStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', + ], + 'ListAITaskEvents' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -9811,922 +8802,637 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '12684', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], + 'abilityTreeCode' => '227787', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'TemplateURL', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length.'."\n" - ."\n" - .'> If you do not specify the region ID of the OSS bucket, the value of the RegionId parameter is used.'."\n" - ."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n" - ."\n" - .'The URL can be up to 1,024 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros/template/demo', - ], - ], - [ - 'name' => 'TemplateBody', - 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length.'."\n" - ."\n" - .'If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', - ], - ], - [ - 'name' => 'TemplateId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the template. This parameter applies to shared templates and private templates.'."\n" - ."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AAAAAdDWBF2****w=='], ], [ - 'name' => 'TemplateVersion', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. This parameter takes effect only when the TemplateId parameter is specified.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The maximum number of results to be returned from a single query when the NextToken parameter is used in the query.'."\n" + ."\n" + .'Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", 'type' => 'string', 'required' => false, 'example' => '50'], ], [ - 'name' => 'OperationTypes', + 'name' => 'TaskId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The type of operation N for which you want to generate the policy information.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* CreateStack: creates a stack by calling the CreateStack operation.'."\n" - .'* UpdateStack: updates a stack by calling the UpdateStack operation.'."\n" - .'* DeleteStack: deletes a stack by calling the DeleteStack operation.'."\n" - .'* DetectStackDrift: detects drifts on a stack by calling the DelectStackDrift operation.'."\n" - .'* ListStackOperationRisks: lists the risks of a deletion operation on a stack by setting the OperationType parameter to DeleteStack in the ListStackOperationRisks operation.'."\n" - .'* GetTemplateEstimateCost: queries the estimated prices of resources that you want to use in the template by calling the GetTemplateEstimateCost operation.'."\n" - .'* GetTemplateParameterConstraints: queries the values of parameters in the template by calling the GetTemplateParameterConstraints operation.'."\n" - .'* ImportResourcesToStack: imports resources to a stack by setting the ChangeSetType parameter to IMPORT in the CreateChangeSet operation.'."\n" - .'* SignalResource: sends a signal to a stack.'."\n" - ."\n" - .'> The default value is the combination of all valid values.', - 'type' => 'array', - 'items' => [ - 'description' => 'The type of operation N for which you want to generate the policy information.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* CreateStack: creates a stack by calling the CreateStack operation.'."\n" - .'* UpdateStack: updates a stack by calling the UpdateStack operation.'."\n" - .'* DeleteStack: deletes a stack by calling the DeleteStack operation.'."\n" - .'* DetectStackDrift: detects drifts on a stack by calling the DelectStackDrift operation.'."\n" - .'* ListStackOperationRisks: lists the risks of a deletion operation on a stack by setting the OperationType parameter to DeleteStack in the ListStackOperationRisks operation.'."\n" - .'* GetTemplateEstimateCost: queries the estimated prices of resources that you want to use in the template by calling the GetTemplateEstimateCost operation.'."\n" - .'* GetTemplateParameterConstraints: queries the values of parameters in the template by calling the GetTemplateParameterConstraints operation.'."\n" - .'* ImportResourcesToStack: imports resources to a stack by setting the ChangeSetType parameter to IMPORT in the CreateChangeSet operation.'."\n" - .'* SignalResource: sends a signal to a stack.'."\n" - ."\n" - .'> The default value is the combination of all valid values.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["CreateStack"]', - ], - 'required' => false, - 'maxItems' => 9, - ], + 'schema' => ['description' => 'The ID of the AI task.'."\n", 'type' => 'string', 'required' => false, 'example' => 't-asasas*****'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Policy' => [ - 'description' => 'The information about the policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'Version' => [ - 'description' => 'The version number.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Statement' => [ - 'description' => 'The statements that are contained in the policy.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Effect' => [ - 'description' => 'The effect of the statement. Valid values:'."\n" - ."\n" - .'* Allow'."\n" - .'* Deny'."\n", - 'type' => 'string', - 'example' => 'Allow', - ], - 'Resource' => [ - 'description' => 'The objects that the statement covers. An asterisk (\\*) indicates all resources.'."\n", - 'type' => 'string', - 'example' => '*', - ], - 'Action' => [ - 'description' => 'The operations that are performed on the specified resource.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The operation that is performed on the specified resource.'."\n", - 'type' => 'string', - 'example' => '[ "apigateway:CreateApi", "apigateway:DeleteApi","apigateway:DescribeApi","apigateway:ModifyApi"]', - ], - ], - 'Condition' => [ - 'description' => 'The condition that is required for the policy to take effect.'."\n", - 'type' => 'object', - 'example' => '{'."\n" - .' "StringEquals": {'."\n" - .' "acs:Service": "fc.aliyuncs.com"'."\n" - .' }'."\n" - .'}', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F'], + 'NextToken' => ['title' => '', 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", 'type' => 'string', 'required' => true, 'example' => 'AAAAAdDWBF2****w=='], + 'HttpStatusCode' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'example' => 'true'], + 'Code' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => 'Forbidden'], + 'Events' => [ + 'description' => 'The events.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The event.'."\n", + 'type' => 'object', + 'properties' => [ + 'AgentType' => [ + 'description' => 'The type of the agent that is used to execute the AI task.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* GenerateTemplateAgent'."\n" + .'* FixUserTemplateAgent'."\n", + 'type' => 'string', + 'enumValueTitles' => ['GenerateTemplateAgent' => 'GenerateTemplateAgent', 'FixUserTemplateAgent' => 'FixUserTemplateAgent'], + 'example' => 'GenerateTemplateAgent', + ], + 'HandlerType' => [ + 'description' => 'The type of the handler that is used to execute the task.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* TerraformTemplateGenerator'."\n" + .'* TemplateGenerator'."\n" + .'* ROSTemplateModifier'."\n" + .'* TerraformTemplateStaticFixer'."\n" + .'* TerraformTemplateDynamicFixer'."\n" + .'* DocumentTemplateGenerator'."\n" + .'* TerraformTemplateModifier'."\n" + .'* TemplateModifier'."\n" + .'* FixTemplateInputPreprocessor'."\n" + .'* TemplateStaticFixer'."\n" + .'* GenerateTemplateInputPreprocessor'."\n" + .'* ROSTemplateGenerator'."\n" + .'* TemplateDynamicFixer'."\n" + .'* BaseDynamicFixer'."\n" + .'* ROSTemplateStaticFixer'."\n" + .'* ROSTemplateDynamicFixer'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'TerraformTemplateGenerator' => 'TerraformTemplateGenerator', 'TemplateGenerator' => 'TemplateGenerator', 'ROSTemplateModifier' => 'ROSTemplateModifier', 'TerraformTemplateStaticFixer' => 'TerraformTemplateStaticFixer', 'TerraformTemplateDynamicFixer' => 'TerraformTemplateDynamicFixer', 'DocumentTemplateGenerator' => 'DocumentTemplateGenerator', 'TerraformTemplateModifier' => 'TerraformTemplateModifier', 'TemplateModifier' => 'TemplateModifier', 'FixTemplateInputPreprocessor' => 'FixTemplateInputPreprocessor', 'TemplateStaticFixer' => 'TemplateStaticFixer', + 'GenerateTemplateInputPreprocessor' => 'GenerateTemplateInputPreprocessor', 'ROSTemplateGenerator' => 'ROSTemplateGenerator', 'TemplateDynamicFixer' => 'TemplateDynamicFixer', 'BaseDynamicFixer' => 'BaseDynamicFixer', 'ROSTemplateStaticFixer' => 'ROSTemplateStaticFixer', 'ROSTemplateDynamicFixer' => 'ROSTemplateDynamicFixer', ], + 'example' => 'ROSTemplateGenerator', + ], + 'HandlerProcessStatus' => [ + 'description' => 'The execution state of the handler that process the AI task.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* SUCCESS'."\n" + .'* RUNNING'."\n" + .'* FAILURE'."\n", + 'type' => 'string', + 'enumValueTitles' => ['SUCCESS' => 'SUCCESS', 'RUNNING' => 'RUNNING', 'FAILURE' => 'FAILURE'], + 'example' => 'RUNNING', ], + 'EventData' => ['description' => 'The details of the event.'."\n", 'type' => 'string', 'example' => 'Document template generator started.'], + 'CreateTime' => ['description' => 'The time when the event was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2019-08-01T04:07:39'], + 'EstimatedProcessingTime' => ['description' => 'The estimated execution time of the handler. Unit: seconds.'."\n", 'type' => 'string', 'example' => '60'], ], ], ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", + 'TaskId' => ['description' => 'The ID of the AI task.'."\n", 'type' => 'string', 'example' => 't-asasas*****'], + 'TaskType' => [ + 'description' => 'The type of the AI task.'."\n" + ."\n" + .'* GenerateTemplate: The AI task is used to generate a template.'."\n" + .'* FixTemplate: The AI task is used to fix a template.'."\n", 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', + 'enumValueTitles' => ['GenerateTemplate' => 'GenerateTemplate', 'FixTemplate' => 'FixTemplate'], + 'example' => 'GenerateTemplate', + ], + 'TaskStatus' => [ + 'description' => 'The state of the AI task.'."\n" + ."\n" + .'* PENDING'."\n" + .'* WAITING'."\n" + .'* RUNNING'."\n" + .'* SUCCESS'."\n" + .'* FAILURE'."\n", + 'type' => 'string', + 'enumValueTitles' => ['SUCCESS' => 'SUCCESS', 'RUNNING' => 'RUNNING', 'WAITING' => 'WAITING', 'PENDING' => 'PENDING', 'FAILURE' => 'FAILURE'], + 'example' => 'RUNNING', ], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Policy\\": {\\n \\"Version\\": \\"1\\",\\n \\"Statement\\": [\\n {\\n \\"Effect\\": \\"Allow\\",\\n \\"Resource\\": \\"*\\",\\n \\"Action\\": [\\n \\"[\\\\n \\\\\\"ram:PassRole\\\\\\"\\\\n]\\"\\n ],\\n \\"Condition\\": {\\n \\"StringEquals\\": {\\n \\"acs:Service\\": \\"fc.aliyuncs.com\\"\\n }\\n }\\n }\\n ]\\n },\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\"\\n}","errorExample":""},{"type":"xml","example":"<Policy>\\n <Version>1</Version>\\n <Statement>\\n <Action>ecs:DescribeVpcs</Action>\\n <Action>ecs:DeleteVpc</Action>\\n <Resource>*</Resource>\\n <Effect>Allow</Effect>\\n </Statement>\\n <Statement>\\n <Action>vpc:CreateVpc</Action>\\n <Action>vpc:DescribeVpcs</Action>\\n <Action>vpc:ModifyVpcAttribute</Action>\\n <Action>vpc:TagResources</Action>\\n <Resource>*</Resource>\\n <Effect>Allow</Effect>\\n </Statement>\\n</Policy>\\n<RequestId>16AAEDEB-6273-405E-97D3-023EFD95DE03</RequestId>","errorExample":""}]', - 'title' => 'GenerateTemplatePolicy', - 'description' => 'If the policy information is related to Enterprise Distributed Application Service (EDAS), you must log on to your Alibaba Cloud account and grant the required permissions to the relevant RAM users.'."\n" - ."\n" - .'In this example, a policy is generated for a template whose ID is `5ecd1e10-b0e9-4389-a565-e4c15efc****`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => '| HttpCode | Error code | Error message | Description |'."\n" - .'| -------- | ---------- | ------------- | ----------- |'."\n" - .'| 400 | StackValidationFailed | {reason}. | The error message returned because the stack failed to be validated. reason indicates the cause of the error. |'."\n" - .'| 404 | TemplateNotFound | The Tempalte ({ ID }) could not be found. | The error message returned because the specified template does not exist. ID indicates the template ID. |'."\n" - .'| 404 | TemplateNotFound | The Template { ID } with version { version } could not be found. | The error message returned because the template or template version does not exist. ID indicates the template ID. version indicates the template version. |', - ], - 'SetStackPolicy' => [ - 'summary' => 'Configures a stack policy for a stack.', - 'path' => '/V2/SetStackPolicy', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"NextToken\\": \\"AAAAAdDWBF2****w==\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Success\\": \\"true\\",\\n \\"Code\\": \\"Forbidden\\",\\n \\"Events\\": [\\n {\\n \\"AgentType\\": \\"GenerateTemplateAgent\\",\\n \\"HandlerType\\": \\"ROSTemplateGenerator\\",\\n \\"HandlerProcessStatus\\": \\"RUNNING\\",\\n \\"EventData\\": \\"Document template generator started.\\",\\n \\"CreateTime\\": \\"2019-08-01T04:07:39\\",\\n \\"EstimatedProcessingTime\\": \\"60\\"\\n }\\n ],\\n \\"TaskId\\": \\"t-asasas*****\\",\\n \\"TaskType\\": \\"GenerateTemplate\\",\\n \\"TaskStatus\\": \\"RUNNING\\"\\n}","type":"json"}]', + 'title' => 'ListAITaskEvents', + 'summary' => 'Queries the events of an AI task.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:ListAITaskEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListAITasks' => [ + 'summary' => 'Queries a list of AI tasks.', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeCode' => '227771', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'StackId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'U12WEI6Ro2ol3wA54rBNS3Cltv2VJyA+7hP4GqbIOhmWU5mWU9ZE3cXLgDaH4KSMRfIYcIVrvtHaAzCoyfo7VQ=='], ], [ - 'name' => 'RegionId', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The maximum number of data entries to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50'], ], [ - 'name' => 'StackPolicyBody', + 'name' => 'TaskType', 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the stack policy body. The stack policy body must be 1 to 16,384 bytes in length.'."\n" - ."\n" - .'You can specify one of the StackPolicyBody and StackPolicyURL parameters, but you cannot specify both of them.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}', - ], + 'schema' => ['description' => 'The type of the AI task. You can filter AI tasks by task type.'."\n" + ."\n" + .'* GenerateTemplate: The AI task is used to generate a template.'."\n" + .'* FixTemplate: The AI task is used to fix a template.'."\n" + ."\n" + .'If you leave this parameter empty, all task types are queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'GenerateTemplate', 'title' => ''], ], [ - 'name' => 'StackPolicyURL', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL for the file that contains the stack policy. The URL must point to a template located in an HTTP or HTTPS web server or an Alibaba Cloud OSS bucket. Examples: oss://ros/template/demo and oss://ros/template/demo?RegionId=cn-hangzhou. The template can be up to 16,384 bytes in length, and the URL can be up to 1,350 bytes in length.'."\n" - ."\n" - .'> If the region of the OSS bucket is not specified, the RegionId value is used.'."\n" - ."\n" - .'You can specify one of the StackPolicyBody and StackPolicyURL parameters, but you cannot specify both of them.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros/stack-policy/demo', - ], + 'schema' => ['description' => 'The ID of the AI task. You can filter AI tasks by task ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 't-asasas*****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84****'], + 'NextToken' => ['title' => '', 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", 'type' => 'string', 'required' => true, 'example' => 'U12WEI6Ro2ol3wA54rBNS3Cltv2VJyA+7hP4GqbIOhmWU5mWU9ZE3cXLgDaH4KSMRfIYcIVrvtHaAzCoyfo7VQ=='], + 'Tasks' => [ + 'description' => 'The AI tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The AI task.'."\n", + 'type' => 'object', + 'properties' => [ + 'TaskId' => ['description' => 'The ID of the AI task.'."\n", 'type' => 'string', 'example' => 't-asasas*****'."\n", 'title' => ''], + 'TaskType' => [ + 'description' => 'The type of the AI task.'."\n" + ."\n" + .'* GenerateTemplate: The AI task is used to generate a template.'."\n" + .'* FixTemplate: The AI task is used to fix a template.'."\n", + 'type' => 'string', + 'enumValueTitles' => ['GenerateTemplate' => 'GenerateTemplate', 'FixTemplate' => 'FixTemplate'], + 'example' => 'GenerateTemplate', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The state of the AI task.'."\n" + ."\n" + .'* PENDING'."\n" + .'* WAITING'."\n" + .'* RUNNING'."\n" + .'* SUCCESS'."\n" + .'* FAILURE'."\n", + 'type' => 'string', + 'enumValueTitles' => ['SUCCESS' => 'SUCCESS', 'RUNNING' => 'RUNNING', 'WAITING' => 'WAITING', 'PENDING' => 'PENDING', 'FAILURE' => 'FAILURE'], + 'example' => 'RUNNING', + 'title' => '', + ], + 'StatusReason' => ['description' => 'The reason why the AI task is in the state.'."\n", 'type' => 'string', 'example' => 'Handler execution unexpected failure'."\n", 'title' => ''], + 'CreateTime' => ['description' => 'The time when the AI task was created. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format.'."\n", 'type' => 'string', 'example' => '2023-03-15T03:15:53', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the AI task was updated. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format.'."\n", 'type' => 'string', 'example' => '2023-11-20T22:00:50', 'title' => ''], + 'Prompt' => ['description' => 'The description of the AI task.'."\n", 'type' => 'string', 'example' => 'Create an ECS instance and deploy an Nginx service', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'HttpStatusCode' => ['description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => 'You are not authorized to complete this action.', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"<SetStackPolicyResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n</SetStackPolicyResponse>","errorExample":""}]', - 'title' => 'SetStackPolicy', - 'description' => 'In this example, a stack policy is configured for a stack deployed in the `China (Hangzhou)` region whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****`. The URL to the stack policy body is `oss://ros/stack-policy/demo`.'."\n", - 'requestParamsDescription' => 'For more information about common parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" - .'| ---------- | ------------- | ---------------- | ----------- |'."\n" - .'| StackValidationFailed | {reason}. | 400 | The error message returned because the stack validation failed. reason indicates the specific reason. |'."\n" - .'| StackNotFound | The Stack ({name}) could not be found. | 404 | The error message returned because the specified stack does not exist. name indicates the name or ID of the stack. |', - ], - 'GetStackPolicy' => [ - 'summary' => 'Queries the information about a stack policy in an Alibaba Cloud region.', - 'path' => '/V2/GetStackPolicy', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], - ], - 'parameters' => [ - [ - 'name' => 'StackId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'StackPolicyBody' => [ - 'description' => 'The structure that contains the stack policy body. The stack policy body must be 1 to 16,384 bytes in length.'."\n", - 'type' => 'object', - 'example' => '{"Statement": [{"Action": "Update:*", "Effect": "Allow","Principal": "*","Resource": "*"}]}', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84****\\",\\n \\"NextToken\\": \\"U12WEI6Ro2ol3wA54rBNS3Cltv2VJyA+7hP4GqbIOhmWU5mWU9ZE3cXLgDaH4KSMRfIYcIVrvtHaAzCoyfo7VQ==\\",\\n \\"Tasks\\": [\\n {\\n \\"TaskId\\": \\"t-asasas*****\\\\n\\",\\n \\"TaskType\\": \\"GenerateTemplate\\",\\n \\"Status\\": \\"RUNNING\\",\\n \\"StatusReason\\": \\"Handler execution unexpected failure\\\\n\\",\\n \\"CreateTime\\": \\"2023-03-15T03:15:53\\",\\n \\"UpdateTime\\": \\"2023-11-20T22:00:50\\",\\n \\"Prompt\\": \\"Create an ECS instance and deploy an Nginx service\\"\\n }\\n ],\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'title' => 'ListAITasks', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAITasks'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:ListAITasks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StackPolicyBody\\": {\\n \\"Statement\\": [\\n {\\n \\"Action\\": \\"Update:*\\",\\n \\"Effect\\": \\"Allow\\",\\n \\"Principal\\": \\"*\\",\\n \\"Resource\\": \\"*\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetStackPolicyResponse> \\n <StackPolicyBody> \\n <Statement> \\n <Statement> \\n <Resource>*</Resource> \\n <Principal>*</Principal> \\n <Action>Update:*</Action> \\n <Effect>Allow</Effect> \\n </Statement> \\n <Statement> \\n <Resource>LogicalResourceId/WebServer</Resource> \\n <Principal>*</Principal> \\n <Action>Update:*</Action> \\n <Effect>Deny</Effect> \\n </Statement> \\n </Statement> \\n </StackPolicyBody> \\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId> \\n</GetStackPolicyResponse>\\n","errorExample":""}]', - 'title' => 'GetStackPolicy', - 'description' => 'In this example, the stack policy of a stack whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` is queried. The stack is deployed in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" - .'| ---------- | ------------- | ---------------- | ----------- |'."\n" - .'| StackNotFound | The Stack ({name}) could not be found. | 404 | The error message returned because the specified stack does not exist. name indicates the name or ID of the stack. |', ], - 'CreateChangeSet' => [ - 'summary' => 'Creates a change set for a stack. You can view proposed changes before you execute the change set.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListChangeSets' => [ + 'summary' => 'Queries the details of created change sets.', + 'path' => '/V2/ListChangeSets', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATURErosM9I2VQ', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosM9I2VQ'], ], 'parameters' => [ [ 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack for which you want to create the change set. ROS compares the stack information with the information that you submit, such as an updated template or parameter value, to generate the change set.\\'."\n" - .'You can call the [ListStacks](~~610818~~) operation to query the stack ID.'."\n" - ."\n" - .'> This parameter takes effect only when ChangeSetType is set to UPDATE or IMPORT.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - ], - [ - 'name' => 'StackPolicyURL', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the stack policy. The URL must point to a policy that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/stack-policy/demo or oss://ros/stack-policy/demo?RegionId=cn-hangzhou. The policy file can be up to 16,384 bytes in length.'."\n" - ."\n" - .'The URL can be up to 1,350 bytes in length.'."\n" - ."\n" - .'> If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'If you set ChangeSetType to **CREATE**, you can specify StackPolicyBody or StackPolicyURL.'."\n" - ."\n" - .'If you set ChangeSetType to **UPDATE**, you can specify only one of the following parameters:'."\n" - ."\n" - .'* StackPolicyBody'."\n" - .'* StackPolicyURL'."\n" - .'* StackPolicyDuringUpdateBody'."\n" - .'* StackPolicyDuringUpdateURL'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros/stack-policy/demo', - ], - ], - [ - 'name' => 'StackPolicyBody', - 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the stack policy body. The policy body must be 1 to 16,384 bytes in length.'."\n" - ."\n" - .'If you set ChangeSetType to **CREATE**, you can specify StackPolicyBody or StackPolicyURL.'."\n" - ."\n" - .'If you set ChangeSetType to **UPDATE**, you can specify only one of the following parameters:'."\n" - ."\n" - .'* StackPolicyBody'."\n" - .'* StackPolicyURL'."\n" - .'* StackPolicyDuringUpdateBody'."\n" - .'* StackPolicyDuringUpdateURL'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}', - ], + 'schema' => ['description' => 'The stack ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'StackName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack for which you want to create the change set.\\'."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). The name must start with a digit or a letter.'."\n" - ."\n" - .'> This parameter takes effect only if you set ChangeSetType to CREATE or IMPORT.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'MyStack', - ], - ], - [ - 'name' => 'UsePreviousParameters', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the values that were passed last time for the parameters that you do not specify in the current request. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n" - ."\n" - .'> This parameter takes effect only if you set ChangeSetType to UPDATE or IMPORT.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The number of entries per page in paging query. The value must be an integer.'."\n" + .'Valid values: 1 to 50.'."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'ChangeSetType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the change set. Valid values:'."\n" - ."\n" - .'* CREATE: creates a change set for a new stack.'."\n" - .'* UPDATE (default): creates a change set for an existing stack.'."\n" - .'* IMPORT: creates a change set for a new stack or an existing stack to import resources that are not managed by ROS.'."\n" - ."\n" - .'If you set ChangeSetType to CREATE, ROS creates a stack. The stack remains in the `REVIEW_IN_PROGRESS` state until you execute the change set.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* You cannot set ChangeSetType to UPDATE when you create a change set for a new stack. You cannot set ChangeSetType to CREATE when you create a change set for an existing stack.'."\n" - ."\n" - .'* If you set ChangeSetType to Import, you cannot configure a stack policy. You can specify ChangeSetType only when you create or update a stack.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'UPDATE', - ], + 'schema' => ['description' => 'The region ID of the change set. You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the change set. The description can be up to 1,024 bytes in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'It is a demo.', - ], + 'schema' => ['description' => 'The page number of the change set list. '."\n" + .'Minimum value: 1. '."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ChangeSetId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the change set.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The change set ID. If you do not need detailed information about the change set, you can use this parameter instead of calling the GetChangeSet operation.', 'type' => 'string', 'required' => false, 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'Status', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the value is unique among different requests.\\'."\n" - .'The token can contain letters, digits, hyphens (-), and underscores (\\_) and cannot exceed 64 characters in length.\\'."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', + 'description' => 'The status of the change set. Maximum value of N: 5. Valid values:'."\n" + .'- CREATE_PENDING'."\n" + .'- CREATE_IN_PROGRESS'."\n" + .'- CREATE_COMPLETE'."\n" + .'- CREATE_FAILED'."\n" + .'- DELETE_FAILED'."\n" + .'- DELETE_COMPLETE.', + 'type' => 'array', + 'items' => ['description' => 'The status of the change set.', 'type' => 'string', 'required' => false, 'example' => 'CREATE_COMPLETE', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'example' => 'CREATE_COMPLETE', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'TemplateURL', + 'name' => 'ChangeSetName', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an OSS bucket, such as oss://ros/template/demo and oss://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length.'."\n" - ."\n" - .'> If you do not specify the region of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n" - ."\n" - .'The URL can be up to 1,024 bytes in length.'."\n", - 'type' => 'string', + 'description' => 'The name of the change set. Maximum value of N: 5. You can use the wildcard character asterisk (\\*) for fuzzy match.', + 'type' => 'array', + 'items' => ['description' => 'The name of the change set.', 'type' => 'string', 'required' => false, 'example' => 'MyChangeSet', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros/template/demo', + 'example' => 'MyChangeSet', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'StackPolicyDuringUpdateURL', + 'name' => 'ExecutionStatus', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The URL of the stack policy based on which the stack is updated. The URL must point to a policy that is located on an HTTP or HTTPS web server or in an OSS bucket, such as oss://ros/stack-policy/demo and oss://ros/stack-policy/demo?RegionId=cn-hangzhou. The policy file can be up to 16,384 bytes in length.'."\n" - ."\n" - .'> If you do not specify the region of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'The URL can be up to 1,350 bytes in length.\\'."\n" - .'If you need to update protected resources, specify a temporary overriding stack policy for the resources during the update. If you do not specify a stack policy, the existing policy that is associated with the stack is used. This parameter takes effect only if you set ChangeSetType to UPDATE. You can specify only one of the following parameters:'."\n" - ."\n" - .'* StackPolicyBody'."\n" - .'* StackPolicyURL'."\n" - .'* StackPolicyDuringUpdateBody'."\n" - .'* StackPolicyDuringUpdateURL'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros/stack-policy/demo', - ], - ], - [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', + 'description' => 'The execution status of the change set. Maximum value of N: 5. Valid values:'."\n" + .'- UNAVAILABLE'."\n" + .'- AVAILABLE'."\n" + .'- EXECUTE_IN_PROGRESS'."\n" + .'- EXECUTE_COMPLETE'."\n" + .'- EXECUTE_FAILED'."\n" + .'- OBSOLETE.', + 'type' => 'array', + 'items' => ['description' => 'The execution status of the change set.', 'type' => 'string', 'required' => false, 'example' => 'AVAILABLE', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', + 'example' => 'AVAILABLE', + 'maxItems' => 5, + 'title' => '', ], ], - [ - 'name' => 'TimeoutInMinutes', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The amount of time that can elapse before the stack enters the CREATE_FAILED or UPDATE_FAILED state.\\'."\n" - .'If you set ChangeSetType to CREATE, this parameter is required. If you set ChangeSetType to UPDATE, this parameter is optional.'."\n" - ."\n" - .'* Unit: minutes.'."\n" - .'* Valid values: 10 to 1440.'."\n" - .'* Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '12', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => ['description' => 'The total number of change sets returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page in paging query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'PageNumber' => ['description' => 'The page number in paging query. The value is an integer with a minimum value of 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ChangeSets' => [ + 'description' => 'The change sets.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the change set.', 'type' => 'string', 'example' => 'CREATE_COMPLETE', 'title' => ''], + 'StackId' => ['description' => 'The ID of the stack to which the change set belongs.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + 'ChangeSetName' => ['description' => 'The name of the change set.', 'type' => 'string', 'example' => 'MyChangeSet', 'title' => ''], + 'Description' => ['description' => 'The description of the change set.', 'type' => 'string', 'example' => 'It is a demo.', 'title' => ''], + 'ChangeSetType' => ['description' => 'The type of the change set. Valid values: CREATE, UPDATE, and DELETE.', 'type' => 'string', 'example' => 'UPDATE', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the change set is in its current status.', 'type' => 'string', 'example' => 'too many changes', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the change set was created. The time is displayed in UTC+0 based on the ISO 8601 standard without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2019-08-01T05:16:31', 'title' => ''], + 'ChangeSetId' => ['description' => 'The ID of the change set.', 'type' => 'string', 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', 'title' => ''], + 'StackName' => ['description' => 'The name of the stack to which the change set belongs.', 'type' => 'string', 'example' => 'MyStack', 'title' => ''], + 'ExecutionStatus' => ['description' => 'The execution status of the change set.', 'type' => 'string', 'example' => 'AVAILABLE', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID. '."\n" + .'For more information about resource groups, see [What is a resource group?](~~94475~~).', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the change set.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the change set.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DisableRollback', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disable rollback when the stack fails to be created.\\'."\n" - .'Valid values:'."\n" - ."\n" - .'* true: disables rollback for the stack when the stack fails to be created.'."\n" - .'* false (default): enables rollback for the stack when the stack fails to be created.'."\n" - ."\n" - .'> This parameter takes effect only if you set ChangeSetType to CREATE or IMPORT.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'false', + ], + 'errorCodes' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"PageNumber\\": 1,\\n \\"ChangeSets\\": [\\n {\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"ChangeSetName\\": \\"MyChangeSet\\",\\n \\"Description\\": \\"It is a demo.\\",\\n \\"ChangeSetType\\": \\"UPDATE\\",\\n \\"StatusReason\\": \\"too many changes\\",\\n \\"CreateTime\\": \\"2019-08-01T05:16:31\\",\\n \\"ChangeSetId\\": \\"1f6521a4-05af-4975-afe9-bc4b45ad****\\",\\n \\"StackName\\": \\"MyStack\\",\\n \\"ExecutionStatus\\": \\"AVAILABLE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query change sets', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => "\n" + .'| HttpCode | Error code | Error message | Description |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | StackNotFound |The Stack ({name}) could not be found. |The stack does not exist. name indicates the stack name or ID. |.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListChangeSets'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListChangeSets', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], ], ], + ], + ], + 'ListDiagnostics' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ChangeSetName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the change set.\\'."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). The name must start with a digit or a letter.'."\n" - ."\n" - .'> Make sure that the name is unique among all names of change sets that are associated with the specified stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyChangeSet', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'StackPolicyDuringUpdateBody', + 'name' => 'DiagnosticKey', 'in' => 'query', - 'schema' => [ - 'description' => 'The structure of the temporary overriding stack policy. The policy body must be 1 to 16,384 bytes in length.\\'."\n" - .'If you need to update protected resources, specify a temporary overriding stack policy for the resources during the update. If you do not specify a temporary overriding stack policy, the existing stack policy that is associated with the stack is used.\\'."\n" - .'This parameter takes effect only if you set ChangeSetType to UPDATE. You can specify only one of the following parameters:'."\n" - ."\n" - .'* StackPolicyBody'."\n" - .'* StackPolicyURL'."\n" - .'* StackPolicyDuringUpdateBody'."\n" - .'* StackPolicyDuringUpdateURL'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}', - ], + 'schema' => ['description' => 'The keyword in the diagnosis.'."\n", 'type' => 'string', 'required' => false, 'example' => '2829A772-B154-5A0A-B61B-DEE8A9EE8A5D'], ], [ - 'name' => 'RamRoleName', + 'name' => 'DiagnosticProduct', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Resource Access Management (RAM) role. ROS assumes the RAM role to create the stack and uses the credentials of the role to call the APIs of Alibaba Cloud services.\\'."\n" - .'ROS assumes the RAM role to perform operations on the stack. If you have permissions to perform operations on the stack, ROS assumes the RAM role even if you do not have permissions to use the RAM role. You must make sure that permissions are granted to the RAM role based on the principle of least privilege.\\'."\n" - .'If you do not specify this parameter, ROS assumes the existing role of the stack. If no roles are available, ROS uses a temporary credential that is generated from the credentials of your account.\\'."\n" - .'The RAM role name can be up to 64 characters in length.'."\n" - ."\n" - .'For more information about RAM roles, see [Use a stack role](~~2568025~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-role', - ], + 'schema' => ['description' => 'The product that is diagnosed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ros'], ], [ - 'name' => 'ReplacementOption', + 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable replacement update if a resource property is changed and you cannot modify the new resource property. For a change, the physical ID of the resource remains unchanged. For a replacement update, the existing resource is deleted, a new resource is created, and the physical ID of the resource is changed. Valid values:'."\n" - ."\n" - .'* Enabled'."\n" - .'* Disabled (default)'."\n" - ."\n" - .'> Operations that you perform to modify the resource properties for an update take precedence over operations you perform to replace the resource properties for an update. This parameter takes effect only if you set ChangeSetType to UPDATE.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Disabled', - ], + 'schema' => ['description' => 'The diagnosis status.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Complete'], ], [ - 'name' => 'TemplateId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The template ID. This parameter applies to shared templates and private templates.'."\n" - ."\n" - .'You can call the [ListTemplates](~~610842~~) operation to query the template ID.'."\n" - ."\n" - .'> You can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f01****'], ], [ - 'name' => 'TemplateVersion', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template.'."\n" - ."\n" - .'> This parameter takes effect only if you specify TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The maximum number of results to be returned in a single call when NextToken is used for the query.'."\n" + ."\n" + .'Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.'."\n", 'type' => 'string', 'required' => false, 'example' => '50'], ], - [ - 'name' => 'Parameters', - 'in' => 'query', - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The parameters that are defined in the template.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The key of parameter N that is defined in the template. If you do not specify the key and value of a parameter, ROS uses the default name and value that are defined in the template. Maximum value of N: 200.'."\n" - ."\n" - .'> Parameters is optional. If you specify Parameters, you must also specify Parameters.N.ParameterKey.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The value of parameter N that is defined in the template. Maximum value of N: 200.'."\n" - ."\n" - .'> Parameters is optional. If you specify Parameters, you must also specify Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '12', + 'type' => 'object', + 'properties' => [ + 'HttpStatusCode' => ['description' => 'The HTTP status code returned. The value 200 indicates that the request was successful.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'Message' => ['description' => 'The error message returned.'."\n", 'type' => 'string', 'example' => 'You are not authorized to complete this action.'], + 'Diagnostics' => [ + 'description' => 'The items that are diagnosed.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'CreateTime' => ['description' => 'The time when the diagnostic report was generated.'."\n", 'type' => 'string', 'example' => '2022-08-01T02:23:55'], + 'DiagnosticKey' => ['description' => 'The keyword in the diagnosis.'."\n", 'type' => 'string', 'example' => '047D84D9-D3EB-5DA8-87F1-9A7DD5598A5D'], + 'DiagnosticProduct' => ['description' => 'The product that is diagnosed.'."\n", 'type' => 'string', 'example' => 'ros'], + 'ReportId' => ['description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'example' => 'dr-2963bfbcac834f1a****'], + 'Status' => ['description' => 'The diagnosis status.'."\n", 'type' => 'string', 'example' => 'success'], + ], ], ], - 'required' => false, - 'description' => '', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '1983D1C4-88EA-5D7D-90AB-467D01867A5D'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'string', 'example' => 'true'], + 'NextToken' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f01****'], ], - 'required' => false, - 'maxItems' => 200, + 'description' => '', ], ], - [ - 'name' => 'NotificationURLs', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The callback URLs that are used to receive stack events.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The callback URL that is used to receive stack events. Valid values:'."\n" - ."\n" - .'* HTTP POST URL'."\n" - ."\n" - .'Each URL can be up to 1,024 bytes in length.'."\n" - ."\n" - .'* eventbridge'."\n" - ."\n" - .'When the status of a stack changes, ROS sends an event notification to the EventBridge service. To view the event information, perform the following operations: Log on to the [EventBridge console](https://eventbridge.console.aliyun.com). In the left-side navigation pane, click **Event Buses**.'."\n" - ."\n" - .'> This feature is supported in the China (Hangzhou), China (Shanghai), China (Beijing), China (Hong Kong), and China (Zhangjiakou) regions.'."\n" - ."\n" - .'You can specify up to five callback URLs. When the status of a stack changes, ROS sends a notification to the specified URL. When rollback is enabled for the stack, notifications are sent if the stack is in the CREATE_ROLLBACK or ROLLBACK state, but are not sent if the stack is in the CREATE_FAILED, UPDATE_FAILED, or IN_PROGRESS state. ROS does not send notifications when the stack is in the IN_PROGRESS state.\\'."\n" - .'ROS sends notifications regardless of whether you specify the Outputs section. The following sample code provides an example on the content of a notification:'."\n" - ."\n" - .' {'."\n" - .' "Outputs": ['."\n" - .' {'."\n" - .' "Description": "No description given",'."\n" - .' "OutputKey": "InstanceId",'."\n" - .' "OutputValue": "i-xxx"'."\n" - .' }'."\n" - .' ],'."\n" - .' "StackId": "80bd6b6c-e888-4573-ae3b-93d29113****",'."\n" - .' "StackName": "test-notification-url",'."\n" - .' "Status": "CREATE_COMPLETE"'."\n" - .' }'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://example.com/ros-notify', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"Diagnostics\\": [\\n {\\n \\"CreateTime\\": \\"2022-08-01T02:23:55\\",\\n \\"DiagnosticKey\\": \\"047D84D9-D3EB-5DA8-87F1-9A7DD5598A5D\\",\\n \\"DiagnosticProduct\\": \\"ros\\",\\n \\"ReportId\\": \\"dr-2963bfbcac834f1a****\\",\\n \\"Status\\": \\"success\\"\\n }\\n ],\\n \\"RequestId\\": \\"1983D1C4-88EA-5D7D-90AB-467D01867A5D\\",\\n \\"Success\\": \\"true\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f01****\\"\\n}","type":"json"}]', + 'title' => 'ListDiagnostics', + 'summary' => 'Queries a diagnostic report.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:ListDiagnostics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, - 'example' => 'http://my-site.com/ros-notify', - 'maxItems' => 5, ], ], + ], + ], + 'ListResourceTypeRegistrations' => [ + 'summary' => 'Queries a list of resource registration records.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ResourcesToImport', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The resources that you want to import to the stack.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ResourceIdentifier' => [ - 'description' => 'The key-value mapping between strings. The key-value mapping is used to identify resource N that you want to import. The key-value mapping must be a JSON string.\\'."\n" - .'A key is an identifier property of a resource and a value is the property value. For example, the key of the ALIYUN::ECS::VPC resource is VpcId and the value is `vpc-2zevx9ios****`.'."\n" - ."\n" - .'You can call the [GetTemplateSummary](~~172485~~) operation to query the identifier property of the resource.'."\n" - ."\n" - .'> This parameter takes effect only when ChangeSetType is set to IMPORT. ResourcesToImport is optional. If you specify ResourcesToImport, you must specify ResourcesToImport.N.ResourceIdentifier.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"VpcId": "vpc-2zevx9ios******"}', - ], - 'LogicalResourceId' => [ - 'description' => 'The logical ID of resource N. The logical ID is the name of the resource defined in the template.'."\n" - ."\n" - .'> This parameter takes effect only when ChangeSetType is set to IMPORT. ResourcesToImport is optional. If you specify ResourcesToImport, you must specify ResourcesToImport.N.LogicalResourceId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Vpc', - ], - 'ResourceType' => [ - 'description' => 'The type of resource N. The resource type must be the same as the resource type that is defined in the template.'."\n" - ."\n" - .'> This parameter takes effect only when ChangeSetType is set to IMPORT. ResourcesToImport is optional. If you specify ResourcesToImport, you must specify ResourcesToImport.N.ResourceType.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ALIYUN::ECS::VPC', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => false, - 'maxItems' => 300, - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'TemplateScratchId', + 'name' => 'EntityType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the resource scenario. In this example, this parameter specifies the ID of a resource management scenario.'."\n" - ."\n" - .'This parameter takes effect only when ChangeSetType is set to IMPORT. TemplateScratchId is supported only when you import resources to create a new stack.'."\n" - ."\n" - .'If you want to use a resource management scenario to import resources, you can specify only TemplateScratchId rather than configuring parameters related to templates.'."\n" - ."\n" - .'You can call the [ListTemplateScratches](~~610832~~) operation to query the ID of the resource management scenario.'."\n", + 'description' => 'The entity type. Valid values: Module.', + 'enumValueTitles' => ['Module' => 'Module'], 'type' => 'string', 'required' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', + 'example' => 'Module', + 'title' => '', ], ], [ - 'name' => 'Parallelism', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of concurrent operations that can be performed on resources. By default, this parameter is empty. You can set this parameter to an integer that is greater than or equal to 0. If you set this parameter to a specific value, ROS associates the value with the stack. The value can affect subsequent operations on the stack.'."\n" - ."\n" - .'This parameter takes effect only if you set ChangeSetType to CREATE or UPDATE.'."\n" - ."\n" - .'* Valid values for change sets of the CREATE type:'."\n" - ."\n" - .' * If you set this parameter to an integer that is greater than 0, the integer is used.'."\n" - .' * If you set this parameter to 0 or leave this parameter empty, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" - ."\n" - .'* Valid values for change sets of the UPDATE type:'."\n" - ."\n" - .' * If you set this parameter to an integer that is greater than 0, the integer is used.'."\n" - .' * If you set this parameter to 0, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n" - .' * If you leave this parameter empty, the value that you specified for this parameter in the previous request is used. If you left this parameter empty in the previous request, no limit is imposed on ROS stacks. However, the default value in Terraform is used for Terraform stacks. In most cases, the default value in Terraform is 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The resource type. The value can contain uppercase and lowercase letters, digits, colons (:), and asterisks (*). If you use an asterisk, fuzzy match is performed.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase'."\n", 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'RegistrationId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'type' => 'string', - 'required' => false, - ], - 'Value' => [ - 'type' => 'string', - ], - ], - ], - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The registration ID.', 'type' => 'string', 'required' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'Status', 'in' => 'query', 'schema' => [ + 'description' => 'The registration status. Valid values:'."\n" + .'- IN_PROGRESS: In progress.'."\n" + .'- COMPLETE: Succeeded.'."\n" + .'- FAILED: Failed.', + 'enumValueTitles' => ['IN_PROGRESS' => 'IN_PROGRESS', 'COMPLETE' => 'COMPLETE', 'FAILED' => 'FAILED'], 'type' => 'string', + 'required' => false, + 'example' => 'COMPLETE', + 'title' => '', ], ], [ - 'name' => 'TaintResources', + 'name' => 'PageNumber', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 100, - ], + 'schema' => ['description' => 'The page number for paging. Minimum value: 1. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page for paging. Valid values: 1 to 50. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -10734,105 +9440,99 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangeSetId' => [ - 'description' => 'The ID of the change set.'."\n", - 'type' => 'string', - 'example' => 'e85abe0c-6528-43fb-ae93-fdf8de22****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'StackId' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + 'Registrations' => [ + 'description' => 'The list of resource registration records.', + 'type' => 'array', + 'items' => [ + 'description' => 'The resource registration record.', + 'type' => 'object', + 'properties' => [ + 'RegistrationId' => ['description' => 'The registration ID.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****'."\n", 'title' => ''], + 'EntityType' => [ + 'description' => 'The entity type. Valid values: Module.', + 'enumValueTitles' => ['Module' => 'Module'], + 'type' => 'string', + 'example' => 'Module', + 'title' => '', + ], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', 'title' => ''], + 'VersionId' => ['description' => 'The version ID.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'Status' => [ + 'description' => 'The registration status. Valid values:'."\n" + .'- IN_PROGRESS: In progress.'."\n" + .'- COMPLETE: Succeeded.'."\n" + .'- FAILED: Failed.', + 'enumValueTitles' => ['IN_PROGRESS' => 'IN_PROGRESS', 'COMPLETE' => 'COMPLETE', 'FAILED' => 'FAILED'], + 'type' => 'string', + 'example' => 'COMPLETE', + 'title' => '', + ], + 'StatusReason' => ['description' => 'The reason for the status.', 'type' => 'string', 'example' => 'Module is created successfully', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the registration record was created. The time is displayed in UTC+0 based on the ISO 8601 standard but without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2023-03-02T07:28:35', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number for paging.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of registration records.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangeSetId\\": \\"e85abe0c-6528-43fb-ae93-fdf8de22****\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateChangeSetResponse>\\n <ChangeSetId>e85abe0c-6528-43fb-ae93-fdf8de22****</ChangeSetId>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n</CreateChangeSetResponse>","errorExample":""}]', - 'title' => 'CreateChangeSet', - 'description' => '### [](#)Scenarios'."\n" - ."\n" - .'#### [](#)Use a change set to create a stack'."\n" - ."\n" - .'If you want to manage a large number of cloud resources and preview the creation effect of the resources before a stack that contains the resources is created, you can create the stack by using a change set. In this case, you must set `ChangeSetType` to CREATE and configure the relevant parameters. For more information about change sets, see [Change set](~~155649~~).'."\n" - ."\n" - .'#### [](#)Use a change set to update a stack'."\n" - ."\n" - .'If you want to preview the impacts of changes to an existing stack before you update the stack resources, you can create a change set for the stack. In this case, you must set ChangeSetType to UPDATE and configure the relevant parameters. For more information about change sets, see [Change set](~~155649~~).'."\n" - ."\n" - .'#### [](#)Use a change set and existing resources to create a stack'."\n" - ."\n" - .'If you want to add existing cloud resources to a new stack for centralized management, you can use a change set to create a stack and import the resources to the stack. In this case, you must set ChangeSetType to IMPORT and configure the relevant parameters. For more information about the resource import feature, see [Overview](~~193454~~).'."\n" - ."\n" - .'#### [](#)Use a change set and existing resources to update a stack'."\n" - ."\n" - .'If you want to import existing resources to an existing stack for centralized management, you can use a change set to update the stack. In this case, you must set ChangeSetType to IMPORT and configure the relevant parameters. For more information about the resource import feature, see [Overview](~~193454~~).'."\n" - ."\n" - .'### [](#)Limits'."\n" - ."\n" - .'* You can use change sets to update only stacks that are in specific states. For more information, see [Use a change set to update a stack](~~155873~~).'."\n" - .'* A stack can have up to 20 change sets.'."\n" - .'* Change sets reflect only the changes to stacks. Change sets do not reflect whether stacks can be successfully updated.'."\n" - .'* A change set does not check if you exceed an account limit, if you update resources that cannot be updated, or if you have insufficient permissions to modify resources, all of which can cause a stack update to fail. If a stack update fails, Resource Orchestration Service (ROS) attempts to roll back your resources to their original status.'."\n" - ."\n" - .'This topic provides an example on how to use a change set to update a stack. In this example, a change set named `MyChangeSet` is created in the `China (Hangzhou)` region. The template of a stack whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` is updated to `{"ROSTemplateFormatVersion":"2015-09-01"}`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', - 'responseParamsDescription' => ' ', - ], - 'DeleteChangeSet' => [ - 'summary' => 'Deletes change sets.', - 'path' => '/V2/DeleteChangeSet', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"Registrations\\": [\\n {\\n \\"RegistrationId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\\\n\\",\\n \\"EntityType\\": \\"Module\\",\\n \\"ResourceType\\": \\"MODULE::MyOrganization::MyService::MyUsecase\\",\\n \\"VersionId\\": \\"v1\\",\\n \\"Status\\": \\"COMPLETE\\",\\n \\"StatusReason\\": \\"Module is created successfully\\",\\n \\"CreateTime\\": \\"2023-03-02T07:28:35\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1\\n}","type":"json"}]', + 'title' => 'Query resource registration records', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListResourceTypeRegistrations'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListResourceTypeRegistrations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListResourceTypeVersions' => [ + 'summary' => 'Queries the list of resource type versions, including resource types created by the user and those provided by Resource Orchestration Service (ROS).', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosM9I2VQ', - ], + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the change set. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ChangeSetId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change set.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', - ], + 'schema' => ['description' => 'The resource type.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', 'title' => ''], ], ], 'responses' => [ @@ -10840,43 +9540,80 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'ResourceTypeVersions' => [ + 'description' => 'The list of resource type version information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The resource type version information.', + 'type' => 'object', + 'properties' => [ + 'Provider' => [ + 'description' => 'The resource type provider. Valid values:'."\n" + .'- ROS: Resource Orchestration Service.'."\n" + .'- Self: The user.', + 'enumValueTitles' => ['ROS' => 'ROS', 'Self' => 'Self'], + 'type' => 'string', + 'example' => 'ROS', + 'title' => '', + ], + 'EntityType' => [ + 'description' => 'The entity type. Valid values: Module, which indicates a module.', + 'enumValueTitles' => ['Module' => 'Module'], + 'type' => 'string', + 'example' => 'Module', + 'title' => '', + ], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', 'title' => ''], + 'IsDefaultVersion' => ['description' => 'Indicates whether the version is the default version. Valid values:'."\n" + .'- true: The version is the default version.'."\n" + .'- false: The version is not the default version.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the version was created. The time is displayed in UTC+0 based on the ISO 8601 standard but without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2023-02-24T08:25:21', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the version was last updated. The time is displayed in UTC+0 based on the ISO 8601 standard but without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2023-02-24T08:25:21', 'title' => ''], + 'VersionId' => ['description' => 'The version ID.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'Description' => ['description' => 'The version description.', 'type' => 'string', 'example' => 'It is a demo.', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', - 'title' => 'DeleteChangeSet', - 'description' => '* Before you call this operation, make sure that the following requirements are met:'."\n" - ."\n" - .' * The status of the change set is CREATE_COMPLETE, CREATE_FAILED, or DELETE_FAILED.'."\n" - .' * The execution status is UNAVAILABLE or AVAILABLE.'."\n" - ."\n" - .'* After a change set is executed, other change sets associated with the same stack as this change set are also deleted.'."\n" - ."\n" - .'* After a stack is deleted, change sets associated with the stack are deleted.'."\n" - ."\n" - .'* If a change set of the CREATE type is deleted, you must delete stacks associated with the change set.'."\n" - ."\n" - .'In this example, a change set whose ID is `1f6521a4-05af-4975-afe9-bc4b45ad****` is deleted. The change set is created in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - ], - 'GetChangeSet' => [ - 'summary' => 'Queries change sets. You can determine whether to query the templates of change sets.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"ResourceTypeVersions\\": [\\n {\\n \\"Provider\\": \\"ROS\\",\\n \\"EntityType\\": \\"Module\\",\\n \\"ResourceType\\": \\"MODULE::MyOrganization::MyService::MyUsecase\\",\\n \\"IsDefaultVersion\\": true,\\n \\"CreateTime\\": \\"2023-02-24T08:25:21\\",\\n \\"UpdateTime\\": \\"2023-02-24T08:25:21\\",\\n \\"VersionId\\": \\"v1\\",\\n \\"Description\\": \\"It is a demo.\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query resource type versions', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListResourceTypeVersions'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListResourceTypeVersions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListResourceTypes' => [ + 'summary' => 'Queries the list of supported resource types.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10887,244 +9624,142 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosM9I2VQ', - ], + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ShowTemplate', + 'name' => 'EntityType', 'in' => 'query', 'schema' => [ - 'description' => 'Specifies whether to obtain the template. Valid values:'."\n" + 'description' => 'The entity type. Valid values: '."\n" + ."\n" + .'- All: all resource types.'."\n" + ."\n" + .'- Resource (default): regular resource types. For more information, see [Resources](~~28863~~).'."\n" ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', + .'- DataSource: data source resource types. For more information, see [Data source resources](~~404753~~).'."\n" + ."\n" + .'- Module: modules.', + 'enumValueTitles' => ['All' => 'All', 'Resource' => 'Resource', 'Module' => 'Module', 'DataSource' => 'DataSource'], + 'type' => 'string', 'required' => false, - 'docRequired' => false, - 'example' => 'false', + 'example' => 'Resource', + 'title' => '', ], ], [ - 'name' => 'RegionId', + 'name' => 'Provider', 'in' => 'query', 'schema' => [ - 'description' => 'The region ID of the change set. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", + 'description' => 'The resource type provider. Valid values:'."\n" + .'- ROS (default): Resource Orchestration Service.'."\n" + .'- Self: the user.', + 'enumValueTitles' => ['ROS' => 'ROS', 'Self' => 'Self'], 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'required' => false, + 'example' => 'ROS', + 'title' => '', ], ], [ - 'name' => 'ChangeSetId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change set.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4c11658d-bd47-4dd0-ba64-727edc62****', - ], + 'schema' => ['description' => 'The resource type. The value can contain uppercase and lowercase letters, digits, colons (:), and asterisks (\\*). If an asterisk is used, fuzzy match is performed.', 'type' => 'string', 'required' => false, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of the change set.'."\n", - 'type' => 'string', - 'example' => 'CREATE_COMPLETE', - ], - 'Changes' => [ - 'description' => 'The changes of the change set.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The change of the change set.'."\n" - ."\n" - .'For more information, see [Data structure](~~155988~~).'."\n", - 'type' => 'object', - 'example' => '', - ], - ], - 'Description' => [ - 'description' => 'The description of the change set.'."\n", - 'type' => 'string', - 'example' => 'It is a demo.', - ], - 'Parameters' => [ - 'description' => 'The parameters of the stack.'."\n", + 'ResourceTypes' => [ + 'description' => 'The resource type array.', 'type' => 'array', - 'items' => [ - 'description' => 'The parameter of the stack.'."\n", - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The key of the parameter.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::Region', - ], - 'ParameterValue' => [ - 'description' => 'The value of the parameter.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3766EE04-76DD-50F9-9C23-3AF136CD5708', - ], - 'StatusReason' => [ - 'description' => 'The reason why the change set is in its current state.'."\n", - 'type' => 'string', - 'example' => 'too many changes.', - ], - 'CreateTime' => [ - 'description' => 'The time when the change set was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2021-12-01T02:20:56', - ], - 'TemplateBody' => [ - 'description' => 'The template body of the change set.'."\n" - ."\n" - .'> This parameter takes effect only if you set ShowTemplate to true.'."\n", - 'type' => 'string', - 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', - ], - 'ChangeSetName' => [ - 'description' => 'The name of the change set.'."\n", - 'type' => 'string', - 'example' => 'ChangeSet_template', - ], - 'ChangeSetId' => [ - 'description' => 'The ID of the change set.'."\n", - 'type' => 'string', - 'example' => '4c11658d-bd47-4dd0-ba64-727edc62****', - ], - 'ExecutionStatus' => [ - 'description' => 'The execution status of the change set.'."\n", - 'type' => 'string', - 'example' => 'AVAILABLE', - ], - 'ChangeSetType' => [ - 'description' => 'The type of the change set.'."\n", - 'type' => 'string', - 'example' => 'UPDATE', - ], - 'RegionId' => [ - 'description' => 'The region ID of the change set.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'DisableRollback' => [ - 'description' => 'Indicates whether rollback was performed when the stack failed to be created or updated.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'StackName' => [ - 'description' => 'The name of the stack with which the change set is associated.'."\n", - 'type' => 'string', - 'example' => 'stack_2021-10-13', - ], - 'TimeoutInMinutes' => [ - 'description' => 'The timeout period that is specified for the stack creation or update operation.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'StackId' => [ - 'description' => 'The ID of the stack with which the change set is associated.'."\n", - 'type' => 'string', - 'example' => 'a486fc19-ebb7-4ce9-a70b-554a7c3d****', - ], - 'Log' => [ - 'description' => 'The output logs of the change set.'."\n", - 'type' => 'object', - 'properties' => [ - 'TerraformLogs' => [ - 'description' => 'The Terraform logs. This parameter is returned only for change sets of Terraform stacks.'."\n" - ."\n" - .'> This parameter is not returned for change sets that are in the Creating state. This parameter indicates the logs of the change set creation operation for Terraform stacks.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The output log.'."\n", - 'type' => 'object', - 'properties' => [ - 'Command' => [ - 'description' => 'The name of the Terraform command that is run. Valid values:'."\n" - ."\n" - .'* apply'."\n" - .'* plan'."\n" - .'* destroy'."\n" - .'* version'."\n" - ."\n" - .'For more information about Terraform commands, see [Command](https://www.terraform.io/cli/commands).'."\n", - 'type' => 'string', - 'example' => 'apply', - ], - 'Stream' => [ - 'description' => 'The output stream. Valid values:'."\n" - ."\n" - .'* stdout: standard output stream'."\n" - .'* stderr: standard error stream'."\n", - 'type' => 'string', - 'example' => 'stdout', - ], - 'Content' => [ - 'description' => 'The content of the output stream that is returned after the command is run.'."\n", - 'type' => 'string', - 'example' => 'Apply complete! Resources: 42 added, 0 changed, 0 destroyed.', - ], - ], - ], - ], - ], + 'items' => ['description' => 'The resource type array.', 'type' => 'string', 'example' => '["ALIYUN::ECS::Instance","ALIYUN::RDS::Instance"]', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'Tags' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EA00860C-ECAF-5253-A1F9-8198695A7157', 'title' => ''], + 'ResourceTypeSummaries' => [ + 'description' => 'The resource type summary list.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ + 'Provider' => [ + 'description' => 'The resource type provider. Valid values:'."\n" + .'- ROS: Resource Orchestration Service.'."\n" + .'- Self: the user.', + 'enumValueTitles' => ['ROS' => 'ROS', 'Self' => 'Self'], 'type' => 'string', + 'example' => 'ROS', + 'title' => '', ], - 'Value' => [ + 'EntityType' => [ + 'description' => 'The entity type. Valid values: '."\n" + .'- Resource: regular resource type.'."\n" + .'- DataSource: data source resource type. '."\n" + .'- Module: module.', + 'enumValueTitles' => ['Resource' => 'Resource', 'Module' => 'Module', 'DataSource' => 'DataSource'], 'type' => 'string', - ], + 'example' => 'Module', + 'title' => '', + ], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', 'title' => ''], + 'DefaultVersionId' => ['description' => 'The default version ID.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'LatestVersionId' => ['description' => 'The latest version ID.', 'type' => 'string', 'example' => 'v10', 'title' => ''], + 'CreateTime' => ['description' => 'The creation time. The time is displayed in UTC+0 based on the ISO 8601 standard but without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2023-02-24T08:25:21', 'title' => ''], + 'UpdateTime' => ['description' => 'The update time. The time is displayed in UTC+0 based on the ISO 8601 standard but without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2023-02-24T08:25:21', 'title' => ''], + 'Description' => ['description' => 'The resource type description.', 'type' => 'string', 'example' => 'It is a demo.', 'title' => ''], + 'TotalVersionCount' => ['description' => 'The total number of versions.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - ], - 'ResourceGroupId' => [ - 'type' => 'string', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"Changes\\": [\\n {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n ],\\n \\"Description\\": \\"It is a demo.\\",\\n \\"Parameters\\": [\\n {\\n \\"ParameterKey\\": \\"ALIYUN::Region\\",\\n \\"ParameterValue\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"RequestId\\": \\"3766EE04-76DD-50F9-9C23-3AF136CD5708\\",\\n \\"StatusReason\\": \\"too many changes.\\",\\n \\"CreateTime\\": \\"2021-12-01T02:20:56\\",\\n \\"TemplateBody\\": \\"{\\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"}\\",\\n \\"ChangeSetName\\": \\"ChangeSet_template\\",\\n \\"ChangeSetId\\": \\"4c11658d-bd47-4dd0-ba64-727edc62****\\",\\n \\"ExecutionStatus\\": \\"AVAILABLE\\",\\n \\"ChangeSetType\\": \\"UPDATE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"DisableRollback\\": false,\\n \\"StackName\\": \\"stack_2021-10-13\\",\\n \\"TimeoutInMinutes\\": 60,\\n \\"StackId\\": \\"a486fc19-ebb7-4ce9-a70b-554a7c3d****\\",\\n \\"Log\\": {\\n \\"TerraformLogs\\": [\\n {\\n \\"Command\\": \\"apply\\",\\n \\"Stream\\": \\"stdout\\",\\n \\"Content\\": \\"Apply complete! Resources: 42 added, 0 changed, 0 destroyed.\\"\\n }\\n ]\\n },\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\"\\n}","errorExample":""},{"type":"xml","example":"<GetChangeSetResponse>\\n <Status>CREATE_COMPLETE</Status>\\n <Changes>\\n <Type>Resource</Type>\\n <ResourceChange>\\n <Action>Remove</Action>\\n <LogicalResourceId>WaitCondition</LogicalResourceId>\\n <PhysicalResourceId>WaitCondition</PhysicalResourceId>\\n <ResourceType>ALIYUN::ROS::WaitCondition</ResourceType>\\n </ResourceChange>\\n </Changes>\\n <Changes>\\n <Type>Resource</Type>\\n <ResourceChange>\\n <Action>Remove</Action>\\n <LogicalResourceId>WaitConHandle</LogicalResourceId>\\n <PhysicalResourceId>WaitConHandle</PhysicalResourceId>\\n <ResourceType>ALIYUN::ROS::WaitConditionHandle</ResourceType>\\n </ResourceChange>\\n </Changes>\\n <Parameters>\\n <ParameterValue>151266687691****</ParameterValue>\\n <ParameterKey>ALIYUN::AccountId</ParameterKey>\\n </Parameters>\\n <Parameters>\\n <ParameterValue>None</ParameterValue>\\n <ParameterKey>ALIYUN::NoValue</ParameterKey>\\n </Parameters>\\n <Parameters>\\n <ParameterValue>cn-hangzhou</ParameterValue>\\n <ParameterKey>ALIYUN::Region</ParameterKey>\\n </Parameters>\\n <Parameters>\\n <ParameterValue>a486fc19-ebb7-4ce9-a70b-554a7c3d****</ParameterValue>\\n <ParameterKey>ALIYUN::StackId</ParameterKey>\\n </Parameters>\\n <Parameters>\\n <ParameterValue>stack_2021-10-13</ParameterValue>\\n <ParameterKey>ALIYUN::StackName</ParameterKey>\\n </Parameters>\\n <Parameters>\\n <ParameterValue>151266687691****</ParameterValue>\\n <ParameterKey>ALIYUN::TenantId</ParameterKey>\\n </Parameters>\\n <RequestId>3766EE04-76DD-50F9-9C23-3AF136CD5708</RequestId>\\n <CreateTime>2021-12-01T02:20:56</CreateTime>\\n <ChangeSetName>ChangeSet_template</ChangeSetName>\\n <ChangeSetId>4c11658d-bd47-4dd0-ba64-727edc62****</ChangeSetId>\\n <ExecutionStatus>AVAILABLE</ExecutionStatus>\\n <ChangeSetType>UPDATE</ChangeSetType>\\n <RegionId>cn-hangzhou</RegionId>\\n <DisableRollback>false</DisableRollback>\\n <StackName>stack_2021-10-13</StackName>\\n <TimeoutInMinutes>60</TimeoutInMinutes>\\n <StackId>a486fc19-ebb7-4ce9-a70b-554a7c3d****</StackId>\\n</GetChangeSetResponse>","errorExample":""}]', - 'title' => 'GetChangeSet', - 'description' => 'In this example, the details of a change set whose ID is `4c11658d-bd47-4dd0-ba64-727edc62****` is queried. The change set is created in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResourceTypes\\": [\\n \\"[\\\\\\"ALIYUN::ECS::Instance\\\\\\",\\\\\\"ALIYUN::RDS::Instance\\\\\\"]\\"\\n ],\\n \\"RequestId\\": \\"EA00860C-ECAF-5253-A1F9-8198695A7157\\",\\n \\"ResourceTypeSummaries\\": [\\n {\\n \\"Provider\\": \\"ROS\\",\\n \\"EntityType\\": \\"Module\\",\\n \\"ResourceType\\": \\"MODULE::MyOrganization::MyService::MyUsecase\\",\\n \\"DefaultVersionId\\": \\"v1\\",\\n \\"LatestVersionId\\": \\"v10\\",\\n \\"CreateTime\\": \\"2023-02-24T08:25:21\\",\\n \\"UpdateTime\\": \\"2023-02-24T08:25:21\\",\\n \\"Description\\": \\"It is a demo.\\",\\n \\"TotalVersionCount\\": 10\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query supported resource types', + 'description' => 'This topic provides an example of how to query the list of regular resource types supported by ROS.', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ListChangeSets' => [ - 'summary' => 'Queries change sets.', - 'path' => '/V2/ListChangeSets', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' For a list of error codes, visit [Common error codes](~~131033~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListResourceTypes'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListResourceTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListStackEvents' => [ + 'summary' => 'Queries events of a stack and the resources in the stack.', + 'path' => '/V2/ListStackEvents', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11135,321 +9770,213 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosM9I2VQ', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The stack ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.\\'."\n" - .'Valid values: 1 to 50.\\'."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The number of entries per page in a paged query. Settings for paging. '."\n" + .'Maximum value: 50. '."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the change set. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.\\'."\n" - .'Pages start from page 1.\\'."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'ChangeSetId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change set. If detailed information about the change set is not required, you can use this parameter to replace the GetChangeSet operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', - ], + 'schema' => ['description' => 'The page number of the event list. '."\n" + .'Minimum value: 1. '."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The status of change set N. Maximum value of N: 5. Valid values:'."\n" - ."\n" - .'* CREATE_PENDING'."\n" - .'* CREATE_IN_PROGRESS'."\n" - .'* CREATE_COMPLETE'."\n" - .'* CREATE_FAILED'."\n" - .'* DELETE_FAILED'."\n" - .'* DELETE_COMPLETE'."\n", + 'description' => 'The resource status.', 'type' => 'array', - 'items' => [ - 'description' => 'The status of change set N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CREATE_COMPLETE', - ], + 'items' => ['description' => 'The resource status. Valid values:'."\n" + ."\n" + .'- CREATE_COMPLETE'."\n" + .'- CREATE_FAILED'."\n" + .'- CREATE_IN_PROGRESS'."\n" + .'- UPDATE_IN_PROGRESS'."\n" + .'- UPDATE_FAILED'."\n" + .'- UPDATE_COMPLETE'."\n" + .'- UPDATE_SKIPPED'."\n" + .'- DELETE_IN_PROGRESS'."\n" + .'- DELETE_FAILED'."\n" + .'- CHECK_IN_PROGRESS'."\n" + .'- CHECK_FAILED'."\n" + .'- CHECK_COMPLETE'."\n" + .'- IMPORT_IN_PROGRESS'."\n" + .'- IMPORT_FAILED'."\n" + .'- IMPORT_COMPLETE.', 'type' => 'string', 'required' => false, 'example' => 'CREATE_IN_PROGRESS', 'title' => ''], 'required' => false, - 'example' => 'CREATE_COMPLETE', + 'example' => 'CREATE_IN_PROGRESS', 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'ChangeSetName', + 'name' => 'ResourceType', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of change set N. Maximum value of N: 5. You can use an asterisk (\\*) as a wildcard for fuzzy search.'."\n", + 'description' => 'The resource type list.', 'type' => 'array', - 'items' => [ - 'description' => 'The name of change set N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MyChangeSet', - ], + 'items' => ['description' => 'The resource type list. Maximum value of N: 200.'."\n" + .'For more information about resource types, see [Resource type index](~~127039~~).', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN::ECS::Instance', 'title' => ''], 'required' => false, - 'example' => 'MyChangeSet', + 'example' => 'ALIYUN::ECS::Instance', 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'ExecutionStatus', + 'name' => 'LogicalResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The execution status of change set N. Maximum value of N: 5. Valid values:'."\n" - ."\n" - .'* UNAVAILABLE'."\n" - .'* AVAILABLE'."\n" - .'* EXECUTE_IN_PROGRESS'."\n" - .'* EXECUTE_COMPLETE'."\n" - .'* EXECUTE_FAILED'."\n" - .'* OBSOLETE'."\n", + 'description' => 'The logical resource ID.', 'type' => 'array', - 'items' => [ - 'description' => 'The execution status of change set N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AVAILABLE', - ], + 'items' => ['description' => 'The logical resource ID, which is the resource name defined in the template.', 'type' => 'string', 'required' => false, 'example' => 'WebServer', 'title' => ''], 'required' => false, - 'example' => 'AVAILABLE', + 'example' => 'WebServer', 'maxItems' => 5, + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of change sets returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ChangeSets' => [ - 'description' => 'The change sets.'."\n", + 'TotalCount' => ['description' => 'The total number of events.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page in a paged query. Settings for paging. '."\n" + .'Maximum value: 50. '."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the event list. '."\n" + .'Minimum value: 1. '."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Events' => [ + 'description' => 'The list of event objects.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of the change set.'."\n", - 'type' => 'string', - 'example' => 'CREATE_COMPLETE', - ], - 'StackId' => [ - 'description' => 'The ID of the stack with which the change set is associated.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - 'ChangeSetName' => [ - 'description' => 'The name of the change set.'."\n", - 'type' => 'string', - 'example' => 'MyChangeSet', - ], - 'Description' => [ - 'description' => 'The description of the change set.'."\n", - 'type' => 'string', - 'example' => 'It is a demo.', - ], - 'ChangeSetType' => [ - 'description' => 'The type of the change set.'."\n", - 'type' => 'string', - 'example' => 'UPDATE', - ], - 'StatusReason' => [ - 'description' => 'The reason why the change set is in its current state.'."\n", - 'type' => 'string', - 'example' => 'too many changes', - ], - 'CreateTime' => [ - 'description' => 'The time when the change set was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-08-01T05:16:31', - ], - 'ChangeSetId' => [ - 'description' => 'The ID of the change set.'."\n", - 'type' => 'string', - 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', - ], - 'StackName' => [ - 'description' => 'The name of the stack with which the change set is associated.'."\n", - 'type' => 'string', - 'example' => 'MyStack', - ], - 'ExecutionStatus' => [ - 'description' => 'The execution status of the change set.'."\n", - 'type' => 'string', - 'example' => 'AVAILABLE', - ], - 'RegionId' => [ - 'description' => 'The region ID of the change set.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ResourceGroupId' => [ - 'type' => 'string', - ], - 'Tags' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'type' => 'string', - ], - 'Value' => [ - 'type' => 'string', - ], - ], - ], - ], + 'Status' => ['description' => 'The status of the resource.', 'type' => 'string', 'example' => 'CREATE_COMPLETE', 'title' => ''], + 'EventId' => ['description' => 'The event ID.', 'type' => 'string', 'example' => '0086612d-77cf-4056-b0b5-ff8e94ad****', 'title' => ''], + 'LogicalResourceId' => ['description' => 'The logical resource ID, which is the resource name defined in the template.', 'type' => 'string', 'example' => 'WebServer', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + 'PhysicalResourceId' => ['description' => 'The physical ID of the resource.', 'type' => 'string', 'example' => 'i-m5e3tfdbinchnexh****', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::Instance', 'title' => ''], + 'StatusReason' => ['description' => 'The reason for the status.', 'type' => 'string', 'example' => 'state changed', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the event was created. The time is displayed in UTC+0 and follows the ISO 8601 standard without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2019-08-01T04:07:39', 'title' => ''], + 'StackName' => ['description' => 'The stack name.', 'type' => 'string', 'example' => 'StackName', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"PageNumber\\": 1,\\n \\"ChangeSets\\": [\\n {\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"ChangeSetName\\": \\"MyChangeSet\\",\\n \\"Description\\": \\"It is a demo.\\",\\n \\"ChangeSetType\\": \\"UPDATE\\",\\n \\"StatusReason\\": \\"too many changes\\",\\n \\"CreateTime\\": \\"2019-08-01T05:16:31\\",\\n \\"ChangeSetId\\": \\"1f6521a4-05af-4975-afe9-bc4b45ad****\\",\\n \\"StackName\\": \\"MyStack\\",\\n \\"ExecutionStatus\\": \\"AVAILABLE\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n\\n<ListChangeSetsResponse> \\n <ChangeSets> \\n <ChangeSet> \\n <ChangeSetId>1f6521a4-05af-4975-afe9-bc4b45ad****</ChangeSetId> \\n <ChangeSetName>MyChangeSet</ChangeSetName> \\n <ChangeSetType>UPDATE</ChangeSetType> \\n <Description>It is a demo.</Description> \\n <CreateTime>2019-08-01T05:16:31</CreateTime> \\n <Status>CREATE_COMPLETE</Status> \\n <ExecutionStatus>AVAILABLE</ExecutionStatus> \\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId> \\n <StackName>MyStack</StackName> \\n <RegionId>cn-hangzhou</RegionId> \\n </ChangeSet> \\n </ChangeSets> \\n <PageNumber>1</PageNumber> \\n <PageSize>10</PageSize> \\n <TotalCount>1</TotalCount> \\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId> \\n</ListChangeSetsResponse>\\n","errorExample":""}]', - 'title' => 'ListChangeSets', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 20,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"PageNumber\\": 1,\\n \\"Events\\": [\\n {\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"EventId\\": \\"0086612d-77cf-4056-b0b5-ff8e94ad****\\",\\n \\"LogicalResourceId\\": \\"WebServer\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"PhysicalResourceId\\": \\"i-m5e3tfdbinchnexh****\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::Instance\\",\\n \\"StatusReason\\": \\"state changed\\",\\n \\"CreateTime\\": \\"2019-08-01T04:07:39\\",\\n \\"StackName\\": \\"StackName\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query events of a stack and its resources', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - ], - 'ExecuteChangeSet' => [ - 'summary' => 'Executes change sets.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '| HttpCode | Error code | Error message | Description |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. | The stack does not exist. name indicates the stack name or ID. |.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackEvents'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackEvents', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + ], + 'ListStackGroupOperationResults' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATURErosM9I2VQ', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the change set. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack group.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ChangeSetId', + 'name' => 'OperationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change set.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', - ], + 'schema' => ['description' => 'The ID of the operation.'."\n" + ."\n" + .'You can call the [ListStackGroupOperations](~~151342~~) operation to query the operation ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests.'."\n" - ."\n" - .'The token can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'- Valid values: 1 to 50.'."\n" + ."\n" + .'- Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return.'."\n" + ."\n" + .'- Pages start from page 1.'."\n" + ."\n" + .'- Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -11457,338 +9984,311 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', + 'TotalCount' => ['description' => 'The total number of results.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StackGroupOperationResults' => [ + 'description' => 'The details of the results of the operation.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the operation.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- RUNNING: The operation is being performed.'."\n" + ."\n" + .'- SUCCEEDED: The operation succeeded.'."\n" + ."\n" + .'- FAILED: The operation failed.'."\n" + ."\n" + .'- STOPPING: The operation is being stopped.'."\n" + ."\n" + .'- STOPPED: The operation is stopped.', 'type' => 'string', 'example' => 'SUCCEEDED', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the operation is in a specific state.'."\n" + ."\n" + .'> This parameter is returned only when stack instances are in the OUTDATED state.', 'type' => 'string', 'example' => 'User initiated operation', 'title' => ''], + 'AccountId' => ['description' => 'The ID of the account to which the stack instance belongs.'."\n" + ."\n" + .'- If the stack group has self-managed permissions, the stack instance belongs to an Alibaba Cloud account.'."\n" + ."\n" + .'- If the stack group has service-managed permissions, the stack instance belongs to a member account in the resource directory.'."\n" + ."\n" + .'> For more information about the account, see [Overview](~~154578~~).', 'type' => 'string', 'example' => '175458090349****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the stack instance.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'RdFolderId' => ['description' => 'The folder ID of the resource directory.'."\n" + ."\n" + .'> This parameter is returned only when the stack group is granted service-managed permissions.', 'type' => 'string', 'example' => '"fd-4PvlVLOL8v"', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"<ExecuteChangeSetResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>\\n</ExecuteChangeSetResponse>","errorExample":""}]', - 'title' => 'ExecuteChangeSet', - 'description' => 'In this example, the change set whose ID is `1f6521a4-05af-4975-afe9-bc4b45ad****` is executed. The change set is created in the `China (Hangzhou)` region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - ], - 'CreateStackGroup' => [ - 'summary' => 'Creates stack groups based on Resource Orchestration Service (ROS) templates. Stack groups allow you to create stacks within multiple Alibaba Cloud accounts across regions.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ListStackGroupOperationResults', + 'summary' => 'Queries the results of an operation on a stack group.', + 'description' => 'In this example, the operation ID `6da106ca-1784-4a6f-a7e1-e723863d∗∗∗∗` is set to query the results of an operation on a stack group named `MyStackGroup`. The stack group is granted self-managed permissions and created in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" + .'| ---------------- | ---------------------------------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| InvalidParameter | The specified parameter {name} is invalid, {reason}. | 400 | The error message returned because the specified parameter is invalid. name indicates the parameter name. reason indicates the reason for the error. |', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidParameter |The specified parameter {name} is invalid, {reason}. | 400 |无效参数,name为参数名,reason为原因。 |'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackGroupOperationResults'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackGroupOperationResults', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroupOperation', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroupoperation/{#OperationId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"StackGroupOperationResults\\": [\\n {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"StatusReason\\": \\"User initiated operation\\",\\n \\"AccountId\\": \\"175458090349****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"RdFolderId\\": \\"\\\\\\"fd-4PvlVLOL8v\\\\\\"\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListStackGroupOperations' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '12671', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'StackGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique within a region.\\'."\n" - .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The name of the stack group. The name must be unique within a region.'."\n" + ."\n" + .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the stack group.\\'."\n" - .'The description must be 1 to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'StackGroup Description', - ], - ], - [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', - ], + 'schema' => ['description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'TemplateURL', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Alibaba Cloud Object Storage Service (OSS) bucket. The template body must be 1 to 524,288 bytes in length. Examples: oss://ros/template/demo and oss://ros/template/demo?RegionId=cn-hangzhou. If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-template/demo', - ], + 'schema' => ['description' => 'The number of the page to return.'."\n" + ."\n" + .'Pages start from page 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', 'title' => ''], ], - [ - 'name' => 'ClientToken', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.\\'."\n" - .'The token can contain letters, digits, underscores (\\_), and hyphens (-) and cannot exceed 64 characters in length.\\'."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => ['description' => 'The total number of stack group operations.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StackGroupOperations' => [ + 'description' => 'The stack group operations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The state of the operation.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- RUNNING'."\n" + ."\n" + .'- SUCCEEDED'."\n" + ."\n" + .'- FAILED'."\n" + ."\n" + .'- STOPPING'."\n" + ."\n" + .'- STOPPED', 'type' => 'string', 'example' => 'SUCCEEDED', 'title' => ''], + 'StackGroupId' => ['description' => 'The ID of the stack group.', 'type' => 'string', 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', 'title' => ''], + 'EndTime' => ['description' => 'The time when the operation ended.', 'type' => 'string', 'example' => '2020-01-20T09:22:41.000000', 'title' => ''], + 'Action' => ['description' => 'The operation type.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- CREATE'."\n" + ."\n" + .'- UPDATE'."\n" + ."\n" + .'- DELETE'."\n" + ."\n" + .'- DETECT\\_DRIFT', 'type' => 'string', 'example' => 'CREATE', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the operation was initiated.', 'type' => 'string', 'example' => '2020-01-20T09:22:36.000000', 'title' => ''], + 'StackGroupName' => ['description' => 'The name of the stack group.', 'type' => 'string', 'example' => 'MyStackGroup', 'title' => ''], + 'OperationId' => ['description' => 'The operation ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761****', 'title' => ''], + 'OperationDescription' => ['description' => 'The description of the operation.', 'type' => 'string', 'example' => 'Create stack instance in hangzhou', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'AdministrationRoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role that you specify for the administrator account when you create a self-managed stack group. ROS assumes the administrator role to perform operations. If you do not specify this parameter, AliyunROSStackGroupAdministrationRole is used as the default value. ROS uses the administrator role to assume the execution role AliyunROSStackGroupExecutionRole to perform operations on the stacks in the stack group.'."\n" - ."\n" - .'The name must be 1 to 64 characters in length and can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'AliyunROSStackGroupAdministrationRole', + ], + 'title' => 'ListStackGroupOperations', + 'summary' => 'Queries the information about stack group operations in an Alibaba Cloud region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidParameter |The specified parameter {name} is invalid, {reason}. | 400 |无效参数,name为参数名,reason为原因。 |'."\n" + .'| StackGroupNotFound |The StackGroup ({name}) could not be found. | 404 |资源栈组不存在。name为资源栈组名称。 |'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackGroupOperations'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackGroupOperations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroupOperation', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroupoperation/{#OperationId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"StackGroupOperations\\": [\\n {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"EndTime\\": \\"2020-01-20T09:22:41.000000\\",\\n \\"Action\\": \\"CREATE\\",\\n \\"CreateTime\\": \\"2020-01-20T09:22:36.000000\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"OperationId\\": \\"14A07460-EBE7-47CA-9757-12CC4761****\\",\\n \\"OperationDescription\\": \\"Create stack instance in hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListStackGroups' => [ + 'summary' => 'Queries stack groups in a region.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ExecutionRoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role that you specify for the execution account when you create a self-managed stack group. The administrator role AliyunROSStackGroupAdministrationRole assumes the execution role to perform operations. If you do not specify this parameter, AliyunROSStackGroupExecutionRole is used as the default value. ROS assumes the execution role to perform operations on the stacks in the stack group.'."\n" - ."\n" - .'The name must be 1 to 64 characters in length and can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'AliyunROSStackGroupExecutionRole', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '12703', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'TemplateId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the template. This parameter applies to shared and private templates.'."\n" - ."\n" - .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, and TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The region ID of the stack group. Call [DescribeRegions](~~131035~~) to query available regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TemplateVersion', + 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. If you do not specify this parameter, the latest version is used.'."\n" - ."\n" - .'> TemplateVersion takes effect only if you specify TemplateId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The status of the stack group. If not specified, stack groups in all states are returned.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- ACTIVE: The stack group is active.'."\n" + ."\n" + .'- DELETED: The stack group is deleted.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ACTIVE', 'title' => ''], ], [ - 'name' => 'Parameters', + 'name' => 'PageSize', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The parameters of the stack group.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The key of parameter N. If you do not specify the key and value of a parameter, ROS uses the default name and value that are defined in the template.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'> Parameters is optional. If you specify Parameters, you must also specify Parameters.N.ParameterKey.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The value of parameter N.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'> Parameters is optional. If you specify Parameters, you must also specify Parameters.N.ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '12', - ], - ], - 'required' => false, - 'description' => 'The parameters.', - ], - 'required' => false, - 'maxItems' => 200, - ], + 'schema' => ['description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'- Valid values: 1 to 50.'."\n" + ."\n" + .'- Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group. If you do not specify this parameter, the stack group is added to the default resource group.\\'."\n" - .'For more information about resource groups, see [Resource groups](~~94475~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4ph6aiy****', - ], + 'schema' => ['description' => 'The page number.'."\n" + ."\n" + .'- Starts from 1.'."\n" + ."\n" + .'- Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'PermissionModel', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The permission model of the stack group.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* SELF_MANAGED (default): the self-managed permission model. If you create a self-managed stack group, you must create RAM roles within the administrator and execution accounts and establish a trust relationship between the accounts. Then, you can deploy stacks within the execution account.'."\n" - .'* SERVICE_MANAGED: the service-managed permission model. If you create a service-managed stack group, ROS creates service-linked roles for the administrator and execution accounts, and the administrator account uses its role to deploy stacks within the execution account.'."\n" - ."\n" - .'> If you want to use the service-managed permission model to deploy stacks, your account must be the management account or a delegated administrator account of your resource directory and the trusted access feature is enabled for the account. For more information, see [Manage a delegated administrator account](~~308253~~) and [Enable trusted access](~~298229~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SELF_MANAGED', - ], + 'schema' => ['description' => 'The ID of the resource group. If not specified, stack groups in all resource groups are returned.'."\n" + ."\n" + .'> You can find the resource group ID on the **Resource Groups** page in the **Resource Management** console. [View the basic information of a resource group](~~151181~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmzawhxxcj****', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the stack group.'."\n", + 'description' => 'The tags of the stack group.', 'type' => 'array', 'items' => [ - 'description' => 'The tag of the stack group.'."\n", 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the stack group.'."\n" - ."\n" - .'> Tags is optional. If you want to specify Tags, you must also specify Tags.N.Key.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The tag value of the stack group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'AutoDeployment', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The information about automatic deployment settings.'."\n" - ."\n" - .'> You must specify this parameter if PermissionModel is set to SERVICE_MANAGED.'."\n", - 'type' => 'object', - 'properties' => [ - 'Enabled' => [ - 'description' => 'Indicates whether automatic deployment is enabled.'."\n" - ."\n" - .'Valid values:'."\n" + 'Key' => ['description' => 'The tag key of the stack group.'."\n" ."\n" - .'* true: Automatic deployment is enabled. If you add a member account to the folder to which the stack group belongs after you enable automatic deployment, ROS automatically adds the stacks in the stack group to the member account. If you remove a member account from the folder, ROS automatically deletes the stacks from the member account.'."\n" - .'* false: Automatic deployment is disabled. After you disable automatic deployment, the stacks remain unchanged when you add member accounts to or remove member accounts from the folder.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => true, - 'example' => 'true', + .'> Tags is optional. If you specify Tags, Tags.N.Key is required.', 'type' => 'string', 'required' => true, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the stack group.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], - 'RetainStacksOnAccountRemoval' => [ - 'description' => 'Indicates whether the stacks within a member account are retained when you remove the member account from the folder.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> You must specify RetainStacksOnAccountRemoval if Enabled is set to true.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - 'required' => false, - 'example' => '{"Enabled": true, "RetainStacksOnAccountRemoval": true}', - ], - ], - [ - 'name' => 'Capabilities', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The options for the stack group. You can specify up to one option.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The option for the stack group. Valid value: ExpandModules. A value of ExpandModules specifies to expand modules within the current account.'."\n" - ."\n" - .'> - This parameter takes effect only when modules are used in the template.'."\n" - .'> - By default, modules are not expanded within the current account. This requires that the modules exist in all execution accounts within which you want to deploy the stack group. If you want to expand modules within the current account, the modules must exist in the current account.', - 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'ExpandModules' => 'ExpandModules', - ], - 'example' => 'ExpandModules', + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 1, - ], - ], - [ - 'name' => 'StackArn', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], @@ -11797,87 +10297,193 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'StackGroupId' => [ - 'description' => 'The ID of the stack group.'."\n", - 'type' => 'string', - 'example' => '2c036e78-9e82-428e-afd6-177f5d04****', + 'StackGroups' => [ + 'description' => 'The stack groups.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'StackGroupId' => ['description' => 'The ID of the stack group.', 'type' => 'string', 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', 'title' => ''], + 'Status' => ['description' => 'The status of the stack group.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- ACTIVE'."\n" + ."\n" + .'- DELETED', 'type' => 'string', 'example' => 'ACTIVE', 'title' => ''], + 'DriftDetectionTime' => ['description' => 'The time of the last successful drift detection on the stack group.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'Description' => ['description' => 'The description of the stack group.', 'type' => 'string', 'example' => 'My Stack Group', 'title' => ''], + 'StackGroupDriftStatus' => ['description' => 'The drift status of the stack group from the last successful drift detection.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- DRIFTED: The stack group has drifted from its template.'."\n" + ."\n" + .'- NOT\\_CHECKED: No drift detection has been performed.'."\n" + ."\n" + .'- IN\\_SYNC: The stack group matches its template.', 'type' => 'string', 'example' => 'IN_SYNC', 'title' => ''], + 'StackGroupName' => ['description' => 'The name of the stack group.', 'type' => 'string', 'example' => 'MyStackGroup', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the stack group.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the stack group.', 'type' => 'string', 'example' => 'usage1', 'title' => ''], + 'Value' => ['description' => 'The tag value of the stack group.', 'type' => 'string', 'example' => 'test1', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmzawhxxcj****', 'title' => ''], + 'PermissionModel' => ['description' => 'The permission model.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- SELF\\_MANAGED: self-managed permissions.'."\n" + ."\n" + .'- SERVICE\\_MANAGED: service-managed permissions.'."\n" + ."\n" + .'> For details on permission models of stack groups, see [Overview](~~154578~~).', 'type' => 'string', 'example' => 'SELF_MANAGED', 'title' => ''], + 'AutoDeployment' => [ + 'description' => 'The automatic deployment settings.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Whether automatic deployment is enabled.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Automatic deployment is enabled. When a member account is added to the target folder, ROS deploys a stack instance for it. When a member account is removed, ROS deletes the stack instance.'."\n" + ."\n" + .'- false: Automatic deployment is disabled. Stack instances remain unchanged when folder membership changes.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'RetainStacksOnAccountRemoval' => ['description' => 'Whether stacks are retained when member accounts are removed from the folder.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: The stacks are retained.'."\n" + ."\n" + .'- false: The stacks are deleted.'."\n" + ."\n" + .'> Returned only when Enabled is true.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'CreateTime' => ['description' => 'The creation time of the stack group.', 'type' => 'string', 'example' => '2024-01-05T05:38:31', 'title' => ''], + 'UpdateTime' => ['description' => 'The last update time of the stack group.', 'type' => 'string', 'example' => '2024-02-15T16:40:25', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'TotalCount' => ['description' => 'The total number of stack groups.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"StackGroupId\\": \\"2c036e78-9e82-428e-afd6-177f5d04****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateStackGroupResponse>\\n <RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>\\n <StackGroupId>2c036e78-9e82-428e-afd6-177f5d04****</StackGroupId>\\n</CreateStackGroupResponse>","errorExample":""}]', - 'title' => 'CreateStackGroup', - 'description' => 'A stack group is a collection of ROS stacks that you can manage as a unit. You can use an ROS template of a stack group to create stacks within Alibaba Cloud accounts across regions.'."\n" - ."\n" - .'You can create a stack group that is granted self-managed or service-managed permissions:'."\n" - ."\n" - .'* If you use an Alibaba Cloud account to create a self-managed stack group, the administrator account and the execution account are Alibaba Cloud accounts.'."\n" - .'* If you enable a resource directory and use the management account or a delegated administrator account of the resource directory to create a service-managed stack group, the administrator account is the management account or delegated administrator account, and the execution account is a member account of the resource directory.'."\n" - ."\n" - .'For more information about stack groups, see [Overview](~~154578~~).'."\n" - ."\n" - .'In this topic, a stack group named `MyStackGroup` is created in the `China (Hangzhou)` region and granted the self-managed permissions. In this example, the template whose ID is `5ecd1e10-b0e9-4389-a565-e4c15efc****` is used.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'title' => 'ListStackGroups', + 'description' => 'This example queries stack groups in the ACTIVE state in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - 'translator' => 'machine', - ], - 'DeleteStackGroup' => [ - 'summary' => 'Deletes a stack group.', - 'path' => '/V2/DeleteStackGroup', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidParameter |The specified parameter {name} is invalid, {reason}. | 400 |无效参数,name为参数名,reason为原因。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackGroups'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"StackGroups\\": [\\n {\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"Description\\": \\"My Stack Group\\",\\n \\"StackGroupDriftStatus\\": \\"IN_SYNC\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage1\\",\\n \\"Value\\": \\"test1\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxcj****\\",\\n \\"PermissionModel\\": \\"SELF_MANAGED\\",\\n \\"AutoDeployment\\": {\\n \\"Enabled\\": true,\\n \\"RetainStacksOnAccountRemoval\\": true\\n },\\n \\"CreateTime\\": \\"2024-01-05T05:38:31\\",\\n \\"UpdateTime\\": \\"2024-02-15T16:40:25\\"\\n }\\n ],\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1\\n}","type":"json"}]', + ], + 'ListStackInstances' => [ + 'summary' => 'Queries the list of stack instances that are associated with a stack group in an Alibaba Cloud region.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosTBD793'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region to which the stack group belongs. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'StackGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique in a region.'."\n" - ."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). The name must start with a digit or a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The name of the stack group. The name must be unique within a region.<br>'."\n" + .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], + ], + [ + 'name' => 'StackInstanceAccountId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the destination account to which the stack belongs.'."\n" + ."\n" + .'- If the stack group is granted self-managed permissions, the stack belongs to an Alibaba Cloud account.'."\n" + ."\n" + .'- If the stack group is granted service-managed permissions, the stack belongs to a member in a resource directory.'."\n" + ."\n" + .'> For more information about the destination account, see [Overview](~~154578~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '156552876021****', 'title' => ''], + ], + [ + 'name' => 'StackInstanceRegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the stack.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-beijing', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'- Valid values: 1 to 50.'."\n" + ."\n" + .'- Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return.'."\n" + ."\n" + .'- Pages start from page 1.'."\n" + ."\n" + .'- Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -11885,465 +10491,208 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', + 'TotalCount' => ['description' => 'The total number of stacks.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '85DE34BD-7FF9-480F-8C21-556E9DA93ACD', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'StackInstances' => [ + 'description' => 'The stacks.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The state of the stack.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- CURRENT: The stack is up-to-date with the stack group.'."\n" + ."\n" + .'- OUTDATED: The stack is not up-to-date with the stack group. Stacks are in the OUTDATED state due to the following possible reasons:'."\n" + ."\n" + .' - When the CreateStackInstances operation is called to create stacks, the stacks fail to be created.'."\n" + ."\n" + .' - When the UpdateStackInstances or UpdateStackGroup operation is called to update stacks, the stacks fail to be updated, or only specific stacks are updated.'."\n" + ."\n" + .' - The creation or update operation is not complete.', 'type' => 'string', 'example' => 'CURRENT', 'title' => ''], + 'StackGroupId' => ['description' => 'The ID of the stack group.', 'type' => 'string', 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.'."\n" + ."\n" + .'> This parameter is returned only if the stack is in the CURRENT state.', 'type' => 'string', 'example' => '35ad60e3-6a92-42d8-8812-f0700d45****', 'title' => ''], + 'DriftDetectionTime' => ['description' => 'The time when the last successful drift detection was performed on the stack.'."\n" + ."\n" + .'> This parameter is returned only if drift detection is performed on the stack group.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'StackDriftStatus' => ['description' => 'The state of the stack when the last successful drift detection was performed on the stack group.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- DRIFTED: The stack has drifted.'."\n" + ."\n" + .'- NOT\\_CHECKED: No successful drift detection is performed on the stack.'."\n" + ."\n" + .'- IN\\_SYNC: The stack is being synchronized.'."\n" + ."\n" + .'> This parameter is returned only if drift detection is performed on the stack group.', 'type' => 'string', 'example' => 'IN_SYNC', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the stack instance is in the OUTDATED state.'."\n" + ."\n" + .'> This parameter is returned only if the stack instance is in the OUTDATED state.', 'type' => 'string', 'example' => 'User initiated stop', 'title' => ''], + 'StackGroupName' => ['description' => 'The name of the stack group.', 'type' => 'string', 'example' => 'MyStackGroup', 'title' => ''], + 'AccountId' => ['description' => 'The ID of the destination account to which the stack belongs.', 'type' => 'string', 'example' => '156552876021****', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the stack.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'RdFolderId' => ['description' => 'The ID of the folder in the resource directory.'."\n" + ."\n" + .'> This parameter is returned only if the stack group is granted service-managed permissions.', 'type' => 'string', 'example' => 'fd-4PvlVLOL8v', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteStackGroupResponse>\\r\\n\\t\\t<RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>\\r\\n</DeleteStackGroupResponse>\\r\\n","errorExample":""}]', - 'title' => 'DeleteStackGroup', - 'description' => 'A stack group can be deleted only when the stack group does not contain stacks. You can call the [DeleteStackInstances](~~151715~~) operation to delete stacks.'."\n" - ."\n" - .'This topic provides an example on how to delete a stack group. In this example, a stack group named `MyStackGroup` in the China (Hangzhou) region is deleted.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" - .'| ---------- | ------------- | ---------------- | ----------- |'."\n" - .'| StackGroupNotEmpty | The StackGroup ({name}) is not empty. | 400 | The error message returned because the stack group contains stacks. name indicates the name of the stack group. |'."\n" - .'| StackGroupNotFound | The StackGroup ({name}) could not be found. | 404 | The error message returned because the stack group does not exist. name indicates the name of the stack group. |', - ], - 'UpdateStackGroup' => [ - 'summary' => 'Update an already created stack group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ListStackInstances', + 'description' => 'In this example, the list of stack instances that are associated with a stack group named `MyStackGroup` is queried. The stack group is granted self-managed permissions and deployed in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidParameter |The specified parameter {name} is invalid, {reason}. | 400 |无效参数,name为参数名,reason为原因。 |'."\n" + .'| StackGroupNotFound |The StackGroup ({name}) could not be found. | 404 |资源栈组不存在。name为资源栈组名称。 |'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackInstances'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"85DE34BD-7FF9-480F-8C21-556E9DA93ACD\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"StackInstances\\": [\\n {\\n \\"Status\\": \\"CURRENT\\",\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"StackId\\": \\"35ad60e3-6a92-42d8-8812-f0700d45****\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"StackDriftStatus\\": \\"IN_SYNC\\",\\n \\"StatusReason\\": \\"User initiated stop\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"AccountId\\": \\"156552876021****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"RdFolderId\\": \\"fd-4PvlVLOL8v\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListStackOperationRisks' => [ + 'summary' => 'Detects stack-related operation risks and returns missing permissions and the causes of the risks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '12723', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region IDs of stack instances. You can specify a maximum of 20 region IDs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'StackGroupName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region IDs of stack instances. You can specify a maximum of 20 region IDs.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n" - .'> You must specify only one of the TemplateBody, TemplateURL, and TemplateId parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'My Stack Group', - ], - ], - [ - 'name' => 'AccountIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Alibaba Cloud Object Storage Service (OSS) bucket. The template body must be 1 to 524,288 bytes in length. Examples: oss://ros/template/demo and oss://ros/template/demo?RegionId=cn-hangzhou. If you do not specify the region ID of the OSS bucket, the value of the RegionId parameter is used.'."\n" - ."\n" - .'> You must specify only one of the TemplateBody, TemplateURL, and TemplateId parameters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the token is unique among different requests.'."\n" - ."\n" - .'The token can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["151266687691****","141261387191****"]', - ], - 'required' => false, - 'example' => '["12****"]', - ], - ], - [ - 'name' => 'RegionIds', + 'name' => 'StackId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The description of the operation to update the stack group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The preferences of the operation to update the stack group.'."\n" - ."\n" - .'The following parameters are available:'."\n" - .' - {"FailureToleranceCount": N}'."\n" - ."\n" - .' The maximum number of accounts within which stack operation failures are allowed in each region. If the value is exceeded in a region, ROS stops the operation in the region. If ROS stops the operation in one region, the operation is not performed in other regions.'."\n" - ."\n" - .' Valid values of N: 0 to 20.'."\n" - ."\n" - .' If you do not specify a value for the FailureToleranceCount parameter, the default value 0 is used.'."\n" - ."\n" - .'- {"FailureTolerancePercentage": N}'."\n" - ."\n" - .' The percentage of accounts within which stack operation failures are allowed in each region. If the value is exceeded in a region, ROS stops the operation in the region.'."\n" - ."\n" - .' Valid values of N: 0 to 100. If the number of accounts specified by the percentage is not a whole number, ROS rounds down the number.'."\n" - ."\n" - .' If you do not specify a value for the FailureTolerancePercentage parameter, the default value 0 is used.'."\n" - ."\n" - .' - {"MaxConcurrentCount": N}'."\n" - ."\n" - .' The maximum number of accounts within which stacks can be deployed at a time in each region.'."\n" - ."\n" - .' Valid values of N: 1 to 20.'."\n" - ."\n" - .' If you do not specify a value for the MaxConcurrentCount parameter, the default value 1 is used.'."\n" - ."\n" - .' - {"MaxConcurrentPercentage": N}'."\n" - ."\n" - .' The percentage of accounts within which stacks can be deployed at a time in each region.'."\n" - ."\n" - .' Valid values of N: 1 to 100. If the number of accounts specified by the percentage is not a whole number, ROS rounds down the number.'."\n" - ."\n" - .' If you do not specify a value for the MaxConcurrentPercentage parameter, the default value 1 is used.'."\n" - ."\n" - .' - {"RegionConcurrencyType": N}'."\n" - ."\n" - .' Specifies whether stacks can be deployed in multiple regions in parallel. Valid values:'."\n" - ."\n" - .' - SEQUENTIAL: deploys stacks in the specified regions one by one in sequence. This way, stacks are deployed in only one region at a time. This is the default value.'."\n" - .' - PARALLEL: deploys stacks in all the specified regions in parallel.'."\n" - ."\n" - .'Separate multiple parameters with commas (,).'."\n" - ."\n\n" - .'> - You can specify only one of the MaxConcurrentCount and MaxConcurrentPercentage parameters.'."\n" - .'> - You can specify only one of the FailureToleranceCount and FailureTolerancePercentage parameters.', - 'type' => 'string', - 'required' => false, - 'example' => '["cn-hangzhou","cn-beijing"]', - ], - 'required' => false, - 'example' => '["cn-hangzhou", "cn-beijing"]', - ], + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691**** ', 'title' => ''], ], [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the RAM role to be assumed by the administrator account in ROS. This parameter is required if you want to grant self-managed permissions to the stack group. If you do not specify a value for this parameter, the default value AliyunROSStackGroupAdministrationRole is used. You can use the administrator role in ROS to assume the execution role AliyunROSStackGroupExecutionRole to perform operations on the stacks that correspond to stack instances in the stack group.'."\n" - ."\n" - .'The name must be 1 to 64 characters in length, and can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', - ], - ], - [ - 'name' => 'TemplateURL', + 'name' => 'OperationType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role to be assumed by the administrator role AliyunROSStackGroupAdministrationRole. This parameter is required if you want to grant self-managed permissions to the stack group. If you do not specify a value for this parameter, the default value AliyunROSStackGroupExecutionRole is used. You can use this role in ROS to perform operations on the stacks that correspond to stack instances in the stack group.'."\n" - ."\n" - .'The name must be 1 to 64 characters in length, and can contain letters, digits, and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-template/demo', - ], + 'schema' => ['description' => 'The type of the operation of which you want to detect risks. Valid values:'."\n" + ."\n" + .'- DeleteStack: detects high risks that may arise in resources when you delete a stack.'."\n" + ."\n" + .'- CreateStack: detects the missing permissions when you fail to create a stack.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'DeleteStack', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the template. This parameter applies to shared and private templates.'."\n" - ."\n" - .'> You must specify only one of the TemplateBody, TemplateURL, and TemplateId parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_). For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544**** ', 'title' => ''], ], [ - 'name' => 'OperationDescription', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. If you do not specify a version, the latest version is used.'."\n" - ."\n" - .'> This parameter takes effect only if the TemplateId parameter is set.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'Update stack instances in hangzhou', - ], - ], - [ - 'name' => 'OperationPreferences', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The list of parameters.', - 'type' => 'object', - 'required' => false, - 'docRequired' => false, - 'example' => '{"FailureToleranceCount": 1,"MaxConcurrentCount": 2}', - ], - ], - [ - 'name' => 'AdministrationRoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The key of parameter N. If you do not specify the key and value of the parameter, ROS uses the default key and value in the template.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you set the Parameters parameter, you must set the Parameters.N.ParameterKey parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'AliyunROSStackGroupAdministrationRole', - ], - ], - [ - 'name' => 'ExecutionRoleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The value of parameter N.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you set the Parameters parameter, you must set the Parameters.N.ParameterValue parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'AliyunROSStackGroupExecutionRole', - ], - ], - [ - 'name' => 'TemplateId', + 'name' => 'RamRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The permission model.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* SELF_MANAGED: the self-managed permission model. This is the default value. If you use the self-managed model for the stack group, you must create RAM roles for the administrator and execution accounts, and establish a trust relationship between the accounts to deploy stacks within the execution account.'."\n" - .'* SERVICE_MANAGED: the service-managed permission model. If you use the service-managed model for the stack group, ROS creates service-linked roles for the administrator and execution accounts, and the administrator account uses its role to deploy stacks within the execution account.'."\n" - ."\n" - .'>- If stack instances have been created in the stack group, you cannot switch the permission mode of the stack group.'."\n" - .'>- If you want to use the service-managed permission model to deploy stacks, your account must be the management account or a delegated administrator account of your resource directory and the trusted access feature is enabled for the account. For more information, see [Step 1: (Optional) Create a delegated administrator account](~~308253~~) and [Step 2: Enable trusted access](~~298229~~).', - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', - ], + 'schema' => ['description' => 'The name of the RAM role.'."\n" + ."\n" + .'- If you specify a RAM role, ROS creates stacks based on the permissions that are granted to the RAM role and uses the credentials of the RAM role to call the API operations of Alibaba Cloud services.'."\n" + ."\n" + .'- If you do not specify a RAM role, ROS creates stacks based on the permissions of your Alibaba Cloud account.'."\n" + ."\n" + .'The name of the RAM role can be up to 64 bytes in length.', 'type' => 'string', 'required' => false, 'example' => 'test-role', 'title' => ''], ], [ - 'name' => 'TemplateVersion', + 'name' => 'RetainAllResources', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about automatic deployment settings.'."\n" - ."\n" - .'> This parameter is required only if the PermissionModel parameter is set to SERVICE_MANAGED.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'Specifies whether to retain all resources in the stack. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false (default)'."\n" + ."\n" + .'> This parameter takes effect only if you set OperationType to DeleteStack.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'Parameters', + 'name' => 'RetainResources', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable automatic deployment.'."\n" - ."\n" - .'Valid values:'."\n" + 'description' => 'The list of resources to retain.'."\n" ."\n" - .'* true: enables automatic deployment. If you add a member to the folder to which the stack group belongs after you enable automatic deployment, the stack group deploys its stack instances within the member. If you remove a member from the folder, the stack group deletes stack instances that are deployed within the member.'."\n" - .'* false: disables automatic deployment. After you disable automatic deployment, the stack instances remain unchanged even if members in the folder change.'."\n", + .'> This parameter takes effect only if you set OperationType to DeleteStack.', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'Specifies whether to retain stacks in a member when you remove the member from the folder.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: retains the stacks.'."\n" - .'* false: deletes the stacks.'."\n" - ."\n" - .'> This parameter is required if the Enabled parameter is set to true.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The folders in which you want to use service-managed permissions to update stacks.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], - ], - 'required' => false, - 'description' => '', - ], + 'items' => ['description' => 'The resource that you want to retain.', 'type' => 'string', 'required' => false, 'example' => 'instance', 'title' => ''], 'required' => false, + 'example' => 'WebServer', 'maxItems' => 200, + 'title' => '', ], ], [ - 'name' => 'PermissionModel', - 'in' => 'query', - 'schema' => [ - 'description' => 'The folder IDs in the resource directory. You can specify a maximum of five folder IDs.'."\n" - ."\n" - .'You must set at least one of the RdFolderIds and AccountIds parameters. The parameters are subject to the following items:'."\n" - ."\n" - .'* If you set only the RdFolderIds parameter, stacks are deployed within all the members in the specified folders. If you specify the Root folder, ROS deploys the stacks within all the members in the resource directory.'."\n" - .'* If you set only the AccountIds parameter, stacks are deployed within the specified members.'."\n" - .'* If you set both parameters, the accounts specified by AccountIds must be contained in the folders specified by RdFolderIds.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information of a folder](~~111223~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'SELF_MANAGED', - ], - ], - [ - 'name' => 'AutoDeployment', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the folders in the resource directory. You can specify up to five folder IDs.'."\n" - ."\n" - .'You can create stacks within all members in the specified folders. If you create stacks in the Root folder, the stacks are created within all members in the resource directory.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information of a folder](~~111223~~).'."\n", - 'type' => 'object', - 'properties' => [ - 'Enabled' => [ - 'description' => 'The IDs of the members in the resource directory. You can specify a maximum of 20 member IDs.'."\n" - ."\n" - .'> To view the member IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the detailed information of a member](~~111624~~).'."\n", - 'type' => 'boolean', - 'required' => true, - 'docRequired' => true, - 'example' => 'true', - ], - 'RetainStacksOnAccountRemoval' => [ - 'description' => 'The IDs of the members in the resource directory. You can specify a maximum of 20 member IDs.'."\n" - ."\n" - .'> To view the member IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the detailed information of a member](~~111624~~).', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - 'required' => false, - 'example' => '{"Enabled": true, "RetainStacksOnAccountRemoval": true}', - ], + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" + ."\n" + .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], ], [ - 'name' => 'DeploymentTargets', + 'name' => 'TemplateURL', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'object', - 'properties' => [ - 'RdFolderIds' => [ - 'description' => 'The ID of the operation.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the folders in the resource directory. You can add up to five folder IDs.'."\n" - ."\n" - .'You can create stacks within all members in the specified folders. If you create stacks in the Root folder, the stacks are created within all members in the resource directory.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information of a folder](~~111223~~).', - 'type' => 'string', - 'required' => false, - 'example' => '["fd-4PvlVLOL8v"]', - ], - 'required' => false, - ], - 'AccountIds' => [ - 'description' => 'The list of one or more Alibaba Cloud accounts with which you want to share or unshare the template.', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the members in the resource directory. You can specify up to 20 member IDs.'."\n" - ."\n" - .'> To view the member IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the detailed information of a member](~~111624~~).', - 'type' => 'string', - 'required' => false, - 'example' => '["151266687691****","141261387191****"]', - ], - 'required' => false, - ], - ], - 'required' => false, - 'example' => '{"RdFolderIds": ["fd-4PvlVLOL8v"]}', - ], + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss\\://ros/stack-policy/demo and oss\\://ros/stack-policy/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length. If you do not specify RegionId in the URL, the region ID of the stack is used.'."\n" + ."\n" + .'> You must specify one of TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], ], [ - 'name' => 'Capabilities', + 'name' => 'TemplateId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The option for the stack group. You can specify up to one option.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The option for the stack group. Valid value: ExpandModules. A value of ExpandModules specifies to expand modules within the current account.'."\n" - ."\n" - .'> - This parameter takes effect only when modules are used in the template.'."\n" - .'> - By default, modules are not expanded within the current account. This requires that the modules exist in all execution accounts within which you want to deploy the stack group. If you want to expand modules within the current account, the modules must exist in the current account.', - 'type' => 'string', - 'required' => false, - 'example' => 'ExpandModules', - ], - 'required' => false, - 'maxItems' => 1, - ], + 'schema' => ['description' => 'The ID of the template. This parameter applies to shared and private templates.'."\n" + ."\n" + .'> You must specify one of TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], [ - 'name' => 'DeploymentOptions', + 'name' => 'TemplateVersion', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 1, - ], + 'schema' => ['description' => 'The version of the template.'."\n" + ."\n" + .'> This parameter takes effect only if you specify TemplateId.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], ], 'responses' => [ @@ -12351,158 +10700,146 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '72108E7A-E874-4A5E-B22C-A61E94AD12CD', 'title' => ''], + 'RiskResources' => [ + 'description' => 'The resources that are at risk.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LogicalResourceId' => ['description' => 'The logical ID of the resource. The logical ID is the resource name that is defined in the template.', 'type' => 'string', 'example' => 'MySG', 'title' => ''], + 'PhysicalResourceId' => ['description' => 'The physical ID of the resource. The physical ID is the actual ID of the resource.', 'type' => 'string', 'example' => 'sg-bp1dpioafqphedg9****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request when the risk detection fails.'."\n" + ."\n" + .'> This parameter is not returned if the risk detection is successful.', 'type' => 'string', 'example' => 'DF4296CF-F45F-4845-A72B-BE617601DB25', 'title' => ''], + 'ResourceType' => ['description' => 'The type of the resource.', 'type' => 'string', 'example' => 'ALIYUN::ECS::SecurityGroup', 'title' => ''], + 'Code' => ['description' => 'The error code that is returned when the risk detection fails.'."\n" + ."\n" + .'> This parameter is not returned if the risk detection is successful.', 'type' => 'string', 'example' => 'NoPermission', 'title' => ''], + 'Message' => ['description' => 'The error message that is returned when the risk detection fails.'."\n" + ."\n" + .'> This parameter is not returned if the risk detection is successful.', 'type' => 'string', 'example' => 'You are not authorized to complete this action.', 'title' => ''], + 'RiskType' => ['description' => 'The type of the risk. Valid values:'."\n" + ."\n" + .'- Referenced: The resource is referenced by other resources.'."\n" + ."\n" + .'- MaybeReferenced: The resource may be referenced by other resources.'."\n" + ."\n" + .'- AdditionalRiskCheckRequired: An additional risk detection is required for a nested stack.'."\n" + ."\n" + .'- OperationIgnored: The operation does not take effect for the resource.', 'type' => 'string', 'example' => 'Referenced', 'title' => ''], + 'Reason' => ['description' => 'The cause of the risk.', 'type' => 'string', 'example' => 'There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group.', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'OperationId' => [ - 'description' => 'The ID of the operation.'."\n", - 'type' => 'string', - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', + 'MissingPolicyActions' => [ + 'description' => 'The operations on which the permissions are not granted to the Alibaba Cloud account of the caller.', + 'type' => 'array', + 'items' => ['description' => 'The operation on which the permissions are not granted to the Alibaba Cloud account of the caller.', 'type' => 'string', 'example' => '["ecs:DescribeInstance", "ros:CreateStack"]', 'title' => ''], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', - 'title' => 'Update Stack Group', - 'description' => 'The name of the stack group. The name must be unique within a region.'."\n" + 'title' => 'ListStackOperationRisks', + 'description' => 'The ListStackOperationRisks operation is suitable for the following scenarios:'."\n" ."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). The name must start with a digit or a letter.'."\n", - 'requestParamsDescription' => 'The description of the stack group.'."\n" + .'- You want to detect high risks that may arise in resources when you delete a stack that contains the resources, and query the cause of each risk in a resource.'."\n" ."\n" - .'The description must be 1 to 256 characters in length.'."\n", - 'responseParamsDescription' => 'The IDs of the accounts within which you want to use self-managed permissions to deploy stacks. You can specify a maximum of 20 account IDs.'."\n", - 'translator' => 'machine', - ], - 'ListStackGroups' => [ - 'summary' => 'Queries a list of stack groups in an Alibaba Cloud region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- When you create a stack, the creation may fail. In this case, you can call this operation to check which types of permissions that are required to create stacks are missing.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackOperationRisks'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackOperationRisks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"72108E7A-E874-4A5E-B22C-A61E94AD12CD\\",\\n \\"RiskResources\\": [\\n {\\n \\"LogicalResourceId\\": \\"MySG\\",\\n \\"PhysicalResourceId\\": \\"sg-bp1dpioafqphedg9****\\",\\n \\"RequestId\\": \\"DF4296CF-F45F-4845-A72B-BE617601DB25\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"Code\\": \\"NoPermission\\",\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"RiskType\\": \\"Referenced\\",\\n \\"Reason\\": \\"There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group.\\"\\n }\\n ],\\n \\"MissingPolicyActions\\": [\\n \\"[\\\\\\"ecs:DescribeInstance\\\\\\", \\\\\\"ros:CreateStack\\\\\\"]\\"\\n ]\\n}","type":"json"}]', + ], + 'ListStackResourceDrifts' => [ + 'summary' => 'The query token. Set this parameter to the NextToken value returned in the last API call.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '12703', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'Status', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The state of the stack group. If you do not specify this parameter, the stack groups in all states in the specified region are queried.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* ACTIVE'."\n" - .'* DELETED'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'ACTIVE', - ], + 'schema' => ['description' => 'The physical ID of the resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n" - ."\n" - .'* Valid values: 1 to 50.'."\n" - .'* Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'PageNumber', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.'."\n" - ."\n" - .'* Pages start from page 1.'."\n" - .'* Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The time when the resource drift detection operation was initiated.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group. If you do not specify this parameter, the stack groups in all the resource groups are queried.'."\n" - ."\n" - .'> To obtain the resource group ID, go to the **Resource Group** page in the **Resource Management** console. For more information, see [View the basic information about a resource group](~~151181~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmzawhxxcj****', - ], + 'schema' => ['description' => 'The type of the resource.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'AAAAAdDWBF2****w==', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'ResourceDriftStatus', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags that are added to the stack group.'."\n", + 'description' => 'The resource properties as defined in the template, in JSON format.', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag that is added to the stack group.'."\n" - ."\n" - .'> Tags is optional. If you specify Tags, you must specify Tags.N.Key.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'usage', - ], - 'Value' => [ - 'description' => 'The value of the tag that is added to the stack group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - 'required' => false, - 'description' => '', - ], + 'items' => ['description' => 'The drift status of the resource. Valid values:'."\n" + ."\n" + .'- DELETED: The actual configuration of the resource differs from its expected template configuration because the resource had been deleted.'."\n" + ."\n" + .'- MODIFIED: The actual configuration of the resource differs from its expected template configuration.'."\n" + ."\n" + .'- NOT\\_CHECKED: ROS has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" + ."\n" + .'- IN\\_SYNC: The actual configuration of the resource matches its expected template configuration.', 'type' => 'string', 'required' => false, 'example' => 'MODIFIED', 'title' => ''], 'required' => false, - 'maxItems' => 20, + 'example' => 'MODIFIED', + 'maxItems' => 4, + 'title' => '', ], ], ], @@ -12511,172 +10848,121 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'StackGroups' => [ - 'description' => 'The stack groups.'."\n", + 'ResourceDrifts' => [ + 'description' => 'The resource drifts.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'StackGroupId' => [ - 'description' => 'The ID of the stack group.'."\n", - 'type' => 'string', - 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', - ], - 'Status' => [ - 'description' => 'The state of the stack group.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* ACTIVE'."\n" - .'* DELETED'."\n", - 'type' => 'string', - 'example' => 'ACTIVE', - ], - 'DriftDetectionTime' => [ - 'description' => 'The time when the most recent successful drift detection was performed on the stack group.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'Description' => [ - 'description' => 'The description of the stack group.'."\n", - 'type' => 'string', - 'example' => 'My Stack Group', - ], - 'StackGroupDriftStatus' => [ - 'description' => 'The drift state of the stack group on which the most recent successful drift detection was performed.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* DRIFTED: The stack group has drifted.'."\n" - .'* NOT_CHECKED: No drift detection is performed on the stack group.'."\n" - .'* IN_SYNC: No drifts are detected on the stack group.'."\n", - 'type' => 'string', - 'example' => 'IN_SYNC', - ], - 'StackGroupName' => [ - 'description' => 'The name of the stack group.'."\n", - 'type' => 'string', - 'example' => 'MyStackGroup', - ], - 'Tags' => [ - 'description' => 'The tags that are added to the stack group.'."\n", + 'LogicalResourceId' => ['description' => 'The logical ID of the resource. The logical ID indicates the name of the resource that is defined in the template.', 'type' => 'string', 'example' => 'ScalingRule', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + 'PhysicalResourceId' => ['description' => 'The physical ID of the resource.', 'type' => 'string', 'example' => 'asr-2ze4zzc3kf9yz1kd****', 'title' => ''], + 'DriftDetectionTime' => ['description' => 'The time when the drift detection operation was performed on the resource.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ESS::ScalingRule', 'title' => ''], + 'ExpectedProperties' => ['description' => 'The JSON-formatted resource properties that are defined in the template.', 'type' => 'string', 'example' => '{"ScalingRuleName": "test2"}', 'title' => ''], + 'ResourceDriftStatus' => ['description' => 'The drift state of the resource. Valid values:'."\n" + ."\n" + .'- DELETED: The actual configuration of the resource differs from its expected template configuration because the resource is deleted.'."\n" + ."\n" + .'- MODIFIED: The actual configuration of the resource differs from its expected template configuration.'."\n" + ."\n" + .'- NOT\\_CHECKED: Resource Orchestration Service (ROS) has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" + ."\n" + .'- IN\\_SYNC: The actual configuration of the resource matches its expected template configuration.', 'type' => 'string', 'example' => 'MODIFIED', 'title' => ''], + 'PropertyDifferences' => [ + 'description' => 'The property drifts of the resource.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag that is added to the stack group.'."\n", - 'type' => 'string', - 'example' => 'usage1', - ], - 'Value' => [ - 'description' => 'The value of the tag that is added to the stack group.'."\n", - 'type' => 'string', - 'example' => 'test1', - ], + 'ActualValue' => ['description' => 'The actual value of the resource property.', 'type' => 'string', 'example' => 'test1', 'title' => ''], + 'DifferenceType' => ['description' => 'The drift type of the resource property. Valid values:'."\n" + ."\n" + .'- ADD: The value is added to a resource property whose data type is Array or List.'."\n" + ."\n" + .'- REMOVE: The property is deleted from the current resource configuration.'."\n" + ."\n" + .'- NOT\\_EQUAL: The current property value differs from the expected value that is defined in the stack template.', 'type' => 'string', 'example' => 'NOT_EQUAL', 'title' => ''], + 'PropertyPath' => ['description' => 'The path of the resource property.', 'type' => 'string', 'example' => '/ScalingRuleName', 'title' => ''], + 'ExpectedValue' => ['description' => 'The expected value of the resource property that is defined in the template.', 'type' => 'string', 'example' => 'test2', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmzawhxxcj****', - ], - 'PermissionModel' => [ - 'description' => 'The permission model of the stack group.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* SELF_MANAGED'."\n" - .'* SERVICE_MANAGED'."\n" - ."\n" - .'> For more information about the permission models of stack groups, see [Overview](~~154578~~).'."\n", - 'type' => 'string', - 'example' => 'SELF_MANAGED', - ], - 'AutoDeployment' => [ - 'description' => 'The information about automatic deployment settings.'."\n", + 'ActualProperties' => ['description' => 'The actual JSON-formatted resource properties.', 'type' => 'string', 'example' => '{"ScalingRuleName": "test1"}', 'title' => ''], + 'ModuleInfo' => [ + 'description' => 'The information about the modules from which the resource was created. This parameter is returned only if the resource is created from modules.', 'type' => 'object', 'properties' => [ - 'Enabled' => [ - 'description' => 'Indicates whether automatic deployment is enabled.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: Automatic deployment is enabled. If you add a member to the folder to which the stack group belongs after automatic deployment is enabled, Resource Orchestration Service (ROS) automatically adds the stack instances in the stack group to the specified region of the member. If you delete the member from the folder, ROS automatically deletes the stack instances in the stack group from the specified region of the member.'."\n" - .'* false: Automatic deployment is disabled. After you disable automatic deployment, the stack instances remain unchanged when you change the member in the folder.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RetainStacksOnAccountRemoval' => [ - 'description' => 'Indicates whether the stacks within a member are retained when you delete the member from the folder.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is returned only if Enabled is set to true.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'LogicalIdHierarchy' => ['description' => 'The concatenated logical IDs of one or more modules that contain the resource. The modules are listed from the outermost layer and separated by forward slashes (`/`).'."\n" + ."\n" + .'In the following example, the resource is created from Module B nested within Parent Module A:'."\n" + ."\n" + .'`moduleA/moduleB`', 'type' => 'string', 'example' => 'moduleA/moduleB', 'title' => ''], + 'TypeHierarchy' => ['description' => 'The concatenated types of one or more modules that contain the resource. The module types are listed from the outermost layer and separated by forward slashes (`/`).'."\n" + ."\n" + .'In the following example, the resource is created from a module of the `MODULE::ROS::Child::Example` type that is nested within a parent module of the `MODULE::ROS::Parent::Example` type:'."\n" + ."\n" + .'`MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example`', 'type' => 'string', 'example' => 'MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example', 'title' => ''], ], - ], - 'CreateTime' => [ - 'type' => 'string', - ], - 'UpdateTime' => [ - 'type' => 'string', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'TotalCount' => [ - 'description' => 'The total number of stack groups.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'NextToken' => ['description' => 'The query token returned in this call.', 'type' => 'string', 'example' => 'AAAAAdDWBF2****w==', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"StackGroups\\": [\\n {\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"Description\\": \\"My Stack Group\\",\\n \\"StackGroupDriftStatus\\": \\"IN_SYNC\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage1\\",\\n \\"Value\\": \\"test1\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxcj****\\",\\n \\"PermissionModel\\": \\"SELF_MANAGED\\",\\n \\"AutoDeployment\\": {\\n \\"Enabled\\": true,\\n \\"RetainStacksOnAccountRemoval\\": true\\n },\\n \\"CreateTime\\": \\"2024-01-05T05:38:31\\",\\n \\"UpdateTime\\": \\"2024-02-15T16:40:25\\"\\n }\\n ],\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"<ListStackGroupsResponse>\\n <StackGroups>\\n <StackGroupId>fd0ddef9-9540-4b42-a464-94f77835****</StackGroupId>\\n <Status>ACTIVE</Status>\\n <DriftDetectionTime>2020-02-27T07:47:47</DriftDetectionTime>\\n <Description>My Stack Group</Description>\\n <StackGroupDriftStatus>IN_SYNC</StackGroupDriftStatus>\\n <StackGroupName>MyStackGroup</StackGroupName>\\n <Tags>\\n <Key>usage1</Key>\\n <Value>test1</Value>\\n </Tags>\\n <ResourceGroupId>rg-acfmzawhxxcj****</ResourceGroupId>\\n <PermissionModel>SELF_MANAGED</PermissionModel>\\n <AutoDeployment>\\n <Enabled>true</Enabled>\\n <RetainStacksOnAccountRemoval>true</RetainStacksOnAccountRemoval>\\n </AutoDeployment>\\n </StackGroups>\\n <TotalCount>1</TotalCount>\\n <RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n</ListStackGroupsResponse>","errorExample":""}]', - 'title' => 'ListStackGroups', - 'description' => 'In this example, the list of stack groups that are in the ACTIVE state and deployed in the China (Hangzhou) region is queried.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - ], - 'GetStackGroup' => [ - 'summary' => 'In this example, the information about a stack group named \\\\`MyStackGroup\\\\` is queried. The stack group is granted self-managed permissions and created in the China (Hangzhou) region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'ListStackResourceDrifts', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => 'The drift status of the resource.', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | StackDriftDetectionExpired |The stack drift detection of next token is expired, a new stack drift detection ({ID}) has already completed, please query from the very beginning again. |NextToken对应的偏差检测ID已经失效了,因为一个新的偏差检测已经完成,请重新进行查询。ID为偏差检测的ID。|'."\n" + .'| 400 | StackDriftDetectionNotAvailable |There is no complete drift detection for stack ({ID}). |资源栈没有成功完成过的偏差。ID为资源栈ID。 |'."\n" + .'| 404 | StackNotFound |The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackResourceDrifts'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackResourceDrifts', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResourceDrifts\\": [\\n {\\n \\"LogicalResourceId\\": \\"ScalingRule\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"PhysicalResourceId\\": \\"asr-2ze4zzc3kf9yz1kd****\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::ScalingRule\\",\\n \\"ExpectedProperties\\": \\"{\\\\\\"ScalingRuleName\\\\\\": \\\\\\"test2\\\\\\"}\\",\\n \\"ResourceDriftStatus\\": \\"MODIFIED\\",\\n \\"PropertyDifferences\\": [\\n {\\n \\"ActualValue\\": \\"test1\\",\\n \\"DifferenceType\\": \\"NOT_EQUAL\\",\\n \\"PropertyPath\\": \\"/ScalingRuleName\\",\\n \\"ExpectedValue\\": \\"test2\\"\\n }\\n ],\\n \\"ActualProperties\\": \\"{\\\\\\"ScalingRuleName\\\\\\": \\\\\\"test1\\\\\\"}\\",\\n \\"ModuleInfo\\": {\\n \\"LogicalIdHierarchy\\": \\"moduleA/moduleB\\",\\n \\"TypeHierarchy\\": \\"MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example\\"\\n }\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAdDWBF2****w==\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', + ], + 'ListStackResources' => [ + 'summary' => 'Queries the resources in a specified stack.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12687,49 +10973,18 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '12690', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique within a region.'."\n" - ."\n" - .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.'."\n" - ."\n" - .'> You must specify one of the StackGroupName and StackGroupId parameters.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'StackGroupName', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack group.'."\n" - ."\n" - .'> You must specify one of the StackGroupName and StackGroupId parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The stack ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'StackGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -12737,1212 +10992,843 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The details of the stack group.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'StackGroup' => [ - 'description' => 'Details of the stack group.'."\n", - 'type' => 'object', - 'properties' => [ - 'StackGroupId' => [ - 'description' => 'The status of the stack group.'."\n" - ."\n" - .'Valid values:'."\n" + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], + 'Resources' => [ + 'description' => 'The list of resource objects.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The resource status. Valid values:'."\n" + .'- INIT_COMPLETE: The resource is pending creation.'."\n" ."\n" - .'* ACTIVE'."\n" - .'* DELETED'."\n", - 'type' => 'string', - 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', - ], - 'Status' => [ - 'description' => 'The name of the RAM role that is specified for the administrator account in Resource Orchestration Service (ROS) when you create the self-managed stack group. If this parameter is not specified, the default value AliyunROSStackGroupAdministrationRole is returned.'."\n", - 'type' => 'string', - 'example' => 'ACTIVE', - ], - 'AdministrationRoleName' => [ - 'description' => 'The parameters of the stack group.'."\n", - 'type' => 'string', - 'example' => 'AliyunROSStackGroupAdministrationRole', - ], - 'Parameters' => [ - 'description' => 'The key of the parameter.'."\n", - 'type' => 'array', - 'items' => [ + .'- CREATE_COMPLETE: The resource is created.'."\n" + .'- CREATE_FAILED: The resource failed to be created.'."\n" + .'- CREATE_IN_PROGRESS: The resource is being created.'."\n" + .'- UPDATE_IN_PROGRESS: The resource is being updated.'."\n" + .'- UPDATE_FAILED: The resource failed to be updated.'."\n" + .'- UPDATE_COMPLETE: The resource is updated.'."\n" + .'- DELETE_IN_PROGRESS: The resource is being deleted.'."\n" + .'- DELETE_FAILED: The resource failed to be deleted.'."\n" + .'- DELETE_COMPLETE: The resource is deleted.'."\n" + .'- CHECK_IN_PROGRESS: The resource is being checked.'."\n" + .'- CHECK_FAILED: The resource failed to be checked.'."\n" + .'- CHECK_COMPLETE: The resource is checked.'."\n" + .'- IMPORT_IN_PROGRESS: The resource import is in progress.'."\n" + .'- IMPORT_FAILED: The resource import failed.'."\n" + .'- IMPORT_COMPLETE: The resource import is complete.', 'type' => 'string', 'example' => 'UPDATE_COMPLETE', 'title' => ''], + 'LogicalResourceId' => ['description' => 'The logical resource ID, which is the name defined in the template.', 'type' => 'string', 'example' => 'dummy', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the resource was last updated. The time is displayed in UTC+0 and follows the ISO 8601 standard. The time is in the YYYY-MM-DDThh:mm:ss format without the Z suffix.', 'type' => 'string', 'example' => '2019-08-01T06:01:29', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + 'PhysicalResourceId' => ['description' => 'The physical resource ID, which is the actual resource ID.', 'type' => 'string', 'example' => 'd04af923-e6b7-4272-aeaa-47ec9777****', 'title' => ''], + 'DriftDetectionTime' => ['description' => 'The time when the resource drift was detected during the most recent successful drift detection on the stack.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ROS::Stack', 'title' => ''], + 'ResourceDriftStatus' => ['description' => 'The drift status of the resource in the most recent successful drift detection on the stack. Valid values:'."\n" + .'- DELETED: The resource differs from the expected template configuration because the resource is deleted.'."\n" + .'- MODIFIED: The resource differs from the expected template configuration.'."\n" + .'- NOT_CHECKED: Resource Orchestration Service (ROS) has not checked whether the resource differs from the expected template configuration.'."\n" + .'- IN_SYNC: The current configuration of the resource matches the expected template configuration.', 'type' => 'string', 'example' => 'IN_SYNC', 'title' => ''], + 'StatusReason' => ['description' => 'The reason for the resource status.', 'type' => 'string', 'example' => 'state changed', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the resource was created. The time is displayed in UTC+0 and follows the ISO 8601 standard. The time is in the YYYY-MM-DDThh:mm:ss format without the Z suffix.', 'type' => 'string', 'example' => '2019-08-01T06:01:23', 'title' => ''], + 'StackName' => ['description' => 'The stack name. The name can be up to 255 characters in length and must start with a digit or a letter. It can contain digits, letters, hyphens (-), and underscores (_).', 'type' => 'string', 'example' => 'test-describe-resource', 'title' => ''], + 'ModuleInfo' => [ + 'description' => 'The information about the module from which the resource is created. This parameter is returned only if the resource is created from a module.', 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The value of the parameter.'."\n", - 'type' => 'string', - 'example' => '12', - ], - ], - 'description' => '', - ], - ], - 'Description' => [ - 'description' => 'The name of the stack group.'."\n", - 'type' => 'string', - 'example' => 'StackGroup Description', - ], - 'StackGroupName' => [ - 'description' => 'The name of the RAM role that is specified for the execution account when you create the self-managed stack group. The administrator role AliyunROSStackGroupAdministrationRole assumes the execution role. If this parameter is not specified, the default value AliyunROSStackGroupExecutionRole is returned.'."\n", - 'type' => 'string', - 'example' => 'MyStackGroup', - ], - 'ExecutionRoleName' => [ - 'description' => 'The template body.'."\n", - 'type' => 'string', - 'example' => 'AliyunROSStackGroupExecutionRole', - ], - 'TemplateBody' => [ - 'description' => 'The structure that contains the template body.'."\n" - ."\n" - .'> We recommend that you use TemplateContent instead of TemplateBody.'."\n", - 'type' => 'string', - 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', - ], - 'StackGroupDriftDetectionDetail' => [ - 'description' => 'The time when drift detection was performed on the stack group.'."\n", - 'type' => 'object', - 'properties' => [ - 'DriftDetectionTime' => [ - 'description' => 'The number of stack instances.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'TotalStackInstancesCount' => [ - 'description' => 'The number of stack instances that failed drift detection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'FailedStackInstancesCount' => [ - 'description' => 'The status of drift detection on the stack group.'."\n" + 'LogicalIdHierarchy' => ['description' => 'The concatenated list of logical IDs of one or more modules that contain the resource. The modules are listed starting from the outermost module and are separated by `/`.'."\n" ."\n" - .'Valid values:'."\n" + .'In the following example, the resource is created from a module moduleB that is nested in a parent module moduleA.'."\n" ."\n" - .'* COMPLETED: Drift detection is performed and completed on all stack instances.'."\n" - .'* FAILED: Drift detection is performed. The number of stack instances that failed the drift detection exceeds the specified threshold.'."\n" - .'* PARTIAL_SUCCESS: Drift detection is performed. The number of stack instances that failed the drift detection does not exceed the specified threshold.'."\n" - .'* IN_PROGRESS: Drift detection is being performed on the stack group.'."\n" - .'* STOPPED: Drift detection is canceled for the stack group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DriftDetectionStatus' => [ - 'description' => 'The drift status of the stack group.'."\n" + .'`moduleA/moduleB`.', 'type' => 'string', 'example' => 'moduleA/moduleB', 'title' => ''], + 'TypeHierarchy' => ['description' => 'The concatenated list of module types of one or more modules that contain the resource. The module types are listed starting from the outermost module and are separated by `/`.'."\n" ."\n" - .'Valid values:'."\n" + .'In the following example, the resource is created from a module of the `MODULE::ROS::Child::Example` type, which is nested in a parent module of the `MODULE::ROS::Parent::Example` type.'."\n" ."\n" - .'* DRIFTED: At least one stack instance in the stack group has drifted.'."\n" - .'* NOT_CHECKED: No drift detection is completed on the stack group.'."\n" - .'* IN_SYNC: All the stack instances in the stack group are being synchronized.'."\n", - 'type' => 'string', - 'example' => 'COMPLETED', - ], - 'StackGroupDriftStatus' => [ - 'description' => 'The number of stack instances on which drift detection was being performed.'."\n", - 'type' => 'string', - 'example' => 'DRIFTED', - ], - 'InProgressStackInstancesCount' => [ - 'description' => 'The number of stack instances that were being synchronized.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InSyncStackInstancesCount' => [ - 'description' => 'The number of stack instances for which drift detection was canceled.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CancelledStackInstancesCount' => [ - 'description' => 'The number of stack instances that have drifted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DriftedStackInstancesCount' => [ - 'description' => 'The ID of the resource group. This parameter is specified when you create the stack group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + .'`MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example`.', 'type' => 'string', 'example' => 'MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], - 'ResourceGroupId' => [ - 'description' => 'The permission model.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* SELF_MANAGED: the self-managed permission model'."\n" - .'* SERVICE_MANAGED: the service-managed permission model'."\n" - ."\n" - .'> For more information about the permission models of stack groups, see [Overview](~~154578~~).'."\n", - 'type' => 'string', - 'example' => 'rg-acfmxazb4ph6aiy****', - ], - 'PermissionModel' => [ - 'description' => 'The information about automatic deployment settings.'."\n" - ."\n" - .'> This parameter is returned only when the PermissionModel parameter is set to SERVICE_MANAGED.'."\n", - 'type' => 'string', - 'example' => 'SELF_MANAGED', - ], - 'AutoDeployment' => [ - 'description' => 'Indicates whether automatic deployment is enabled.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: Automatic deployment is enabled. If a member account is added to the folder to which the stack group belongs after automatic deployment is enabled, the stack group deploys its stack instances in the specified region where the added account is deployed. If the account is deleted from the folder, the stack instances in the specified region are deleted from the stack group.'."\n" - .'* false: Automatic deployment is disabled. After automatic deployment is disabled, the stack instances remain unchanged when the member account in the folder is changed.'."\n", - 'type' => 'object', - 'properties' => [ - 'Enabled' => [ - 'description' => 'Indicates whether stacks in the member account are retained when the member account is deleted from the folder.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: The stacks are retained.'."\n" - .'* false: The stacks are deleted.'."\n" - ."\n" - .'> This parameter is returned only when the Enabled parameter is set to true.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RetainStacksOnAccountRemoval' => [ - 'description' => 'The folder IDs of the resource directory. This parameter is used to deploy stack instances within all the accounts in the folders.'."\n" - ."\n" - .'> This parameter is returned only when the PermissionModel parameter is set to SERVICE_MANAGED.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'RdFolderIds' => [ - 'description' => 'The folder IDs of the resource directory. This parameter is used to deploy stack instances within all the accounts in the folders.'."\n" - ."\n" - .'> This parameter is returned only when the PermissionModel parameter is set to SERVICE_MANAGED.', - 'type' => 'array', - 'items' => [ - 'description' => 'The folder IDs of the resource directory. This parameter is used to deploy stack instances within all the accounts in the folders.'."\n" - ."\n" - .'> This parameter is returned only when the PermissionModel parameter is set to SERVICE_MANAGED.', - 'type' => 'string', - 'example' => '["fd-4PvlVLOL8v"]', - ], - ], - 'TemplateContent' => [ - 'description' => 'The JSON-formatted structure that contains the template body. For more information, see [Template syntax](~~28857~~).'."\n", - 'type' => 'string', - 'example' => '{'."\n" - .' "ROSTemplateFormatVersion": "2015-09-01"'."\n" - .'}', - ], - 'CreateTime' => [ - 'type' => 'string', - ], - 'UpdateTime' => [ - 'type' => 'string', - ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"StackGroup\\": {\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"AdministrationRoleName\\": \\"AliyunROSStackGroupAdministrationRole\\",\\n \\"Parameters\\": [\\n {\\n \\"ParameterKey\\": \\"Amount\\",\\n \\"ParameterValue\\": \\"12\\"\\n }\\n ],\\n \\"Description\\": \\"StackGroup Description\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"ExecutionRoleName\\": \\"AliyunROSStackGroupExecutionRole\\",\\n \\"TemplateBody\\": \\"{\\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"}\\",\\n \\"StackGroupDriftDetectionDetail\\": {\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"TotalStackInstancesCount\\": 2,\\n \\"FailedStackInstancesCount\\": 0,\\n \\"DriftDetectionStatus\\": \\"COMPLETED\\",\\n \\"StackGroupDriftStatus\\": \\"DRIFTED\\",\\n \\"InProgressStackInstancesCount\\": 0,\\n \\"InSyncStackInstancesCount\\": 1,\\n \\"CancelledStackInstancesCount\\": 0,\\n \\"DriftedStackInstancesCount\\": 1\\n },\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"PermissionModel\\": \\"SELF_MANAGED\\",\\n \\"AutoDeployment\\": {\\n \\"Enabled\\": true,\\n \\"RetainStacksOnAccountRemoval\\": true\\n },\\n \\"RdFolderIds\\": [\\n \\"[\\\\\\"fd-4PvlVLOL8v\\\\\\"]\\"\\n ],\\n \\"TemplateContent\\": \\"{\\\\n \\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"\\\\n}\\",\\n \\"CreateTime\\": \\"2024-06-14T02:13:50\\",\\n \\"UpdateTime\\": \\"2024-06-15T02:01:00\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetStackGroupResponse>\\n <RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>\\n <StackGroup>\\n <Status>ACTIVE</Status>\\n <ResourceGroupId>rg-acfmxazb4ph6aiy****</ResourceGroupId>\\n <StackGroupName>MyStackGroup</StackGroupName>\\n <StackGroupId>fd0ddef9-9540-4b42-a464-94f77835****</StackGroupId>\\n <AdministrationRoleName>AliyunROSStackGroupAdministrationRole</AdministrationRoleName>\\n <TemplateBody>\\n <ROSTemplateFormatVersion>2015-09-01</ROSTemplateFormatVersion>\\n </TemplateBody>\\n <PermissionModel>SELF_MANAGED</PermissionModel>\\n <ExecutionRoleName>AliyunROSStackGroupExecutionRole</ExecutionRoleName>\\n </StackGroup>\\n</GetStackGroupResponse>","errorExample":""}]', - 'title' => 'GetStackGroup', - 'description' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'requestParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" - .'| ---------- | ------------- | ---------------- | ----------- |'."\n" - .'| StackGroupNotFound | The StackGroup ({name}) could not be found. | 404 | The error message returned because the specified stack group does not exist. name indicates the name of the stack group. |', - 'responseParamsDescription' => 'The operation that you want to perform. Set the value to GetStackGroup.'."\n", - ], - 'CreateStackInstances' => [ - 'summary' => 'Creates stack instances in the specified accounts and regions.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"Resources\\": [\\n {\\n \\"Status\\": \\"UPDATE_COMPLETE\\",\\n \\"LogicalResourceId\\": \\"dummy\\",\\n \\"UpdateTime\\": \\"2019-08-01T06:01:29\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"PhysicalResourceId\\": \\"d04af923-e6b7-4272-aeaa-47ec9777****\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"ResourceType\\": \\"ALIYUN::ROS::Stack\\",\\n \\"ResourceDriftStatus\\": \\"IN_SYNC\\",\\n \\"StatusReason\\": \\"state changed\\",\\n \\"CreateTime\\": \\"2019-08-01T06:01:23\\",\\n \\"StackName\\": \\"test-describe-resource\\",\\n \\"ModuleInfo\\": {\\n \\"LogicalIdHierarchy\\": \\"moduleA/moduleB\\",\\n \\"TypeHierarchy\\": \\"MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example\\"\\n }\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query resources in a stack', + 'description' => 'This topic provides an example on how to query the resources in a stack whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` in the China (Hangzhou) region.', + 'requestParamsDescription' => ' For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| Error code | Error message | HTTP status code | Description |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| StackNotFound | The Stack ({name}) could not be found. | 404 | The stack does not exist. name indicates the stack name or ID. |.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackResources'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + ], + 'ListStacks' => [ + 'summary' => 'Queries the list of stacks.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '12672', - 'abilityTreeNodes' => [ - 'FEATURErosTBD793', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'StackGroupName', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique within a region.\\'."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The number of entries per page when paging is used. '."\n" + ."\n" + .'Maximum value: 50.'."\n" + .' '."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'AccountIds', + 'name' => 'ParentStackId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the execution accounts within which you want to deploy stacks in self-managed mode. You can specify up to 20 execution account IDs.'."\n" - ."\n" - .'> You must specify one of the following parameters: `AccountIds` and `DeploymentTargets`.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the execution account within which you want to deploy stacks in self-managed mode. You can specify up to 20 execution account IDs.'."\n" - ."\n" - .'> You must specify one of the following parameters: `AccountIds` and `DeploymentTargets`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["151266687691****", "141261387191****"]', - ], - 'required' => false, - 'docRequired' => false, - 'example' => '["151266687691****","141261387191****"]', - ], + 'schema' => ['description' => 'The ID of the parent stack.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'RegionIds', + 'name' => 'RegionId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the regions where you want to create the stacks. You can specify up to 20 region IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the region where you want to create the stacks. You can specify up to 20 region IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["cn-hangzhou","cn-beijing"]', - ], - 'required' => true, - 'docRequired' => true, - 'example' => '["cn-hangzhou", "cn-beijing"]', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.\\'."\n" - .'The token can contain letters, digits, hyphens (-), and underscores (\\_), and cannot exceed 64 characters in length.\\'."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The page number of the stack list. '."\n" + ."\n" + .'Start value: 1.'."\n" + .' '."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'OperationDescription', + 'name' => 'ShowNestedStack', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the stack creation operation.'."\n" - ."\n" - .'The description must be 1 to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'Create stack instances in hangzhou and beijing', - ], + 'schema' => ['description' => 'Specifies whether to list nested stacks. Valid values:'."\n" + ."\n" + .'- true'."\n" + .'- false (default)'."\n" + .' '."\n" + .'> If ParentStackId is specified, this value is set to true.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'OperationPreferences', + 'name' => 'StackId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The preference settings of the stack creation operation.'."\n" - ."\n" - .'The following parameters are available:'."\n" - ."\n" - .'- {"FailureToleranceCount": N}'."\n" - ."\n" - .' The number of accounts within which stack operation failures are allowed in each region. If the value of this parameter is exceeded in a region, Resource Orchestration Service (ROS) stops the operation in the region. If ROS stops the operation in one region, ROS stops the operation in other regions.'."\n" - ."\n" - .' Valid values of N: 0 to 20.'."\n" - ."\n" - .' If you do not specify FailureToleranceCount, 0 is used as the default value.'."\n" - ."\n" - .'- {"FailureTolerancePercentage": N}'."\n" - ."\n" - .' The percentage of the number of accounts within which stack operation failures are allowed to the total number of accounts in each region. If the value of this parameter is exceeded, ROS stops the operation in the region.'."\n" - ."\n" - .' Valid values of N: 0 to 100. If the numeric value in the percentage is not an integer, ROS rounds the value down to the nearest integer.'."\n" - ."\n" - .' If you do not specify FailureTolerancePercentage, 0 is used as the default value.'."\n" - ."\n" - .'- {"MaxConcurrentCount": N}'."\n" - ."\n" - .' The maximum number of accounts within which multiple stacks are deployed at the same time in each region.'."\n" - ."\n" - .' Valid values of N: 1 to 20.'."\n" - ."\n" - .' If you do not specify MaxConcurrentCount, 1 is used as the default value.'."\n" - ."\n" - .'- {"MaxConcurrentPercentage": N}'."\n" - ."\n" - .' The percentage of the maximum number of accounts within which multiple stacks are deployed at the same time to the total number of accounts in each region.'."\n" - ."\n" - .' Valid values: 1 to 100. If the numeric value in the percentage is not an integer, ROS rounds the number down to the nearest integer.'."\n" - ."\n" - .' If you do not specify MaxConcurrentPercentage, 1 is used as the default value.'."\n" - ."\n" - .'- {"RegionConcurrencyType": N}\\'."\n" - .' The mode that you want to use to deploy stacks across regions. Valid values: '."\n" - .' - SEQUENTIAL (default): deploys stacks in each specified region based on the specified sequence of regions. ROS deploys stacks in one region at a time. '."\n" - .' - PARALLEL: deploys stacks in parallel across all specified regions.'."\n" - ."\n" - .'Separate multiple parameters with commas (,).'."\n" - ."\n" - .'>- You can specify only one of the following parameters: MaxConcurrentCount and MaxConcurrentPercentage.'."\n" - .'>- You can specify only one of the following parameters: FailureToleranceCount and FailureTolerancePercentage.', - 'type' => 'object', - 'required' => false, - 'docRequired' => false, - 'example' => '{"FailureToleranceCount": 1, "MaxConcurrentCount": 2}', - ], + 'schema' => ['description' => 'The stack ID. If you do not need detailed stack information, you can specify this parameter instead of calling the GetStack operation.', 'type' => 'string', 'required' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'TimeoutInMinutes', + 'name' => 'Status', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The timeout period within which you can create the stack.'."\n" - ."\n" - .'* Default value: 60.'."\n" - .'* Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'The stack status.', + 'type' => 'array', + 'items' => ['description' => 'The stack status. Valid values: '."\n" + .'- CREATE\\_IN_PROGRESS: The stack is being created.'."\n" + .'- CREATE_FAILED: The stack failed to be created.'."\n" + .'- CREATE_COMPLETE: The stack is created.'."\n" + .'- UPDATE\\_IN_PROGRESS: The stack is being updated.'."\n" + .'- UPDATE_FAILED: The stack failed to be updated.'."\n" + .'- UPDATE_COMPLETE: The stack is updated.'."\n" + .'- DELETE\\_IN_PROGRESS: The stack is being deleted.'."\n" + .'- DELETE_FAILED: The stack failed to be deleted.'."\n" + .'- CREATE\\_ROLLBACK\\_IN_PROGRESS: The stack is being rolled back after a creation failure.'."\n" + .'- CREATE\\_ROLLBACK_FAILED: The stack failed to be rolled back after a creation failure.'."\n" + .'- CREATE\\_ROLLBACK_COMPLETE: The stack is rolled back after a creation failure.'."\n" + .'- ROLLBACK\\_IN_PROGRESS: The stack is being rolled back.'."\n" + .'- ROLLBACK_FAILED: The stack failed to be rolled back.'."\n" + .'- ROLLBACK_COMPLETE: The stack is rolled back.'."\n" + .'- CHECK\\_IN_PROGRESS: The stack is being validated.'."\n" + .'- CHECK_FAILED: The stack failed to be validated.'."\n" + .'- CHECK_COMPLETE: The stack is validated.'."\n" + .'- REVIEW\\_IN_PROGRESS: The stack is being reviewed.'."\n" + .'- IMPORT\\_CREATE\\_IN_PROGRESS: The stack is being created through resource import.'."\n" + .'- IMPORT\\_CREATE_FAILED: The stack failed to be created through resource import.'."\n" + .'- IMPORT\\_CREATE_COMPLETE: The stack is created through resource import.'."\n" + .'- IMPORT\\_CREATE\\_ROLLBACK\\_IN_PROGRESS: The stack is being rolled back after a creation failure through resource import.'."\n" + .'- IMPORT\\_CREATE\\_ROLLBACK_FAILED: The stack failed to be rolled back after a creation failure through resource import.'."\n" + .'- IMPORT\\_CREATE\\_ROLLBACK_COMPLETE: The stack is rolled back after a creation failure through resource import.'."\n" + .'- IMPORT\\_UPDATE\\_IN_PROGRESS: The stack is being updated through resource import.'."\n" + .'- IMPORT\\_UPDATE_FAILED: The stack failed to be updated through resource import.'."\n" + .'- IMPORT\\_UPDATE_COMPLETE: The stack is updated through resource import.'."\n" + .'- IMPORT\\_UPDATE\\_ROLLBACK\\_IN_PROGRESS: The stack is being rolled back after an update failure through resource import.'."\n" + .'- IMPORT\\_UPDATE\\_ROLLBACK_FAILED: The stack failed to be rolled back after an update failure through resource import.'."\n" + .'- IMPORT\\_UPDATE\\_ROLLBACK_COMPLETE: The stack is rolled back after an update failure through resource import.', 'type' => 'string', 'required' => false, 'example' => 'CREATE_COMPLETE', 'title' => ''], 'required' => false, - 'maximum' => '1440', - 'minimum' => '10', - 'example' => '10', + 'example' => 'CREATE_COMPLETE', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'DisableRollback', + 'name' => 'StackName', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to disable rollback when the stack fails to be created.'."\n" - ."\n" - .'Valid values:'."\n" + 'description' => 'The stack name.', + 'type' => 'array', + 'items' => ['description' => 'The stack name. '."\n" + .'The name can be up to 255 characters in length and must start with a digit or letter. It can contain digits, letters, hyphens (-), and underscores (_). Asterisks (*) can be used for fuzzy match.'."\n" ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', + .'Valid values of N: 1 to 5.', 'type' => 'string', 'required' => false, 'example' => 'MyStack', 'title' => ''], 'required' => false, - 'example' => 'false', + 'example' => 'MyStack', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'ParameterOverrides', + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The parameters that are used to override specific parameters.'."\n", + 'description' => 'The tags of the stack.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The key of parameter N that you want to use to override a specific parameter. If you do not specify this parameter, ROS uses the name that you specified when you created the stack group.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'>- ParameterOverrides is optional.'."\n" - .'>- If you specify ParameterOverrides, you must specify ParameterOverrides.N.ParameterKey and ParameterOverrides.N.ParameterValue.', - 'type' => 'string', - 'required' => true, - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The value of parameter N that you want to use to override a specific parameter. If you do not specify this parameter, ROS uses the value that you specify when you create the stack group.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'>- ParameterOverrides is optional.'."\n" - .'>- If you specify ParameterOverrides, you must specify ParameterOverrides.N.ParameterKey and ParameterOverrides.N.ParameterValue.', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], + 'Key' => ['description' => 'The tag key of the stack. '."\n" + .'Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the stack. '."\n" + .'Valid values of N: 1 to 20.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], 'required' => false, 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 200, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DeploymentTargets', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The folders in which ROS deploy stacks in service-managed permission model.'."\n" - ."\n" - .'> You must specify one of the following parameters: `AccountIds` and `DeploymentTargets`.'."\n", - 'type' => 'object', - 'properties' => [ - 'RdFolderIds' => [ - 'description' => 'The folder IDs of the resource directory. You can add up to five folder IDs.'."\n" - ."\n" - .'You can create stacks within all the member accounts in the specified folders. If you create stacks in the Root folder, the stacks are created within all member accounts in the resource directory.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information about a folder](~~111223~~).'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The folder ID of the resource directory. You can add up to five folder IDs.'."\n" - ."\n" - .'You can create stacks within all the member accounts in the specified folders. If you create stacks in the Root folder, the stacks are created within all member accounts in the resource directory.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information about a folder](~~111223~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["fd-4PvlVLOL8v"]', - ], - 'required' => true, - 'docRequired' => true, - ], - 'AccountIds' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - ], - 'required' => false, - 'example' => '{"RdFolderId": "fd-4PvlVLOL8v"}', - ], + 'schema' => ['description' => 'The resource group ID. '."\n" + .'For more information about resource groups, see [What is a resource group?](~~94475~~).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ - 'name' => 'DeploymentOptions', + 'name' => 'StackIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ + 'description' => 'The list of stack IDs.', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - 'maxItems' => 1, + 'items' => ['description' => 'The stack ID.'."\n" + .'You can specify multiple stack IDs to query the details of multiple stacks at a time.'."\n" + .'Valid values of N: 1 to 10.', 'type' => 'string', 'required' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + 'required' => false, + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range for filtering by creation time. Specify the time in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC+0.', 'type' => 'string', 'required' => false, 'example' => '2023-04-01T15:10:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range for filtering by creation time. Specify the time in the [ISO 8601](~~25696~~) standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC+0.', 'type' => 'string', 'required' => false, 'example' => '2023-04-01T15:16:00Z', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'OperationId' => [ - 'description' => 'The ID of the operation.'."\n", - 'type' => 'string', - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', + 'TotalCount' => ['description' => 'The total number of stacks.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page in paging Settings. '."\n" + ."\n" + .'Maximum value: 50.'."\n" + .' '."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FBAC80B4-9C27-529D-BC9C-4155FA5CD7A7', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the stack list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Stacks' => [ + 'description' => 'The list of stacks.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The stack status.', 'type' => 'string', 'example' => 'CREATE_COMPLETE', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the stack was last updated. The time is displayed in UTC+0 in the ISO 8601 standard format without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2022-03-10T07:44:36', 'title' => ''], + 'DriftDetectionTime' => ['description' => 'The time when the most recent successful drift detection was performed on the stack.', 'type' => 'string', 'example' => '2022-03-10T06:46:36', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the stack is in its current status.', 'type' => 'string', 'example' => 'Stack CREATE completed successfully', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the stack was created. The time is displayed in UTC+0 in the ISO 8601 standard format without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2022-03-10T06:44:36', 'title' => ''], + 'DisableRollback' => ['description' => 'Indicates whether rollback is disabled when the stack fails to be created. Valid values:'."\n" + ."\n" + .'- true: Rollback is disabled.'."\n" + .'- false (default): Rollback is enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the stack.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the stack.', 'type' => 'string', 'example' => 'acs:rm:rgId', 'title' => ''], + 'Value' => ['description' => 'The tag value of the stack.', 'type' => 'string', 'example' => 'rg-aek2frunvw7****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'StackName' => ['description' => 'The stack name.', 'type' => 'string', 'example' => 'MyStack', 'title' => ''], + 'TimeoutInMinutes' => ['description' => 'The timeout period for creating the stack. Unit: minutes. Valid values: 10, 20, 60, 120, and 1440.'."\n" + ."\n" + .'This information is generated based on call logs and may be incomplete. Verify the information.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the stack. You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'ParentStackId' => ['description' => 'The ID of the parent stack.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf692****', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => '67805444-a605-45ee-a57f-83908ff6****', 'title' => ''], + 'StackDriftStatus' => ['description' => 'The drift status of the stack in the most recent successful drift detection. Valid values:'."\n" + .'- DRIFTED: The stack has drifted.'."\n" + .'- NOT_CHECKED: No successful drift detection has been performed on the stack.'."\n" + .'- IN_SYNC: The stack is in sync.', 'type' => 'string', 'example' => 'IN_SYNC', 'title' => ''], + 'StackType' => ['description' => 'The stack type. Valid values:'."\n" + ."\n" + .'- ROS: The stack uses an ROS template.'."\n" + .'- Terraform: The stack uses a Terraform template.', 'type' => 'string', 'example' => 'ROS', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-aek2frunvw7****', 'title' => ''], + 'ServiceManaged' => ['description' => 'Indicates whether the stack is a managed stack. Valid values: '."\n" + ."\n" + .'- true: The stack is a managed stack. '."\n" + ."\n" + .'- false: The stack is not a managed stack.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ServiceName' => ['description' => 'The service name to which the managed stack belongs.', 'type' => 'string', 'example' => 'ACVS', 'title' => ''], + 'OperationInfo' => [ + 'description' => 'The supplementary information that is returned when an error occurs during a stack operation.'."\n" + ."\n" + .'> This response property is returned only in specific cases and contains at least one sub-property. For example, an error occurs when another cloud service API is called.', + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- Forbidden.RAM: Access denied by RAM.'."\n" + .'- InvalidAccountStatus.NotEnoughBalance: Insufficient account balance.'."\n" + .'- OrderError.EIP: EIP order error.'."\n" + .'- QuotaExceeded.Eip: EIP quota exceeded.'."\n" + ."\n" + .'This information is generated based on call logs and may be incomplete. Verify the information.', 'type' => 'string', 'example' => 'DependencyViolation', 'title' => ''], + 'Message' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'There is still instance(s) in the specified security group.', 'title' => ''], + 'RequestId' => ['description' => 'The request ID of the API call to another cloud service.', 'type' => 'string', 'example' => '071D6166-3F6B-5C7B-A1F0-0113FBB643A8', 'title' => ''], + 'Action' => ['description' => 'The name of the API operation called on another cloud service.', 'type' => 'string', 'example' => 'DeleteSecurityGroup', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type on which the operation error occurred.', 'type' => 'string', 'example' => 'ALIYUN::ECS::SecurityGroup', 'title' => ''], + 'LogicalResourceId' => ['description' => 'The logical ID of the resource on which the operation error occurred.', 'type' => 'string', 'example' => 'EcsSecurityGroup', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'DeletionProtection' => [ + 'description' => 'Indicates whether deletion protection is enabled for the stack. Valid values:'."\n" + .'- Enabled: Deletion protection is enabled.'."\n" + .'- Disabled: Deletion protection is disabled. You can delete the stack by using the console or by calling the [DeleteStack](~~610812~~) operation.'."\n" + ."\n" + .'> The deletion protection mechanism of a nested stack is the same as that of the root stack.', + 'enumValueTitles' => ['Enabled' => 'Enabled', 'Disabled' => 'Disabled'], + 'type' => 'string', + 'example' => 'Disabled', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateStackInstancesResponse>\\n <RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>\\n <OperationId>6da106ca-1784-4a6f-a7e1-e723863d****</OperationId>\\n</CreateStackInstancesResponse>","errorExample":""}]', - 'title' => 'CreateStackInstances', - 'description' => 'Before you call this operation, make sure that a stack group is created. For more information, see [CreateStackGroup](~~151333~~).'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"FBAC80B4-9C27-529D-BC9C-4155FA5CD7A7\\",\\n \\"PageNumber\\": 1,\\n \\"Stacks\\": [\\n {\\n \\"Status\\": \\"CREATE_COMPLETE\\",\\n \\"UpdateTime\\": \\"2022-03-10T07:44:36\\",\\n \\"DriftDetectionTime\\": \\"2022-03-10T06:46:36\\",\\n \\"StatusReason\\": \\"Stack CREATE completed successfully\\",\\n \\"CreateTime\\": \\"2022-03-10T06:44:36\\",\\n \\"DisableRollback\\": false,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"acs:rm:rgId\\",\\n \\"Value\\": \\"rg-aek2frunvw7****\\"\\n }\\n ],\\n \\"StackName\\": \\"MyStack\\",\\n \\"TimeoutInMinutes\\": 60,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ParentStackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf692****\\",\\n \\"StackId\\": \\"67805444-a605-45ee-a57f-83908ff6****\\",\\n \\"StackDriftStatus\\": \\"IN_SYNC\\",\\n \\"StackType\\": \\"ROS\\",\\n \\"ResourceGroupId\\": \\"rg-aek2frunvw7****\\",\\n \\"ServiceManaged\\": false,\\n \\"ServiceName\\": \\"ACVS\\",\\n \\"OperationInfo\\": {\\n \\"Code\\": \\"DependencyViolation\\",\\n \\"Message\\": \\"There is still instance(s) in the specified security group.\\",\\n \\"RequestId\\": \\"071D6166-3F6B-5C7B-A1F0-0113FBB643A8\\",\\n \\"Action\\": \\"DeleteSecurityGroup\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"LogicalResourceId\\": \\"EcsSecurityGroup\\"\\n },\\n \\"DeletionProtection\\": \\"Disabled\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query stack list', + 'description' => '### Operation description'."\n" ."\n" - .'In this topic, the stack group named `MyStackGroup` is used. The stack group is created in the China (Hangzhou) region and granted the self-managed permissions. In this example, stacks are created by using Alibaba Cloud accounts whose IDs are `151266687691****` and `141261387191****` in the China (Hangzhou) region and China (Beijing) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + .'This topic provides an example of how to query the list of stacks in the China (Hangzhou) region.', + 'requestParamsDescription' => ' For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - 'translator' => 'machine', - ], - 'DeleteStackInstances' => [ - 'summary' => 'Deletes stack instances in the specified accounts and regions. You can retain specific resources based on your business requirements when you call this operation.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStacks'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStacks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/*'], + ], + ], + ], ], + ], + 'ListSummaries' => [ + 'summary' => 'Queries for an overview.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATURErosTBD793', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'StackGroupName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique within a region.\\'."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], - ], - [ - 'name' => 'AccountIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the execution accounts within which you want to deploy stacks in self-managed mode. You can specify up to 20 execution account IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the execution account within which you want to deploy stacks in self-managed mode. You can specify up to 20 execution account IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["151266687691****","141261387191****"]', - ], - 'required' => false, - 'example' => '["151266687691****"]', - ], - ], - [ - 'name' => 'RegionIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the regions where you want to delete the stacks. You can specify up to 20 region IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the region where you want to delete the stacks. You can specify up to 20 region IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["cn-hangzhou","cn-beijing"]', - ], - 'required' => true, - 'docRequired' => true, - 'example' => '["cn-hangzhou", "cn-beijing"]', - ], - ], - [ - 'name' => 'RetainStacks', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to delete the stacks.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: retains the stacks.'."\n" - .'* false: deletes the stacks.'."\n", - 'type' => 'boolean', - 'required' => true, - 'docRequired' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.\\'."\n" - .'The token can contain letters, digits, hyphens (-), and underscores (\\_), and cannot exceed 64 characters in length.\\'."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], - ], - [ - 'name' => 'OperationDescription', + 'name' => 'Option', 'in' => 'query', 'schema' => [ - 'description' => 'The description of the delete operation.'."\n" - ."\n" - .'The description must be 1 to 256 characters in length.'."\n", + 'description' => 'Output information options.', + 'enumValueTitles' => ['StackDetail' => 'StackDetail', 'Overview' => 'Overview'], 'type' => 'string', 'required' => false, - 'docRequired' => false, - 'example' => 'Delete stack instances in hangzhou and beijing', + 'example' => 'StackDetail', + 'title' => '', ], ], - [ - 'name' => 'OperationPreferences', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The preference settings of the delete operation.'."\n" - ."\n" - .'The following parameters are available:'."\n" - ."\n" - .'- {"FailureToleranceCount": N}'."\n" - ."\n" - .' The number of accounts within which stack operation failures are allowed in each region. If the value of this parameter is exceeded in a region, ROS stops the operation in the region. If ROS stops the operation in one region, ROS stops the operation in other regions.'."\n" - ."\n" - .' Valid values of N: 0 to 20.'."\n" - ."\n" - .' If you do not specify FailureToleranceCount, 0 is used as the default value.'."\n" - ."\n" - .'- {"FailureTolerancePercentage": N}'."\n" - ."\n" - .' The percentage of the number of accounts within which stack operation failures are allowed to the total number of accounts in each region. If the value of this parameter is exceeded, ROS stops the operation in the region.'."\n" - ."\n" - .' Valid values of N: 0 to 100. If the numeric value in the percentage is not an integer, ROS rounds the value down to the nearest integer.'."\n" - ."\n" - .' If you do not specify FailureTolerancePercentage, 0 is used as the default value.'."\n" - ."\n" - .'- {"MaxConcurrentCount": N}'."\n" - ."\n" - .' The maximum number of accounts within which multiple stacks are deployed at the same time in each region.'."\n" - ."\n" - .' Valid values of N: 1 to 20.'."\n" - ."\n" - .' If you do not specify MaxConcurrentCount, 1 is used as the default value.'."\n" - ."\n" - .'- {"MaxConcurrentPercentage": N}'."\n" - ."\n" - .' The percentage of the maximum number of accounts within which stacks are deployed at the same time to the total number of accounts in each region.'."\n" - ."\n" - .' Valid values of N: 1 to 100. If the numeric value in the percentage is not an integer, ROS rounds the number down to the nearest integer.'."\n" - ."\n" - .' If you do not specify MaxConcurrentPercentage, 1 is used as the default value.'."\n" - ."\n" - .'- {"RegionConcurrencyType": N}'."\n" - ."\n" - .' The mode that you want to use to deploy stacks across regions. Valid values:'."\n" - .' - SEQUENTIAL (default): deploys stacks in the specified regions one by one in sequence. This way, ROS deploys stacks in only one region at a time. '."\n" - ."\n" - .' - PARALLEL: deploys stacks in all the specified regions in parallel. '."\n" - ."\n" - .'Separate multiple parameters with commas (,).'."\n" - ."\n" - .'> - You can specify only one of the following parameters: MaxConcurrentCount and MaxConcurrentPercentage.'."\n" - .'> - You can specify only one of the following parameters: FailureToleranceCount and FailureTolerancePercentage.', - 'type' => 'object', - 'required' => false, - 'docRequired' => false, - 'example' => '{"FailureToleranceCount": 1, "MaxConcurrentCount": 2}', - ], - ], - [ - 'name' => 'DeploymentTargets', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The folders in which you want to deploy stacks in service-managed mode.'."\n", 'type' => 'object', 'properties' => [ - 'RdFolderIds' => [ - 'description' => 'The IDs of the folders in the resource directory. You can add up to five folder IDs.'."\n" - ."\n" - .'You can create stacks within all the member accounts in the specified folders. If you create stacks in the Root folder, the stacks are created within all member accounts in the resource directory.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information about a folder](~~111223~~).'."\n", + 'RegionSummaries' => [ 'type' => 'array', 'items' => [ - 'description' => 'The ID of the folder in the resource directory. You can add up to five folder IDs.'."\n" - ."\n" - .'You can create stacks within all the member accounts in the specified folders. If you create stacks in the Root folder, the stacks are created within all member accounts in the resource directory.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information about a folder](~~111223~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["fd-4PvlVLOL8v"]', + 'type' => 'object', + 'properties' => [ + 'StackGroupCount' => ['description' => 'The number of stack groups.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'StackCount' => ['description' => 'The number of stacks.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'StackDetails' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Count' => ['description' => 'The number of stacks.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'BriefStatus' => ['description' => 'The brief status of the stack. Valid values:'."\n" + ."\n" + .'- IN\\_PROGRESS: In progress (including creation, update, deletion, rollback, import creation, and import update in progress).'."\n" + ."\n" + .'- COMPLETE: Complete (including successful creation, update, deletion, rollback, import creation, and import update).'."\n" + ."\n" + .'- FAILED: Failed (including failed creation, update, deletion, rollback, import creation, and import update).', 'type' => 'string', 'example' => 'COMPLETE', 'title' => ''], + ], + 'description' => 'Stack details.', + 'title' => '', + 'example' => '', + ], + 'description' => 'Stack details.', + 'title' => '', + 'example' => '', + ], + 'TemplateScratchCount' => ['description' => 'The number of resource scenarios.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'description' => 'Statistics about the number of ROS resources in each region.', + 'title' => '', + 'example' => '', ], - 'required' => false, - 'docRequired' => false, + 'description' => 'Statistics about the number of Resource Orchestration Service (ROS) resources in each region.', + 'title' => '', + 'example' => '', ], - 'AccountIds' => [ - 'description' => 'The IDs of the execution accounts within which you want to deploy stacks in self-managed mode. You can specify up to 20 execution account IDs.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information about a folder](~~111223~~).', - 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of the execution accounts within which you want to deploy stacks in self-managed mode. You can specify up to 20 execution account IDs.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information about a folder](~~111223~~).', - 'type' => 'string', - 'required' => false, - 'example' => '["151266687691****","141261387191****"]', + 'CenterSummary' => [ + 'type' => 'object', + 'properties' => [ + 'TemplateCount' => ['description' => 'The number of templates.', 'type' => 'string', 'example' => '2', 'title' => ''], + 'RegisteredResourceTypeCount' => ['description' => 'The number of registered resource types.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], ], - 'required' => false, + 'description' => 'Statistics about the number of central ROS resources.', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B842BB91-A004-59CC-83E3-C961567FCBC8', 'title' => ''], ], - 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'OperationId' => [ - 'description' => 'The ID of the operation.'."\n", - 'type' => 'string', - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RegionSummaries\\": [\\n {\\n \\"StackGroupCount\\": \\"1\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"StackCount\\": \\"1\\",\\n \\"StackDetails\\": [\\n {\\n \\"Count\\": \\"1\\",\\n \\"BriefStatus\\": \\"COMPLETE\\"\\n }\\n ],\\n \\"TemplateScratchCount\\": 1\\n }\\n ],\\n \\"CenterSummary\\": {\\n \\"TemplateCount\\": \\"2\\",\\n \\"RegisteredResourceTypeCount\\": 3\\n },\\n \\"RequestId\\": \\"B842BB91-A004-59CC-83E3-C961567FCBC8\\"\\n}","type":"json"}]', + 'title' => 'ListSummaries', + 'description' => '### Usage notes'."\n" + ."\n" + .'This topic provides an example of how to query a list of stacks in the China (Hangzhou) region.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListSummaries', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', - 'title' => 'DeleteStackInstances', - 'description' => 'In this topic, the stack group named `MyStackGroup` that is created in the China (Hangzhou) region is used. In this example, the stacks of the stack group that are deployed in the China (Beijing) region by using the Alibaba Cloud account whose ID is `151266687691****` are deleted.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', ], - 'UpdateStackInstances' => [ - 'summary' => 'Updates stack instances in the specified accounts and regions.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTagKeys' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATURErosTBD793', - ], + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosU14OAJ', 'FEATURErosZVIFJW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region. You can call the [DescribeRegions](~~131035~~) operation to query the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'StackGroupName', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique within a region.\\'."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The resource type. Valid values:'."\n" + ."\n" + .'- stack: stack.'."\n" + ."\n" + .'- stackgroup: stack group.'."\n" + ."\n" + .'- template: template.'."\n" + ."\n" + .'- templatescratch: resource scenario.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stack', 'title' => ''], ], [ - 'name' => 'AccountIds', + 'name' => 'NextToken', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The token that is used to start the next query.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0*****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The IDs of the execution accounts within which you want to deploy stacks in self-managed mode. You can specify up to 20 execution account IDs.'."\n" - ."\n" - .'> If you want to update stacks in self-managed permission mode, you must specify this parameter.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the execution account within which you want to deploy stacks in self-managed mode. You can specify up to 20 execution account IDs.'."\n" - ."\n" - .'> If you want to update stacks in self-managed permission mode, you must specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["151266687691****","141261387191****"]', + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'The token that is used to start the next query.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0*****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C429473A-5C66-4661-B5F8-4F900CD4330A', 'title' => ''], + 'Keys' => [ + 'description' => 'The list of tag keys.', + 'type' => 'array', + 'items' => ['description' => 'A tag key.', 'type' => 'string', 'example' => '["TagKey1","TagKey2"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], ], - 'required' => false, - 'docRequired' => false, - 'example' => '["151266687691****","141261387191****"]', + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'RegionIds', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The IDs of the regions where you want to update the stacks. You can specify up to 20 region IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the region where you want to update the stacks. You can specify up to 20 region IDs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["cn-hangzhou","cn-beijing"]', + ], + 'errorCodes' => [], + 'title' => 'ListTagKeys', + 'summary' => 'Queries the tag keys for stacks or templates in a specified region.', + 'description' => 'This topic provides an example of how to query the tag keys that are attached to a stack in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagKeys'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListTagKeys', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => true, - 'docRequired' => true, - 'example' => '["cn-hangzhou", "cn-beijing"]', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0*****\\",\\n \\"RequestId\\": \\"C429473A-5C66-4661-B5F8-4F900CD4330A\\",\\n \\"Keys\\": [\\n \\"[\\\\\\"TagKey1\\\\\\",\\\\\\"TagKey2\\\\\\"]\\"\\n ]\\n}","type":"json"}]', + ], + 'ListTagResources' => [ + 'summary' => 'Queries the tags that are added to resources in a template or stack in an Alibaba Cloud region.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ClientToken', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '12710', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.\\'."\n" - .'The token can contain letters, digits, hyphens (-), and underscores (\\_), and cannot exceed 64 characters in length.\\'."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The region ID of the tag. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'OperationDescription', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the update operation.'."\n" - ."\n" - .'The description must be 1 to 256 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'Update stack instances in hangzhou and beijing', - ], + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- stack: stack'."\n" + ."\n" + .'- stackgroup: stack group'."\n" + ."\n" + .'- template: template'."\n" + ."\n" + .'- templatescratch: scenario', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stack', 'title' => ''], ], [ - 'name' => 'OperationPreferences', + 'name' => 'NextToken', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The preference settings of the update operation.'."\n" - ."\n" - .'The following parameters are available:'."\n" - .'- {"FailureToleranceCount": N}'."\n" - ."\n" - .' The number of accounts within which stack operation failures are allowed in each region. If the value of this parameter is exceeded in a region, ROS stops the operation in the region. If ROS stops the operation in one region, ROS stops the operation in other regions.'."\n" - ."\n" - .' Valid values of N: 0 to 20.'."\n" - ."\n" - .' If you do not specify FailureToleranceCount, 0 is used as the default value.'."\n" - ."\n" - .'- {"FailureTolerancePercentage": N}'."\n" - ."\n" - .' The percentage of the number of accounts within which stack operation failures are allowed to the total number of accounts in each region. If the value of this parameter is exceeded, ROS stops the operation in the region.'."\n" - ."\n" - .' Valid values of N: 0 to 100. If the numeric value in the percentage is not an integer, ROS rounds the value down to the nearest integer.'."\n" - ."\n" - .' If you do not specify FailureTolerancePercentage, 0 is used as the default value.'."\n" - ."\n" - .'- {"MaxConcurrentCount": N}'."\n" - ."\n" - .' The maximum number of accounts within which multiple stacks are deployed at the same time in each region.'."\n" - ."\n" - .' Valid values of N: 1 to 20.'."\n" - ."\n" - .' If you do not specify MaxConcurrentCount, 1 is used as the default value.'."\n" - ."\n" - .'- {"MaxConcurrentPercentage": N}'."\n" - ."\n" - .' The percentage of the maximum number of accounts within which stacks are deployed at the same time to the total number of accounts in each region.'."\n" - ."\n" - .' Valid values: 1 to 100. If the numeric value in the percentage is not an integer, ROS rounds the value down to the nearest integer.'."\n" - ."\n" - .' If you do not specify MaxConcurrentPercentage, 1 is used as the default value.'."\n" - ."\n" - .'- {"RegionConcurrencyType": N}'."\n" - ."\n" - .' The mode that you want to use to deploy stacks across regions. Valid values:'."\n" - .' - SEQUENTIAL (default): deploys stacks in the specified regions one by one in sequence. This way, ROS deploys stacks in only one region at a time. '."\n" - ."\n" - .' - PARALLEL: deploys stacks in all the specified regions in parallel. '."\n" - ."\n" - .'Separate multiple parameters with commas (,).'."\n" - ."\n" - .'> - You can specify only one of the following parameters: MaxConcurrentCount and MaxConcurrentPercentage.'."\n" - .'> - You can specify only one of the following parameters: FailureToleranceCount and FailureTolerancePercentage.', - 'type' => 'object', - 'required' => false, - 'docRequired' => false, - 'example' => '{"FailureToleranceCount": 1,"MaxConcurrentCount": 2}', - ], + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0*****', 'title' => ''], ], [ - 'name' => 'TimeoutInMinutes', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The timeout period for the update operation.'."\n" + 'description' => 'The IDs of the resources.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the resource. You can specify up to 50 resource IDs.'."\n" ."\n" - .'* Default value: 60.'."\n" - .'* Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int64', + .'> If you set ResourceType to stackgroup, you must set ResourceId to the name of the stack group.', 'type' => 'string', 'required' => false, 'example' => '6bc589b5-9c02-4944-8fc3-f3624234****', 'title' => ''], 'required' => false, - 'maximum' => '1440', - 'minimum' => '10', - 'example' => '10', + 'example' => '6bc589b5-9c02-4944-8fc3-f3624234****', + 'maxItems' => 51, + 'title' => '', ], ], [ - 'name' => 'ParameterOverrides', + 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The parameters that are used to override specific parameters.'."\n", + 'description' => 'The tags of the resources. You can specify up to 20 tags.', 'type' => 'array', 'items' => [ + 'description' => 'The tag of the resource.', 'type' => 'object', 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The key of parameter N that you want to use to override a specific parameter. If you do not specify this parameter, ROS uses the name that you specified when you created the stack group.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'> - ParameterOverrides is optional.'."\n" - .'> - If you specify ParameterOverrides, you must specify ParameterOverrides.N.ParameterKey and ParameterOverrides.N.ParameterValue.', - 'type' => 'string', - 'required' => true, - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The value of parameter N that you want to use to override a specific parameter. If you do not specify this parameter, ROS uses the value that you specified when you created the stack group.'."\n" - ."\n" - .'Maximum value of N: 200.'."\n" - ."\n" - .'> - ParameterOverrides is optional.'."\n" - .'> - If you specify ParameterOverrides, you must specify ParameterOverrides.N.ParameterKey and ParameterOverrides.N.ParameterValue.', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], + 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.<br>'."\n" + .'The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], + 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.<br>'."\n" + .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, - 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 200, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DeploymentTargets', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The folders in which you want to deploy stacks in service-managed mode.'."\n" - ."\n" - .'> If you want to update stacks in service-managed permission mode, you must specify this parameter.'."\n", 'type' => 'object', 'properties' => [ - 'RdFolderIds' => [ - 'description' => 'The folder IDs of the resource directory.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The folder ID of the resource directory. You can specify up to five folder IDs.'."\n" - ."\n" - .'You must specify at least one of the following parameters: RdFolderIds and AccountIds. The following rules apply:'."\n" - ."\n" - .'* If you specify only RdFolderIds, stacks are deployed within all member accounts in the specified folders. If you select the Root folder, stacks are deployed within all member accounts in the resource directory.'."\n" - .'* If you specify only AccountIds, stacks are deployed only within the specified member accounts.'."\n" - .'* If you specify both parameters, the accounts specified by AccountIds must be contained in the folders specified by RdFolderIds. In this case, stacks are deployed within the specified member accounts that are contained in the specified folders.'."\n" - ."\n" - .'> To view the folder IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the basic information about a folder](~~111223~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["fd-4PvlVLOL8v"]', - ], - 'required' => false, - ], - 'AccountIds' => [ - 'description' => 'The IDs of the member accounts in the resource directory. You can specify up to 20 member account IDs.'."\n" - ."\n" - .'> To view the member account IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the details of a member](~~111624~~).'."\n", + 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0*****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C429473A-5C66-4661-B5F8-4F900CD4330A', 'title' => ''], + 'TagResources' => [ + 'description' => 'The information about the tags that are added to the resources.', 'type' => 'array', 'items' => [ - 'description' => 'The ID of the member account in the resource directory. You can specify up to 20 member account IDs.'."\n" - ."\n" - .'> To view the member account IDs, go to the **Overview** page in the **Resource Management** console. For more information, see [View the details of a member](~~111624~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["151266687691****","141261387191****"]', + 'description' => 'The information about the tag that is added to the resource.', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['description' => 'The type of the resource.', 'type' => 'string', 'example' => 'stack', 'title' => ''], + 'TagValue' => ['description' => 'The tag value of the resource.', 'type' => 'string', 'example' => 'TayValue1', 'title' => ''], + 'ResourceId' => ['description' => 'The ID of the resource.', 'type' => 'string', 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', 'title' => ''], + 'TagKey' => ['description' => 'The tag key of the resource.', 'type' => 'string', 'example' => 'TagKey1', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'required' => false, + 'title' => '', + 'example' => '', ], ], - 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'OperationId' => [ - 'description' => 'The ID of the operation.'."\n", - 'type' => 'string', - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', - ], + 'title' => 'ListTagResources', + 'description' => '###'."\n" + ."\n" + .'- To specify the query object, specify ResourceId or Tag in the request. Tag consists of Key and Value.'."\n" + ."\n" + .'- If you specify Tag and ResourceId, ROS resources that match both the parameters are returned.'."\n" + ."\n" + .'This topic provides an example on how to query the tags that are added to a stack. In this example, the stack ID is `6bc589b5-9c02-4944-8fc3-f3624234****`. The stack is deployed in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HTTP状态码 | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | MissingParameter |One of the input parameters ResourceIds,Tags should be specified.|至少指定ResourceIds或Tags参数中的一个。|'."\n" + .'| 400 | InvalidParameter |The specified parameter ResourceType is invalid, {reason}.|指定的资源类型参数错误,reason为具体原因。|'."\n" + .'| 400 | InvalidParameter |The specified parameter Tags is invalid, {reason}.|指定的Tags参数错误,reason为具体原因。|'."\n" + .'| 400 | Duplicate.TagKey |The Tag.N.Key contain duplicate key.|标签中存在重复的键,请保持键的唯一性。|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#TemplateScratchId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateStackInstancesResponse>\\n\\t\\t<OperationId>6da106ca-1784-4a6f-a7e1-e723863d****</OperationId>\\n\\t\\t<RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>\\n</UpdateStackInstancesResponse>\\n","errorExample":""}]', - 'title' => 'UpdateStackInstances', - 'description' => 'In this topic, the stack group named `MyStackGroup` that is created in the China (Hangzhou) region is used. The stack group is granted the self-managed permissions. In this example, stacks of the stack group are updated by using the Alibaba Cloud accounts whose IDs are `151266687691****` and `141261387191****` in the China (Hangzhou) region and China (Beijing) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0*****\\",\\n \\"RequestId\\": \\"C429473A-5C66-4661-B5F8-4F900CD4330A\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"stack\\",\\n \\"TagValue\\": \\"TayValue1\\",\\n \\"ResourceId\\": \\"c754d2a4-28f1-46df-b557-9586173a****\\",\\n \\"TagKey\\": \\"TagKey1\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'GetStackInstance' => [ - 'summary' => 'Queries the information about a stack instance that is associated with a stack group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTagValues' => [ + 'summary' => 'Queries the tag values that are added to resources in a template or stack in an Alibaba Cloud region.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosTBD793', - ], + 'abilityTreeNodes' => ['FEATURErosU14OAJ', 'FEATURErosZVIFJW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'StackGroupName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique within a region.\\'."\n" - .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The region ID of the tag value. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'StackInstanceAccountId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the destination account to which the stack belongs.'."\n" - ."\n" - .'* If the stack group is granted self-managed permissions, the stack belongs to an Alibaba Cloud account.'."\n" - .'* If the stack group is granted service-managed permissions, the stack belongs to a member in a resource directory.'."\n" - ."\n" - .'> For more information about the destination account, see [Overview](~~154578~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '151266687691****', - ], + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- stack: stack'."\n" + ."\n" + .'- stackgroup: stack group'."\n" + ."\n" + .'- template: template'."\n" + ."\n" + .'- templatescratch: scenario', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stack', 'title' => ''], ], [ - 'name' => 'StackInstanceRegionId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0*****', 'title' => ''], ], [ - 'name' => 'OutputOption', + 'name' => 'Key', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the Outputs parameter. The Outputs parameter specifies the outputs of the stack. Valid values:'."\n" - ."\n" - .'* Enabled: returns the Outputs parameter.'."\n" - .'* Disabled (default): does not return the Outputs parameter.'."\n" - ."\n" - .'> The Outputs parameter requires a long period of time to calculate. If you do not require the outputs of the stack, we recommend that you set OutputOption to Disabled to improve the response speed of the API operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Disabled', - ], + 'schema' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TagKey1', 'title' => ''], ], ], 'responses' => [ @@ -13950,221 +11836,54 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B8A6B693-82C8-419D-8796-DE99EC33CFF9', - ], - 'StackInstance' => [ - 'description' => 'The information about the stack.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the stack.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* CURRENT: The stack is up-to-date with the stack group.'."\n" - ."\n" - .'* OUTDATED: The stack is not up-to-date with the stack group. Stacks are in the OUTDATED state due to the following possible reasons:'."\n" - ."\n" - .' * When the CreateStackInstances operation is called to create stacks, the stacks fail to be created.'."\n" - .' * When the UpdateStackInstances or UpdateStackGroup operation is called to update stacks, the stacks fail to be updated, or only specific stacks are updated.'."\n" - .' * The creation or update operation is not complete.'."\n", - 'type' => 'string', - 'example' => 'CURRENT', - ], - 'StackGroupId' => [ - 'description' => 'The ID of the stack group.'."\n", - 'type' => 'string', - 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', - ], - 'StackId' => [ - 'description' => 'The stack ID.'."\n" - ."\n" - .'> This parameter is returned only if the stack is in the CURRENT state.'."\n", - 'type' => 'string', - 'example' => '35ad60e3-6a92-42d8-8812-f0700d45****', - ], - 'DriftDetectionTime' => [ - 'description' => 'The time when the most recent successful drift detection was performed on the stack group.'."\n" - ."\n" - .'> This parameter is returned only if drift detection is performed on the stack group.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'StackDriftStatus' => [ - 'description' => 'The state of the stack when the most recent successful drift detection was performed on the stack group.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* DRIFTED: The stack has drifted.'."\n" - .'* NOT_CHECKED: No successful drift detection is performed on the stack.'."\n" - .'* IN_SYNC: The stack is being synchronized.'."\n" - ."\n" - .'> This parameter is returned only if drift detection is performed on the stack group.'."\n", - 'type' => 'string', - 'example' => 'IN_SYNC', - ], - 'StatusReason' => [ - 'description' => 'The reason why the stack instance is in the OUTDATED state.'."\n" - ."\n" - .'> This parameter is returned only if the stack instance is in the OUTDATED state.'."\n", - 'type' => 'string', - 'example' => 'User initiated stop', - ], - 'ParameterOverrides' => [ - 'description' => 'The parameters that are used to override specific parameters.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of the parameter that is used to override a specific parameter.'."\n", - 'type' => 'string', - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The value of the parameter that is used to override a specific parameter.'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - 'description' => '', - ], - ], - 'StackGroupName' => [ - 'description' => 'The name of the stack group.'."\n", - 'type' => 'string', - 'example' => 'MyStackGroup', - ], - 'AccountId' => [ - 'description' => 'The ID of the destination account to which the stack belongs.'."\n", - 'type' => 'string', - 'example' => '151266687691****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the stack.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'RdFolderId' => [ - 'description' => 'The ID of the folder in the resource directory.'."\n" - ."\n" - .'> This parameter is returned only if the stack group is granted service-managed permissions.'."\n", - 'type' => 'string', - 'example' => 'fd-4PvlVLOL8v', - ], - 'Outputs' => [ - 'description' => 'The outputs of the stack.'."\n" - ."\n" - .'> This parameter is returned if OutputOption is set to Enabled.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The output of the stack.'."\n" - ."\n" - .'> This parameter is returned if OutputOption is set to Enabled.'."\n", - 'type' => 'object', - 'example' => '[{\'OutputKey\': \'rds_connection_string\', \'OutputValue\': \'rm-gw868n4lzy0i7kzx3.mysql.germany.rds.aliyuncs.com\'}]', - ], - ], - ], + 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0*****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C429473A-5C66-4661-B5F8-4F900CD4330A', 'title' => ''], + 'Values' => [ + 'description' => 'The tag values.', + 'type' => 'array', + 'items' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TagValue1', 'title' => ''], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B8A6B693-82C8-419D-8796-DE99EC33CFF9\\",\\n \\"StackInstance\\": {\\n \\"Status\\": \\"CURRENT\\",\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"StackId\\": \\"35ad60e3-6a92-42d8-8812-f0700d45****\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"StackDriftStatus\\": \\"IN_SYNC\\",\\n \\"StatusReason\\": \\"User initiated stop\\",\\n \\"ParameterOverrides\\": [\\n {\\n \\"ParameterKey\\": \\"Amount\\",\\n \\"ParameterValue\\": \\"1\\"\\n }\\n ],\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"AccountId\\": \\"151266687691****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"RdFolderId\\": \\"fd-4PvlVLOL8v\\",\\n \\"Outputs\\": [\\n {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'GetStackInstance', - 'description' => 'In this example, the information about a stack instance associated with a stack group named `MyStackGroup` is queried. The stack instance is deployed in the China (Beijing) region within the `151266687691****` Alibaba Cloud account. The stack group is granted self-managed permissions and deployed in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'errorCodes' => [], + 'title' => 'ListTagValues', + 'description' => 'In this example, the tag values of `TagKey1` that is added to a stack in the China (Hangzhou) region are queried.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'StopStackGroupOperation' => [ - 'summary' => 'Stops an ongoing operation in a stack group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'OperationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the operation.'."\n" - ."\n" - .'You can call the [ListStackGroupOperations](~~151342~~) operation to obtain the operation ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagValues'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListTagValues', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\"\\n}","errorExample":""},{"type":"xml","example":"<StopStackGroupOperationResponse>\\r\\n\\t\\t<RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>\\r\\n</StopStackGroupOperationResponse>\\r\\n","errorExample":""}]', - 'title' => 'StopStackGroupOperation', - 'description' => 'This topic provides an example on how to stop a stack group operation whose ID is `6da106ca-1784-4a6f-a7e1-e723863****` in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" - .'| ---------- | ------------- | ---------------- | ----------- |'."\n" - .'| InvalidParameter | The specified parameter {name} is invalid, {reason}. | 400 | The error message returned because the specified parameter is invalid. The name parameter indicates the parameter name, and the reason parameter indicates the reason for the error. |'."\n" - .'| StackGroupOperationNotFound | The StackGroupOperation ({OperationId}) could not be found. | 404 | The error message returned because the specified stack group operation does not exist. The OperationId parameter indicates the ID of the operation. |', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0*****\\",\\n \\"RequestId\\": \\"C429473A-5C66-4661-B5F8-4F900CD4330A\\",\\n \\"Values\\": [\\n \\"TagValue1\\"\\n ]\\n}","type":"json"}]', ], - 'ListStackInstances' => [ - 'summary' => 'Queries the list of stack instances that are associated with a stack group in an Alibaba Cloud region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTemplateScratches' => [ + 'summary' => 'Queries a list of resource scenarios.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14175,90 +11894,91 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosTBD793', - ], + 'abilityTreeNodes' => ['FEATURErosUSKZAD'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the resource scenario.'."\n" + ."\n" + .'You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'StackGroupName', + 'name' => 'TemplateScratchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique within a region.\\'."\n" - .'The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The ID of the resource scenario.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ts-7f7a704cf71c49a6****', 'title' => ''], ], [ - 'name' => 'StackInstanceAccountId', + 'name' => 'TemplateScratchType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the destination account to which the stack belongs.'."\n" - ."\n" - .'* If the stack group is granted self-managed permissions, the stack belongs to an Alibaba Cloud account.'."\n" - .'* If the stack group is granted service-managed permissions, the stack belongs to a member in a resource directory.'."\n" - ."\n" - .'> For more information about the destination account, see [Overview](~~154578~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '156552876021****', - ], + 'schema' => ['description' => 'The type of the resource scenario. Valid values:'."\n" + ."\n" + .'- ArchitectureReplication: resource replication.'."\n" + ."\n" + .'- ArchitectureDetection: resource detection.'."\n" + ."\n" + .'- ResourceImport: resource management.'."\n" + ."\n" + .'- ResourceMigration: resource migration.', 'type' => 'string', 'required' => false, 'example' => 'ArchitectureReplication', 'title' => ''], ], [ - 'name' => 'StackInstanceRegionId', + 'name' => 'Status', 'in' => 'query', + 'schema' => ['description' => 'The status of the resource scenario. Valid values:'."\n" + ."\n" + .'- GENERATE_IN_PROGRESS: being generated.'."\n" + .'- GENERATE_COMPLETE: generated.'."\n" + .'- GENERATE_FAILED: failed to be generated.', 'type' => 'string', 'required' => false, 'example' => '["GENERATE_COMPLETE"]', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the stack.'."\n", - 'type' => 'string', + 'description' => 'The tags of the resource scenario.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the resource scenario.'."\n" + ."\n" + .'> Tags is optional. If you specify Tags, you must specify Tags.N.Key.', 'type' => 'string', 'required' => true, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the resource scenario.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'docRequired' => false, - 'example' => 'cn-beijing', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n" - ."\n" - .'* Valid values: 1 to 50.'."\n" - .'* Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The number of entries per page in a paged query. Settings for paging.'."\n" + ."\n" + .'Maximum value: 50.'."\n" + ."\n" + .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.'."\n" - ."\n" - .'* Pages start from page 1.'."\n" - .'* Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number of the resource scenario list.'."\n" + ."\n" + .'Start value: 1.'."\n" + ."\n" + .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], ], 'responses' => [ @@ -14266,172 +11986,239 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of stacks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '85DE34BD-7FF9-480F-8C21-556E9DA93ACD', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StackInstances' => [ - 'description' => 'The stacks.'."\n", + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D1C09606-C58B-558F-9B4E-5BF263D17D09', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of resource scenarios.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the resource scenario list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page in a paged query. Settings for paging.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TemplateScratches' => [ + 'description' => 'The resource scenarios.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The state of the stack.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* CURRENT: The stack is up-to-date with the stack group.'."\n" - ."\n" - .'* OUTDATED: The stack is not up-to-date with the stack group. Stacks are in the OUTDATED state due to the following possible reasons:'."\n" - ."\n" - .' * When the CreateStackInstances operation is called to create stacks, the stacks fail to be created.'."\n" - .' * When the UpdateStackInstances or UpdateStackGroup operation is called to update stacks, the stacks fail to be updated, or only specific stacks are updated.'."\n" - .' * The creation or update operation is not complete.'."\n", - 'type' => 'string', - 'example' => 'CURRENT', - ], - 'StackGroupId' => [ - 'description' => 'The ID of the stack group.'."\n", - 'type' => 'string', - 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', - ], - 'StackId' => [ - 'description' => 'The stack ID.'."\n" - ."\n" - .'> This parameter is returned only if the stack is in the CURRENT state.'."\n", - 'type' => 'string', - 'example' => '35ad60e3-6a92-42d8-8812-f0700d45****', - ], - 'DriftDetectionTime' => [ - 'description' => 'The time when the last successful drift detection was performed on the stack.'."\n" - ."\n" - .'> This parameter is returned only if drift detection is performed on the stack group.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'StackDriftStatus' => [ - 'description' => 'The state of the stack when the last successful drift detection was performed on the stack group.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* DRIFTED: The stack has drifted.'."\n" - .'* NOT_CHECKED: No successful drift detection is performed on the stack.'."\n" - .'* IN_SYNC: The stack is being synchronized.'."\n" - ."\n" - .'> This parameter is returned only if drift detection is performed on the stack group.'."\n", - 'type' => 'string', - 'example' => 'IN_SYNC', - ], - 'StatusReason' => [ - 'description' => 'The reason why the stack instance is in the OUTDATED state.'."\n" - ."\n" - .'> This parameter is returned only if the stack instance is in the OUTDATED state.'."\n", - 'type' => 'string', - 'example' => 'User initiated stop', + 'TemplateScratchId' => ['description' => 'The ID of the resource scenario.', 'type' => 'string', 'example' => 'ts-48ad85d66cca4620****', 'title' => ''], + 'TemplateScratchType' => ['description' => 'The type of the resource scenario. Valid values:'."\n" + ."\n" + .'- ResourceImport: resource management.'."\n" + ."\n" + .'- ArchitectureReplication: resource replication.', 'type' => 'string', 'example' => 'ResourceImport', 'title' => ''], + 'Status' => ['description' => 'The status of the resource scenario.', 'type' => 'string', 'example' => 'GENERATE_COMPLETE', 'title' => ''], + 'StatusReason' => ['description' => 'The reason why the resource scenario failed to be generated.'."\n" + ."\n" + .'> This parameter is returned only if Status is GENERATE_FAILED.', 'type' => 'string', 'example' => 'Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.', 'title' => ''], + 'FailedCode' => ['description' => 'The status code that indicates why the resource scenario failed to be generated. Valid values:'."\n" + ."\n" + .'- InvalidZoneId: invalid zone ID.'."\n" + .'- IncorrectInstanceStatus: the instance status does not support this operation.'."\n" + .'- RecommendEmpty.DiskCategoryNotRecommended: the cloud disk category is unavailable.'."\n" + .'- Forbidden.RAM: insufficient RAM permissions.'."\n" + ."\n" + .'> This parameter is returned only if Status is GENERATE_FAILED.'."\n" + ."\n" + .'This information is generated based on call logs and may be incomplete. Verify the information.', 'type' => 'string', 'example' => 'InvalidZoneId', 'title' => ''], + 'PreferenceParameters' => [ + 'description' => 'The configuration parameters of the resource scenario.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The parameter name. Valid values:'."\n" + ."\n" + .'- AlbAddressIpVersion: the IP version of the ALB address.'."\n" + .'- AlbAddressType: the ALB address type.'."\n" + .'- AlbLoadBalancerEdition: the ALB load balancing edition.'."\n" + .'- AlbZoneMappings: the ALB active zone mappings.'."\n" + .'- RamAttachedPolicyReplication: RAM policy replication.'."\n" + .'- DeletionPolicy: the delete policy.'."\n" + .'- DisableNameUnique: specifies whether to disable name uniqueness.'."\n" + .'- InstanceAmount: the number of instances.'."\n" + .'- InstanceDataReplication: instance data replication.'."\n" + .'- InstancePeriod: the instance epoch.'."\n" + .'- InstancePeriodUnit: the instance epoch unit.'."\n" + .'- NamePrefix: the name prefix.'."\n" + .'- RamAttachedPolicyReplication: RAM attached policy replication.'."\n" + .'- RegionId: the region ID.'."\n" + .'- RegionIds: the list of region IDs.'."\n" + .'- ResourceView: the resource view.'."\n" + .'- ReuseStrategy: the reuse strategy.'."\n" + .'- SlbListenerProtocols: the SLB listener protocols.'."\n" + .'- TemplateType: the template type.'."\n" + .'- VSwitchId: the vSwitch ID.'."\n" + .'- VpcId: the VPC ID.'."\n" + .'- ZoneId: the zone ID.'."\n" + ."\n" + .'This information is generated based on call logs and may be incomplete. Verify the information.', 'type' => 'string', 'example' => 'DeletionPolicy', 'title' => ''], + 'ParameterValue' => ['description' => 'The parameter value.', 'type' => 'string', 'example' => 'Retain', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'StackGroupName' => [ - 'description' => 'The name of the stack group.'."\n", - 'type' => 'string', - 'example' => 'MyStackGroup', + 'Description' => ['description' => 'The description of the resource scenario.', 'type' => 'string', 'example' => '纳管VPC资源。', 'title' => ''], + 'SourceResources' => [ + 'description' => 'The source resources.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'vpc-m5eauuq80anx59v28****', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type. Valid values:'."\n" + ."\n" + .'- ALIYUN::ALB::LoadBalancer: Application Load Balancer (ALB) for load balancing.'."\n" + .'- ALIYUN::ECS::Instance: Elastic Compute Service (ECS) instance.'."\n" + .'- ALIYUN::RAM::Role: RAM role.'."\n" + ."\n" + .'This information is generated based on call logs and may be incomplete. Verify the information.', 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'AccountId' => [ - 'description' => 'The ID of the destination account to which the stack belongs.'."\n", - 'type' => 'string', - 'example' => '156552876021****', + 'SourceTag' => [ + 'description' => 'The source tag.', + 'type' => 'object', + 'properties' => [ + 'ResourceTags' => ['description' => 'The source tag.', 'type' => 'object', 'example' => '{"a": "b"}', 'title' => ''], + 'ResourceTypeFilter' => [ + 'description' => 'The resource type filter.', + 'type' => 'array', + 'items' => ['description' => 'The resource type filter.', 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'RegionId' => [ - 'description' => 'The region ID of the stack.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', + 'SourceResourceGroup' => [ + 'description' => 'The source resource group.', + 'type' => 'object', + 'properties' => [ + 'ResourceGroupId' => ['description' => 'The source resource group ID.', 'type' => 'string', 'example' => 'rg-acfmzawhxxc****', 'title' => ''], + 'ResourceTypeFilter' => [ + 'description' => 'The resource type filter.', + 'type' => 'array', + 'items' => ['description' => 'The resource type filter. Valid values:'."\n" + ."\n" + .'- ALIYUN::ECS::VPC: virtual private cloud (VPC).'."\n" + ."\n" + .'This information is generated based on call logs and may be incomplete. Verify the information.', 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'RdFolderId' => [ - 'description' => 'The ID of the folder in the resource directory.'."\n" - ."\n" - .'> This parameter is returned only if the stack group is granted service-managed permissions.'."\n", - 'type' => 'string', - 'example' => 'fd-4PvlVLOL8v', + 'LogicalIdStrategy' => ['description' => 'The logical ID generation strategy. Valid values:'."\n" + ."\n" + .'- LongTypePrefixAndIndexSuffix (default): long type prefix with index suffix.'."\n" + ."\n" + .'- LongTypePrefixAndHashSuffix: long type prefix with hash suffix.'."\n" + ."\n" + .'- ShortTypePrefixAndHashSuffix: short type prefix with hash suffix.', 'type' => 'string', 'example' => 'LongTypePrefixAndIndexSuffix', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the resource scenario.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the resource scenario.', 'type' => 'string', 'example' => 'usage1', 'title' => ''], + 'Value' => ['description' => 'The tag value of the resource scenario.', 'type' => 'string', 'example' => 'test1', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'CreateTime' => ['description' => 'The time when the resource scenario was created. The time is displayed in UTC+0 and follows the ISO 8601 standard without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2021-12-07T08:06:44', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the resource scenario was last updated. The time is displayed in UTC+0 and follows the ISO 8601 standard without the Z suffix. Format: YYYY-MM-DDThh:mm:ss.', 'type' => 'string', 'example' => '2021-12-07T08:06:44', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfm4nxcvht4pmi', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"85DE34BD-7FF9-480F-8C21-556E9DA93ACD\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"StackInstances\\": [\\n {\\n \\"Status\\": \\"CURRENT\\",\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"StackId\\": \\"35ad60e3-6a92-42d8-8812-f0700d45****\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"StackDriftStatus\\": \\"IN_SYNC\\",\\n \\"StatusReason\\": \\"User initiated stop\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"AccountId\\": \\"156552876021****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"RdFolderId\\": \\"fd-4PvlVLOL8v\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListStackInstancesResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>85DE34BD-7FF9-480F-8C21-556E9DA93ACD</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <StackInstances>\\n <Status>OUTDATED</Status>\\n <AccountId>156552876021****</AccountId>\\n <StatusReason>User initiated stop.</StatusReason>\\n <StackGroupName>MyStackGroup</StackGroupName>\\n <StackGroupId>fd0ddef9-9540-4b42-a464-94f77835****</StackGroupId>\\n <RegionId>cn-beijing</RegionId>\\n </StackInstances>\\n</ListStackInstancesResponse>","errorExample":""}]', - 'title' => 'ListStackInstances', - 'description' => 'In this example, the list of stack instances that are associated with a stack group named `MyStackGroup` is queried. The stack group is granted self-managed permissions and deployed in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - ], - 'GetStackGroupOperation' => [ - 'summary' => 'Queries the information about a stack group operation in an Alibaba Cloud region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D1C09606-C58B-558F-9B4E-5BF263D17D09\\",\\n \\"TotalCount\\": 2,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TemplateScratches\\": [\\n {\\n \\"TemplateScratchId\\": \\"ts-48ad85d66cca4620****\\",\\n \\"TemplateScratchType\\": \\"ResourceImport\\",\\n \\"Status\\": \\"GENERATE_COMPLETE\\",\\n \\"StatusReason\\": \\"Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.\\",\\n \\"FailedCode\\": \\"InvalidZoneId\\",\\n \\"PreferenceParameters\\": [\\n {\\n \\"ParameterKey\\": \\"DeletionPolicy\\",\\n \\"ParameterValue\\": \\"Retain\\"\\n }\\n ],\\n \\"Description\\": \\"纳管VPC资源。\\",\\n \\"SourceResources\\": [\\n {\\n \\"ResourceId\\": \\"vpc-m5eauuq80anx59v28****\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::VPC\\"\\n }\\n ],\\n \\"SourceTag\\": {\\n \\"ResourceTags\\": {\\n \\"a\\": \\"b\\"\\n },\\n \\"ResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n },\\n \\"SourceResourceGroup\\": {\\n \\"ResourceGroupId\\": \\"rg-acfmzawhxxc****\\",\\n \\"ResourceTypeFilter\\": [\\n \\"ALIYUN::ECS::VPC\\"\\n ]\\n },\\n \\"LogicalIdStrategy\\": \\"LongTypePrefixAndIndexSuffix\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage1\\",\\n \\"Value\\": \\"test1\\"\\n }\\n ],\\n \\"CreateTime\\": \\"2021-12-07T08:06:44\\",\\n \\"UpdateTime\\": \\"2021-12-07T08:06:44\\",\\n \\"ResourceGroupId\\": \\"rg-acfm4nxcvht4pmi\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query resource scenarios', + 'description' => 'This topic provides an example of how to query the list of resource scenarios in the China (Hangzhou) region. The response shows that there are two resource scenarios in the China (Hangzhou) region: resource management and resource replication.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTemplateScratches'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListTemplateScratches', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/*'], + ], + ], + ], ], + ], + 'ListTemplateVersions' => [ + 'summary' => 'Queries the list of versions of a template.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], + 'abilityTreeCode' => '12713', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0****', 'title' => ''], ], [ - 'name' => 'OperationId', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => 'The operation ID. You can call the [ListStackGroupOperations](~~151342~~) operation to query the operation ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', - ], + 'schema' => ['description' => 'The maximum number of results to be returned in a single call when NextToken is used for the query.'."\n" + ."\n" + .'Valid values: 1 to 100.'."\n" + ."\n" + .'Default value: 50.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '10000', 'minimum' => '1', 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The template ID. This parameter applies to shared and private templates.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], ], ], 'responses' => [ @@ -14439,273 +12226,72 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'StackGroupOperation' => [ - 'description' => 'The information about the stack group operation.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the operation.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* RUNNING'."\n" - .'* SUCCEEDED'."\n" - .'* FAILED'."\n" - .'* STOPPING'."\n" - .'* STOPPED'."\n", - 'type' => 'string', - 'example' => 'SUCCEEDED', - ], - 'StackGroupId' => [ - 'description' => 'The ID of the stack group.'."\n", - 'type' => 'string', - 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', - ], - 'Action' => [ - 'description' => 'The operation type.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* CREATE'."\n" - .'* UPDATE'."\n" - .'* DELETE'."\n" - .'* DETECT_DRIFT'."\n", - 'type' => 'string', - 'example' => 'DELETE', - ], - 'CreateTime' => [ - 'description' => 'The time when the operation was initiated.'."\n", - 'type' => 'string', - 'example' => '2020-01-20T09:22:3', - ], - 'RetainStacks' => [ - 'description' => 'Indicates whether stacks are retained when the associated stack instances are deleted. When you delete a stack instance, you can choose to delete or retain the stack with which the stack instance is associated.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* true: Stacks are retained when the associated stack instances are deleted.'."\n" - .'* false: Stacks are deleted when the associated stack instances are deleted. Proceed with caution.'."\n" - ."\n" - .'> This parameter is returned only if you delete stack instances.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'StackGroupName' => [ - 'description' => 'The name of the stack group.'."\n", - 'type' => 'string', - 'example' => 'MyStackGroup', - ], - 'OperationId' => [ - 'description' => 'The operation ID.'."\n", - 'type' => 'string', - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', - ], - 'OperationDescription' => [ - 'description' => 'The description of the operation.'."\n" + 'Versions' => [ + 'description' => 'The versions.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => 'The time when the version was last updated.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'Description' => ['description' => 'The description of the version.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the version was created.', 'type' => 'string', 'example' => '2020-02-27T07:47:47', 'title' => ''], + 'TemplateName' => ['description' => 'The template name that corresponds to the specified version.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'TemplateId' => ['description' => 'The template ID. This parameter applies to shared and private templates. For a shared template, the template ID is the same as the Alibaba Cloud Resource Name (ARN) of the template.', 'type' => 'string', 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], + 'TemplateVersion' => ['description' => 'The version number.'."\n" ."\n" - .'> This parameter is returned only if OperationDescription is specified when the [CreateStackInstances](~~151338~~) operation is called to create stack instances.'."\n", - 'type' => 'string', - 'example' => 'Create stack instance in hangzhou', - ], - 'StackGroupDriftDetectionDetail' => [ - 'description' => 'The information about drift detection.'."\n" + .'For a shared template, this parameter is returned only if VersionOption is set to AllVersions.'."\n" ."\n" - .'> This parameter is returned only if drift detection is performed.'."\n", - 'type' => 'object', - 'properties' => [ - 'DriftDetectionTime' => [ - 'description' => 'The time when drift detection was performed.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'TotalStackInstancesCount' => [ - 'description' => 'The number of stack instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'FailedStackInstancesCount' => [ - 'description' => 'The number of stack instances that failed drift detection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DriftDetectionStatus' => [ - 'description' => 'The drift detection state.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* COMPLETED: Drift detection is performed on the stack group and all stack instances passed the drift detection.'."\n" - .'* FAILED: Drift detection is performed on the stack group. The number of stack instances that failed the drift detection exceeds the specified threshold.'."\n" - .'* PARTIAL_SUCCESS: Drift detection is performed on the stack group. The number of stack instances that failed the drift detection does not exceed the specified threshold.'."\n" - .'* IN_PROGRESS: Drift detection is being performed on the stack group.'."\n" - .'* STOPPED: Drift detection is canceled for the stack group.'."\n", - 'type' => 'string', - 'example' => 'COMPLETED', - ], - 'StackGroupDriftStatus' => [ - 'description' => 'The drift state of the stack group.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* DRIFTED: At least one stack instance in the stack group has drifted.'."\n" - .'* NOT_CHECKED: No successful drift detection is performed in the stack group.'."\n" - .'* IN_SYNC: All the stack instances in the stack group are being synchronized.'."\n", - 'type' => 'string', - 'example' => 'DRIFTED', - ], - 'InProgressStackInstancesCount' => [ - 'description' => 'The number of stack instances on which drift detection was being performed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'InSyncStackInstancesCount' => [ - 'description' => 'The number of stack instances that were being synchronized.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CancelledStackInstancesCount' => [ - 'description' => 'The number of stack instances for which drift detection was canceled.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'DriftedStackInstancesCount' => [ - 'description' => 'The number of stack instances that have drifted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - 'OperationPreferences' => [ - 'description' => 'The operation settings.'."\n", - 'type' => 'object', - 'properties' => [ - 'MaxConcurrentCount' => [ - 'description' => 'The maximum number of accounts within which stacks are deployed at the same time in each region.'."\n" - ."\n" - .'Valid values: 1 to 20.'."\n" - ."\n" - .'> Only one of MaxConcurrentCount and MaxConcurrentPercentage can be returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'FailureToleranceCount' => [ - 'description' => 'The number of accounts within which stack operation failures are allowed to occur in each region. If the value of this parameter is exceeded in a region, Resource Orchestration Service (ROS) stops the operation in the region. If the operation is stopped in one region, the operation is no longer performed in other regions.'."\n" - ."\n" - .'Valid values: 0 to 20.'."\n" - ."\n" - .'> Only one of FailureToleranceCount and FailureTolerancePercentage can be returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxConcurrentPercentage' => [ - 'description' => 'The percentage of the maximum number of accounts within which stacks are deployed at the same time to the total number of accounts in each region.'."\n" - ."\n" - .'Valid values: 1 to 100.'."\n" - ."\n" - .'> Only one of MaxConcurrentCount and MaxConcurrentPercentage can be returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RegionIdsOrder' => [ - 'description' => 'The regions in the order of operation execution.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The region in the order of operation execution.'."\n", - 'type' => 'string', - 'example' => '["cn-hangzhou","cn-beijing"]', - ], - ], - 'FailureTolerancePercentage' => [ - 'description' => 'The percentage of the number of accounts within which stack operation failures are allowed to occur to the total number of accounts in each region. If the value of this parameter is exceeded in a region, ROS stops the operation in the region.'."\n" - ."\n" - .'Valid values: 0 to 100.'."\n" - ."\n" - .'> Only one of FailureToleranceCount and FailureTolerancePercentage can be returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - ], - ], - 'EndTime' => [ - 'description' => 'The time when the operation ended.'."\n", - 'type' => 'string', - 'example' => '2020-01-20T09:22:4', - ], - 'ExecutionRoleName' => [ - 'description' => 'The name of the RAM role that you specify for the execution account when you create the self-managed stack group. The administrator role AliyunROSStackGroupAdministrationRole assumes the execution role to perform operations. If this parameter is not specified, the default value AliyunROSStackGroupExecutionRole is returned.'."\n", - 'type' => 'string', - 'example' => 'AliyunROSStackGroupExecutionRole', - ], - 'AdministrationRoleName' => [ - 'description' => 'The name of the RAM role that you specify for the administrator account when you create the self-managed stack group. ROS assumes the administrator role to perform operations. If this parameter is not specified, the default value AliyunROSStackGroupAdministrationRole is returned.'."\n", - 'type' => 'string', - 'example' => 'AliyunROSStackGroupAdministrationRole', - ], - 'DeploymentTargets' => [ - 'description' => 'The destinations to deploy stack instances when the stack is granted service-managed permissions.'."\n", - 'type' => 'object', - 'properties' => [ - 'RdFolderIds' => [ - 'description' => 'The IDs of the folders in the resource directory.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the folder in the resource directory.'."\n", - 'type' => 'string', - 'example' => '["fd-4PvlVLOL8v"]', - ], - ], - 'AccountIds' => [ - 'description' => 'The IDs of the members in the resource directory.'."\n" - ."\n" - .'> This parameter is returned only if AccountIds is specified when the [UpdateStackInstances](~~151716~~) operation is called to update stack instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the member in the resource directory.'."\n" - ."\n" - .'> This parameter is returned only if AccountIds is specified when the [UpdateStackInstances](~~151716~~) opeation is called to update stack instances.'."\n", - 'type' => 'string', - 'example' => '["151266687691****","141261387191****"]', - ], - ], - ], + .'Valid values: v1 to v100.', 'type' => 'string', 'example' => 'v1', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"StackGroupOperation\\": {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"Action\\": \\"DELETE\\",\\n \\"CreateTime\\": \\"2020-01-20T09:22:3\\",\\n \\"RetainStacks\\": true,\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\",\\n \\"OperationDescription\\": \\"Create stack instance in hangzhou\\",\\n \\"StackGroupDriftDetectionDetail\\": {\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"TotalStackInstancesCount\\": 2,\\n \\"FailedStackInstancesCount\\": 0,\\n \\"DriftDetectionStatus\\": \\"COMPLETED\\",\\n \\"StackGroupDriftStatus\\": \\"DRIFTED\\",\\n \\"InProgressStackInstancesCount\\": 0,\\n \\"InSyncStackInstancesCount\\": 1,\\n \\"CancelledStackInstancesCount\\": 0,\\n \\"DriftedStackInstancesCount\\": 1\\n },\\n \\"OperationPreferences\\": {\\n \\"MaxConcurrentCount\\": 1,\\n \\"FailureToleranceCount\\": 1,\\n \\"MaxConcurrentPercentage\\": 10,\\n \\"RegionIdsOrder\\": [\\n \\"[\\\\\\"cn-hangzhou\\\\\\",\\\\\\"cn-beijing\\\\\\"]\\"\\n ],\\n \\"FailureTolerancePercentage\\": 10\\n },\\n \\"EndTime\\": \\"2020-01-20T09:22:4\\",\\n \\"ExecutionRoleName\\": \\"AliyunROSStackGroupExecutionRole\\",\\n \\"AdministrationRoleName\\": \\"AliyunROSStackGroupAdministrationRole\\",\\n \\"DeploymentTargets\\": {\\n \\"RdFolderIds\\": [\\n \\"[\\\\\\"fd-4PvlVLOL8v\\\\\\"]\\"\\n ],\\n \\"AccountIds\\": [\\n \\"[\\\\\\"151266687691****\\\\\\",\\\\\\"141261387191****\\\\\\"]\\"\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetStackGroupOperationResponse>\\n <RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>\\n <StackGroupOperation>\\n <Status>SUCCEEDED</Status>\\n <Action>DELETE</Action>\\n <RetainStacks>false</RetainStacks>\\n <EndTime>2020-01-20T09:22:4</EndTime>\\n <OperationId>645d0eed-f1e6-40b0-8e8f-0e1eaa34da6f</OperationId>\\n <CreateTime>2020-01-20T09:22:3</CreateTime>\\n <StackGroupName>MyStackGroup</StackGroupName>\\n <StackGroupId>fd0ddef9-9540-4b42-a464-94f77835****</StackGroupId>\\n <AdministrationRoleName>AliyunROSStackGroupAdministrationRole</AdministrationRoleName>\\n <OperationPreferences>\\n <MaxConcurrentCount>1</MaxConcurrentCount>\\n <RegionIdsOrder>cn-hangzhou</RegionIdsOrder>\\n <RegionIdsOrder>cn-beijing</RegionIdsOrder>\\n <FailureToleranceCount>0</FailureToleranceCount>\\n </OperationPreferences>\\n <ExecutionRoleName>AliyunROSStackGroupExecutionRole</ExecutionRoleName>\\n </StackGroupOperation>\\n</GetStackGroupOperationResponse>","errorExample":""}]', - 'title' => 'GetStackGroupOperation', - 'description' => 'In this example, the information about the stack group operation whose ID is `6da106ca-1784-4a6f-a7e1-e723863d****` is queried. The stack group named `MyStackGroup` is granted self-managed permissions and deployed in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'title' => 'ListTemplateVersions', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'ListStackGroupOperations' => [ - 'summary' => 'Queries the information about stack group operations in an Alibaba Cloud region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' | HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | TemplateNotFound |The Tempalte ({ ID }) could not be found. |模板不存在。ID为模板ID。 |'."\n" + .'| 404 | TemplateNotFound |The Template { ID } with version { version } could not be found. |模板或指定版本不存在。ID为模板ID,version为模板版本。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTemplateVersions'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListTemplateVersions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:*:{#accountId}:template/{#TemplateId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Versions\\": [\\n {\\n \\"UpdateTime\\": \\"2020-02-27T07:47:47\\",\\n \\"Description\\": \\"test\\",\\n \\"CreateTime\\": \\"2020-02-27T07:47:47\\",\\n \\"TemplateName\\": \\"test\\",\\n \\"TemplateId\\": \\"5ecd1e10-b0e9-4389-a565-e4c15efc****\\",\\n \\"TemplateVersion\\": \\"v1\\"\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0****\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', + ], + 'ListTemplates' => [ + 'summary' => 'Queries a list of private and shared templates.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14713,68 +12299,127 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], + 'abilityTreeCode' => '12712', + 'abilityTreeNodes' => ['FEATUREros85NBPH'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The page number of the template list.<br> The value starts from 1.<br> Default value: 1.<br><br>', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'StackGroupName', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique within a region.'."\n" - ."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The number of entries to return on each page for a paged query.<br> Valid values: 1 to 50.<br> Default value: 10.<br><br>', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'TemplateName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the template. This parameter takes effect only when ShareType is set to Private. The name can be up to 255 characters in length. It must start with a digit or a letter and can contain digits, letters, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'MyTemplate', 'title' => ''], + ], + [ + 'name' => 'ShareType', + 'in' => 'query', + 'schema' => ['description' => 'The share type of the template.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- Private (default): The template is owned by the user.'."\n" + ."\n" + .'- Shared: The template is shared by other users.'."\n" + ."\n" + .'- Official: The template is a shared official template.', 'type' => 'string', 'required' => false, 'example' => 'Private', 'title' => ''], + ], + [ + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n" - ."\n" - .'Valid values: 1 to 50.'."\n" - ."\n" - .'Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'The tags. You can specify up to 20 tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key. This parameter takes effect only when ShareType is set to Private.'."\n" + ."\n" + .'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value. This parameter takes effect only when ShareType is set to Private.'."\n" + ."\n" + .'You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'deploy', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'docRequired' => false, - 'example' => '10', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'PageNumber', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.<br> For more information about resource groups, see [What is a resource group?](~~94475~~).<br>', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], + ], + [ + 'name' => 'IncludeTags', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to query tag information. Valid values:'."\n" + ."\n" + .'- Enabled: queries tag information.'."\n" + ."\n" + .'- Disabled (default): does not query tag information.', 'type' => 'string', 'required' => false, 'example' => 'Enabled', 'title' => ''], + ], + [ + 'name' => 'Filters', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The number of the page to return.'."\n" - ."\n" - .'Pages start from page 1.'."\n" - ."\n" - .'Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', + 'description' => 'The filter.', + 'type' => 'array', + 'items' => [ + 'description' => 'The filter.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The filter name. You can select one or more names to query. Valid values:'."\n" + ."\n" + .'- Categories: template category'."\n" + ."\n" + .'- DeployTypes: deployment type'."\n" + ."\n" + .'- ApplicationScenes: application scenario'."\n" + ."\n" + .'- BasicServices: basic service'."\n" + ."\n" + .'- ResourceTypes: resource type'."\n" + ."\n" + .'- TemplateNames: template name', 'type' => 'string', 'required' => false, 'example' => 'Categories', 'title' => ''], + 'Values' => [ + 'description' => 'The list of filter values.', + 'type' => 'array', + 'items' => ['description' => 'The list of filter values. The value of N can be from 1 to 10.', 'type' => 'string', 'required' => false, 'example' => 'ROS', 'title' => ''], + 'required' => false, + 'maxItems' => 100, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'docRequired' => false, - 'example' => '1', + 'maxItems' => 10, + 'title' => '', + 'example' => '', ], ], ], @@ -14783,588 +12428,625 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of stack group operations.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StackGroupOperations' => [ - 'description' => 'The stack group operations.'."\n", + 'TotalCount' => ['description' => 'The total number of templates.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C3A8413B-1F16-4DED-AC3E-61A00718DE8A', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the template list.<br> The value starts from 1.<br>', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Templates' => [ + 'description' => 'The list of templates.', 'type' => 'array', 'items' => [ + 'description' => 'The list of templates.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The state of the operation.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* RUNNING'."\n" - .'* SUCCEEDED'."\n" - .'* FAILED'."\n" - .'* STOPPING'."\n" - .'* STOPPED'."\n", - 'type' => 'string', - 'example' => 'SUCCEEDED', - ], - 'StackGroupId' => [ - 'description' => 'The ID of the stack group.'."\n", - 'type' => 'string', - 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', - ], - 'EndTime' => [ - 'description' => 'The time when the operation ended.'."\n", - 'type' => 'string', - 'example' => '2020-01-20T09:22:41.000000', - ], - 'Action' => [ - 'description' => 'The operation type.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* CREATE'."\n" - .'* UPDATE'."\n" - .'* DELETE'."\n" - .'* DETECT_DRIFT'."\n", - 'type' => 'string', - 'example' => 'CREATE', - ], - 'CreateTime' => [ - 'description' => 'The time when the operation was initiated.'."\n", - 'type' => 'string', - 'example' => '2020-01-20T09:22:36.000000', - ], - 'StackGroupName' => [ - 'description' => 'The name of the stack group.'."\n", - 'type' => 'string', - 'example' => 'MyStackGroup', - ], - 'OperationId' => [ - 'description' => 'The operation ID.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761****', - ], - 'OperationDescription' => [ - 'description' => 'The description of the operation.'."\n", - 'type' => 'string', - 'example' => 'Create stack instance in hangzhou', + 'TemplateARN' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the template.', 'type' => 'string', 'example' => 'acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the template was last updated.', 'type' => 'string', 'example' => '2019-10-15T08:17:14.000000', 'title' => ''], + 'Description' => ['description' => 'The description of the template.', 'type' => 'string', 'example' => 'test-description', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the template was created.', 'type' => 'string', 'example' => '2019-10-15T08:17:14.000000', 'title' => ''], + 'TemplateName' => ['description' => 'The name of the template.', 'type' => 'string', 'example' => 'demo', 'title' => ''], + 'TemplateVersion' => ['description' => 'The name of the latest version of the template.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'TemplateId' => ['description' => 'The ID of the template.', 'type' => 'string', 'example' => '4d4f5aa2-3260-4e47-863b-763fbb12****', 'title' => ''], + 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the template belongs.', 'type' => 'string', 'example' => '151266687691****', 'title' => ''], + 'ShareType' => ['description' => 'The share type of the template.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- Private: The template is owned by the user.'."\n" + ."\n" + .'- Shared: The template is shared by other users.', 'type' => 'string', 'example' => 'Private', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the template.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the template.', 'type' => 'string', 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the template.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'AdditionalInfo' => ['description' => 'The supplementary information about the public template.', 'type' => 'object', 'example' => '{"DeploymentDuration":null,"Title":"Self-Built_ElasticSearch_Snapshot_Saved_To_OSS","Labels":{"ResourceTypes":["ALIYUN::ECS::Instance","ALIYUN::ECS::SecurityGroup","ALIYUN::ECS::VPC","ALIYUN::ECS::VSwitch","ALIYUN::OSS::Bucket","ALIYUN::ROS::WaitCondition","ALIYUN::ROS::WaitConditionHandle"],"DeployTypes":["ROS"],"ApplicationScenes":["other"]},"Provider":"ROS","Categories":["Solution"]}', 'title' => ''], + 'TemplateUrl' => ['description' => 'The URL of the template.', 'type' => 'string', 'example' => 'https://ros-public-templates.oss-cn-hangzhou.aliyuncs.com/demo.yml', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"StackGroupOperations\\": [\\n {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"StackGroupId\\": \\"fd0ddef9-9540-4b42-a464-94f77835****\\",\\n \\"EndTime\\": \\"2020-01-20T09:22:41.000000\\",\\n \\"Action\\": \\"CREATE\\",\\n \\"CreateTime\\": \\"2020-01-20T09:22:36.000000\\",\\n \\"StackGroupName\\": \\"MyStackGroup\\",\\n \\"OperationId\\": \\"14A07460-EBE7-47CA-9757-12CC4761****\\",\\n \\"OperationDescription\\": \\"Create stack instance in hangzhou\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListStackGroupOperationsResponse>\\n\\t\\t<PageNumber>1</PageNumber>\\n\\t\\t<TotalCount>1</TotalCount>\\n\\t\\t<PageSize>10</PageSize>\\n\\t\\t<RequestId>4D838E26-B457-4871-B6DE-18814050D13D</RequestId>\\n\\t\\t<StackGroupOperations>\\n\\t\\t\\t<Status>SUCCEEDED</Status>\\n\\t\\t\\t<StackGroupId>fd0ddef9-9540-4b42-a464-94f77835****</StackGroupId>\\n\\t\\t\\t<Action>CREATE</Action>\\n\\t\\t\\t<StackGroupName>MyStackGroup</StackGroupName>\\n\\t\\t\\t<CreateTime>2020-01-20T09:22:36.000000</CreateTime>\\n\\t\\t\\t<OperationId>6da106ca-1784-4a6f-a7e1-e723863d****</OperationId>\\n\\t\\t\\t<EndTime>2020-01-20T09:22:41.000000</EndTime>\\n\\t\\t</StackGroupOperations>\\n</ListStackGroupOperationsResponse>\\n","errorExample":""}]', - 'title' => 'ListStackGroupOperations', - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'List Templates', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'ListStackGroupOperationResults' => [ - 'summary' => 'Queries the results of an operation on a stack group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTemplates'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:ListTemplates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"C3A8413B-1F16-4DED-AC3E-61A00718DE8A\\",\\n \\"PageNumber\\": 1,\\n \\"Templates\\": [\\n {\\n \\"TemplateARN\\": \\"acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****\\",\\n \\"UpdateTime\\": \\"2019-10-15T08:17:14.000000\\",\\n \\"Description\\": \\"test-description\\",\\n \\"CreateTime\\": \\"2019-10-15T08:17:14.000000\\",\\n \\"TemplateName\\": \\"demo\\",\\n \\"TemplateVersion\\": \\"v1\\",\\n \\"TemplateId\\": \\"4d4f5aa2-3260-4e47-863b-763fbb12****\\",\\n \\"OwnerId\\": \\"151266687691****\\",\\n \\"ShareType\\": \\"Private\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"usage\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"AdditionalInfo\\": {\\n \\"DeploymentDuration\\": null,\\n \\"Title\\": \\"Self-Built_ElasticSearch_Snapshot_Saved_To_OSS\\",\\n \\"Labels\\": {\\n \\"ResourceTypes\\": [\\n \\"ALIYUN::ECS::Instance\\",\\n \\"ALIYUN::ECS::SecurityGroup\\",\\n \\"ALIYUN::ECS::VPC\\",\\n \\"ALIYUN::ECS::VSwitch\\",\\n \\"ALIYUN::OSS::Bucket\\",\\n \\"ALIYUN::ROS::WaitCondition\\",\\n \\"ALIYUN::ROS::WaitConditionHandle\\"\\n ],\\n \\"DeployTypes\\": [\\n \\"ROS\\"\\n ],\\n \\"ApplicationScenes\\": [\\n \\"other\\"\\n ]\\n },\\n \\"Provider\\": \\"ROS\\",\\n \\"Categories\\": [\\n \\"Solution\\"\\n ]\\n },\\n \\"TemplateUrl\\": \\"https://ros-public-templates.oss-cn-hangzhou.aliyuncs.com/demo.yml\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'MoveResourceGroup' => [ + 'summary' => 'Moves a resource to a specific resource group.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- stack: stack'."\n" + ."\n" + .'- stackgroup: stack group'."\n" + ."\n" + .'- template: template', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stack', 'title' => ''], ], [ - 'name' => 'OperationId', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the operation.'."\n" - ."\n" - .'You can call the [ListStackGroupOperations](~~151342~~) operation to query the operation ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', - ], + 'schema' => ['description' => 'The ID of the resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4e8611cb-251e-42b7-b9cb-3496362c****', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'NewResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n" - ."\n" - .'* Valid values: 1 to 50.'."\n" - .'* Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the resource group to which you want to move the resource. For more information about resource groups, see the "Resource Group" section of the [What is Resource Management?](~~94475~~) topic.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rg-acfm3peow3k****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.'."\n" - ."\n" - .'* Pages start from page 1.'."\n" - .'* Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The region ID of the resource.<br>'."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => '', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of results.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StackGroupOperationResults' => [ - 'description' => 'The details of the results of the operation.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the operation.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* RUNNING: The operation is being performed.'."\n" - .'* SUCCEEDED: The operation succeeded.'."\n" - .'* FAILED: The operation failed.'."\n" - .'* STOPPING: The operation is being stopped.'."\n" - .'* STOPPED: The operation is stopped.'."\n", - 'type' => 'string', - 'example' => 'SUCCEEDED', - ], - 'StatusReason' => [ - 'description' => 'The reason why the operation is in a specific state.'."\n" - ."\n" - .'> This parameter is returned only when stack instances are in the OUTDATED state.'."\n", - 'type' => 'string', - 'example' => 'User initiated operation', - ], - 'AccountId' => [ - 'description' => 'The ID of the account to which the stack instance belongs.'."\n" - ."\n" - .'* If the stack group has self-managed permissions, the stack instance belongs to an Alibaba Cloud account.'."\n" - .'* If the stack group has service-managed permissions, the stack instance belongs to a member account in the resource directory.'."\n" - ."\n" - .'> For more information about the account, see [Overview](~~154578~~).'."\n", - 'type' => 'string', - 'example' => '175458090349****', - ], - 'RegionId' => [ - 'description' => 'The region ID of the stack instance.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'RdFolderId' => [ - 'description' => 'The folder ID of the resource directory.'."\n" - ."\n" - .'> This parameter is returned only when the stack group is granted service-managed permissions.'."\n", - 'type' => 'string', - 'example' => '"fd-4PvlVLOL8v"', - ], - ], - 'description' => '', - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'F84A05B3-7275-4C8B-8AEE-9088C639C271'], ], - 'description' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"StackGroupOperationResults\\": [\\n {\\n \\"Status\\": \\"SUCCEEDED\\",\\n \\"StatusReason\\": \\"User initiated operation\\",\\n \\"AccountId\\": \\"175458090349****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"RdFolderId\\": \\"\\\\\\"fd-4PvlVLOL8v\\\\\\"\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListStackGroupOperationResultsResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>14A07460-EBE7-47CA-9757-12CC4761D47A</RequestId>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <StackGroupOperationResults>\\n <Status>SUCCEEDED</Status>\\n <AccountId>175458090349****</AccountId>\\n <RegionId>cn-beijing</RegionId>\\n </StackGroupOperationResults>\\n</ListStackGroupOperationResultsResponse>","errorExample":""}]', - 'title' => 'ListStackGroupOperationResults', - 'description' => 'In this example, the operation ID `6da106ca-1784-4a6f-a7e1-e723863d∗∗∗∗` is set to query the results of an operation on a stack group named `MyStackGroup`. The stack group is granted self-managed permissions and created in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" - .'| ---------- | ------------- | ---------------- | ----------- |'."\n" - .'| InvalidParameter | The specified parameter {name} is invalid, {reason}. | 400 | The error message returned because the specified parameter is invalid. name indicates the parameter name. reason indicates the reason for the error. |', - ], - 'ImportStacksToStackGroup' => [ - 'summary' => 'Import stacks from multiple different accounts into a stack group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', + 'title' => 'MoveResourceGroup', + 'description' => 'In this example, a stack deployed in the `China (Hangzhou)` region is moved to a specific resource group. The ID of the stack is `4e8611cb-251e-42b7-b9cb-3496362c****` and the ID of the resource group is `rg-acfm3peow3k****`.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveResourceGroup'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:MoveResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F84A05B3-7275-4C8B-8AEE-9088C639C271\\"\\n}","type":"json"}]', + ], + 'PreviewStack' => [ + 'summary' => 'Previews the information about a stack that you want to create or update based on a template. You can call this operation to verify whether the template resources are valid.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '240282', - 'abilityTreeNodes' => [ - 'FEATURErosTBD793', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ + 'name' => 'DisableRollback', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to disable rollback for the resources when the stack fails to be created. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false (default)', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'TimeoutInMinutes', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for creating the stack.'."\n" + ."\n" + .'Unit: minutes.'."\n" + ."\n" + .'Default value: 60.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '60', 'title' => ''], + ], + [ + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" + ."\n" + .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], + ], + [ + 'name' => 'StackPolicyURL', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the file that contains the stack policy. The URL must point to a policy that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss\\://ros/stack-policy/demo or oss\\://ros/stack-policy/demo?RegionId=cn-hangzhou. The policy file can be up to 16,384 bytes in length. If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" + ."\n" + .'> You can specify only one of StackPolicyBody and StackPolicyURL.'."\n" + ."\n" + .'The URL can be up to 1,350 bytes in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-stack-policy/demo', 'title' => ''], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call [DescribeRegions](~~131035~~) to view the latest list of Alibaba Cloud regions.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'StackGroupName', + 'name' => 'StackPolicyBody', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique within a single region. It cannot exceed 255 characters and must start with a letter or number, and can include letters, numbers, hyphens (-), and underscores (_).', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The structure that contains the stack policy body. The stack policy body must be 1 to 16,384 bytes in length.'."\n" + ."\n" + .'> You can specify only one of StackPolicyBody and StackPolicyURL.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}', 'title' => ''], ], [ - 'name' => 'StackArns', + 'name' => 'StackName', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'A list of ARNs for the stacks to be imported into the stack group, in the format `acs:ros:${RegionId}:${AccountId}:stack/${StackId}`. A maximum of 10 stacks can be added.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ARN of the stack to be imported into the stack group, in the format acs:ros:${RegionId}:${AccountId}:stack/${StackId}. A maximum of 10 stacks can be added.', - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ros:cn-hangzhou:175458000000****:stack/4a65f506-c3cc-43b6-af06-3f000000****', - ], - 'required' => true, - 'docRequired' => false, - ], + 'schema' => ['description' => 'The stack name. You can use this parameter to preview the stack that you want to create. The name can be up to 255 characters in length, and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.'."\n" + ."\n" + .'> You must and can specify only one of StackName and StackId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'MyStack', 'title' => ''], ], [ - 'name' => 'ResourceDirectoryFolderIds', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" + .'The token can be up to 64 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" + .'For more information, see [Ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'TemplateURL', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an OSS bucket, such as oss\\://ros/template/demo or oss\\://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length. If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" + ."\n" + .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], + ], + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The template ID. This parameter applies to shared and private templates.'."\n" + ."\n" + .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], + ], + [ + 'name' => 'TemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the template. This parameter takes effect only when TemplateId is specified.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], + ], + [ + 'name' => 'Parameters', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'A list of resource directory folder IDs for the stacks to be imported. A maximum of 10 folders can be added.', + 'description' => 'The parameters of the stack.', 'type' => 'array', 'items' => [ - 'description' => 'The resource directory folder ID for the stacks to be imported. A maximum of 10 folders can be added.', - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The name of the parameter N. If you do not specify the name and value of a parameter, Resource Orchestration Service (ROS) uses the default name and value that are specified in the template. Maximum value of N: 200.'."\n" + ."\n" + .'> If you specify Parameters, you must specify Parameters.N.ParameterKey.', 'type' => 'string', 'required' => true, 'example' => 'ALIYUN::AccountId', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of parameter N. Maximum value of N: 200.'."\n" + ."\n" + .'> If you specify Parameters, you must specify Parameters.N.ParameterValue.', 'type' => 'string', 'required' => true, 'example' => '151266687691****', 'title' => ''], + ], 'required' => false, - 'example' => '["fd-1111VL****"]', + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'docRequired' => false, + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ClientToken', + 'name' => 'Parallelism', 'in' => 'query', - 'schema' => [ - 'description' => 'Ensures the idempotence of the request. This value is generated by the client and must be globally unique. '."\n" - .'It cannot exceed 64 characters and can include letters, numbers, hyphens (-), and underscores (_). '."\n" - .'For more information, see [How to Ensure Idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The maximum number of concurrent operations that can be performed on resources. This parameter takes effect only for Terraform stacks.'."\n" + ."\n" + .'By default, this parameter is empty. You can set this parameter to an integer that is greater than or equal to 0.'."\n" + ."\n" + .'> If you set this parameter to an integer greater than 0, the integer is used. If you set this parameter to 0 or leave this parameter empty, the default value of Terraform is used. In most cases, the default value of Terraform is 10.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'OperationDescription', + 'name' => 'TemplateScratchId', 'in' => 'query', - 'schema' => [ - 'description' => 'Description of the operation.', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'Import ops stacks to stack group', - ], + 'schema' => ['description' => 'The scenario ID.'."\n" + ."\n" + .'For more information about how to query the scenario ID, see [ListTemplateScratches](~~363050~~).'."\n" + ."\n" + .'> You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', 'type' => 'string', 'required' => false, 'example' => 'ts-aa9c62feab844a6b****', 'title' => ''], ], [ - 'name' => 'OperationPreferences', + 'name' => 'TemplateScratchRegionId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The region ID of the scenario. The default value is the same as the value of RegionId.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'StackId', + 'in' => 'query', + 'schema' => ['description' => 'The stack ID. You can use this parameter to preview a stack that you want to update.'."\n" + ."\n" + .'> - You must and can specify only one of StackName and StackId.'."\n" + .'>'."\n" + .'> - In the scenario in which you preview a stack that you want to create or update, you cannot preview the resources in its nested stacks.', 'type' => 'string', 'required' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + ], + [ + 'name' => 'EnablePreConfig', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to query the parameters that you want to use in compliance precheck.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false (default)', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'TaintResources', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Operation settings for importing stacks into the stack group.'."\n" - ."\n" - .'Includes the following parameters:'."\n" - ."\n" - .'- {"FailureToleranceCount": N}'."\n" - ."\n" - .' Failure tolerance count. The number of accounts in which the stack can fail in each region. If this number is exceeded, the operation in that region will stop. If the operation in one region stops, it will not continue in other regions.'."\n" - .' '."\n" - .' The range of N: 0~20.'."\n" - ."\n" - .' If FailureToleranceCount is not specified, the default value is 0.'."\n" - ."\n" - .'- {"FailureTolerancePercentage": N}'."\n" - ."\n" - .' Failure tolerance percentage. The percentage of total accounts in which the stack can fail in each region. If this percentage is exceeded, the operation in that region will stop.'."\n" - ."\n" - .' The range of N: 0~100. If the percentage is not an integer, ROS will round down.'."\n" - ."\n" - .' If FailureTolerancePercentage is not specified, the default value is 0.'."\n" - ."\n" - .'- {"MaxConcurrentCount": N}'."\n" - ."\n" - .' Maximum concurrent account count. The number of accounts in which the stack can be deployed simultaneously in each region.'."\n" - ."\n" - .' The range of N: 1~20.'."\n" - ."\n" - .' If MaxConcurrentCount is not specified, the default value is 1.'."\n" - ."\n" - .'- {"MaxConcurrentPercentage": N} Maximum concurrent account percentage.'."\n" - ."\n" - .' The percentage of total accounts in which the stack can be deployed simultaneously in each region.'."\n" - ."\n" - .' The range of N: 1~100. If the percentage is not an integer, ROS will round down.'."\n" - ."\n" - .' If MaxConcurrentPercentage is not specified, the default value is 1.'."\n" - .'- {"RegionConcurrencyType": N}'."\n" - .'Region-level concurrency type for deploying stack instances, values:'."\n" - .' - SEQUENTIAL (default): Deploy sequentially in each specified region, only one region at a time.'."\n" - ."\n" - .' - PARALLEL: Deploy in parallel across all specified regions.'."\n" + 'type' => 'array', + 'items' => ['description' => 'The resource marked as tainted.'."\n" ."\n" - .'Multiple parameters are separated by commas (,).'."\n" + .'- For a ROS stack, you must specify the resource name as the parameter value. Example: my\\_vpc.'."\n" ."\n" - .'> - Do not specify both MaxConcurrentCount and MaxConcurrentPercentage. '."\n" - .'>- Do not specify both FailureToleranceCount and FailureTolerancePercentage.', - 'type' => 'object', + .'- For a Terraform stack, you must specify the resource type and the resource name as the parameter value. Example: alicloud\\_vpc.my\\_vpc.', 'type' => 'string', 'required' => false, 'example' => 'my_vpc', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => '{"FailureToleranceCount": 1,"MaxConcurrentCount": 2}', + 'maxItems' => 100, + 'description' => 'The resources marked as tainted.', + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'UsePreviousParameters', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the values of parameters that were last used.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: The parameters that were last used are reused.'."\n" + ."\n" + .'- false: The parameters that were last used are not reused.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', - ], - 'OperationId' => [ - 'description' => 'Operation ID.', - 'type' => 'string', - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'Stack' => [ + 'description' => 'The information about the stack that is previewed.', + 'type' => 'object', + 'properties' => [ + 'TemplateDescription' => ['description' => 'The description of the template.', 'type' => 'string', 'example' => 'One ECS instance.', 'title' => ''], + 'Parameters' => [ + 'description' => 'The parameters of the stack.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The name of the parameter.', 'type' => 'string', 'example' => 'ALIYUN::AccountId', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter.', 'type' => 'string', 'example' => '151266687691****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Description' => ['description' => 'The description of the stack.', 'type' => 'string', 'example' => 'One ECS instance.', 'title' => ''], + 'DisableRollback' => ['description' => 'Indicates whether rollback is disabled for the resources when the stack fails to be created.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'StackName' => ['description' => 'The stack name.', 'type' => 'string', 'example' => 'MyStack', 'title' => ''], + 'TimeoutInMinutes' => ['description' => 'The timeout period for creating the stack.'."\n" + ."\n" + .'Unit: minutes.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'StackPolicyBody' => ['description' => 'The structure that contains the stack policy body.', 'type' => 'object', 'example' => '{ "Statement": [ { "Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*" }, { "Action": "Update:*", "Resource": "LogicalResourceId/apple1", "Effect": "Deny", "Principal": "*" } ] }', 'title' => ''], + 'Resources' => [ + 'description' => 'The resources in the stack.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LogicalResourceId' => ['description' => 'The logical ID of the resource.', 'type' => 'string', 'example' => 'WebServer', 'title' => ''], + 'AcsResourceType' => ['description' => 'The resource type of an Alibaba Cloud service.', 'type' => 'string', 'example' => 'ACS::ECS::Instance', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::Instance', 'title' => ''], + 'Description' => ['description' => 'The description of the resource.', 'type' => 'string', 'example' => 'ECS instance.', 'title' => ''], + 'Stack' => ['description' => 'The information about the nested stack. The data structure of the value is the same as the data structure of the entire response.', 'type' => 'object', 'example' => '{}', 'title' => ''], + 'RequiredBy' => [ + 'description' => 'The resources on which the stack depends.', + 'type' => 'array', + 'items' => ['description' => 'The resource on which the stack depends.', 'type' => 'string', 'example' => '["Resource1", "Resource2"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Properties' => ['description' => 'The resource properties.', 'type' => 'object', 'example' => '{ "DiskMappings": [ { "Category": "cloud_ssd", "Size": "20" } ], "SystemDisk_Category": "cloud_ssd", "InstanceChargeType": "PostPaid", "AutoRenew": "False", "WillReplace": true, "ImageId": "centos_7", "InstanceType": "ecs.g6.large", "AllocatePublicIP": true, "AutoRenewPeriod": 1, "IoOptimized": "optimized", "ZoneId": "cn-beijing-g", "VSwitchId": "", "SecurityGroupId": "", "Period": 1, "InternetChargeType": "PayByTraffic", "SystemDiskCategory": "cloud_efficiency", "InternetMaxBandwidthOut": 1, "VpcId": "", "InternetMaxBandwidthIn": 200, "PeriodUnit": "Month" }', 'title' => ''], + 'Action' => ['description' => 'The action that is performed on the resource. Valid values:'."\n" + ."\n" + .'- Add'."\n" + ."\n" + .'- Modify'."\n" + ."\n" + .'- Remove'."\n" + ."\n" + .'- None', 'type' => 'string', 'example' => 'Add', 'title' => ''], + 'Replacement' => ['description' => 'Indicates whether a replacement update is performed on the template. Valid values:'."\n" + ."\n" + .'- True: A replacement update is performed on the template.'."\n" + ."\n" + .'- False: A change is made on the template.'."\n" + ."\n" + .'- Conditional: A replacement update may be performed on the template. You can check whether a replacement update is performed when the template is in use.'."\n" + ."\n" + .'> This parameter is returned only if Action is set to Modify.', 'type' => 'string', 'example' => 'False', 'title' => ''], + 'PhysicalResourceId' => ['description' => 'The physical ID of the resource.'."\n" + ."\n" + .'This parameter is returned only if Action is set to Modify or Remove.', 'type' => 'string', 'example' => 'i-a1b2c3***', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RegionId' => ['description' => 'The region where the stack resides.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Log' => [ + 'description' => 'The log that is generated when the stack is run.', + 'type' => 'object', + 'properties' => [ + 'TerraformLogs' => [ + 'description' => 'The Terraform logs. This parameter is returned only if the stack is a Terraform stack.'."\n" + ."\n" + .'> This parameter contains the logs of previewing the stack.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Command' => ['description' => 'The name of the Terraform command that is run. Valid values:'."\n" + ."\n" + .'- apply'."\n" + ."\n" + .'- plan'."\n" + ."\n" + .'- destroy'."\n" + ."\n" + .'- version'."\n" + ."\n" + .'For more information about Terraform commands, see [Basic CLI Features](https://www.terraform.io/cli/commands).', 'type' => 'string', 'example' => 'apply', 'title' => ''], + 'Stream' => ['description' => 'The output stream. Valid values:'."\n" + ."\n" + .'- stdout: standard output stream'."\n" + ."\n" + .'- stderr: standard error stream', 'type' => 'string', 'example' => 'stdout', 'title' => ''], + 'Content' => ['description' => 'The content of the output stream that is returned after the command is run.', 'type' => 'string', 'example' => 'Apply complete! Resources: 42 added, 0 changed, 0 destroyed.', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'asynchronous', - 'callback' => 'ROS::2019-09-10::GetStackGroupOperation', - 'callbackInterval' => 2000, - 'maxCallbackTimes' => 30, + 'title' => 'PreviewStack', + 'description' => 'In this example, a stack named `MyStack` is created in the China (Hangzhou) region and previewed. The `TemplateBody` parameter of the stack is set to `{"ROSTemplateFormatVersion":"2015-09-01"}`.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'extraInfo' => ' 访问[公共错误码](~~131033~~)查看更多错误码。'."\n" + .'| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | CircularDependency |Circular Dependency Found: {reason}. |模板包含循环引用。reason为具体原因。 |'."\n" + .'| 400 | InvalidSchema | {reason}. |模板格式不正确。reason为具体原因。 |'."\n" + .'| 400 | InvalidTemplateAttribute |The Referenced Attribute ({resource} {name}) is incorrect. |模板包含不正确的资源属性(输出)引用。resource为资源名,name为属性名。 |'."\n" + .'| 400 | InvalidTemplatePropertyType |The specified value type of ({resource} {section}) is incorrect. |模板资源定义中的字段类型不正确。resource为资源名,section为字段名。 |'."\n" + .'| 400 | InvalidTemplateReference |The specified reference "{name}" (in {referencer}) is incorrect. |模板包含不正确的引用。name为引用名,referencer为引用者。 |'."\n" + .'| 400 | InvalidTemplateSection |The template section is invalid: {section}. |模板包含无效的字段。section为字段名。 |'."\n" + .'| 400 | InvalidTemplateVersion |The template version is invalid: {reason}. |模板版本不正确。reason为具体原因。 |'."\n" + .'| 400 | StackValidationFailed | {reason}. |资源栈校验失败。reason为具体原因。 |'."\n" + .'| 400 | UnknownUserParameter |The Parameter ({name}) was not defined in template. |传递的参数在模板中未定义。name为参数名。 |'."\n" + .'| 400 | UserParameterMissing |The Parameter {name} was not provided. |参数在模板中已定义,但未传递值。name为参数名。 |'."\n" + .'| 409 | StackExists |The Stack ({name}) already exists. |同名资源栈已存在。name为资源栈名称。 |'."\n" + .'| 404 | TemplateNotFound |The Template ({ ID }) could not be found. |模板不存在。ID为模板ID。 |'."\n" + .'| 404 | TemplateNotFound |The Template { ID } with version { version } could not be found. |模板或指定版本不存在。ID为模板ID,version为模板版本。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PreviewStack'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:PreviewStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', - 'title' => 'ImportStacksToStackGroup', - 'translator' => 'machine', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"Stack\\": {\\n \\"TemplateDescription\\": \\"One ECS instance.\\",\\n \\"Parameters\\": [\\n {\\n \\"ParameterKey\\": \\"ALIYUN::AccountId\\",\\n \\"ParameterValue\\": \\"151266687691****\\"\\n }\\n ],\\n \\"Description\\": \\"One ECS instance.\\",\\n \\"DisableRollback\\": false,\\n \\"StackName\\": \\"MyStack\\",\\n \\"TimeoutInMinutes\\": 60,\\n \\"StackPolicyBody\\": {\\n \\"Statement\\": [\\n {\\n \\"Action\\": \\"Update:*\\",\\n \\"Resource\\": \\"*\\",\\n \\"Effect\\": \\"Allow\\",\\n \\"Principal\\": \\"*\\"\\n },\\n {\\n \\"Action\\": \\"Update:*\\",\\n \\"Resource\\": \\"LogicalResourceId/apple1\\",\\n \\"Effect\\": \\"Deny\\",\\n \\"Principal\\": \\"*\\"\\n }\\n ]\\n },\\n \\"Resources\\": [\\n {\\n \\"LogicalResourceId\\": \\"WebServer\\",\\n \\"AcsResourceType\\": \\"ACS::ECS::Instance\\",\\n \\"ResourceType\\": \\"ALIYUN::ECS::Instance\\",\\n \\"Description\\": \\"ECS instance.\\",\\n \\"Stack\\": {},\\n \\"RequiredBy\\": [\\n \\"[\\\\\\"Resource1\\\\\\", \\\\\\"Resource2\\\\\\"]\\"\\n ],\\n \\"Properties\\": {\\n \\"DiskMappings\\": [\\n {\\n \\"Category\\": \\"cloud_ssd\\",\\n \\"Size\\": \\"20\\"\\n }\\n ],\\n \\"SystemDisk_Category\\": \\"cloud_ssd\\",\\n \\"InstanceChargeType\\": \\"PostPaid\\",\\n \\"AutoRenew\\": \\"False\\",\\n \\"WillReplace\\": true,\\n \\"ImageId\\": \\"centos_7\\",\\n \\"InstanceType\\": \\"ecs.g6.large\\",\\n \\"AllocatePublicIP\\": true,\\n \\"AutoRenewPeriod\\": 1,\\n \\"IoOptimized\\": \\"optimized\\",\\n \\"ZoneId\\": \\"cn-beijing-g\\",\\n \\"VSwitchId\\": \\"\\",\\n \\"SecurityGroupId\\": \\"\\",\\n \\"Period\\": 1,\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"SystemDiskCategory\\": \\"cloud_efficiency\\",\\n \\"InternetMaxBandwidthOut\\": 1,\\n \\"VpcId\\": \\"\\",\\n \\"InternetMaxBandwidthIn\\": 200,\\n \\"PeriodUnit\\": \\"Month\\"\\n },\\n \\"Action\\": \\"Add\\",\\n \\"Replacement\\": \\"False\\",\\n \\"PhysicalResourceId\\": \\"i-a1b2c3***\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Log\\": {\\n \\"TerraformLogs\\": [\\n {\\n \\"Command\\": \\"apply\\",\\n \\"Stream\\": \\"stdout\\",\\n \\"Content\\": \\"Apply complete! Resources: 42 added, 0 changed, 0 destroyed.\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', ], - 'UpdateStackTemplateByResources' => [ - 'summary' => 'Eliminates stack drifts by performing drift detection.', - 'path' => '/V2/UpdateStackTemplateByResources', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RegisterResourceType' => [ + 'summary' => 'Creates a new resource type, or creates a new version for an existing resource type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - 'FEATURErosZVIFJW', - ], + 'abilityTreeNodes' => ['FEATURErosUIOT2M'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'StackId', + 'name' => 'EntityType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the stack.'."\n", + 'description' => 'The entity type. Set the value to Module.', + 'enumValueTitles' => ['Module' => 'Module'], 'type' => 'string', 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', + 'example' => 'Module', + 'title' => '', ], ], [ - 'name' => 'DryRun', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to only preview the corrected template in this request. Default value: false. Valid values:'."\n" - ."\n" - .'* true: returns the content of the corrected template and does not correct the template. After Resource Orchestration Service (ROS) compares the corrected template with the original template, ROS determines whether to execute the correction.'."\n" - .'* false: corrects the template to eliminate drift.'."\n" - ."\n" - .'> We recommend that you set the DryRun parameter to true to preview the corrected template. If the template content meets expectations, set the DryRun parameter to false to execute the correction.'."\n", - 'type' => 'boolean', - 'required' => false, - 'docRequired' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The resource type.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', 'title' => ''], ], [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. The template body is used as the module content. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" + ."\n" + .'> - This parameter takes effect only when EntityType is set to Module.'."\n" + .'>'."\n" + .'> - You can specify only one of the TemplateBody and TemplateURL parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests.'."\n" - ."\n" - .'The token can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss\\://ros/template/demo or oss\\://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length. The template body is used as the module content.'."\n" + ."\n" + .'> - If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" + .'>'."\n" + .'> - This parameter takes effect only when EntityType is set to Module.'."\n" + .'>'."\n" + .'> - You can specify only one of the TemplateBody and TemplateURL parameters.'."\n" + ."\n" + .'The URL can be up to 1,024 bytes in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], ], [ - 'name' => 'TemplateFormat', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The format of the returned template. Default value: JSON. Valid values:'."\n" - ."\n" - .'* JSON'."\n" - .'* YAML'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'JSON', - ], + 'schema' => ['description' => 'The description of the resource type. The description can be up to 512 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'It is a demo.', 'title' => ''], ], [ - 'name' => 'LogicalResourceId', + 'name' => 'ClientToken', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The logical ID of resource.', - 'type' => 'array', - 'items' => [ - 'description' => 'The logical ID of resource N, which is used to filter resources. Template correction takes effect only for resources in the list. By default, all resources that have drifted are corrected.'."\n" - ."\n" - .'If the list of corrected resources contains resources in the DELETED state, ROS may adjust the resources that are not in the list but reference the deleted resources in the list to ensure the correctness of the new template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'WebServer', - ], - 'required' => false, - 'example' => 'Vpc', - 'maxItems' => 200, - ], + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.<br>'."\n" + .'The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).<br>'."\n" + .'For more information, see [Ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], ], 'responses' => [ @@ -15372,93 +13054,83 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'NewTemplateBody' => [ - 'description' => 'The template content after correction.'."\n", - 'type' => 'string', - 'example' => '{\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\", \\"Resources\\": {\\"Vpc\\": {\\"Type\\": \\"ALIYUN::ECS::VPC\\", \\"Properties\\": {\\"VpcName\\": \\"test\\", \\"CidrBlock\\": \\"192.168.0.0/16\\", \\"Description\\": \\"test2\\"}}}, \\"Outputs\\": {\\"VpcId\\": {\\"Value\\": {\\"Fn::GetAtt\\": [\\"Vpc\\", \\"VpcId\\"]}}}}', - ], - 'OldTemplateBody' => [ - 'description' => 'The template content before correction.'."\n", - 'type' => 'string', - 'example' => '{\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\", \\"Resources\\": {\\"Vpc\\": {\\"Type\\": \\"ALIYUN::ECS::VPC\\", \\"Properties\\": {\\"VpcName\\": \\"test\\", \\"CidrBlock\\": \\"192.168.0.0/16\\", \\"Description\\": \\"test1\\"}}}, \\"Outputs\\": {\\"VpcId\\": {\\"Value\\": {\\"Fn::GetAtt\\": [\\"Vpc\\", \\"VpcId\\"]}}}}', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'RegistrationId' => ['description' => 'The ID of the registration record. You can call the [ListResourceTypeRegistrations](~~2330740~~) operation to query registration records.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"NewTemplateBody\\": \\"{\\\\\\\\\\\\\\"ROSTemplateFormatVersion\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"2015-09-01\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Resources\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Vpc\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"ALIYUN::ECS::VPC\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Properties\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"VpcName\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"test\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"CidrBlock\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"192.168.0.0/16\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"test2\\\\\\\\\\\\\\"}}}, \\\\\\\\\\\\\\"Outputs\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"VpcId\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Value\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Fn::GetAtt\\\\\\\\\\\\\\": [\\\\\\\\\\\\\\"Vpc\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"VpcId\\\\\\\\\\\\\\"]}}}}\\",\\n \\"OldTemplateBody\\": \\"{\\\\\\\\\\\\\\"ROSTemplateFormatVersion\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"2015-09-01\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Resources\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Vpc\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"ALIYUN::ECS::VPC\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Properties\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"VpcName\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"test\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"CidrBlock\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"192.168.0.0/16\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"test1\\\\\\\\\\\\\\"}}}, \\\\\\\\\\\\\\"Outputs\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"VpcId\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Value\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Fn::GetAtt\\\\\\\\\\\\\\": [\\\\\\\\\\\\\\"Vpc\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"VpcId\\\\\\\\\\\\\\"]}}}}\\"\\n}","type":"json"}]', - 'title' => 'UpdateStackTemplateByResources', - 'description' => 'Limits: You can eliminate only drift on stacks that have drifted. You must call the [DetectStackDrift](~~155094~~) operation to perform drift detection on a stack, call the [GetStackDriftDetectionStatus](~~155097~~) operation to query the drift status of the stack to make sure that the stack has drifted, and then call the UpdateStackTemplateByResources operation to eliminate drift.'."\n" + 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'ROS::2019-09-10::ListResourceTypeRegistrations', 'callbackInterval' => 10000, 'maxCallbackTimes' => 30], + 'title' => 'RegisterResourceType', + 'description' => '- Versions increase from v1.'."\n" ."\n" - .'In this topic, drift is eliminated for a stack whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****`. The stack is deployed in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => '| HTTP status code | Error code | Error message | Description |'."\n" - .'| ---------------- | ---------- | ------------- | ----------- |'."\n" - .'| 400 | StackDriftDetectionNotAvailable | There is no complete drift detection for stack ({ID}). | The error message returned because no drift detection has been completed on the stack. ID indicates the stack ID. |'."\n" - .'| 400 | StackAlreadyInSync | This is not need to correct stack drifts, stack ({ID}) is already in sync. | The error message returned because no drift exists and the template correction is not needed. ID indicates the stack ID. |'."\n" - .'| 400 | CorrectStackDriftsFailure | {reason} | The error message returned because the stack cannot be corrected. reason indicates the specific reason. |'."\n" - .'| 404 | StackNotFound | The Stack ({name}) could not be found. | The error message returned because the specified stack does not exist. name indicates the name or ID of the stack. |'."\n" - .'| 404 | ResourceNotFound | The Resource ({name}) could not be found in Stack {stack}. | The error message returned because the specified resource does not exist in the specified stack. name indicates the resource name, and stack indicates the stack name or ID. |', - ], - 'GetStackDriftDetectionStatus' => [ - 'summary' => 'Queries the drift detection status of a stack.', - 'path' => '/V2/GetStackDriftDetectionStatus', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- If you create a new resource type, v1 is used as the default version of the resource type. You can call the SetResourceType operation to change the default version of a resource type.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RegisterResourceType'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:RegisterResourceType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"RegistrationId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\"\\n}","type":"json"}]', + ], + 'SetDeletionProtection' => [ + 'summary' => 'Modifies the deletion protection setting for a stack.', + 'path' => '/V2/SetDeletionProtection', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosGGHNC3', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack to be detected for drift.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the stack.'."\n" + ."\n" + .'The delete protection attribute of a nested stack is determined by the root stack and remains unchanged from the root stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'DriftDetectionId', + 'name' => 'DeletionProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the drift detection operation.'."\n" - ."\n" - .'You can call the [ListStackResourceDrifts](~~155098~~) operation to obtain the ID of the drift detection operation.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'a7044f0d-6f2e-4128-a307-4524ef88****', - ], + 'schema' => ['description' => 'Indicates whether stack deletion protection is enabled. Valid values:'."\n" + ."\n" + .'- Enabled: enables the stack deletion protection.'."\n" + ."\n" + .'- Disabled (default): Resource stack deletion protection is Disabled. You can use the console or API(DeleteStack) to release the stack resources.'."\n" + ."\n" + .'> The deletion of nested stacks is the same as the root stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Enabled', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -15466,162 +13138,80 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'DriftDetectionTime' => [ - 'description' => 'The time when the stack drift detection operation was initiated.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'DriftDetectionStatusReason' => [ - 'description' => 'The reason why the stack drift detection operation has its current status.'."\n", - 'type' => 'string', - 'example' => 'Detect stack drift successfully', - ], - 'DriftedStackResourceCount' => [ - 'description' => 'The total number of stack resources that have drifted.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'StackDriftStatus' => [ - 'description' => 'The drift status of the stack. Valid values:'."\n" - ."\n" - .'* DRIFTED: The actual configuration of the stack differs, or has drifted, from its expected template configuration. A stack is considered to have drifted if one or more of its resources have drifted.'."\n" - .'* NOT_CHECKED: Resource Orchestration Service (ROS) has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" - .'* IN_SYNC: The current configuration of each supported resource matches its expected template configuration. A stack with no resources that support drift detection also has a status of IN_SYNC.'."\n", - 'type' => 'string', - 'example' => 'DRIFTED', - ], - 'DriftDetectionStatus' => [ - 'description' => 'The drift detection status. Valid values:'."\n" - ."\n" - .'* DETECTION_COMPLETE: The drift detection operation has been completed for all resources that support drift detection in the stack.'."\n" - .'* DETECTION_FAILED: The stack drift detection operation has failed for at least one resource in the stack.'."\n" - .'* DETECTION_IN_PROGRESS: The stack drift detection operation is in progress.'."\n", - 'type' => 'string', - 'example' => 'DETECTION_COMPLETE', - ], - 'StackId' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - 'DriftDetectionId' => [ - 'description' => 'The ID of the drift detection operation.'."\n", - 'type' => 'string', - 'example' => 'a7044f0d-6f2e-4128-a307-4524ef88****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"DriftDetectionStatusReason\\": \\"Detect stack drift successfully\\",\\n \\"DriftedStackResourceCount\\": 1,\\n \\"StackDriftStatus\\": \\"DRIFTED\\",\\n \\"DriftDetectionStatus\\": \\"DETECTION_COMPLETE\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"DriftDetectionId\\": \\"a7044f0d-6f2e-4128-a307-4524ef88****\\"\\n}","errorExample":""},{"type":"xml","example":"<GetStackDriftDetectionStatusResponse>\\n <DriftDetectionId>a7044f0d-6f2e-4128-a307-4524ef88****</DriftDetectionId>\\n <DriftDetectionStatus>DETECTION_COMPLETE</DriftDetectionStatus>\\n <DriftDetectionStatusReason>Detect stack drift successfully</DriftDetectionStatusReason>\\n <DriftDetectionTime>2020-02-27T07:47:47</DriftDetectionTime>\\n <DriftedStackResourceCount>1</DriftedStackResourceCount>\\n <StackDriftStatus>DRIFTED</StackDriftStatus>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n</GetStackDriftDetectionStatusResponse>","errorExample":""}]', - 'title' => 'GetStackDriftDetectionStatus', - 'description' => 'In this topic, the status of a drift detection operation whose ID is `a7044f0d-6f2e-4128-a307-4524ef88****` is queried. The operation is performed in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => '| HTTP status code | Error code | Error message | Description |'."\n" - .'| ---------------- | ---------- | ------------- | ----------- |'."\n" - .'| 404 | StackDriftDetectionNotFound | The stack drift detection ({ID}) could not be found. | The error message returned because the drift detection does not exist. ID indicates the ID of the drift detection operation. |', - ], - 'ListStackResourceDrifts' => [ - 'summary' => 'The query token. Set this parameter to the NextToken value returned in the last API call.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'SetDeletionProtection', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetDeletionProtection'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:SetDeletionProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', + ], + 'SetResourceType' => [ + 'summary' => 'Modifies the description of a resource type or a version of that type.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', - ], + 'abilityTreeNodes' => ['FEATURErosUIOT2M'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'StackId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - ], - [ - 'name' => 'RegionId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The physical ID of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The resource type.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'VersionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The time when the resource drift detection operation was initiated.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'docRequired' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The version ID. Specify this parameter to modify a specific version of the resource type. Otherwise, the description of the resource type itself is modified.'."\n" + ."\n" + .'> You can specify either VersionId or DefaultVersionId.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'DefaultVersionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'AAAAAdDWBF2****w==', - ], + 'schema' => ['description' => 'The ID of the default version. Specify this parameter to set the default version for the resource type.'."\n" + ."\n" + .'> You can specify either VersionId or DefaultVersionId.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], [ - 'name' => 'ResourceDriftStatus', + 'name' => 'Description', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The resource properties as defined in the template, in JSON format.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The drift status of the resource. Valid values:'."\n" - ."\n" - .'* DELETED: The actual configuration of the resource differs from its expected template configuration because the resource had been deleted.'."\n" - .'* MODIFIED: The actual configuration of the resource differs from its expected template configuration.'."\n" - .'* NOT_CHECKED: ROS has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" - .'* IN_SYNC: The actual configuration of the resource matches its expected template configuration.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MODIFIED', - ], - 'required' => false, - 'example' => 'MODIFIED', - 'maxItems' => 4, - ], + 'schema' => ['description' => 'The description of the resource type or a version of the resource type. The description can be up to 512 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'It is a demo.', 'title' => ''], ], ], 'responses' => [ @@ -15629,147 +13219,43 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ResourceDrifts' => [ - 'description' => 'The resource drifts.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LogicalResourceId' => [ - 'description' => 'The logical ID of the resource. The logical ID indicates the name of the resource that is defined in the template.'."\n", - 'type' => 'string', - 'example' => 'ScalingRule', - ], - 'StackId' => [ - 'description' => 'The stack ID.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], - 'PhysicalResourceId' => [ - 'description' => 'The physical ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'asr-2ze4zzc3kf9yz1kd****', - ], - 'DriftDetectionTime' => [ - 'description' => 'The time when the drift detection operation was performed on the resource.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ESS::ScalingRule', - ], - 'ExpectedProperties' => [ - 'description' => 'The JSON-formatted resource properties that are defined in the template.'."\n", - 'type' => 'string', - 'example' => '{"ScalingRuleName": "test2"}', - ], - 'ResourceDriftStatus' => [ - 'description' => 'The drift state of the resource. Valid values:'."\n" - ."\n" - .'* DELETED: The actual configuration of the resource differs from its expected template configuration because the resource is deleted.'."\n" - .'* MODIFIED: The actual configuration of the resource differs from its expected template configuration.'."\n" - .'* NOT_CHECKED: Resource Orchestration Service (ROS) has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" - .'* IN_SYNC: The actual configuration of the resource matches its expected template configuration.'."\n", - 'type' => 'string', - 'example' => 'MODIFIED', - ], - 'PropertyDifferences' => [ - 'description' => 'The property drifts of the resource.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ActualValue' => [ - 'description' => 'The actual value of the resource property.'."\n", - 'type' => 'string', - 'example' => 'test1', - ], - 'DifferenceType' => [ - 'description' => 'The drift type of the resource property. Valid values:'."\n" - ."\n" - .'* ADD: The value is added to a resource property whose data type is Array or List.'."\n" - .'* REMOVE: The property is deleted from the current resource configuration.'."\n" - .'* NOT_EQUAL: The current property value differs from the expected value that is defined in the stack template.'."\n", - 'type' => 'string', - 'example' => 'NOT_EQUAL', - ], - 'PropertyPath' => [ - 'description' => 'The path of the resource property.'."\n", - 'type' => 'string', - 'example' => '/ScalingRuleName', - ], - 'ExpectedValue' => [ - 'description' => 'The expected value of the resource property that is defined in the template.'."\n", - 'type' => 'string', - 'example' => 'test2', - ], - ], - ], - ], - 'ActualProperties' => [ - 'description' => 'The actual JSON-formatted resource properties.'."\n", - 'type' => 'string', - 'example' => '{"ScalingRuleName": "test1"}', - ], - 'ModuleInfo' => [ - 'description' => 'The information about the modules from which the resource was created. This parameter is returned only if the resource is created from modules.'."\n", - 'type' => 'object', - 'properties' => [ - 'LogicalIdHierarchy' => [ - 'description' => 'The concatenated logical IDs of one or more modules that contain the resource. The modules are listed from the outermost layer and separated by forward slashes (`/`).'."\n" - ."\n" - .'In the following example, the resource is created from Module B nested within Parent Module A:'."\n" - ."\n" - .'`moduleA/moduleB`'."\n", - 'type' => 'string', - 'example' => 'moduleA/moduleB', - ], - 'TypeHierarchy' => [ - 'description' => 'The concatenated types of one or more modules that contain the resource. The module types are listed from the outermost layer and separated by forward slashes (`/`).'."\n" - ."\n" - .'In the following example, the resource is created from a module of the `MODULE::ROS::Child::Example` type that is nested within a parent module of the `MODULE::ROS::Parent::Example` type:'."\n" - ."\n" - .'`MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example`'."\n", - 'type' => 'string', - 'example' => 'MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example', - ], - ], - ], - ], - ], - ], - 'NextToken' => [ - 'description' => 'The query token returned in this call.', - 'type' => 'string', - 'example' => 'AAAAAdDWBF2****w==', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ResourceDrifts\\": [\\n {\\n \\"LogicalResourceId\\": \\"ScalingRule\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"PhysicalResourceId\\": \\"asr-2ze4zzc3kf9yz1kd****\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::ScalingRule\\",\\n \\"ExpectedProperties\\": \\"{\\\\\\"ScalingRuleName\\\\\\": \\\\\\"test2\\\\\\"}\\",\\n \\"ResourceDriftStatus\\": \\"MODIFIED\\",\\n \\"PropertyDifferences\\": [\\n {\\n \\"ActualValue\\": \\"test1\\",\\n \\"DifferenceType\\": \\"NOT_EQUAL\\",\\n \\"PropertyPath\\": \\"/ScalingRuleName\\",\\n \\"ExpectedValue\\": \\"test2\\"\\n }\\n ],\\n \\"ActualProperties\\": \\"{\\\\\\"ScalingRuleName\\\\\\": \\\\\\"test1\\\\\\"}\\",\\n \\"ModuleInfo\\": {\\n \\"LogicalIdHierarchy\\": \\"moduleA/moduleB\\",\\n \\"TypeHierarchy\\": \\"MODULE::ROS::Parent::Example/MODULE::ROS::Child::Example\\"\\n }\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAdDWBF2****w==\\",\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"<ListStackResourceDriftsResponse>\\n <NextToken>AAAAAdDWBF2****w==</NextToken>\\n <ResourceDrifts>\\n <ActualProperties>{\\"ScalingRuleName\\": \\"test1\\"}</ActualProperties>\\n <DriftDetectionTime>2020-02-27T07:47:47</DriftDetectionTime>\\n <ExpectedProperties>{\\"ScalingRuleName\\": \\"test2\\"}</ExpectedProperties>\\n <LogicalResourceId>ScalingRule</LogicalResourceId>\\n <PhysicalResourceId>asr-2ze4zzc3kf9yz1kd****</PhysicalResourceId>\\n <PropertyDifferences>\\n <ActualValue>test1</ActualValue>\\n <DifferenceType>NOT_EQUAL</DifferenceType>\\n <ExpectedValue>test2</ExpectedValue>\\n <PropertyPath>/ScalingRuleName</PropertyPath>\\n </PropertyDifferences>\\n <ResourceDriftStatus>MODIFIED</ResourceDriftStatus>\\n <ResourceType>ALIYUN::ESS::ScalingRule</ResourceType>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n </ResourceDrifts>\\n <RequestId>8625BB3E-2950-4F3E-A713-5458DB5CD874</RequestId>\\n</ListStackResourceDriftsResponse>","errorExample":""}]', - 'title' => 'ListStackResourceDrifts', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => 'The drift status of the resource.', - ], - 'DetectStackDrift' => [ - 'summary' => 'Performs drift detection on resources in a stack to check whether the resources have drifted from the expected template configurations.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'SetResourceType', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetResourceType'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:SetResourceType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', + ], + 'SetStackPolicy' => [ + 'summary' => 'Configures a stack policy for a stack.', + 'path' => '/V2/SetStackPolicy', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15778,67 +13264,37 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosGGHNC3', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'StackPolicyBody', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" - ."\n" - .'The value can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The structure that contains the stack policy body. The stack policy body must be 1 to 16,384 bytes in length.'."\n" + ."\n" + .'You can specify one of the StackPolicyBody and StackPolicyURL parameters, but you cannot specify both of them.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"Statement":[{"Effect":"Allow","Action":"Update:*","Principal":"*","Resource":"*"}]}', 'title' => ''], ], [ - 'name' => 'LogicalResourceId', + 'name' => 'StackPolicyURL', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The logical ID of resource.', - 'type' => 'array', - 'items' => [ - 'description' => 'The logical ID of resource N, which is used to filter resources.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ScalingRule', - ], - 'required' => false, - 'example' => 'ScalingRule', - 'maxItems' => 200, - ], + 'schema' => ['description' => 'The URL for the file that contains the stack policy. The URL must point to a template located in an HTTP or HTTPS web server or an Alibaba Cloud OSS bucket. Examples: oss\\://ros/template/demo and oss\\://ros/template/demo?RegionId=cn-hangzhou. The template can be up to 16,384 bytes in length, and the URL can be up to 1,350 bytes in length.'."\n" + ."\n" + .'> If the region of the OSS bucket is not specified, the RegionId value is used.'."\n" + ."\n" + .'You can specify one of the StackPolicyBody and StackPolicyURL parameters, but you cannot specify both of them.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/stack-policy/demo', 'title' => ''], ], ], 'responses' => [ @@ -15846,132 +13302,128 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], - 'DriftDetectionId' => [ - 'description' => 'The ID of the drift detection.'."\n", - 'type' => 'string', - 'example' => 'a7044f0d-6f2e-4128-a307-4524ef88****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"DriftDetectionId\\": \\"a7044f0d-6f2e-4128-a307-4524ef88****\\"\\n}","errorExample":""},{"type":"xml","example":"<DetectStackDriftResponse>\\n <DriftDetectionId>a7044f0d-6f2e-4128-a307-4524ef88****</DriftDetectionId>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6</RequestId>\\n</DetectStackDriftResponse>","errorExample":""}]', - 'title' => 'DetectStackDrift', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'DetectStackGroupDrift' => [ - 'summary' => 'Performs drift detection on stack groups to check whether the stack groups have drifted from the expected template configurations.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'errorCodes' => [], + 'title' => 'SetStackPolicy', + 'description' => 'In this example, a stack policy is configured for a stack deployed in the `China (Hangzhou)` region whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****`. The URL to the stack policy body is `oss://ros/stack-policy/demo`.', + 'requestParamsDescription' => 'For more information about common parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" + .'| --------------------- | -------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| StackValidationFailed | {reason}. | 400 | The error message returned because the stack validation failed. reason indicates the specific reason. |'."\n" + .'| StackNotFound | The Stack ({name}) could not be found. | 404 | The error message returned because the specified stack does not exist. name indicates the name or ID of the stack. |', + 'extraInfo' => "\n" + .'| 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| StackValidationFailed |{reason}. | 400 |资源栈校验失败,reason为具体原因。 |'."\n" + .'| StackNotFound |The Stack ({name}) could not be found. | 404 |资源栈不存在,name为资源栈名称或ID。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetStackPolicy'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:SetStackPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', + ], + 'SetTemplatePermission' => [ + 'summary' => 'Shares or unshares a template.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', - ], + 'abilityTreeCode' => '12717', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], ], 'parameters' => [ [ - 'name' => 'ClientToken', + 'name' => 'ShareOption', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" - ."\n" - .'The value can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The sharing option.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- ShareToAccounts: shares the template with other Alibaba Cloud accounts.'."\n" + ."\n" + .'- CancelSharing: unshares the template.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ShareToAccounts', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'VersionOption', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack group. You can call the [DescribeRegions](~~131035#doc-api-ROS-DescribeRegions~~ "Queries the DescribeRegions list of a region.") operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The version option for the shared template. This parameter takes effect only if you set ShareOption to ShareToAccounts.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- AllVersions (default): shares all versions of the template.'."\n" + ."\n" + .'- Latest: shares only the latest version of template. When the version of the template is updated, ROS updates the shared version to the latest version.'."\n" + ."\n" + .'- Current: shares only the current version of the template. When the version of the template is updated, ROS does not update the shared version.'."\n" + ."\n" + .'- Specified: shares only the specified version of the template.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Specified', 'title' => ''], ], [ - 'name' => 'StackGroupName', + 'name' => 'TemplateVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the stack group. The name must be unique in a region.'."\n" - ."\n" - .'The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (\\_). It must start with a digit or letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MyStackGroup', - ], + 'schema' => ['description' => 'The version of the shared template. This parameter takes effect only if you set ShareOption to ShareToAccounts and set VersionOption to Specified.'."\n" + ."\n" + .'Valid values: v1 to v100.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'v1', 'title' => ''], ], [ - 'name' => 'OperationPreferences', + 'name' => 'TemplateId', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The ID of the template.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], + ], + [ + 'name' => 'AccountIds', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The operation settings, in JSON format. The following fields are supported:'."\n" - ."\n" - .'* FailureToleranceCount'."\n" - ."\n" - .'The maximum number of stack group operation failures that can occur. In a stack group operation, if the total number of failures does not exceed the FailureToleranceCount value, the operation succeeds. Otherwise, the operation fails.'."\n" - ."\n" - .'If FailureToleranceCount is not specified, the default value 0 is used. You can specify one of FailureToleranceCount or FailureTolerancePercentage parameters, but you cannot specify both of them.'."\n" - ."\n" - .'Valid values: 0 to 20.'."\n" - ."\n" - .'* FailureTolerancePercentage'."\n" - ."\n" - .'The percentage of stack group operation failures that can occur. In a stack group operation, if the percentage of failures does not exceed the FailureTolerancePercentage value, the operation succeeds. Otherwise, the operation fails.'."\n" - ."\n" - .'You can specify one of FailureToleranceCount or FailureTolerancePercentage parameters, but you cannot specify both of them.'."\n" - ."\n" - .'Valid values: 0 to 100.'."\n" - ."\n" - .'* MaxConcurrentCount'."\n" - ."\n" - .'The maximum number of target accounts in which a drift detection operation can be performed at a time.'."\n" - ."\n" - .'You can specify one of MaxConcurrentCount or MaxConcurrentPercentage parameters, but you cannot specify both of them.'."\n" - ."\n" - .'Valid values: 1 to 20.'."\n" - ."\n" - .'* MaxConcurrentPercentage'."\n" - ."\n" - .'The maximum percentage of target accounts in which a drift detection operation can be performed at a time.'."\n" + 'description' => 'The Alibaba Cloud accounts with or from which you want to share or unshare the template.<br>'."\n" + .'Valid values of N: 1, 2, 3, 4, and 5.'."\n" ."\n" - .'You can specify one of MaxConcurrentCount or MaxConcurrentPercentage parameters, but you cannot specify both of them.'."\n" + .'> - This parameter cannot be set to the ID of the Alibaba Cloud account that owns the template, or the RAM users of this Alibaba Cloud account.'."\n" + .'>'."\n" + .'> - When ShareOption is set to CancelSharing, you can unshare the template from all the specified Alibaba Cloud accounts by using an asterisk (\\*).', + 'type' => 'array', + 'items' => ['description' => 'The Alibaba Cloud account with or from which you want to share or unshare the template.<br>'."\n" + .'Valid values of N: 1, 2, 3, 4, and 5.'."\n" ."\n" - .'Valid values: 1 to 100.'."\n", - 'type' => 'object', - 'required' => false, - 'docRequired' => false, - 'example' => '{"FailureToleranceCount": 1, "MaxConcurrentCount": 2}', + .'> - This parameter cannot be set to the ID of the Alibaba Cloud account that owns the template, or the RAM users of this Alibaba Cloud account.'."\n" + .'>'."\n" + .'> - When ShareOption is set to CancelSharing, you can unshare the template from all the specified Alibaba Cloud accounts by using an asterisk (\\*).', 'type' => 'string', 'required' => false, 'example' => '100406424347****', 'title' => ''], + 'required' => true, + 'example' => '151266687691****', + 'maxItems' => 5, + 'title' => '', ], ], ], @@ -15980,35 +13432,51 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], - 'OperationId' => [ - 'description' => 'The ID of the operation.'."\n", - 'type' => 'string', - 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","errorExample":""},{"type":"xml","example":"<DetectStackGroupDriftResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6</RequestId>\\n <OperationId>6da106ca-1784-4a6f-a7e1-e723863d****</OperationId>\\n</DetectStackGroupDriftResponse>","errorExample":""}]', - 'title' => 'DetectStackGroupDrift', - 'requestParamsDescription' => ' ', + 'title' => 'SetTemplatePermission', + 'description' => 'In this example, the template whose ID is `5ecd1e10-b0e9-4389-a565-e4c15efc****` is shared with an Alibaba Cloud account. The ID of the Alibaba Cloud account is `151266687691****`.'."\n" + ."\n" + .'> The recipient Alibaba Cloud account (ID: `151266687691****`) can authorize RAM users to use the shared template.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'DetectStackResourceDrift' => [ - 'summary' => 'Performs drift detection on resources in a stack to determine whether the resources have drifted from the expected configurations.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | TemplateBeingProcessed |Template { ID } is being processed, retry later.|模板正在处理中,稍后再试。ID为模板ID。|'."\n" + .'| 404 | TemplateNotFound |The Tempalte ({ ID }) could not be found. |模板不存在。ID为模板ID。 |'."\n" + .'| 404 | TemplateNotFound |The Template { ID } with version { version } could not be found. |模板或指定版本不存在。ID为模板ID,version为模板版本。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetTemplatePermission'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:SetTemplatePermission', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', + ], + 'SignalResource' => [ + 'summary' => 'Sends a signal to a resource in a stack.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16017,61 +13485,51 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosGGHNC3', - ], + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ 'name' => 'StackId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'Status', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" - ."\n" - .'The value can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" - ."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'The status of the signal. Failure signals can cause stack creation or update to fail. If all signals are warnings, the stack cannot be created or updated. Valid values:'."\n" + ."\n" + .'- SUCCESS'."\n" + ."\n" + .'- FAILURE'."\n" + ."\n" + .'- WARNING', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SUCCESS', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'UniqueId', + 'in' => 'query', + 'schema' => ['description' => 'The unique ID of the signal. The ID must be 1 to 64 characters in length. If multiple signals are sent to a single resource, each signal must have a unique ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '27c7347b-352a-4377-accf-63d361c1****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" + ."\n" + .'The token can be up to 64 characters in length and can contain letters, digits, hyphens (-) and underscores (\\_).'."\n" + ."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], [ 'name' => 'LogicalResourceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ScalingRuleName', - ], + 'schema' => ['description' => 'The logical ID of the resource as defined in the template.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'WebServer', 'title' => ''], ], ], 'responses' => [ @@ -16079,108 +13537,122 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LogicalResourceId' => [ - 'description' => 'The logical ID of the resource that is defined in the template.'."\n", - 'type' => 'string', - 'example' => 'ScalingRule', - ], - 'ResourceDriftStatus' => [ - 'description' => 'The drift status of the resource. Valid values:'."\n" - ."\n" - .'* DELETED: The actual configuration of the resource differs from its expected template configuration because the resource is deleted.'."\n" - .'* MODIFIED: The actual configuration of the resource differs from its expected template configuration.'."\n" - .'* NOT_CHECKED: Resource Orchestration Service (ROS) has not checked whether the actual configuration of the resource differs from its expected template configuration.'."\n" - .'* IN_SYNC: The actual configuration of the resource matches its expected template configuration.'."\n", - 'type' => 'string', - 'example' => 'MODIFIED', - ], - 'PropertyDifferences' => [ - 'description' => 'The property drifts of the resource.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ActualValue' => [ - 'description' => 'The actual value of the resource property.'."\n", - 'type' => 'string', - 'example' => 'test1', - ], - 'DifferenceType' => [ - 'description' => 'The drift type of the resource property. Valid values:'."\n" - ."\n" - .'* ADD: The property value has been added to a resource property whose data type was Array or List.'."\n" - .'* REMOVE: The property has been deleted from the current resource configuration.'."\n" - .'* NOT_EQUAL: The current property value differs from the expected value defined in the stack template.'."\n", - 'type' => 'string', - 'example' => 'NOT_EQUAL', - ], - 'PropertyPath' => [ - 'description' => 'The path of the resource property.'."\n", - 'type' => 'string', - 'example' => '/ScalingRuleName', - ], - 'ExpectedValue' => [ - 'description' => 'The expected value of the resource property that is defined in the template.'."\n", - 'type' => 'string', - 'example' => 'test2', - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'PhysicalResourceId' => [ - 'description' => 'The physical ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'asr-2ze4zzc3kf9yz1kd****', - ], - 'ExpectedProperties' => [ - 'description' => 'The JSON-formatted resource properties that are defined in the template.'."\n", - 'type' => 'string', - 'example' => '{"ScalingRuleName": "test2"}', - ], - 'DriftDetectionTime' => [ - 'description' => 'The time when the resource drift detection was initiated.'."\n", - 'type' => 'string', - 'example' => '2020-02-27T07:47:47', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ESS::ScalingRule', - ], - 'ActualProperties' => [ - 'description' => 'The actual JSON-formatted resource properties.'."\n", - 'type' => 'string', - 'example' => '{"ScalingRuleName": "test1"}', - ], - 'StackId' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"LogicalResourceId\\": \\"ScalingRule\\",\\n \\"ResourceDriftStatus\\": \\"MODIFIED\\",\\n \\"PropertyDifferences\\": [\\n {\\n \\"ActualValue\\": \\"test1\\",\\n \\"DifferenceType\\": \\"NOT_EQUAL\\",\\n \\"PropertyPath\\": \\"/ScalingRuleName\\",\\n \\"ExpectedValue\\": \\"test2\\"\\n }\\n ],\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"PhysicalResourceId\\": \\"asr-2ze4zzc3kf9yz1kd****\\",\\n \\"ExpectedProperties\\": \\"{\\\\\\"ScalingRuleName\\\\\\": \\\\\\"test2\\\\\\"}\\",\\n \\"DriftDetectionTime\\": \\"2020-02-27T07:47:47\\",\\n \\"ResourceType\\": \\"ALIYUN::ESS::ScalingRule\\",\\n \\"ActualProperties\\": \\"{\\\\\\"ScalingRuleName\\\\\\": \\\\\\"test1\\\\\\"}\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\"\\n}","errorExample":""},{"type":"xml","example":"<DetectStackResourceDriftResponse>\\n <ActualProperties>{\\"ScalingRuleName\\": \\"test1\\"}</ActualProperties>\\n <DriftDetectionTime>2020-02-27T07:47:47</DriftDetectionTime>\\n <ExpectedProperties>{\\"ScalingRuleName\\": \\"test2\\"}</ExpectedProperties>\\n <LogicalResourceId>ScalingRule</LogicalResourceId>\\n <PhysicalResourceId>asr-2ze4zzc3kf9yz1kd****</PhysicalResourceId>\\n <PropertyDifferences>\\n <ActualValue>test1</ActualValue>\\n <DifferenceType>NOT_EQUAL</DifferenceType>\\n <ExpectedValue>test2</ExpectedValue>\\n <PropertyPath>/ScalingRuleName</PropertyPath>\\n </PropertyDifferences>\\n <ResourceDriftStatus>MODIFIED</ResourceDriftStatus>\\n <ResourceType>ALIYUN::ESS::ScalingRule</ResourceType>\\n <StackId>4a6c9851-3b0f-4f5f-b4ca-a14bf691****</StackId>\\n</DetectStackResourceDriftResponse>","errorExample":""}]', - 'title' => 'DetectStackResourceDrift', + 'title' => 'SignalResource', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | ResourceNotAvailable |The Resource ({name}) is not available. |资源处于不可用状态。name为资源名。 |'."\n" + .'| 404 | ResourceNotFound |The Resource ({name}) could not be found in Stack {stack}. |资源栈中不存某资源。name为资源名,stack为资源栈名称或ID。 |'."\n" + .'| 404 | StackNotFound |The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。 |'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SignalResource'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:SignalResource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\"\\n}","type":"json"}]', ], - 'TagResources' => [ - 'summary' => 'Creates and adds tags to resources.', - 'methods' => [ - 'post', - 'get', + 'StopStackGroupOperation' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], ], - 'schemes' => [ - 'http', - 'https', + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the stack. Call the [DescribeRegions](~~131035~~) operation to query available regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'OperationId', + 'in' => 'query', + 'schema' => ['description' => 'The operation ID. Call the [ListStackGroupOperations](~~151342~~) operation to query operation IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], + ], ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'title' => 'StopStackGroupOperation', + 'summary' => 'Stops an ongoing operation in a stack group.', + 'description' => 'This example stops the stack group operation `6da106ca-1784-4a6f-a7e1-e723863****` in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => '| Error code | Error message | HTTP status code | Description |'."\n" + .'| --------------------------- | ----------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------- |'."\n" + .'| InvalidParameter | The specified parameter {name} is invalid, {reason}. | 400 | The specified parameter is invalid. `{name}` indicates the parameter name and `{reason}` indicates the cause. |'."\n" + .'| StackGroupOperationNotFound | The StackGroupOperation ({OperationId}) could not be found. | 404 | The specified stack group operation does not exist. `{OperationId}` indicates the operation ID. |', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidParameter |The specified parameter {name} is invalid, {reason}. | 400 |无效参数,name为参数名,reason为原因。 |'."\n" + .'| StackGroupOperationNotFound |The StackGroupOperation ({OperationId}) could not be found. | 404 |资源栈组操作不存在。OperationId为操作ID。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopStackGroupOperation'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:StopStackGroupOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroupOperation', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroupoperation/{#OperationId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\"\\n}","type":"json"}]', + ], + 'TagResources' => [ + 'summary' => 'Creates and adds tags to resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16193,56 +13665,41 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12720', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the tag that you want to create. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the tag. You can call [DescribeRegions](~~131035~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* stack: stack'."\n" - .'* stackgroup: stack group'."\n" - .'* template: template'."\n" - .'* templatescratch: scenario'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'stack', - ], + 'schema' => ['description' => 'The resource type. Valid values:'."\n" + ."\n" + .'- stack'."\n" + ."\n" + .'- stackgroup'."\n" + ."\n" + .'- template'."\n" + ."\n" + .'- templatescratch: resource scenario.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stack', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the resources.'."\n", + 'description' => 'The resource IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the resource. You can specify up to 50 resource IDs.'."\n" - ."\n" - .'> If you set ResourceType to stackgroup, you must set ResourceId to the name of the stack group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7fee80e1-8c48-4c2f-8300-0f6dc40b****', - ], + 'items' => ['description' => 'The resource ID. You can specify up to 50 resource IDs.'."\n" + ."\n" + .'> When the value of ResourceType is stackgroup, specify the name of the stack group.', 'type' => 'string', 'required' => false, 'example' => '7fee80e1-8c48-4c2f-8300-0f6dc40b****', 'title' => ''], 'required' => true, 'example' => '7fee80e1-8c48-4c2f-8300-0f6dc40b****', 'maxItems' => 50, + 'title' => '', ], ], [ @@ -16250,33 +13707,27 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the resource. You can specify up to 20 tags.'."\n", + 'description' => 'The tags of the resources. You can specify up to 20 tags.', 'type' => 'array', 'items' => [ - 'description' => 'The tag of the resource.'."\n", + 'description' => 'The tag of the resource.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n" - ."\n" - .'The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'FinanceDept', - ], - 'Value' => [ - 'description' => 'The tag value of the resource. You can specify up to 20 tag values.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'FinanceJoshua', - ], + 'Key' => ['description' => 'The key of the tag to add to the resource. You can specify up to 20 tag keys.'."\n" + ."\n" + .'The length must not exceed 128 characters. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => true, 'example' => 'FinanceDept', 'title' => ''], + 'Value' => ['description' => 'The value of the tag to add to the resource. You can specify up to 20 tag values.'."\n" + ."\n" + .'The length must not exceed 128 characters. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => true, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => true, 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], ], @@ -16285,136 +13736,127 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\r\\n\\t\\t<RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\r\\n</TagResourcesResponse>\\r\\n","errorExample":""}]', 'title' => 'TagResources', - 'description' => 'This topic provides an example on how to create a tag and add the tag to a stack. In this example, the stack ID is `7fee80e1-8c48-4c2f-8300-0f6dc40b****`, the tag key is `FinanceDept`, and the tag value is `FinanceJoshua`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'description' => 'This topic provides an example of how to create and add a tag to a resource stack in China (Hangzhou) region. The resource stack ID is `7fee80e1-8c48-4c2f-8300-0f6dc40b****`, with the tag key of `FinanceDept` and the tag value of `FinanceJoshua`.', + 'requestParamsDescription' => 'For more information about common request parameters, refer to [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'ListTagResources' => [ - 'summary' => 'Queries the tags that are added to resources in a template or stack in an Alibaba Cloud region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | InvalidParameter | The specified parameter ResourceType is invalid, {reason}.|指定的资源类型参数错误,reason为具体原因。|'."\n" + .'| 400 | InvalidParameter | The specified parameter ResourceIds is invalid, {reason}.|资源ID不存在或校验异常,reason为具体原因。|'."\n" + .'| 400 | InvalidParameter | The specified parameter Tags is invalid, {reason}.|指定的Tags参数错误,reason为具体原因。|'."\n" + .'| 400 | Duplicate.TagKey | The Tag.N.Key contain duplicate key.|标签中存在重复的键,请保持键的唯一性。|'."\n" + .'| 400 | Forbidden.TagPolicy | The operation is failure, because the valid tag policy values of \'TagValue\' are [\'red\',\'green\',\'orange\',\'blue\',\'pink\',\'white\',\'black\',\'grey\'], but the value is \'xxx\'. | 标签键合规,但标签值不合规。导致资源创建失败。请输入标签策略中 TagValue 规定的标签值。 |'."\n" + .'| 400 | Forbidden.TagPolicy | The operation is failure, because the valid tag policy values of \'TagKey\' are [\'colorful\'], but the value is "colorful". | 标签键大小写不合规。导致资源创建失败。请输入与标签策略中 TagKey 大小写完全一致的标签键。 |'."\n" + .'| 400 | Forbidden.TagPolicy | The operation is failure, because the tag policy keys [\'color\'] are necessary. | 标签不合规,缺少标签键 color,导致资源创建失败。请输入标签策略中 color 规定的标签。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#TemplateScratchId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","type":"json"}]', + ], + 'UntagResources' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '12710', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], + 'abilityTreeCode' => '12721', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the tag. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the tag. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* stack: stack'."\n" - .'* stackgroup: stack group'."\n" - .'* template: template'."\n" - .'* templatescratch: scenario'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'stack', - ], + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- stack: stack'."\n" + ."\n" + .'- stackgroup: stack group'."\n" + ."\n" + .'- template: template'."\n" + ."\n" + .'- templatescratch: scenario', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stack', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'All', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0*****', - ], + 'schema' => ['description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect when TagKey is not specified in the request. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false (default)', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The IDs of the resources.'."\n", + 'description' => 'The IDs of the resource.'."\n" + ."\n" + .'> If you set ResourceType to stackgroup, you must set ResourceId to the name of the stack group.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the resource. You can specify up to 50 resource IDs.'."\n" - ."\n" - .'> If you set ResourceType to stackgroup, you must set ResourceId to the name of the stack group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '6bc589b5-9c02-4944-8fc3-f3624234****', - ], - 'required' => false, - 'example' => '6bc589b5-9c02-4944-8fc3-f3624234****', - 'maxItems' => 51, + 'items' => ['description' => 'The ID of the resource.'."\n" + ."\n" + .'> If you set ResourceType to stackgroup, you must set ResourceId to the name of the stack group.', 'type' => 'string', 'required' => false, 'example' => '46ec7b78-9d5e-4b21-aefd-448c90aa****', 'title' => ''], + 'required' => true, + 'example' => '46ec7b78-9d5e-4b21-aefd-448c90aa****', + 'maxItems' => 50, + 'title' => '', ], ], [ - 'name' => 'Tag', + 'name' => 'TagKey', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the resources. You can specify up to 20 tags.'."\n", + 'description' => 'The tag keys of the resource. You can specify up to 20 tag keys.', 'type' => 'array', - 'items' => [ - 'description' => 'The tag of the resource.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.\\'."\n" - .'The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceDept', - ], - 'Value' => [ - 'description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value can be an empty string.\\'."\n" - .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceJoshua', - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], 'required' => false, + 'example' => 'FinanceDept', 'maxItems' => 21, + 'title' => '', ], ], ], @@ -16423,239 +13865,332 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0*****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C429473A-5C66-4661-B5F8-4F900CD4330A', - ], - 'TagResources' => [ - 'description' => 'The information about the tags that are added to the resources.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the tag that is added to the resource.'."\n", - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'string', - 'example' => 'stack', - ], - 'TagValue' => [ - 'description' => 'The tag value of the resource.'."\n", - 'type' => 'string', - 'example' => 'TayValue1', - ], - 'ResourceId' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', - ], - 'TagKey' => [ - 'description' => 'The tag key of the resource.'."\n", - 'type' => 'string', - 'example' => 'TagKey1', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0 ', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0*****\\",\\n \\"RequestId\\": \\"C429473A-5C66-4661-B5F8-4F900CD4330A\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"stack\\",\\n \\"TagValue\\": \\"TayValue1\\",\\n \\"ResourceId\\": \\"c754d2a4-28f1-46df-b557-9586173a****\\",\\n \\"TagKey\\": \\"TagKey1\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListTagResources', - 'description' => '###'."\n" - ."\n" - .'* To specify the query object, specify ResourceId or Tag in the request. Tag consists of Key and Value.'."\n" - .'* If you specify Tag and ResourceId, ROS resources that match both the parameters are returned.'."\n" - ."\n" - .'This topic provides an example on how to query the tags that are added to a stack. In this example, the stack ID is `6bc589b5-9c02-4944-8fc3-f3624234****`. The stack is deployed in the China (Hangzhou) region.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", + 'title' => 'UntagResources', + 'summary' => 'Removes tags from resources and then deletes the tags.', + 'description' => 'This topic provides an example on how to remove all tags from a stack that is deployed in the China (Hangzhou) region. In this example, the stack ID is `46ec7b78-9d5e-4b21-aefd-448c90aa****`.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', 'responseParamsDescription' => ' ', - ], - 'ListTagKeys' => [ - 'summary' => 'Queries the tag keys that are added to resources in a template or stack in an Alibaba Cloud region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'extraInfo' => ' | HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | InvalidParameter |The specified parameter ResourceType is invalid, {reason}.|指定的资源类型参数错误,reason为具体原因。|'."\n" + .'| 400 | InvalidParameter |The specified parameter ResourceIds is invalid, {reason}.|资源ID不存在或校验异常,reason为具体原因。|'."\n" + .'| 400 | InvalidParameter |The specified parameter Tags is invalid, {reason}.|指定的Tags参数错误,reason为具体原因。|'."\n" + .'| 400 | Duplicate.TagKey |The Tag.N.Key contain duplicate key.|标签中存在重复的键,请保持键的唯一性。|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UnTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#TemplateScratchId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\\\t\\"\\n}","type":"json"}]', + ], + 'UpdateStack' => [ + 'summary' => 'Updates the resources in a stack.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - 'FEATURErosZVIFJW', - ], - 'tenantRelevance' => 'publicInformation', + 'chargeType' => 'paid', + 'abilityTreeCode' => '12722', + 'abilityTreeNodes' => ['FEATURErosZVIFJW'], ], 'parameters' => [ [ + 'name' => 'StackId', + 'in' => 'query', + 'schema' => ['description' => 'The stack ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'A client-generated token to ensure the idempotency of the request. The token must be globally unique.<br>'."\n" + .'The token can be up to 64 characters long and can contain letters, digits, hyphens (-), and underscores (\\_).<br>'."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).<br><br>', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'StackPolicyDuringUpdateBody', + 'in' => 'query', + 'schema' => ['description' => 'The temporary override for the stack policy body. The policy body can be 1 to 16,384 bytes long.<br>'."\n" + .'If you want to update protected resources, specify a temporary stack policy override during the update. If you do not specify a stack policy, the current policy that is associated with the stack is used.<br>'."\n" + .'This parameter takes effect only when the change set type is `UPDATE`. You can specify only one of the following parameters:<br><br>'."\n" + ."\n" + .'- `StackPolicyBody`'."\n" + ."\n" + .'- `StackPolicyURL`'."\n" + ."\n" + .'- `StackPolicyDuringUpdateBody`'."\n" + ."\n" + .'- `StackPolicyDuringUpdateURL`', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"Statement": [{"Effect": "Allow", "Action": "Update:*", "Principal": "*", "Resource": "*"}]}', 'title' => ''], + ], + [ + 'name' => 'TimeoutInMinutes', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for the stack update, in minutes.'."\n" + ."\n" + .'- Default value: 60.'."\n" + ."\n" + .'- Unit: minutes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The template body. The template body can be 1 to 524,288 bytes long. If the template body is large, we recommend that you use the POST request method and pass the parameter in the request body to prevent request failures due to an excessively long URL.'."\n" + ."\n" + .'> You can specify only one of the `TemplateBody`, `TemplateURL`, and `TemplateId` parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', 'title' => ''], + ], + [ + 'name' => 'StackPolicyURL', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the file that contains the stack policy. The URL must point to a policy that is located on a web server (HTTP or HTTPS) or in an Alibaba Cloud Object Storage Service (OSS) bucket, for example, `oss://ros/stack-policy/demo` or `oss://ros/stack-policy/demo?RegionId=cn-hangzhou`. The policy file can be up to 16,384 bytes long. If you do not specify the OSS region in the URL, the region specified by the RegionId parameter is used.'."\n" + ."\n" + .'> You can specify only one of the `StackPolicyBody` and `StackPolicyURL` parameters.'."\n" + ."\n" + .'The URL can be up to 1,350 bytes long.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-stack-policy/demo', 'title' => ''], + ], + [ + 'name' => 'StackPolicyDuringUpdateURL', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the file that contains the temporary stack policy override. The URL must point to a policy that is located on a web server (HTTP or HTTPS) or in an Alibaba Cloud OSS bucket, for example, `oss://ros/stack-policy/demo` or `oss://ros/stack-policy/demo?RegionId=cn-hangzhou`. The policy file can be up to 16,384 bytes long.'."\n" + ."\n" + .'> If you do not specify the OSS region in the URL, the region specified by the RegionId parameter is used.'."\n" + ."\n" + .'The URL can be up to 1,350 bytes long.'."\n" + ."\n" + .'If you want to update protected resources, you must specify a temporary stack policy override during the update. If you do not specify a stack policy, the current policy that is associated with the stack is used. This parameter takes effect only when the change set type is `UPDATE`. You can specify only one of the following parameters:'."\n" + ."\n" + .'- `StackPolicyBody`'."\n" + ."\n" + .'- `StackPolicyURL`'."\n" + ."\n" + .'- `StackPolicyDuringUpdateBody`'."\n" + ."\n" + .'- `StackPolicyDuringUpdateURL`', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-stack-policy/demo', 'title' => ''], + ], + [ + 'name' => 'StackPolicyBody', + 'in' => 'query', + 'schema' => ['description' => 'The stack policy body. The policy body can be 1 to 16,384 bytes long.'."\n" + ."\n" + .'> You can specify only one of the `StackPolicyBody` and `StackPolicyURL` parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"Statement": [{"Action": "Update:*", "Resource": "*", "Effect": "Allow", "Principal": "*"}]}', 'title' => ''], + ], + [ + 'name' => 'UsePreviousParameters', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to reuse the values of parameters that are not specified in the current request.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: The values of unspecified parameters are reused from the previous request.'."\n" + ."\n" + .'- false: The values of unspecified parameters are not reused from the previous request.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true', 'title' => ''], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the tag key. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the stack is located. You can call the [DescribeRegions](~~131035~~) operation to query the most recent list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'DisableRollback', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* stack: stack'."\n" - .'* stackgroup: stack group'."\n" - .'* template: template'."\n" - .'* templatescratch: scenario'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'stack', - ], + 'schema' => ['description' => '(This parameter is deprecated and has no effect.)', 'type' => 'boolean', 'deprecated' => true, 'required' => false, 'docRequired' => false, 'title' => '', 'example' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'TemplateURL', 'in' => 'query', + 'schema' => ['description' => 'The location of the file that contains the template body. The URL must point to a template (1 to 524,288 bytes) that is located on an HTTP or HTTPS web server or in an Alibaba Cloud OSS bucket. The URL of an OSS bucket is in a format such as oss\\://ros/template/demo or oss\\://ros/template/demo?RegionId=cn-hangzhou. If an OSS region is not specified, the region defaults to the one specified by the RegionId parameter.'."\n" + ."\n" + .'> You must specify exactly one of the TemplateBody, TemplateURL, or TemplateId parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], + ], + [ + 'name' => 'RamRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the RAM role. ROS assumes this role to create the stack and uses the credentials of the role to make API calls on your behalf.<br>'."\n" + .'ROS always uses this role for operations on the stack. If you have permissions to perform operations on the stack, ROS uses this role even if you do not have permissions to use the role. This ensures that the role is granted the minimum required permissions. For more information about how to use RAM roles, see [Use stack roles](~~2568025~~).<br>'."\n" + .'If you do not specify this value, ROS uses the role that was previously associated with the stack. If no role is available, ROS uses temporary credentials that are generated from your user credentials.<br>'."\n" + .'The maximum length of the RAM role name is 64 bytes.<br><br><br>', 'type' => 'string', 'required' => false, 'example' => 'test-role', 'title' => ''], + ], + [ + 'name' => 'ReplacementOption', + 'in' => 'query', + 'schema' => ['description' => 'Whether to use a replacement update. When the properties of a resource do not support modification updates, you can use a replacement update to change the resource properties. A replacement update deletes the resource and then recreates it. The physical ID of the new resource will change.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- Enabled: Allows replacement updates.'."\n" + ."\n" + .'- Disabled (default): Does not allow replacement updates.'."\n" + ."\n" + .'> Modification updates have a higher priority than replacement updates.', 'type' => 'string', 'required' => false, 'example' => 'Disabled', 'title' => ''], + ], + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the template. This parameter applies to shared and private templates.'."\n" + ."\n" + .'> You can specify only one of the `TemplateBody`, `TemplateURL`, and `TemplateId` parameters.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], + ], + [ + 'name' => 'TemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the template. This parameter takes effect only when you specify `TemplateId`.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], + ], + [ + 'name' => 'Parameters', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', + 'description' => 'The parameters of the template.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The name of the parameter. If you do not specify the name and value of a parameter, ROS uses the default value that is specified in the template.<br>'."\n" + .'You can specify a maximum of 200 parameters.<br>'."\n" + ."\n" + .'> `Parameters` is an optional parameter. If you specify `Parameters`, you must also specify `Parameters.N.ParameterKey` and `Parameters.N.ParameterValue`.', 'type' => 'string', 'required' => true, 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter. You can specify a maximum of 200 parameters.'."\n" + ."\n" + .'> `Parameters` is an optional parameter. If you specify `Parameters`, you must also specify `Parameters.N.ParameterKey` and `Parameters.N.ParameterValue`.', 'type' => 'string', 'required' => true, 'example' => '12', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0*****', + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'Tags', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'NextToken' => [ - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0*****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C429473A-5C66-4661-B5F8-4F900CD4330A', - ], - 'Keys' => [ - 'description' => 'The tag keys.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag key. Multiple tag keys are separated by commas (,).'."\n", - 'type' => 'string', - 'example' => '["TagKey1","TagKey2"]', - ], + 'description' => 'The tags of the stack.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the stack.<br>'."\n" + .'You can specify up to 20 tags.<br>'."\n" + ."\n" + .'> `Tags` is an optional parameter. If you specify `Tags`, you must specify `Tags.N.Key`. These tags are propagated to all taggable resources in the stack. For more information, see [Tag propagation](~~201421~~).', 'type' => 'string', 'required' => true, 'example' => 'usage', 'title' => ''], + 'Value' => ['description' => 'The tag value of the stack.<br>'."\n" + .'You can specify up to 20 tags.<br>'."\n" + ."\n" + .'> These tags are propagated to all taggable resources in the stack. For more information, see [Tag propagation](~~201421~~).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], - 'description' => '', + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0*****\\",\\n \\"RequestId\\": \\"C429473A-5C66-4661-B5F8-4F900CD4330A\\",\\n \\"Keys\\": [\\n \\"[\\\\\\"TagKey1\\\\\\",\\\\\\"TagKey2\\\\\\"]\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTagKeysResponse>\\n\\t\\t<Keys>TagKey1</Keys>\\n\\t\\t<Keys>TagKey2</Keys>\\n\\t\\t<NextToken>caeba0bbb2be03f84eb48b699f0*****</NextToken>\\n\\t\\t<RequestId>FAD755D7-F21E-449A-932D-2C59DAF86B14</RequestId>\\n</ListTagKeysResponse>\\n","errorExample":""}]', - 'title' => 'ListTagKeys', - 'description' => 'In this example, the tag keys that are added to a stack in the China (Hangzhou) region are queried.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListTagValues' => [ - 'summary' => 'Queries the tag values that are added to resources in a template or stack in an Alibaba Cloud region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - 'FEATURErosZVIFJW', + 'name' => 'Parallelism', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of concurrent operations that can be performed on resources.'."\n" + ."\n" + .'By default, this parameter is empty. You can specify an integer that is greater than or equal to 0.'."\n" + ."\n" + .'> - If you set this parameter to a value greater than 0, the value is used.'."\n" + .'>'."\n" + .'> - If you set this parameter to 0, no limit is imposed on the number of concurrent operations for ROS-type stacks. For Terraform-type stacks, the default value (typically 10) is used.'."\n" + .'>'."\n" + .'> - If you do not specify this parameter, the value from the last operation is used. If this parameter was not specified in the last operation, no limit is imposed for ROS-type stacks, and the default value (typically 10) is used for Terraform-type stacks.'."\n" + .'>'."\n" + .'> - If you specify this parameter, the specified value is associated with the stack and affects subsequent operations on the stack.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the tag value. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'DryRun', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* stack: stack'."\n" - .'* stackgroup: stack group'."\n" - .'* template: template'."\n" - .'* templatescratch: scenario'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'stack', - ], + 'schema' => ['description' => 'Specifies whether to perform only a dry run for the request. Valid values:'."\n" + ."\n" + .'- true: performs a dry run to check the request. The operation is not performed.'."\n" + ."\n" + .'- false (default): performs the operation.'."\n" + ."\n" + .'> If you update a stack without making any changes, the operation fails with a NotSupported error if DryRun is false. If DryRun is true, no error is reported.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'DryRunOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', + 'description' => 'The dry run options. The list can contain a maximum of one item.'."\n" + ."\n" + .'> This parameter takes effect only when `DryRun` is set to `true`.', + 'type' => 'array', + 'items' => ['description' => 'The dry run option. Valid values:'."\n" + ."\n" + .'- ParameterAnalysis.ConsiderCondition: We recommend that you use this option if you need to perform parameter analysis. Otherwise, when conditions are calculated, the parameter values that are used are the parameter values before the stack update.'."\n" + ."\n" + .'> This option is available only for ROS-type stacks.'."\n" + ."\n" + .'- ParameterAnalysis.Disabled: disables parameter analysis. If you specify this option, the `Parameters` fields are not returned in the `DryRunResult` response.', 'type' => 'string', 'required' => false, 'example' => 'ParameterAnalysis.ConsiderCondition', 'title' => ''], 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0*****', + 'maxItems' => 1, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Key', + 'name' => 'TaintResources', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'TagKey1', + 'type' => 'array', + 'items' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'my_vpc', 'title' => ''], + 'maxItems' => 100, + 'description' => '', + 'required' => false, + 'title' => '', + 'example' => '', ], ], ], @@ -16664,47 +14199,173 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0*****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C429473A-5C66-4661-B5F8-4F900CD4330A', - ], - 'Values' => [ - 'description' => 'The tag values.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'TagValue1', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'StackId' => ['description' => 'The stack ID.', 'type' => 'string', 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + 'DryRunResult' => [ + 'description' => 'The dry run result. This parameter is returned only when `DryRun` is set to `true`.', + 'type' => 'object', + 'properties' => [ + 'ParametersAllowedToBeModified' => [ + 'description' => 'The parameters that can be modified.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that can be modified. If you update a stack without changing the template, modifying only the value of this parameter does not cause a validation error.', 'type' => 'string', 'example' => 'param1', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersConditionallyAllowedToBeModified' => [ + 'description' => 'The parameters that can be modified under specific conditions.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that can be modified under specific conditions. If you update a stack without changing the template, whether modifying only this parameter\'s value causes a validation error depends on its new value.', 'type' => 'string', 'example' => 'param2', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersUncertainlyAllowedToBeModified' => [ + 'description' => 'The parameters for which it is uncertain whether they can be modified.', + 'type' => 'array', + 'items' => ['description' => 'A parameter for which it is uncertain whether it can be modified. If you update a stack without changing the template, whether modifying only this parameter\'s value causes a validation error is determined at runtime.', 'type' => 'string', 'example' => 'param3', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersNotAllowedToBeModified' => [ + 'description' => 'The parameters that cannot be modified.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that cannot be modified. If you update a stack without changing the template, modifying only this parameter\'s value always causes a validation error.', 'type' => 'string', 'example' => 'param4', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersCauseInterruptionIfModified' => [ + 'description' => 'A list of parameters that always cause a resource interruption if modified.'."\n" + ."\n" + .'> - This feature is supported for only a limited number of resource types.'."\n" + .'>'."\n" + .'> - This applies only to ROS stack updates.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that always causes a resource interruption if modified. If you update a stack without changing the template, modifying only this parameter\'s value always causes a resource interruption.', 'type' => 'string', 'example' => 'param1', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersConditionallyCauseInterruptionIfModified' => [ + 'description' => 'A list of parameters that may cause a resource interruption if modified.'."\n" + ."\n" + .'> - This feature is supported for only a limited number of resource types.'."\n" + .'>'."\n" + .'> - This applies only to ROS stack updates.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that may cause a resource interruption if modified. If you update a stack without changing the template, whether modifying only this parameter\'s value causes a resource interruption depends on its new value and the resource\'s update behavior.', 'type' => 'string', 'example' => 'param2', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersUncertainlyCauseInterruptionIfModified' => [ + 'description' => 'A list of parameters for which it is uncertain whether a modification will cause a resource interruption.'."\n" + ."\n" + .'> - This feature is supported for only a limited number of resource types.'."\n" + .'>'."\n" + .'> - This applies only to ROS stack updates.', + 'type' => 'array', + 'items' => ['description' => 'A parameter for which it is uncertain whether a modification will cause a resource interruption. If you update a stack without changing the template, whether modifying only this parameter\'s value causes a resource interruption is determined at runtime.', 'type' => 'string', 'example' => 'param3', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersCauseReplacementIfModified' => [ + 'description' => 'A list of parameters that always cause a resource replacement if modified.'."\n" + ."\n" + .'> - This parameter is returned only when `ReplacementOption` is set to `Enabled`.'."\n" + .'>'."\n" + .'> - This applies only to ROS stack updates.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that always causes a resource replacement if modified. If you update a stack without changing the template, modifying only this parameter\'s value always causes a resource replacement.', 'type' => 'string', 'example' => 'param5', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersConditionallyCauseReplacementIfModified' => [ + 'description' => 'A list of parameters that may cause a resource replacement if modified.'."\n" + ."\n" + .'> - This parameter is returned only when `ReplacementOption` is set to `Enabled`.'."\n" + .'>'."\n" + .'> - This applies only to ROS stack updates.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that may cause a resource replacement if modified. If you update a stack without changing the template, whether modifying only this parameter\'s value causes a resource replacement depends on its new value.', 'type' => 'string', 'example' => 'param6', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersUncertainlyCauseReplacementIfModified' => [ + 'description' => 'A list of parameters for which it is uncertain whether a modification will cause a resource replacement.'."\n" + ."\n" + .'> - This parameter is returned only when `ReplacementOption` is set to `Enabled`.'."\n" + .'>'."\n" + .'> - This applies only to ROS stack updates.', + 'type' => 'array', + 'items' => ['description' => 'A parameter for which it is uncertain whether a modification will cause a resource replacement. If you update a stack without changing the template, whether modifying only this parameter\'s value causes a resource replacement is determined at runtime.', 'type' => 'string', 'example' => 'param7', 'title' => ''], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0*****\\",\\n \\"RequestId\\": \\"C429473A-5C66-4661-B5F8-4F900CD4330A\\",\\n \\"Values\\": [\\n \\"TagValue1\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTagValuesResponse>\\n\\t\\t<NextToken></NextToken>\\n\\t\\t<RequestId>BD1EB89F-F2CD-4663-B602-26868A49EAFD</RequestId>\\n\\t\\t<Values>TagValue1</Values>\\n</ListTagValuesResponse>","errorExample":""}]', - 'title' => 'ListTagValues', - 'description' => 'In this example, the tag values of `TagKey1` that is added to a stack in the China (Hangzhou) region are queried.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UntagResources' => [ - 'summary' => 'Removes tags from resources and then deletes the tags.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'UpdateStack', + 'description' => 'The `Parameters` and `UsePreviousParameters` request parameters are related. If a parameter defined in the template is not specified in `Parameters`:'."\n" + ."\n" + .'- If `UsePreviousParameters` is set to `false`, the parameter uses its default value from the template. If the parameter does not have a default value, you must specify it in `Parameters`.'."\n" + ."\n" + .'- If `UsePreviousParameters` is set to `true`, the parameter retains its value from the previous stack creation. If no value was specified at that time and the template provides a default, that default value is used.'."\n" + ."\n" + .'This example shows how to update the template for a stack with the ID `4a6c9851-3b0f-4f5f-b4ca-a14bf691****` in the China (Beijing) region to `{"ROSTemplateFormatVersion": "2015-09-01"}`.', + 'requestParamsDescription' => 'For details on common request parameters, see [Common parameters](~~131957~~).', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | CircularDependency | Circular Dependency Found: {reason}. |模板包含循环引用。reason为具体原因。 |'."\n" + .'| 400 | InvalidSchema | {reason}. | 模板格式不正确。reason为具体原因。 |'."\n" + .'| 400 | InvalidTemplateAttribute | The Referenced Attribute ({resource} {name}) is incorrect. |模板包含不正确的资源属性(输出)引用。resource为资源名,name为属性名。 |'."\n" + .'| 400 | InvalidTemplatePropertyType | The specified value type of ({resource} {section}) is incorrect. |模板字段定义的资源类型不正确。resource为资源名,section为字段名。 |'."\n" + .'| 400 | InvalidTemplateReference | The specified reference "{name}" (in {referencer}) is incorrect. |模板包含不正确的引用。name为引用名,referencer为引用者。 |'."\n" + .'| 400 | InvalidTemplateSection | The template section is invalid: {section}. |模板包含无效的字段。section为字段名。 |'."\n" + .'| 400 | InvalidTemplateVersion | The template version is invalid: {reason}. |模板版本不正确。reason为具体原因。 |'."\n" + .'| 400 | StackPolicyValidationFailed | Action denied by stack policy: {reason}. |未通过资源栈策略校验。reason为具体原因。 |'."\n" + .'| 400 | StackValidationFailed | {reason}. |资源栈校验失败。reason为具体原因。 |'."\n" + .'| 400 | UnknownUserParameter | The Parameter ({name}) was not defined in template. |传递的参数在模板中未定义。name为参数名。 |'."\n" + .'| 400 | UserParameterMissing | The Parameter {name} was not provided. |参数在模板中已定义,但未传递值。name为参数名。 |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。 |'."\n" + .'| 409 | ActionInProgress | Stack {name} already has an action ({action}) in progress. |资源栈在变更中。name为资源栈名称或ID,action为具体的变更操作。 |'."\n" + .'| 404 | TemplateNotFound |The Tempalte ({ ID }) could not be found. |模板不存在。ID为模板ID。 |'."\n" + .'| 404 | TemplateNotFound |The Template { ID } with version { version } could not be found. |模板或指定版本不存在。ID为模板ID,version为模板版本。 |'."\n" + .'| 400 | Forbidden.TagPolicy | The operation is failure, because the valid tag policy values of \'TagValue\' are [\'red\',\'green\',\'orange\',\'blue\',\'pink\',\'white\',\'black\',\'grey\'], but the value is \'xxx\'. | 标签键合规,但标签值不合规。导致资源创建失败。请输入标签策略中 TagValue 规定的标签值。 |'."\n" + .'| 400 | Forbidden.TagPolicy | The operation is failure, because the valid tag policy values of \'TagKey\' are [\'colorful\'], but the value is "colorful". | 标签键大小写不合规。导致资源创建失败。请输入与标签策略中 TagKey 大小写完全一致的标签键。 |'."\n" + .'| 400 | Forbidden.TagPolicy | The operation is failure, because the tag policy keys [\'color\'] are necessary. | 标签不合规,缺少标签键 color,导致资源创建失败。请输入标签策略中 color 规定的标签。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateStack'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"StackId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\",\\n \\"DryRunResult\\": {\\n \\"ParametersAllowedToBeModified\\": [\\n \\"param1\\"\\n ],\\n \\"ParametersConditionallyAllowedToBeModified\\": [\\n \\"param2\\"\\n ],\\n \\"ParametersUncertainlyAllowedToBeModified\\": [\\n \\"param3\\"\\n ],\\n \\"ParametersNotAllowedToBeModified\\": [\\n \\"param4\\"\\n ],\\n \\"ParametersCauseInterruptionIfModified\\": [\\n \\"param1\\"\\n ],\\n \\"ParametersConditionallyCauseInterruptionIfModified\\": [\\n \\"param2\\"\\n ],\\n \\"ParametersUncertainlyCauseInterruptionIfModified\\": [\\n \\"param3\\"\\n ],\\n \\"ParametersCauseReplacementIfModified\\": [\\n \\"param5\\"\\n ],\\n \\"ParametersConditionallyCauseReplacementIfModified\\": [\\n \\"param6\\"\\n ],\\n \\"ParametersUncertainlyCauseReplacementIfModified\\": [\\n \\"param7\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'UpdateStackGroup' => [ + 'summary' => 'Updates an existing stack group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16715,192 +14376,316 @@ 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '12721', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '12723', + 'abilityTreeNodes' => ['FEATUREros4U80G2'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the tag. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the stack group is located. You can call the [DescribeRegions](~~131035~~) operation to query the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'StackGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* stack: stack'."\n" - .'* stackgroup: stack group'."\n" - .'* template: template'."\n" - .'* templatescratch: scenario'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'stack', - ], + 'schema' => ['description' => 'The name of the stack group. The name must be unique within a region.<br>The name can be up to 255 characters in length and must start with a digit or a letter. The name can contain digits, letters, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], ], [ - 'name' => 'All', + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the stack group.'."\n" + ."\n" + .'The description must be 1 to 256 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'My Stack Group', 'title' => ''], + ], + [ + 'name' => 'AccountIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether to remove all tags from the resource. This parameter takes effect when TagKey is not specified in the request. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false (default)'."\n", - 'type' => 'boolean', + 'description' => 'The IDs of the destination accounts in which to deploy stacks in self-managed permission mode. You can specify a maximum of 50 destination account IDs.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the destination accounts in which to deploy stacks in self-managed permission mode. You can specify a maximum of 50 destination account IDs.', 'type' => 'string', 'required' => false, 'example' => '["151266687691****","141261387191****"]', 'title' => ''], 'required' => false, - 'example' => 'true', + 'example' => '["12****"]', + 'title' => '', ], ], [ - 'name' => 'ResourceId', + 'name' => 'RegionIds', 'in' => 'query', - 'style' => 'repeatList', + 'style' => 'json', 'schema' => [ - 'description' => 'The IDs of the resource.'."\n" - ."\n" - .'> If you set ResourceType to stackgroup, you must set ResourceId to the name of the stack group.'."\n", + 'description' => 'The IDs of the regions where you want to deploy the stacks. You can specify a maximum of 20 region IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the resource.'."\n" - ."\n" - .'> If you set ResourceType to stackgroup, you must set ResourceId to the name of the stack group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '46ec7b78-9d5e-4b21-aefd-448c90aa****', - ], - 'required' => true, - 'example' => '46ec7b78-9d5e-4b21-aefd-448c90aa****', - 'maxItems' => 50, + 'items' => ['description' => 'The IDs of the regions where you want to deploy the stacks. You can specify a maximum of 20 region IDs.', 'type' => 'string', 'required' => false, 'example' => '["cn-hangzhou","cn-beijing"]', 'title' => ''], + 'required' => false, + 'example' => '["cn-hangzhou", "cn-beijing"]', + 'title' => '', ], ], [ - 'name' => 'TagKey', + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body is large, pass the parameter in the request body using the HTTP POST and Body Param method to prevent request failures caused by an excessively long URL.'."\n" + ."\n" + .'> You can specify only one of the \\`TemplateBody\\`, \\`TemplateURL\\`, and \\`TemplateId\\` parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', 'title' => ''], + ], + [ + 'name' => 'TemplateURL', + 'in' => 'query', + 'schema' => ['description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Alibaba Cloud Object Storage Service (OSS) bucket. The template body must be 1 to 524,288 bytes in length. For example, the URL of an OSS bucket can be oss\\://ros/template/demo or oss\\://ros/template/demo?RegionId=cn-hangzhou. If you do not specify the region of the OSS bucket, the value of the \\`RegionId\\` parameter is used.'."\n" + ."\n" + .'> You can specify only one of the \\`TemplateBody\\`, \\`TemplateURL\\`, and \\`TemplateId\\` parameters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros-template/demo', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.<br>The token can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).<br>For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'OperationDescription', + 'in' => 'query', + 'schema' => ['description' => 'The description of the operation to update the stack group.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Update stack instances in hangzhou', 'title' => ''], + ], + [ + 'name' => 'OperationPreferences', + 'in' => 'query', + 'style' => 'json', + 'schema' => ['description' => 'The preferences for the stack group operation.'."\n" + ."\n" + .'The following parameters are included:'."\n" + ."\n" + .'- FailureToleranceCount'."\n" + ."\n" + .' The number of accounts in each region where stack operation failures are allowed. If the number of failed operations in a region exceeds this value, Resource Orchestration Service (ROS) stops the operations in that region. If the operation is stopped in one region, the operation is not initiated in other regions.'."\n" + ."\n" + .' The value must be an integer from 0 to 20.'."\n" + ."\n" + .' If you do not specify this parameter, 0 is used as the default value.'."\n" + ."\n" + .'- FailureTolerancePercentage'."\n" + ."\n" + .' The percentage of accounts in each region where stack operation failures are allowed. If the percentage of failed operations in a region exceeds this value, ROS stops the operations in that region.'."\n" + ."\n" + .' The value must be an integer from 0 to 100. If the percentage is not an integer, ROS rounds down the percentage to the nearest integer.'."\n" + ."\n" + .' If you do not specify this parameter, 0 is used as the default value.'."\n" + ."\n" + .'- MaxConcurrentCount'."\n" + ."\n" + .' The maximum number of accounts in each region where stacks are deployed at the same time.'."\n" + ."\n" + .' The value must be an integer from 1 to 20.'."\n" + ."\n" + .' If you do not specify this parameter, 1 is used as the default value.'."\n" + ."\n" + .'- MaxConcurrentPercentage'."\n" + ."\n" + .' The maximum percentage of accounts in each region where stacks are deployed at the same time.'."\n" + ."\n" + .' The value must be an integer from 1 to 100. If the percentage is not an integer, ROS rounds down the percentage to the nearest integer.'."\n" + ."\n" + .' If you do not specify this parameter, 1 is used as the default value.'."\n" + ."\n" + .'- RegionConcurrencyType'."\n" + .' The concurrency type of deployment regions. Valid values:'."\n" + ."\n" + .' - SEQUENTIAL (default): Deploys stacks in the specified regions sequentially. At any given time, stacks are deployed in only one region.'."\n" + ."\n" + .' - PARALLEL: Deploys stacks in all the specified regions in parallel.'."\n" + ."\n" + .'Separate multiple parameters with commas (,).'."\n" + ."\n" + .'> - You can specify only one of \\`MaxConcurrentCount\\` and \\`MaxConcurrentPercentage\\`.'."\n" + .'>'."\n" + .'> - You can specify only one of \\`FailureToleranceCount\\` and \\`FailureTolerancePercentage\\`.', 'type' => 'object', 'required' => false, 'docRequired' => false, 'example' => '{"FailureToleranceCount": 1,"MaxConcurrentCount": 2}', 'title' => ''], + ], + [ + 'name' => 'AdministrationRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the RAM administrator role that is assumed by ROS. This parameter is required when you create a stack group that has self-managed permissions. If you do not specify a value, \\`AliyunROSStackGroupAdministrationRole\\` is used as the default value. ROS assumes this role to perform operations on the stacks in the stack group. ROS uses the credentials of this role to assume the execution role (\\`AliyunROSStackGroupExecutionRole\\`).'."\n" + ."\n" + .'The name must be 1 to 64 characters in length and can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'AliyunROSStackGroupAdministrationRole', 'title' => ''], + ], + [ + 'name' => 'ExecutionRoleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the RAM execution role that is assumed by the administrator role (\\`AliyunROSStackGroupAdministrationRole\\`). This parameter is required when you create a stack group that has self-managed permissions. If you do not specify a value, \\`AliyunROSStackGroupExecutionRole\\` is used as the default value. ROS assumes this role to perform operations on the stacks in the stack group.'."\n" + ."\n" + .'The name must be 1 to 64 characters in length and can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'AliyunROSStackGroupExecutionRole', 'title' => ''], + ], + [ + 'name' => 'TemplateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the template. This parameter applies to shared templates and private templates.'."\n" + ."\n" + .'> You can specify only one of the \\`TemplateBody\\`, \\`TemplateURL\\`, and \\`TemplateId\\` parameters.', 'type' => 'string', 'required' => false, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], + ], + [ + 'name' => 'TemplateVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the template. If you do not specify this parameter, the latest version is used.'."\n" + ."\n" + .'> \\`TemplateVersion\\` takes effect only when \\`TemplateId\\` is specified.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], + ], + [ + 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tag keys of the resource. You can specify up to 20 tag keys.'."\n", + 'description' => 'The parameters of the stack group.', 'type' => 'array', 'items' => [ - 'description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n", - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The key of the parameter. If you do not specify the key and value of a parameter, ROS uses the default name and value that are specified in the template.'."\n" + ."\n" + .'You can specify a maximum of 200 parameters.'."\n" + ."\n" + .'> The \\`Parameters\\` parameter is optional. If you specify \\`Parameters\\`, you must specify \\`Parameters.N.ParameterKey\\`.', 'type' => 'string', 'required' => true, 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter.'."\n" + ."\n" + .'You can specify a maximum of 200 parameters.'."\n" + ."\n" + .'> The \\`Parameters\\` parameter is optional. If you specify \\`Parameters\\`, you must specify \\`Parameters.N.ParameterValue\\`.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], + ], 'required' => false, - 'example' => 'FinanceDept', + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, - 'example' => 'FinanceDept', - 'maxItems' => 21, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0 ', - ], - ], + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\r\\n\\t\\t<RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\r\\n</UntagResourcesResponse>\\r\\n","errorExample":""}]', - 'title' => 'UntagResources', - 'description' => 'This topic provides an example on how to remove all tags from a stack that is deployed in the China (Hangzhou) region. In this example, the stack ID is `46ec7b78-9d5e-4b21-aefd-448c90aa****`.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'responseParamsDescription' => ' ', - ], - 'CreateDiagnostic' => [ - 'summary' => 'Creates a dignosis task.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '125576', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', + 'name' => 'PermissionModel', + 'in' => 'query', + 'schema' => ['description' => 'The permission model.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- SELF\\_MANAGED (default): Self-managed permissions. If you use this permission model, you must create RAM roles in the administrator and member accounts so that the accounts can be associated with each other. Then, you can deploy stacks in the member accounts.'."\n" + ."\n" + .'- SERVICE\\_MANAGED: Service-managed permissions. If you use this permission model, ROS creates service-linked roles for the administrator and member accounts. The administrator account uses the service-linked roles to deploy stacks in the member accounts.'."\n" + ."\n" + .'> * If stack instances exist in the stack group, you cannot change the permission model.'."\n" + .'>'."\n" + .'> * If you use the service-managed permission model to deploy stacks, the current account must be the management account or a delegated administrator account of your resource directory, and trusted access must be enabled for the account. For more information, see [Set a delegated administrator account](~~308253~~) and [Enable trusted access](~~298229~~).', 'type' => 'string', 'required' => false, 'example' => 'SELF_MANAGED', 'title' => ''], ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'DiagnosticKey', + 'name' => 'AutoDeployment', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The keyword in the diagnosis.'."\n" + 'description' => 'The automatic deployment settings.'."\n" ."\n" - .'You can specify the ID of the stack that you want to diagnose.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '37A5679B-8488-5A5D-8D5C-90E66A577A5D', + .'> This parameter is required only when \\`PermissionModel\\` is set to \\`SERVICE\\_MANAGED\\`.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => ['description' => 'Specifies whether to enable automatic deployment.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Enables automatic deployment. If you enable automatic deployment, ROS automatically deploys stacks to the new member accounts that are added to the folder. If a member account is removed from the folder, ROS automatically deletes the stacks from the account.'."\n" + ."\n" + .'- false: Disables automatic deployment. If you disable automatic deployment, the stacks remain unchanged when the member accounts in the folder change.', 'type' => 'boolean', 'docRequired' => true, 'required' => true, 'example' => 'true', 'title' => ''], + 'RetainStacksOnAccountRemoval' => ['description' => 'Specifies whether to retain the stacks in the member accounts that are removed from the folder.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- true: Retains the stacks.'."\n" + ."\n" + .'- false: Deletes the stacks.'."\n" + ."\n" + .'> This parameter is required only when \\`Enabled\\` is set to true.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + 'required' => false, + 'example' => '{"Enabled": true, "RetainStacksOnAccountRemoval": true}', + 'title' => '', ], ], [ - 'name' => 'Product', + 'name' => 'DeploymentTargets', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The name of the product that is diagonosed.'."\n", - 'type' => 'string', + 'description' => 'The deployment targets to which you want to deploy stacks in service-managed permission mode.', + 'type' => 'object', + 'properties' => [ + 'RdFolderIds' => [ + 'description' => 'The IDs of the folders in the resource directory.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the folders in the resource directory. You can specify a maximum of 20 folder IDs.'."\n" + ."\n" + .'You must specify at least one of the \\`RdFolderIds\\` and \\`AccountIds\\` parameters. The following section describes the parameters:'."\n" + ."\n" + .'- If you specify \\`RdFolderIds\\` but not \\`AccountIds\\`, stacks are deployed in all the member accounts in the specified folders. If you select the Root folder, stacks are deployed in all the member accounts in the resource directory.'."\n" + ."\n" + .'- If you specify \\`AccountIds\\` but not \\`RdFolderIds\\`, stacks are deployed in the specified member accounts.'."\n" + ."\n" + .'- If you specify both \\`RdFolderIds\\` and \\`AccountIds\\`, stacks are deployed in the specified member accounts that are in the specified folders.'."\n" + ."\n" + .'> You can view the folder IDs on the **Overview** page of the **Resource Management** console. For more information, see [View the basic information of a folder](~~111223~~).', 'type' => 'string', 'required' => false, 'example' => '["fd-4PvlVLOL8v"]', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'AccountIds' => [ + 'description' => 'The IDs of the member accounts in the resource directory. You can specify a maximum of 30 member account IDs.'."\n" + ."\n" + .'> You can view the member account IDs on the **Overview** page of the **Resource Management** console. For more information, see [View the details of a member](~~111624~~).', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the member accounts in the resource directory. You can specify a maximum of 30 member account IDs.'."\n" + ."\n" + .'> You can view the member account IDs on the **Overview** page of the **Resource Management** console. For more information, see [View the details of a member](~~111624~~).', 'type' => 'string', 'required' => false, 'example' => '["151266687691****","141261387191****"]', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => 'ros', + 'example' => '{"RdFolderIds": ["fd-4PvlVLOL8v"]}', + 'title' => '', ], ], [ - 'name' => 'DiagnosticType', + 'name' => 'Capabilities', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The type of the item that is diagnosed. Set the value to Stack, which specifies that the stack is diagnosed.'."\n", - 'type' => 'string', + 'description' => 'The options for the stack group. You can specify up to one option.', + 'type' => 'array', + 'items' => ['description' => 'The option for the stack group. Valid value: \\`ExpandModules\\`. This option expands the modules in the current account.'."\n" + ."\n" + .'> - This parameter takes effect only if the template contains modules.'."\n" + .'>'."\n" + .'> - By default, the modules are not expanded in the current account. The modules must exist in all the deployment destination accounts. If you expand the modules in the current account, the modules must exist in the current account.', 'type' => 'string', 'required' => false, 'example' => 'ExpandModules', 'title' => ''], 'required' => false, - 'example' => 'Stack', + 'maxItems' => 1, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Lang', + 'name' => 'DeploymentOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The language of the diagnostic report to be generated. Only Chinese and English are supported.'."\n" + 'type' => 'array', + 'items' => ['description' => 'Valid values:'."\n" ."\n" - .'Valid values:'."\n" + .'- Deploy: Updates the existing instances in the accounts of the specified resource directory.'."\n" ."\n" - .'* zh-cn'."\n" - .'* en'."\n", - 'type' => 'string', + .'- Configure: Modifies the deployment destination resource directory but does not update the existing instances.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + 'maxItems' => 1, + 'description' => 'The deployment options for a stack group with service-managed permissions. You can specify up to one deployment option.', 'required' => false, - 'example' => 'zh-cn', - 'default' => 'zh-cn', - 'enum' => [ - 'zh-cn', - 'en', - ], + 'title' => '', + 'example' => '', ], ], ], @@ -16909,276 +14694,269 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The error code returned.'."\n", - 'type' => 'string', - 'example' => 'Forbidden', - ], - 'DiagnosticType' => [ - 'description' => 'The type of the item that is diagnosed.'."\n", - 'type' => 'string', - 'example' => 'Stack', - ], - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The error message returned.'."\n", - 'type' => 'string', - 'example' => 'You are not authorized to complete this action.', - ], - 'ReportId' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', - 'example' => 'dr-e94e39a1274d44b6****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '943B24D7-1A67-55A4-B045-818F90693D3A', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'OperationId' => ['description' => 'The ID of the operation.', 'type' => 'string', 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'asynchronous', - 'callback' => 'ROS::2019-09-10::GetDiagnostic', - 'callbackInterval' => 2000, - 'maxCallbackTimes' => 10, + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', + 'title' => 'Update Stack Group', + 'description' => 'This topic provides an example of how to update the template of the stack group `MyStackGroup` to `{"ROSTemplateFormatVersion": "2015-09-01"}`. The stack group is in the China (Hangzhou) region and uses self-managed permissions.', + 'requestParamsDescription' => 'For more information about common parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => 'The IDs of the accounts where you want to deploy stacks using self-managed permissions. You can specify up to 20 account IDs.', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| CircularDependency | Circular Dependency Found: {reason}.| 400 |模板包含循环引用。reason为具体原因。 |'."\n" + .'| InvalidSchema | {reason}. | 400 | 模板格式不正确。reason为具体原因。 |'."\n" + .'| InvalidTemplateAttribute | The Referenced Attribute ({resource} {name}) is incorrect. | 400 |模板包含不正确的资源属性(输出)引用。resource为资源名,name为属性名。 |'."\n" + .'| InvalidTemplatePropertyType | The specified value type of ({resource} {section}) is incorrect. | 400 |模板资源定义的字段类型不正确。resource为资源名,section为字段名。 |'."\n" + .'| InvalidTemplateReference | The specified reference "{name}" (in {referencer}) is incorrect. | 400 |模板包含不正确的引用。name为引用名,referencer为引用者。 |'."\n" + .'| InvalidTemplateSection | The template section is invalid: {section}. | 400 |模板包含无效的字段。section为字段名。 |'."\n" + .'| InvalidTemplateVersion | The template version is invalid: {reason}.| 400 |模板版本不正确。reason为具体原因。 |'."\n" + .'| UnknownUserParameter | The Parameter ({name}) was not defined in template. | 400 |传递的参数在模板中未定义。name为参数名。 |'."\n" + .'| UserParameterMissing | The Parameter {name} was not provided. | 400 |参数在模板中已定义,但未传递值。name为参数名。 |'."\n" + .'| StackGroupOperationInProgress | Another Operation on StackGroup ({name})s is in progress. | 409 | 资源栈组存在进行中的操作。name为资源栈组名称。 |'."\n" + .'| TemplateNotFound |The Tempalte ({ ID }) could not be found. | 404 |模板不存在。ID为模板ID。 |'."\n" + .'| TemplateNotFound |The Template { ID } with version { version } could not be found. | 404 |模板或指定版本不存在。ID为模板ID,version为模板版本。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateStackGroup'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Forbidden\\",\\n \\"DiagnosticType\\": \\"Stack\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"ReportId\\": \\"dr-e94e39a1274d44b6****\\",\\n \\"RequestId\\": \\"943B24D7-1A67-55A4-B045-818F90693D3A\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'CreateDiagnostic', ], - 'GetDiagnostic' => [ - 'summary' => 'Obtains the diagnosis details based on a specified diagnostic report ID.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateStackInstances' => [ + 'summary' => 'Updates stack instances for one or more accounts in specified regions.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'free', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATURErosTBD793'], ], 'parameters' => [ [ - 'name' => 'ReportId', + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the stack group. Call [DescribeRegions](~~131035~~) to get the latest list of Alibaba Cloud regions.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'StackGroupName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the stack group. The name must be unique within a region.<br>The name can be up to 255 characters in length and must start with a letter or a number. It can contain letters, numbers, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', 'title' => ''], + ], + [ + 'name' => 'AccountIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the destination accounts for which you want to deploy stacks with self-managed permissions. You can specify up to 30 account IDs.'."\n" + ."\n" + .'> This parameter is required when you update stacks with self-managed permissions.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the destination accounts for which you want to deploy stacks with self-managed permissions. You can specify up to 30 account IDs.'."\n" + ."\n" + .'> This parameter is required when you update stacks with self-managed permissions.', 'type' => 'string', 'required' => false, 'example' => '["151266687691****","141261387191****"]', 'title' => ''], 'required' => false, - 'example' => 'dr-d540def087714890****', + 'docRequired' => false, + 'example' => '["151266687691****","141261387191****"]', + 'title' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'RegionIds', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The error code returned.'."\n", - 'type' => 'string', - 'example' => 'Forbidden', - ], - 'DiagnosticProduct' => [ - 'description' => 'The name of the diagnostic item.'."\n", - 'type' => 'string', - 'example' => 'ros', - ], - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The error message returned.'."\n", - 'type' => 'string', - 'example' => 'The specified parameter ReportId is invalid, Can not find diagnostic report dr-5f6135782f104b0f****.', - ], - 'Recommends' => [ - 'description' => 'The suggestion for the diagnosis.'."\n", - 'type' => 'object', - 'example' => '{\'RosActionMessages\': {\'Reason\': \'Fail to delete stack (fc966920-450a-456b-983c-deeaec8e****), as deletion protection is enabled.\', \'Recommend\': \'\'}}', - ], - 'ReportId' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', - 'example' => 'dr-cc80afc48c8741e9****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '96A24844-9603-5E79-BDF4-EFD412FC5D4C', - ], - 'Status' => [ - 'description' => 'The diagnosis status. Valid values:'."\n" - ."\n" - .'* Running: The diagnosis is in progress.'."\n" - .'* Complete: The diagnosis is complete.'."\n" - .'* Failed: The diagnosis failed.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'StatusReason' => [ - 'description' => 'The reason for the diagnosis status.'."\n", - 'type' => 'string', - 'example' => 'Complete', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'DiagnosticKey' => [ - 'description' => 'The keyword in the diagnosis.'."\n", - 'type' => 'string', - 'example' => '0938F60C-A2CA-5A2E-9983-03EB1E6D7AE2', - ], - 'DiagnosticTime' => [ - 'description' => 'The time when the diagnosis was performed.'."\n", - 'type' => 'string', - 'example' => '2023-03-27T03:32:03Z', - ], - 'HttpCode' => [ - 'description' => 'The HTTP status code'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'DiagnosticResult' => [ - 'description' => 'The diagnosis result.'."\n", - 'type' => 'object', - 'properties' => [ - 'StackMessages' => [ - 'description' => 'The stack information.'."\n", - 'type' => 'object', - ], - 'RosActionMessages' => [ - 'description' => 'The information about Resource Orchestration Service (ROS) calling.'."\n", - 'type' => 'object', - ], - 'FailedResources' => [ - 'description' => 'The resources that failed to be diagnosed.'."\n", - 'type' => 'object', - ], - ], - ], - ], - 'description' => '', + 'description' => 'The list of regions where you want to perform the operation. You can specify up to 20 regions.', + 'type' => 'array', + 'items' => ['description' => 'The list of regions where you want to perform the operation. You can specify up to 20 regions.', 'type' => 'string', 'required' => false, 'example' => '["cn-hangzhou","cn-beijing"]', 'title' => ''], + 'required' => true, + 'docRequired' => true, + 'example' => '["cn-hangzhou", "cn-beijing"]', + 'title' => '', ], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Forbidden\\",\\n \\"DiagnosticProduct\\": \\"ros\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"The specified parameter ReportId is invalid, Can not find diagnostic report dr-5f6135782f104b0f****.\\",\\n \\"Recommends\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"ReportId\\": \\"dr-cc80afc48c8741e9****\\",\\n \\"RequestId\\": \\"96A24844-9603-5E79-BDF4-EFD412FC5D4C\\",\\n \\"Status\\": \\"Running\\",\\n \\"StatusReason\\": \\"Complete\\",\\n \\"Success\\": \\"true\\",\\n \\"DiagnosticKey\\": \\"0938F60C-A2CA-5A2E-9983-03EB1E6D7AE2\\",\\n \\"DiagnosticTime\\": \\"2023-03-27T03:32:03Z\\",\\n \\"HttpCode\\": \\"200\\",\\n \\"DiagnosticResult\\": {\\n \\"StackMessages\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"RosActionMessages\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"FailedResources\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n }\\n}","type":"json"}]', - 'title' => 'GetDiagnostic', - ], - 'ListDiagnostics' => [ - 'summary' => 'Queries a diagnostic report.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request. The client token is generated by the client and must be globally unique.<br>The token can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).<br>For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'DiagnosticKey', + 'name' => 'OperationDescription', 'in' => 'query', - 'schema' => [ - 'description' => 'The keyword in the diagnosis.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2829A772-B154-5A0A-B61B-DEE8A9EE8A5D', - ], + 'schema' => ['description' => 'The description of the update operation.'."\n" + ."\n" + .'The description must be 1 to 256 characters in length.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Update stack instances in hangzhou and beijing', 'title' => ''], ], [ - 'name' => 'DiagnosticProduct', + 'name' => 'OperationPreferences', 'in' => 'query', - 'schema' => [ - 'description' => 'The product that is diagnosed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ros', - ], + 'style' => 'json', + 'schema' => ['description' => 'The operation settings for updating the stacks.'."\n" + ."\n" + .'This includes the following parameters:'."\n" + ."\n" + .'- {"FailureToleranceCount": N}'."\n" + ."\n" + .' The number of accounts in which the stack operation can fail in a region. If the number of failures in a region exceeds this value, Resource Orchestration Service (ROS) stops the operation in that region. If the operation is stopped in one region, it does not continue in other regions.'."\n" + ."\n" + .' N must be an integer from 0 to 20.'."\n" + ."\n" + .' If you do not specify FailureToleranceCount, the default value is 0.'."\n" + ."\n" + .'- {"FailureTolerancePercentage": N}'."\n" + ."\n" + .' The percentage of accounts in which the stack operation can fail in a region. If the percentage of failures in a region exceeds this value, ROS stops the operation in that region.'."\n" + ."\n" + .' N must be an integer from 0 to 100. If the percentage is not an integer, ROS rounds it down to the nearest integer.'."\n" + ."\n" + .' If you do not specify FailureTolerancePercentage, the default value is 0.'."\n" + ."\n" + .'- {"MaxConcurrentCount": N}'."\n" + ."\n" + .' The maximum number of accounts in which stacks can be deployed at the same time in a region.'."\n" + ."\n" + .' N must be an integer from 1 to 20.'."\n" + ."\n" + .' If you do not specify MaxConcurrentCount, the default value is 1.'."\n" + ."\n" + .'- {"MaxConcurrentPercentage": N}'."\n" + ."\n" + .' The percentage of accounts in which stacks can be deployed at the same time in a region.'."\n" + ."\n" + .' The value must be an integer from 1 to 100. If the percentage is not an integer, ROS rounds it down to the nearest integer.'."\n" + ."\n" + .' If you do not specify MaxConcurrentPercentage, the default value is 1.'."\n" + ."\n" + .'- {"RegionConcurrencyType": N}'."\n" + .' The concurrency type for deploying stacks in different regions. Valid values:'."\n" + ."\n" + .' - SEQUENTIAL (Default): Deploys stacks in the specified regions one by one in sequence. At any one time, stacks are deployed in only one region.'."\n" + ."\n" + .' - PARALLEL: Deploys stacks in all specified regions in parallel.'."\n" + ."\n" + .'Separate multiple parameters with commas (,).'."\n" + ."\n" + .'> - You cannot specify both MaxConcurrentCount and MaxConcurrentPercentage.'."\n" + .'>'."\n" + .'> - You cannot specify both FailureToleranceCount and FailureTolerancePercentage.', 'type' => 'object', 'required' => false, 'docRequired' => false, 'example' => '{"FailureToleranceCount": 1,"MaxConcurrentCount": 2}', 'title' => ''], ], [ - 'name' => 'Status', + 'name' => 'TimeoutInMinutes', 'in' => 'query', - 'schema' => [ - 'description' => 'The diagnosis status.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Complete', - ], + 'schema' => ['description' => 'The timeout period for the update operation.'."\n" + ."\n" + .'- Default value: 60.'."\n" + ."\n" + .'- Unit: minutes.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '1440', 'minimum' => '10', 'example' => '10', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'ParameterOverrides', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', + 'description' => 'The list of parameters to overwrite.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The name of the parameter to overwrite. If you do not specify this parameter, ROS uses the parameter name that you specified when you created the stack group.'."\n" + ."\n" + .'The value of N can be up to 200.'."\n" + ."\n" + .'> - The ParameterOverrides parameter is optional.'."\n" + .'>'."\n" + .'> - If you specify ParameterOverrides, you must specify both ParameterOverrides.N.ParameterKey and ParameterOverrides.N.ParameterValue.', 'type' => 'string', 'required' => true, 'example' => 'Amount', 'title' => ''], + 'ParameterValue' => ['description' => 'The value of the parameter to overwrite. If you do not specify the name and value of a parameter, ROS uses the parameter that you specified when you created the stack group.'."\n" + ."\n" + .'The value of N can be up to 200.'."\n" + ."\n" + .'> - The ParameterOverrides parameter is optional.'."\n" + .'>'."\n" + .'> - If you specify ParameterOverrides, you must specify both ParameterOverrides.N.ParameterKey and ParameterOverrides.N.ParameterValue.', 'type' => 'string', 'required' => true, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f01****', + 'maxItems' => 200, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MaxResults', + 'name' => 'DeploymentTargets', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The maximum number of results to be returned in a single call when NextToken is used for the query.'."\n" - ."\n" - .'Valid values: 1 to 100.'."\n" + 'description' => 'The deployment targets for the stacks that are deployed in service-managed mode.'."\n" ."\n" - .'Default value: 50.'."\n", - 'type' => 'string', + .'> This parameter is required when you update stacks in service-managed mode.', + 'type' => 'object', + 'properties' => [ + 'RdFolderIds' => [ + 'description' => 'The IDs of the folders in the resource directory.', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the folders in the resource directory. You can specify up to 20 folder IDs.'."\n" + ."\n" + .'You must specify \\`RdFolderIds\\` or \\`AccountIds\\`.'."\n" + ."\n" + .'- If you specify \\`RdFolderIds\\` but not \\`AccountIds\\`, stacks are deployed in all member accounts in the specified folders. If you specify the root folder, stacks are deployed in all member accounts in your resource directory.'."\n" + ."\n" + .'- If you specify \\`AccountIds\\` but not \\`RdFolderIds\\`, stacks are deployed in the specified member accounts.'."\n" + ."\n" + .'- If you specify both parameters, the accounts in \\`AccountIds\\` must be in the folders specified by \\`RdFolderIds\\`. Stacks are deployed in the specified member accounts.'."\n" + ."\n" + .'> You can view the folder IDs on the **Overview** page in the **Resource Management** console. For more information, see [View the basic information of a folder](~~111223~~).', 'type' => 'string', 'required' => false, 'example' => '["fd-4PvlVLOL8v"]', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'AccountIds' => [ + 'description' => 'The IDs of the member accounts in the resource directory. You can specify up to 50 member account IDs.'."\n" + ."\n" + .'> You can view the member account IDs on the **Overview** page in the **Resource Management** console. For more information, see [View the details of a member](~~111624~~).', + 'type' => 'array', + 'items' => ['description' => 'The IDs of the member accounts in the resource directory. You can specify up to 50 member account IDs.'."\n" + ."\n" + .'> You can view the member account IDs on the **Overview** page in the **Resource Management** console. For more information, see [View the details of a member](~~111624~~).', 'type' => 'string', 'required' => false, 'example' => '["151266687691****","141261387191****"]', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => '50', + 'title' => '', + 'example' => '', ], ], ], @@ -17187,88 +14965,50 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code returned. The value 200 indicates that the request was successful.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The error message returned.'."\n", - 'type' => 'string', - 'example' => 'You are not authorized to complete this action.', - ], - 'Diagnostics' => [ - 'description' => 'The items that are diagnosed.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'CreateTime' => [ - 'description' => 'The time when the diagnostic report was generated.'."\n", - 'type' => 'string', - 'example' => '2022-08-01T02:23:55', - ], - 'DiagnosticKey' => [ - 'description' => 'The keyword in the diagnosis.'."\n", - 'type' => 'string', - 'example' => '047D84D9-D3EB-5DA8-87F1-9A7DD5598A5D', - ], - 'DiagnosticProduct' => [ - 'description' => 'The product that is diagnosed.'."\n", - 'type' => 'string', - 'example' => 'ros', - ], - 'ReportId' => [ - 'description' => 'The ID of the diagnostic report.'."\n", - 'type' => 'string', - 'example' => 'dr-2963bfbcac834f1a****', - ], - 'Status' => [ - 'description' => 'The diagnosis status.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '1983D1C4-88EA-5D7D-90AB-467D01867A5D', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'NextToken' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f01****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', 'title' => ''], + 'OperationId' => ['description' => 'The operation ID.', 'type' => 'string', 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"Diagnostics\\": [\\n {\\n \\"CreateTime\\": \\"2022-08-01T02:23:55\\",\\n \\"DiagnosticKey\\": \\"047D84D9-D3EB-5DA8-87F1-9A7DD5598A5D\\",\\n \\"DiagnosticProduct\\": \\"ros\\",\\n \\"ReportId\\": \\"dr-2963bfbcac834f1a****\\",\\n \\"Status\\": \\"success\\"\\n }\\n ],\\n \\"RequestId\\": \\"1983D1C4-88EA-5D7D-90AB-467D01867A5D\\",\\n \\"Success\\": \\"true\\",\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f01****\\"\\n}","type":"json"}]', - 'title' => 'ListDiagnostics', - ], - 'DeleteDiagnostic' => [ - 'summary' => 'Deletes a diagnostic record.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', + 'title' => 'UpdateStackInstances', + 'description' => 'This topic provides an example of how to update stacks for the stack group `MyStackGroup`, which is in the China (Hangzhou) region and uses self-managed permissions. The stacks are updated for the Alibaba Cloud accounts `151266687691****` and `141261387191****` in the China (Hangzhou) and China (Beijing) regions.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' | 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidParameter |The specified parameter {name} is invalid, {reason}. | 400 |无效参数,name为参数名,reason为原因。 |'."\n" + .'| StackGroupNotFound |The StackGroup ({name}) could not be found. | 404 |资源栈组不存在。name为资源栈组名称。 |'."\n" + .'| StackGroupOperationInProgress |Another Operation on StackGroup ({name}) is in progress. | 409 |资源栈组存在进行中的操作。name为资源栈组名称。 |'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateStackInstances'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateStackInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], + ], + ], + ], ], + ], + 'UpdateStackTemplateByResources' => [ + 'path' => '/V2/UpdateStackTemplateByResources', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17277,19 +15017,65 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATURErosU14OAJ', 'FEATURErosZVIFJW'], ], 'parameters' => [ [ - 'name' => 'ReportId', + 'name' => 'StackId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the stack.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', 'title' => ''], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to only preview the corrected template in this request. Default value: false. Valid values:'."\n" + ."\n" + .'- true: returns the content of the corrected template and does not correct the template. After Resource Orchestration Service (ROS) compares the corrected template with the original template, ROS determines whether to execute the correction.'."\n" + ."\n" + .'- false: corrects the template to eliminate drift.'."\n" + ."\n" + .'> We recommend that you set the DryRun parameter to true to preview the corrected template. If the template content meets expectations, set the DryRun parameter to false to execute the correction.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that it is unique among different requests.'."\n" + ."\n" + .'The token can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'TemplateFormat', + 'in' => 'query', + 'schema' => ['description' => 'The format of the returned template. Default value: JSON. Valid values:'."\n" + ."\n" + .'- JSON'."\n" + ."\n" + .'- YAML', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'JSON', 'title' => ''], + ], + [ + 'name' => 'LogicalResourceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The report ID. You can troubleshoot issues based on the report.'."\n", - 'type' => 'string', + 'description' => 'The logical ID of resource.', + 'type' => 'array', + 'items' => ['description' => 'The logical ID of resource N, which is used to filter resources. Template correction takes effect only for resources in the list. By default, all resources that have drifted are corrected.'."\n" + ."\n" + .'If the list of corrected resources contains resources in the DELETED state, ROS may adjust the resources that are not in the list but reference the deleted resources in the list to ensure the correctness of the new template.', 'type' => 'string', 'required' => false, 'example' => 'WebServer', 'title' => ''], 'required' => false, - 'example' => 'dr-56a0e30bf9854b00****', + 'example' => 'Vpc', + 'maxItems' => 200, + 'title' => '', ], ], ], @@ -17298,53 +15084,63 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The error code returned.'."\n", - 'type' => 'string', - 'example' => 'Forbidden', - ], - 'HttpStatusCode' => [ - 'description' => 'The HTTP status code returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The error message returned.'."\n", - 'type' => 'string', - 'example' => 'You are not authorized to complete this action.', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91EF0DC1-3BB5-555E-AAA1-4F5C640D15DA', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'string', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'NewTemplateBody' => ['description' => 'The template content after correction.', 'type' => 'string', 'example' => '{\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\", \\"Resources\\": {\\"Vpc\\": {\\"Type\\": \\"ALIYUN::ECS::VPC\\", \\"Properties\\": {\\"VpcName\\": \\"test\\", \\"CidrBlock\\": \\"192.168.0.0/16\\", \\"Description\\": \\"test2\\"}}}, \\"Outputs\\": {\\"VpcId\\": {\\"Value\\": {\\"Fn::GetAtt\\": [\\"Vpc\\", \\"VpcId\\"]}}}}', 'title' => ''], + 'OldTemplateBody' => ['description' => 'The template content before correction.', 'type' => 'string', 'example' => '{\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\", \\"Resources\\": {\\"Vpc\\": {\\"Type\\": \\"ALIYUN::ECS::VPC\\", \\"Properties\\": {\\"VpcName\\": \\"test\\", \\"CidrBlock\\": \\"192.168.0.0/16\\", \\"Description\\": \\"test1\\"}}}, \\"Outputs\\": {\\"VpcId\\": {\\"Value\\": {\\"Fn::GetAtt\\": [\\"Vpc\\", \\"VpcId\\"]}}}}', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"Forbidden\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Message\\": \\"You are not authorized to complete this action.\\",\\n \\"RequestId\\": \\"91EF0DC1-3BB5-555E-AAA1-4F5C640D15DA\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'DeleteDiagnostic', - ], - 'RegisterResourceType' => [ - 'summary' => 'Creates a new resource type, or creates a new version for an existing resource type.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'errorCodes' => [], + 'title' => 'UpdateStackTemplateByResources', + 'summary' => 'Eliminates stack drifts by performing drift detection.', + 'description' => 'Limits: You can eliminate only drift on stacks that have drifted. You must call the [DetectStackDrift](~~155094~~) operation to perform drift detection on a stack, call the [GetStackDriftDetectionStatus](~~155097~~) operation to query the drift status of the stack to make sure that the stack has drifted, and then call the UpdateStackTemplateByResources operation to eliminate drift.'."\n" + ."\n" + .'In this topic, drift is eliminated for a stack whose ID is `4a6c9851-3b0f-4f5f-b4ca-a14bf691****`. The stack is deployed in the China (Hangzhou) region.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => '| HTTP status code | Error code | Error message | Description |'."\n" + .'| ---------------- | ------------------------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| 400 | StackDriftDetectionNotAvailable | There is no complete drift detection for stack ({ID}). | The error message returned because no drift detection has been completed on the stack. ID indicates the stack ID. |'."\n" + .'| 400 | StackAlreadyInSync | This is not need to correct stack drifts, stack ({ID}) is already in sync. | The error message returned because no drift exists and the template correction is not needed. ID indicates the stack ID. |'."\n" + .'| 400 | CorrectStackDriftsFailure | {reason} | The error message returned because the stack cannot be corrected. reason indicates the specific reason. |'."\n" + .'| 404 | StackNotFound | The Stack ({name}) could not be found. | The error message returned because the specified stack does not exist. name indicates the name or ID of the stack. |'."\n" + .'| 404 | ResourceNotFound | The Resource ({name}) could not be found in Stack {stack}. | The error message returned because the specified resource does not exist in the specified stack. name indicates the resource name, and stack indicates the stack name or ID. |', + 'extraInfo' => '| HTTP| 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 400 | StackDriftDetectionNotAvailable |There is no complete drift detection for stack ({ID}). |资源栈没有成功完成过的偏差。ID为资源栈ID。|'."\n" + .'| 400 | StackAlreadyInSync |This is not need to correct stack drifts, stack ({ID}) is already in sync. |没有必要对资源栈模板进行修正,因为没有偏差。ID为资源栈ID。|'."\n" + .'| 400 | CorrectStackDriftsFailure |{reason} |无法对资源栈进行修正。reason为原因。 |'."\n" + .'| 404 | StackNotFound |The Stack ({name}) could not be found. |资源栈不存在。name为资源栈名称或ID。 |'."\n" + .'| 404 | ResourceNotFound|The Resource ({name}) could not be found in Stack {stack}. |资源栈中不存某资源。name为资源名,stack为资源栈名称或ID。|', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateStackTemplateByResources'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateStackTemplateByResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"NewTemplateBody\\": \\"{\\\\\\\\\\\\\\"ROSTemplateFormatVersion\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"2015-09-01\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Resources\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Vpc\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"ALIYUN::ECS::VPC\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Properties\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"VpcName\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"test\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"CidrBlock\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"192.168.0.0/16\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"test2\\\\\\\\\\\\\\"}}}, \\\\\\\\\\\\\\"Outputs\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"VpcId\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Value\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Fn::GetAtt\\\\\\\\\\\\\\": [\\\\\\\\\\\\\\"Vpc\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"VpcId\\\\\\\\\\\\\\"]}}}}\\",\\n \\"OldTemplateBody\\": \\"{\\\\\\\\\\\\\\"ROSTemplateFormatVersion\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"2015-09-01\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Resources\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Vpc\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Type\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"ALIYUN::ECS::VPC\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Properties\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"VpcName\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"test\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"CidrBlock\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"192.168.0.0/16\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"Description\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"test1\\\\\\\\\\\\\\"}}}, \\\\\\\\\\\\\\"Outputs\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"VpcId\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Value\\\\\\\\\\\\\\": {\\\\\\\\\\\\\\"Fn::GetAtt\\\\\\\\\\\\\\": [\\\\\\\\\\\\\\"Vpc\\\\\\\\\\\\\\", \\\\\\\\\\\\\\"VpcId\\\\\\\\\\\\\\"]}}}}\\"\\n}","type":"json"}]', + ], + 'UpdateTemplate' => [ + 'summary' => 'Update Template', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17353,92 +15149,87 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosUIOT2M', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '12726', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], ], 'parameters' => [ [ - 'name' => 'EntityType', + 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The entity type. Set the value to Module.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'Module' => 'Module', - ], - 'example' => 'Module', - ], + 'schema' => ['description' => 'The location of the file containing the template body. The URL must point to a template located on a web server (HTTP or HTTPS) or in an Alibaba Cloud OSS bucket (e.g., oss\\://ros/template/demo, oss\\://ros/template/demo?RegionId=cn-hangzhou), with a maximum size of 524,288 bytes.'."\n" + ."\n" + .'> If the OSS region is not specified, it defaults to the same as the `RegionId` parameter in the request.'."\n" + ."\n" + .'You can only specify one of `TemplateBody` or `TemplateURL`.<br>'."\n" + .'The maximum length of the URL is 1,024 bytes.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/template/demo', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'TemplateName', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => false, - 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', - ], + 'schema' => ['description' => 'The name of the template.<br>'."\n" + .'The length should not exceed 255 characters (utf-8 encoding), and it must start with a number, letter, or Chinese character. It can include numbers, letters, Chinese characters, hyphens (-), and underscores (\\_).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'MyTemplate', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the template. The maximum length is 256 characters.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'It is a demo.', 'title' => ''], ], [ 'name' => 'TemplateBody', 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. The template body is used as the module content. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs.'."\n" - ."\n\n" - .'> - This parameter takes effect only when EntityType is set to Module.'."\n" - .'> - You can specify only one of the TemplateBody and TemplateURL parameters.', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', - ], + 'schema' => ['description' => 'The structure of the template body. The length should be between 1 and 524,288 bytes. If the content is long, it is recommended to use HTTP POST + Body Param to pass the parameter in the request body to avoid request failure due to an overly long URL.'."\n" + ."\n" + .'> You must and can only specify one of `TemplateBody`, `TemplateURL`, `TemplateId`, or `TemplateScratchId`.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], ], [ - 'name' => 'TemplateURL', + 'name' => 'TemplateId', 'in' => 'query', + 'schema' => ['description' => 'The template ID. Supports both shared and private templates.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], + ], + [ + 'name' => 'ValidationOptions', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=cn-hangzhou. The template body can be up to 524,288 bytes in length. The template body is used as the module content.'."\n" + 'description' => 'Validation options.'."\n" ."\n" - .'> - If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - .'> - This parameter takes effect only when EntityType is set to Module.'."\n" - .'> - You can specify only one of the TemplateBody and TemplateURL parameters.'."\n" + .'By default, no options are enabled, and strict validation is performed.', + 'type' => 'array', + 'items' => ['description' => 'Validation options. Values:'."\n" ."\n" - .'The URL can be up to 1,024 bytes in length.', - 'type' => 'string', + .'- BasicValidation: Only performs basic structural validation on the template content.', 'type' => 'string', 'required' => false, 'example' => 'BasicValidation', 'title' => ''], 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-template/demo', + 'maxItems' => 1, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Description', + 'name' => 'RotateStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the resource type. The description can be up to 512 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'It is a demo.', - ], + 'schema' => ['description' => 'Template version rotation strategy. Values:'."\n" + ."\n" + .'- None (default): No rotation. An error occurs when the version limit is reached.'."\n" + ."\n" + .'- DeleteOldestNonSharedVersionWhenLimitExceeded: Rotates and deletes non-shared template versions.'."\n" + ."\n" + .'> * If all versions of the template are shared, they cannot be rotated and deleted.'."\n" + .'>'."\n" + .'> * The current latest version will not be rotated and deleted.'."\n" + .'>'."\n" + .'> * Regardless of whether rotation deletion is used, the template version number cannot exceed v65000.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], ], [ - 'name' => 'ClientToken', + 'name' => 'IsDraft', 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.\\'."\n" - .'The token can be up to 64 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).\\'."\n" - .'For more information, see [Ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', - ], + 'schema' => ['description' => 'Whether to update the Draft (draft) version. Values:'."\n" + ."\n" + .'- false (default): If template content is provided, a new version is created, and the Draft version is cleared. Otherwise, the current latest version is modified.'."\n" + ."\n" + .'- true: Modifies the Draft version. The Draft version can only be retrieved via the GetTemplate interface. The ListTemplateVersions interface will not return it. The TemplateVersion parameter in other interfaces cannot specify Draft.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -17446,42 +15237,63 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'RegistrationId' => [ - 'description' => 'The ID of the registration record. You can call the [ListResourceTypeRegistrations](~~2330740~~) operation to query registration records.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', - ], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '8C5D90E1-66B6-496C-9371-3807F8DA80A8', 'title' => ''], + 'TemplateId' => ['description' => 'Template ID.', 'type' => 'string', 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', 'title' => ''], + 'TemplateVersion' => ['description' => 'The template version affected by this operation.', 'type' => 'string', 'example' => 'v2', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'asynchronous', - 'callback' => 'ROS::2019-09-10::ListResourceTypeRegistrations', - 'callbackInterval' => 10000, - 'maxCallbackTimes' => 30, + 'title' => 'Update Template', + 'description' => 'When updating a template, please note:'."\n" + ."\n" + .'- If you specify `TemplateBody` or `TemplateURL`, the template version will be incremented by 1 after a successful update. For example, the version changes from v1 to v2.'."\n" + ."\n" + .'- If neither `TemplateBody` nor `TemplateURL` is specified, the template version remains unchanged.'."\n" + ."\n" + .'- A template can have up to 100 versions. If the version limit is reached, the template update will fail, and you need to recreate the template.', + 'requestParamsDescription' => 'For details on common request parameters, see [Common Parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| 404 | TemplateNotFound |The Tempalte ({ ID }) could not be found. |模板不存在。 |'."\n" + .'| 400 | InvalidSchema |{reason}. |模板格式不正确。reason为具体原因。 |'."\n" + .'| 400 | InvalidTemplateAttribute |The Referenced Attribute ({resource} {name}) is incorrect. |模板包含不正确的资源属性(输出)引用。resource为资源名,name为属性名。 |'."\n" + .'| 400 | InvalidTemplatePropertyType |The specified value type of ({resource} {section}) is incorrect. |模板资源定义中的字段类型不正确。resource为资源名,section为字段名。 |'."\n" + .'| 400 | InvalidTemplateReference |The specified reference "{name}" (in {referencer}) is incorrect. |模板包含不正确的引用。name为引用名,referencer为引用者。 |'."\n" + .'| 400 | InvalidTemplateSection |The template section is invalid: {section}. |模板包含无效的字段。section为字段名。 |'."\n" + .'| 400 | InvalidTemplateVersion |The template version is invalid: {reason}. |模板版本不正确。reason为具体原因。 |'."\n" + .'| 400 | TemplateBeingProcessed |Template { ID } is being processed, retry later.|模板正在处理中,稍后再试。ID为模板ID。|'."\n" + ."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTemplate'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#templateId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"RegistrationId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\"\\n}","type":"json"}]', - 'title' => 'RegisterResourceType', - 'description' => '* Versions increase from v1.'."\n" - .'* If you create a new resource type, v1 is used as the default version of the resource type. You can call the SetResourceType operation to change the default version of a resource type.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8C5D90E1-66B6-496C-9371-3807F8DA80A8\\",\\n \\"TemplateId\\": \\"5ecd1e10-b0e9-4389-a565-e4c15efc****\\",\\n \\"TemplateVersion\\": \\"v2\\"\\n}","type":"json"}]', ], - 'SetResourceType' => [ - 'summary' => 'Modifies a resource type or a version of a resource type.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateTemplateScratch' => [ + 'summary' => 'Updates a scenario.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17492,127 +15304,186 @@ 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosUIOT2M', - ], - 'tenantRelevance' => 'publicInformation', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATURErosUSKZAD', 'FEATURErosHDIJ7A', 'FEATURErosSKHQLM'], ], 'parameters' => [ [ - 'name' => 'ResourceType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', - ], + 'schema' => ['description' => 'The region ID of the scenario.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'VersionId', + 'name' => 'TemplateScratchId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource scenario.'."\n" + ."\n" + .'The valid values of the ParameterKey and ParameterValue request parameters vary based on the IDs of different types of resource scenarios. For more information, see the "Additional information about request parameters" section of this topic.'."\n" + ."\n" + .'> You can call the [ListTemplateScratches](~~610832~~) operation to query the ID of a resource scenario.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ts-7f7a704cf71c49a6****', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description of the scenario.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Copy VPC resources.', 'title' => ''], + ], + [ + 'name' => 'SourceResources', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The version ID. If you want to modify a version of the resource type, you must specify this parameter. If you do not specify this parameter, only the resource type is modified.'."\n" + 'description' => 'The source resources.'."\n" ."\n" - .'> You can specify only one of the VersionId and DefaultVersionId parameters.'."\n", - 'type' => 'string', + .'> You must specify only one of the following parameters: SourceResources, SourceTag, and SourceResourceGroup.', + 'type' => 'array', + 'items' => [ + 'description' => 'The source resource.', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'required' => true, 'example' => 'vpc-bp1m6fww66xbntjyc****', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'required' => true, 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'v1', + 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'DefaultVersionId', + 'name' => 'SourceTag', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The ID of the default version. You can use this parameter to specify the default version of the resource type.'."\n" + 'description' => 'The source tag.'."\n" ."\n" - .'> You can specify only one of the VersionId and DefaultVersionId parameters.'."\n", - 'type' => 'string', + .'> You must specify only one of the following parameters: SourceResources, SourceTag, and SourceResourceGroup.', + 'type' => 'object', + 'properties' => [ + 'ResourceTags' => ['description' => 'The source tags. A tag contains a tag key and a tag value.'."\n" + ."\n" + .'If you want to specify only the tag key, you must leave the tag value empty. Example: {"TagKey": ""}.'."\n" + ."\n" + .'If you set TemplateScratchType to ArchitectureDetection, you can add up to 5 source tags. In other cases, you can add up to 10 source tags.', 'type' => 'object', 'required' => true, 'example' => '{"a": "b"}', 'title' => ''], + 'ResourceTypeFilter' => [ + 'description' => 'The resource types for filtering resources.', + 'type' => 'array', + 'items' => ['description' => 'The resource type for filtering resources. If you specify the resource types, ROS scans only the resources that are of the specified types and have the specified tags. If you do not specify the resource types, ROS scans all resources that have the specified tags.'."\n" + ."\n" + .'You can specify up to 20 resource types.', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => 'v1', + 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Description', + 'name' => 'SourceResourceGroup', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The description of the resource type or resource type version. The description can be up to 512 characters in length.'."\n", - 'type' => 'string', + 'description' => 'The source resource group.'."\n" + ."\n" + .'> You must specify only one of the following parameters: SourceResources, SourceTag, and SourceResourceGroup.', + 'type' => 'object', + 'properties' => [ + 'ResourceGroupId' => ['description' => 'The ID of the source resource group.', 'type' => 'string', 'required' => true, 'example' => 'rg-acfmzawhxxc****', 'title' => ''], + 'ResourceTypeFilter' => [ + 'description' => 'The resource types for filtering resources.', + 'type' => 'array', + 'items' => ['description' => 'The resource type for filtering resources. If you specify the resource types, ROS scans only the resources that are of the specified types and belong to the specified resource group. If you do not specify the resource types, ROS scans all resources that belong to the specified resource group.'."\n" + ."\n" + .'You can specify up to 20 resource types.', 'type' => 'string', 'required' => false, 'example' => 'ALIYUN::ECS::VPC', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => 'It is a demo.', + 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'PreferenceParameters', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', + 'description' => 'The preference parameters of the resource scenario.', + 'type' => 'array', + 'items' => [ + 'description' => 'The preference parameter of the scenario.', + 'type' => 'object', + 'properties' => [ + 'ParameterKey' => ['description' => 'The parameter name.'."\n" + ."\n" + .'For more information about the valid values of ParameterKey, see the "**Additional information about request parameters**" section of this topic.'."\n" + ."\n" + .'> - PreferenceParameters is optional. If you specify PreferenceParameters, you must specify both ParameterKey and ParameterValue.'."\n" + .'>'."\n" + .'> - If you set TemplateScratchType to ResourceImport, you must set ParameterKey to DeletionPolicy.', 'type' => 'string', 'required' => true, 'example' => 'DeletionPolicy', 'title' => ''], + 'ParameterValue' => ['description' => 'The parameter value. The value of ParameterValue varies based on the value of ParameterKey.'."\n" + ."\n" + .'For more information about the valid values of ParameterKey, see the "**Additional information about request parameters**" section of this topic.'."\n" + ."\n" + .'> PreferenceParameters is optional. If you specify PreferenceParameters, you must specify both ParameterKey and ParameterValue.', 'type' => 'string', 'required' => true, 'example' => 'Retain', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], - 'description' => '', + 'required' => false, + 'docRequired' => false, + 'title' => '', + 'example' => '', ], ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","type":"json"}]', - 'title' => 'SetResourceType', - ], - 'DeregisterResourceType' => [ - 'summary' => 'Deletes a resource type or a version of a resource type.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'LogicalIdStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The policy based on which the logical ID is generated. Valid values:'."\n" + ."\n" + .'- LongTypePrefixAndIndexSuffix: long-type prefix + index-type suffix'."\n" + ."\n" + .'- LongTypePrefixAndHashSuffix: long-type prefix + hash-type suffix'."\n" + ."\n" + .'- ShortTypePrefixAndHashSuffix: short-type prefix + hash-type suffix'."\n" + ."\n" + .'> If you set TemplateScratchType to ArchitectureDetection, the default value of LogicalIdStrategy is LongTypePrefixAndHashSuffix. In other cases, the default value of LogicalIdStrategy is LongTypePrefixAndIndexSuffix.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'LongTypePrefixAndIndexSuffix', 'title' => ''], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosUIOT2M', + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'ResourceType', + 'name' => 'ExecutionMode', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', - ], + 'schema' => ['description' => 'The execution mode. Valid values:'."\n" + ."\n" + .'- Async (default)'."\n" + ."\n" + .'- Sync'."\n" + ."\n" + .'> If you have a wide scope of resources, Sync takes longer. If you set ExecutionMode to Sync, we recommend that you specify ClientToken to prevent the execution timeout.', 'type' => 'string', 'required' => false, 'example' => 'Sync', 'title' => ''], ], [ - 'name' => 'VersionId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The version ID. If you want to delete a version of the resource type, you must specify this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', 'title' => ''], ], ], 'responses' => [ @@ -17620,37 +15491,102 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '221DA822-B8CF-50DF-A9D2-BA197BF97BD5', 'title' => ''], + 'TemplateScratchId' => ['description' => 'The ID of the scenario.', 'type' => 'string', 'example' => 'ts-7f7a704cf71c49a6****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'UpdateTemplateScratch', + 'description' => '### [](#)Resource replication scenario'."\n" + ."\n" + .'Resource Orchestration Service (ROS) allows you to update a resource replication scenario. The updates that you make to a resource replication scenario do not affect the stack that is generated by using the resource scenario. You can call the [GenerateTemplateByScratch](~~610829~~) operation to generate a template for the resource scenario.'."\n" + ."\n" + .'### [](#)Resource migration scenario'."\n" + ."\n" + .'- If you want to update a resource migration scenario in which the migrated source resources are retained, you can delete the source resources to manage the updated resource migration scenario. You can also call the [GenerateTemplateByScratch](~~610829~~) operation to generate a template for the resource scenario.'."\n" + ."\n" + .' \\*\\*'."\n" + ."\n" + .' **Note** Make sure that the source resources that you want to delete from a resource migration scenario are associated only with the resource scenario. Otherwise, the source resources fail to be deleted.'."\n" + ."\n" + .'- If you want to update a resource migration scenario in which the migrated source resources are deleted, you can only call the [GenerateTemplateByScratch](~~610829~~) operation to generate a template for the resource scenario.'."\n" + ."\n" + .'### [](#)Resource management scenario'."\n" + ."\n" + .'If you want to update a resource management scenario after you use the resource scenario to manage resources, you can only call the [GenerateTemplateByScratch](~~610829~~) operation to generate a template for the resource scenario.'."\n" + ."\n" + .'### [](#)Resource detection scenario'."\n" + ."\n" + .'After you update a resource detection scenario, ROS obtains the most recent data from Resource Center and renders the architecture diagram.'."\n" + ."\n" + .'This topic provides an example on how to update a resource scenario. In this example, the ID of a virtual private cloud (VPC) in a resource scenario whose ID is `ts-7f7a704cf71c49a6****` is updated to `vpc-bp1m6fww66xbntjyc****`.', + 'requestParamsDescription' => '### Additional information about request parameters'."\n" + ."\n" + .'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n" + ."\n" + .'The valid values of the ParameterKey and ParameterValue request parameters vary based on resource scenario types.'."\n" + ."\n" + .'#### Resource replication scenario'."\n" + ."\n" + .'The following table describes the valid values of the ParameterKey and ParameterValue request parameters when you set TemplateScratchId to the ID of a resource replication scenario.'."\n" + ."\n" + .'| ParameterKey | ParameterValue |'."\n" + .'| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| DeletionPolicy | The deletion policy for resources. Valid values:Retain: retains resources when you delete the stack to which the resources are replicated.Delete: deletes resources by default when you delete the stack to which the resources are replicated. If you retain specific resources when the Delete Stack dialog box appears, the resources are retained. |'."\n" + .'| RegionId | The ID of the destination region to which you want to replicate resources. If you leave this parameter empty, the region of the source resources is used for the replicated resources.Example: cn-shanghai. |'."\n" + .'| ZoneId | The ID of the destination zone to which you want to replicate resources. If you replicate resources in the same region and you leave this parameter empty, the zone of the source resources is used for the replicated resources. If you replicate resources across regions and you leave this parameter empty, the system filters the zones that are supported by all resources.Example: cn-shanghai-b. |'."\n" + .'| VpcId | The ID of the destination VPC to which you want to replicate resources. If you replicate resources in the same region and you leave this parameter empty, the VPC of the source resources is used for the replicated resources. If you replicate resources across regions and you leave this parameter empty, the system automatically creates a VPC in the destination region.Example: vpc-bp1hye0s8b69xokfu****. |'."\n" + .'| VSwitchId | The ID of the destination vSwitch to which you want to replicate resources. If you replicate resources in the same region and you leave this parameter empty, the vSwitch of the source resources is used for the replicated resources. If you replicate resources across regions and you leave this parameter empty, the system automatically creates a vSwitch in the destination region.Example: vsw-bp11ufkwqwggtm1cj****. |'."\n" + .'| InstanceDataReplication | Specifies whether to replicate Elastic Compute Service (ECS) instance data. Valid values:true: replicates ECS instance data. If you replicate the data in the same region, the system creates a custom image for the source instance and creates an instance based on the image. If you replicate the data across regions, the system creates a custom image for the source instance, replicates the image to the destination region, and then creates an instance based on the image.false: does not replicate ECS instance data. |'."\n" + ."\n" + .'**Note** If you set ParameterKey to InstanceDataReplication and ParameterValue to true, we recommend that you replicate resources after the source instance is stopped. This ensures data consistency.'."\n" + ."\n" + .'#### Resource management scenario'."\n" + ."\n" + .'The following table describes the valid values of the ParameterKey and ParameterValue request parameters when you set TemplateScratchId to the ID of a resource management scenario.'."\n" + ."\n" + .'**Note** For a resource management scenario, you must set ParameterKey to DeletionPolicy.'."\n" + ."\n" + .'| ParameterKey | ParameterValue |'."\n" + .'| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| DeletionPolicy | The deletion policy for resources. Valid values:Retain: retains resources when you delete the stack that you use to manage the resources.Delete: deletes resources by default when you delete the stack that you use to manage the resources. If you retain specific resources when the Delete Stack dialog box appears, the resources are retained. |'."\n" + ."\n" + .'#### Resource detection scenario'."\n" + ."\n" + .'The following table describes the valid values of the ParameterKey and ParameterValue request parameters when you set TemplateScratchId to the ID of a resource detection scenario.'."\n" + ."\n" + .'| ParameterKey | ParameterValue |'."\n" + .'| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| RegionIds | One or more region IDs. Separate multiple region IDs with commas (,). If you leave this parameter empty, the region of the resource scenario is used. You cannot specify both RegionIds and SourceResources. |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTemplateScratch'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateTemplateScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#templatescratchId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\"\\n}","type":"json"}]', - 'title' => 'DeregisterResourceType', - 'description' => '* If you delete a resource type, you can no longer use the resource type in Resource Orchestration Service (ROS).'."\n" - .'* If you delete a version of a resource type, you can no longer use the version in ROS.'."\n" - .'* If a resource type has only one version, you can delete the version by calling the operation. If a resource type has more than one version, you must manually delete the remaining versions.'."\n" - .'* When a resource type has more than one version, you cannot delete the default version by calling the operation.'."\n" - .'* When a resource type has only one version, you can delete the resource type and the version by calling the operation.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"221DA822-B8CF-50DF-A9D2-BA197BF97BD5\\",\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\"\\n}","type":"json"}]', ], - 'ListResourceTypes' => [ - 'summary' => 'This topic provides an example on how to query the list of resource types supported by Resource Orchestration Service (ROS).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ValidateTemplate' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17661,58 +15597,77 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', - ], + 'abilityTreeCode' => '12727', + 'abilityTreeNodes' => ['FEATURErosU14OAJ'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'EntityType', + 'name' => 'TemplateURL', 'in' => 'query', - 'schema' => [ - 'description' => 'The entity type. Valid values:'."\n" - ."\n" - .'* All: all types of resources.'."\n" - .'* Resource (default): regular resources. For more information, see [Resources](~~28863~~).'."\n" - .'* DataSource: DataSource resources. For more information, see [DataSource resources](~~404753~~).'."\n" - .'* Module: modules.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'All' => 'All', - 'Resource' => 'Resource', - 'Module' => 'Module', - 'DataSource' => 'DataSource', - ], - 'example' => 'Resource', - ], + 'schema' => ['description' => 'The location of the file that contains the template body. The URL must point to a template that is located on an HTTP web server or in an Alibaba Cloud OSS bucket, such as oss\\://ros/template/demo or oss\\://ros/template/demo?RegionId=cn-hangzhou. The template can be up to 524,288 bytes in size.'."\n" + ."\n" + .'> If you do not specify the region of the OSS bucket, the value of the RegionId parameter is used.'."\n" + ."\n" + .'You can specify either TemplateBody or TemplateURL, but not both.<br>The URL can be up to 1,024 bytes in length.<br>', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/template/demo', 'title' => ''], ], [ - 'name' => 'Provider', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The provider of the resource type. Valid values:'."\n" - ."\n" - .'* ROS (default): The resource type is provided by Resource Orchestration Service (ROS).'."\n" - .'* Self: The resource type is provided by you.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'ROS' => 'ROS', - 'Self' => 'Self', - ], - 'example' => 'ROS', - ], + 'schema' => ['description' => 'The region ID of the stack template. You can call the [DescribeRegions](~~131035~~) operation to query the most recent list of Alibaba Cloud regions.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'TemplateBody', + 'in' => 'formData', + 'schema' => ['description' => 'The structure of the template body. The template body can be 1 to 524,288 bytes in length.<br>If the template body is long, use a POST request and place the parameter in the request body. This prevents a request failure caused by an excessively long URL.<br>You can specify either TemplateBody or TemplateURL, but not both.<br><br>', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', 'title' => ''], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request. The client generates the value, which must be unique.'."\n" + ."\n" + .'The token can be up to 64 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" + ."\n" + .'For more information, see [How to ensure idempotence](~~134212~~).', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''], + ], + [ + 'name' => 'ValidationOption', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable additional validation for the template. Valid values:'."\n" + ."\n" + .'- None (default): No additional validation is enabled.'."\n" + ."\n" + .'- EnableTerraformValidation: For a Terraform template, the `terraform validate` command of the Terraform command-line interface (CLI) is used to enable additional validation.'."\n" + ."\n" + .'- EnableFastTerraformValidation: For a Terraform template, a command that is similar to the `terraform validate` command of the Terraform CLI is used to enable additional validation.'."\n" + ."\n" + .'> Compared with EnableTerraformValidation, EnableFastTerraformValidation is faster but less comprehensive.', 'type' => 'string', 'required' => false, 'example' => 'None', 'title' => ''], + ], + [ + 'name' => 'UpdateInfoOptions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The resource type. The resource type can contain letters, digits, colons (:), and asterisks (\\*). You can use an asterisk (\\*) to perform a fuzzy match.'."\n", - 'type' => 'string', + 'description' => 'The list of options for the update information. The list can contain up to two options.', + 'type' => 'array', + 'items' => [ + 'description' => 'The option for the update information. This option is used to control the generation of information about the stack update. Valid values:'."\n" + ."\n" + .'- Disabled: No information about the stack update is generated.'."\n" + ."\n" + .'- ConsiderCondition: The impact of conditions is considered when information about the stack update is generated. Use this option. Otherwise, the conditions are evaluated, and the parameters that are involved in the conditions are set to their default values or null.'."\n" + ."\n" + .'- EnableReplacement: The impact of a replacement update is considered when information about the stack update is generated.', + 'enumValueTitles' => ['ConsiderCondition' => 'ConsiderCondition', 'EnableReplacement' => 'EnableReplacement', 'Disabled' => 'Disabled'], + 'type' => 'string', + 'required' => false, + 'example' => 'ConsiderCondition', + 'title' => '', + ], 'required' => false, - 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', + 'maxItems' => 2, + 'title' => '', + 'example' => '', ], ], ], @@ -17721,2077 +15676,1603 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ResourceTypes' => [ - 'description' => 'The array of resource types.', + 'Description' => ['description' => 'The description of the stack template.', 'type' => 'string', 'example' => 'No description', 'title' => ''], + 'Parameters' => [ + 'description' => 'The list of input parameters.', + 'type' => 'array', + 'items' => ['description' => 'The input parameter.<br>The input parameters define the parameters that you must specify when you create a stack from the template. These parameters are used to specify the details of each stack creation, such as the username, password, and the ECS instance type that is related to the environment.<br>', 'type' => 'object', 'example' => '[{"Description": "", "Label": "param_integer", "NoEcho": "false", "ParameterKey": "param_integer", "Type": "Number"},{ "Description": "", "Label": "param_float", "NoEcho": "false", "ParameterKey": "param_float", "Type": "Number"}]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', 'title' => ''], + 'Outputs' => [ + 'description' => 'The list of template outputs.', 'type' => 'array', 'items' => [ + 'type' => 'object', + 'properties' => [ + 'OutputKey' => ['description' => 'The name of the template output.', 'type' => 'string', 'example' => 'instance_id', 'title' => ''], + 'Description' => ['description' => 'The description of the template output.', 'type' => 'string', 'example' => 'The instance ID of my ECS.', 'title' => ''], + 'Label' => ['description' => 'The alias of the template output.', 'type' => 'string', 'example' => 'Instance ID', 'title' => ''], + ], 'description' => '', - 'type' => 'string', - 'example' => '["ALIYUN::ECS::Instance","ALIYUN::RDS::Instance"]', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => 'EA00860C-ECAF-5253-A1F9-8198695A7157', + 'ResourceTypes' => [ + 'description' => 'The information about the resource types that are used in the template.', + 'type' => 'object', + 'properties' => [ + 'Resources' => [ + 'description' => 'The list of regular resource types. Duplicates are removed.', + 'type' => 'array', + 'items' => ['description' => 'The regular resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::InstanceGroup', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'DataSources' => [ + 'description' => 'The list of data source resource types. Duplicates are removed.', + 'type' => 'array', + 'items' => ['description' => 'The data source resource type.', 'type' => 'string', 'example' => 'DATASOURCE::VPC::Vpcs', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'ResourceTypeSummaries' => [ - 'description' => 'The resource type summaries.'."\n", + 'Resources' => [ + 'description' => 'The list of regular resources that are defined in the template.'."\n" + ."\n" + .'> - For ROS templates, resources whose definitions contain the `Count` field are not expanded.'."\n" + .'>'."\n" + .'> - For Terraform templates, resources whose definitions contain `count` or `for_each` are not expanded.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Provider' => [ - 'description' => 'The provider of the resource type. Valid values:'."\n" - ."\n" - .'* ROS: The resource type is provided by ROS.'."\n" - .'* Self: The resource type is provided by you.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'ROS' => 'ROS', - 'Self' => 'Self', - ], - 'example' => 'ROS', - ], - 'EntityType' => [ - 'description' => 'The entity type. Valid values:'."\n" - ."\n" - .'* Resource: regular resources.'."\n" - .'* DataSource: DataSource resources.'."\n" - .'* Module: modules.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'Resource' => 'Resource', - 'Module' => 'Module', - 'DataSource' => 'DataSource', - ], - 'example' => 'Module', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', - ], - 'DefaultVersionId' => [ - 'description' => 'The ID of the default version.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'LatestVersionId' => [ - 'description' => 'The ID of the latest version.'."\n", - 'type' => 'string', - 'example' => 'v10', - ], - 'CreateTime' => [ - 'description' => 'The creation time. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format.'."\n", - 'type' => 'string', - 'example' => '2023-02-24T08:25:21', - ], - 'UpdateTime' => [ - 'description' => 'The update time. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format.'."\n", - 'type' => 'string', - 'example' => '2023-02-24T08:25:21', - ], - 'Description' => [ - 'description' => 'The description of the resource type.'."\n", - 'type' => 'string', - 'example' => 'It is a demo.', - ], - 'TotalVersionCount' => [ - 'description' => 'The number of versions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'ResourceType' => ['description' => 'The regular resource type.', 'type' => 'string', 'example' => 'ALIYUN::ECS::InstanceGroup', 'title' => ''], + 'ResourcePath' => ['description' => 'The path of the regular resource. The path is usually the same as the resource name.', 'type' => 'string', 'example' => 'server', 'title' => ''], + 'LogicalResourceIdPattern' => ['description' => 'The string pattern for the logical ID of the regular resource.'."\n" + ."\n" + .'For ROS templates, the following two cases exist:'."\n" + ."\n" + .'- The resource definition does not contain the `Count` field: If the resource name defined in the template is `server`, the value of this parameter is `server`, and the value of `ResourcePath` is `server`.'."\n" + ."\n" + .'- The resource definition contains the `Count` field: If the resource name defined in the template is `server`, the value of this parameter is `server[*]`, and the value of `ResourcePath` is `server`.'."\n" + ."\n" + .'For resources and [modules](https://www.terraform.io/language/modules) in Terraform templates, the following two cases exist:'."\n" + ."\n" + .'- The definition does not contain [`count`](https://www.terraform.io/language/meta-arguments/count) or [`for_each`](https://www.terraform.io/language/meta-arguments/for_each): If the name is `server`, the value of this parameter is `server`, and the value of `ResourcePath` is `server`.'."\n" + ."\n" + .'- The definition contains [`count`](https://www.terraform.io/language/meta-arguments/count) or [`for_each`](https://www.terraform.io/language/meta-arguments/for_each): If the name is `server`, the value of this parameter is `server[*]`, and the value of `ResourcePath` is `server`.'."\n" + ."\n" + .'The following examples show the values for Terraform templates:'."\n" + ."\n" + .'- Resources in the root module:'."\n" + ."\n" + .' - `server`: `count` and `for_each` are not used. The value of `ResourcePath` is `server`.'."\n" + ."\n" + .' - `server[*]`: `count` or `for_each` is used. The value of `ResourcePath` is `server`.'."\n" + ."\n" + .'- Resources in a child module:'."\n" + ."\n" + .' - `app.server`: The `app` module does not use `count` or `for_each`, and the `server` resource does not use `count` or `for_each`. The value of `ResourcePath` is `app.server`.'."\n" + ."\n" + .' - `app.server[*]`: The `app` module does not use `count` or `for_each`, but the `server` resource uses `count` or `for_each`. The value of `ResourcePath` is `app.server`.'."\n" + ."\n" + .' - `app[*].server`: The `app` module uses `count` or `for_each`, but the `server` resource does not use `count` or `for_each`. The value of `ResourcePath` is `app.server`.'."\n" + ."\n" + .' - `app[*].server[*]`: The `app` module uses `count` or `for_each`, and the `server` resource uses `count` or `for_each`. The value of `ResourcePath` is `app.server`.'."\n" + ."\n" + .' - `app.app_group[*].server`: The `app` module does not use `count` or `for_each`, the `app_group` module uses `count` or `for_each` (the `app_group` module is a child module of the `app` module), and the `server` resource does not use `count` or `for_each`. The value of `ResourcePath` is `app.app_group.server`.', 'type' => 'string', 'example' => 'server', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', + ], + 'UpdateInfo' => [ + 'description' => 'The information about the stack update. This parameter is not returned if Disabled is specified for UpdateInfoOptions.', + 'type' => 'object', + 'properties' => [ + 'ParametersAllowedToBeModified' => [ + 'description' => 'The list of parameters that can be modified.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that can be modified. When you update a stack, if the template remains unchanged, you can change the value of this parameter without causing a validation error.', 'type' => 'string', 'example' => 'param1', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersCauseInterruptionIfModified' => [ + 'description' => 'The list of parameters that cause resource interruptions if they are modified.'."\n" + ."\n" + .'> - This parameter is supported for only a few resource types.'."\n" + .'>'."\n" + .'> - This parameter is applicable only to ROS stacks.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that causes a resource interruption if it is modified. When you update a stack, if the template remains unchanged, changing the value of this parameter will cause a resource interruption.', 'type' => 'string', 'example' => 'param1', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersConditionallyAllowedToBeModified' => [ + 'description' => 'The list of parameters that may be allowed to be modified.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that may be allowed to be modified. When you update a stack, if the template remains unchanged, whether a validation error is caused by a change to the value of this parameter depends on the new value.', 'type' => 'string', 'example' => 'param2', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersConditionallyCauseInterruptionIfModified' => [ + 'description' => 'The list of parameters that may cause resource interruptions if they are modified.'."\n" + ."\n" + .'> - This parameter is supported for only a few resource types.'."\n" + .'>'."\n" + .'> - This parameter is applicable only to ROS stacks.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that may cause a resource interruption if it is modified. When you update a stack, if the template remains unchanged, changing the value of this parameter may cause a resource interruption. This depends on the new value and the update behavior of the resource.', 'type' => 'string', 'example' => 'param2', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersNotAllowedToBeModified' => [ + 'description' => 'The list of parameters that cannot be modified.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that cannot be modified. When you update a stack, if the template remains unchanged, changing the value of this parameter will cause a validation error.', 'type' => 'string', 'example' => 'param3', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersUncertainlyAllowedToBeModified' => [ + 'description' => 'The list of parameters whose modification permissions are uncertain.', + 'type' => 'array', + 'items' => ['description' => 'A parameter whose modification permission is uncertain. When you update a stack, if the template remains unchanged, whether a validation error is caused by a change to the value of this parameter can be determined only at runtime.', 'type' => 'string', 'example' => 'param4', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersUncertainlyCauseInterruptionIfModified' => [ + 'description' => 'The list of parameters that cause resource interruptions under uncertain conditions if they are modified.'."\n" + ."\n" + .'> - This parameter is supported for only a few resource types.'."\n" + .'>'."\n" + .'> - This parameter is applicable only to ROS stacks.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that causes a resource interruption under uncertain conditions if it is modified. When you update a stack, if the template remains unchanged, whether a resource interruption is caused by a change to the value of this parameter can be determined only at runtime.', 'type' => 'string', 'example' => 'param4', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersCauseReplacementIfModified' => [ + 'description' => 'The list of parameters that cause replacement updates if they are modified.'."\n" + ."\n" + .'> - This parameter is returned only if EnableReplacement is specified for UpdateInfoOptions.'."\n" + .'>'."\n" + .'> - This parameter is applicable only to ROS stacks.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that causes a replacement update if it is modified. When you update a stack, if the template remains unchanged, changing the value of this parameter will cause a replacement update.', 'type' => 'string', 'example' => 'param5', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersConditionallyCauseReplacementIfModified' => [ + 'description' => 'The list of parameters that may cause replacement updates if they are modified.'."\n" + ."\n" + .'> - This parameter is returned only if EnableReplacement is specified for UpdateInfoOptions.'."\n" + .'>'."\n" + .'> - This parameter is applicable only to ROS stacks.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that may cause a replacement update if it is modified. When you update a stack, if the template remains unchanged, changing the value of this parameter may cause a replacement update. This depends on the new value.', 'type' => 'string', 'example' => 'param6', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParametersUncertainlyCauseReplacementIfModified' => [ + 'description' => 'The list of parameters that cause replacement updates under uncertain conditions if they are modified.'."\n" + ."\n" + .'> - This parameter is returned only if EnableReplacement is specified for UpdateInfoOptions.'."\n" + .'>'."\n" + .'> - This parameter is applicable only to ROS stacks.', + 'type' => 'array', + 'items' => ['description' => 'A parameter that causes a replacement update under uncertain conditions if it is modified. When you update a stack, if the template remains unchanged, whether a replacement update is caused by a change to the value of this parameter can be determined only at runtime.', 'type' => 'string', 'example' => 'param7', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ResourceTypes\\": [\\n \\"[\\\\\\"ALIYUN::ECS::Instance\\\\\\",\\\\\\"ALIYUN::RDS::Instance\\\\\\"]\\"\\n ],\\n \\"RequestId\\": \\"EA00860C-ECAF-5253-A1F9-8198695A7157\\",\\n \\"ResourceTypeSummaries\\": [\\n {\\n \\"Provider\\": \\"ROS\\",\\n \\"EntityType\\": \\"Module\\",\\n \\"ResourceType\\": \\"MODULE::MyOrganization::MyService::MyUsecase\\",\\n \\"DefaultVersionId\\": \\"v1\\",\\n \\"LatestVersionId\\": \\"v10\\",\\n \\"CreateTime\\": \\"2023-02-24T08:25:21\\",\\n \\"UpdateTime\\": \\"2023-02-24T08:25:21\\",\\n \\"Description\\": \\"It is a demo.\\",\\n \\"TotalVersionCount\\": 10\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListResourceTypesResponse>\\n <ResourceTypes>ALIYUN::ACM::Configuration</ResourceTypes>\\n <ResourceTypes>ALIYUN::ACM::Namespace</ResourceTypes>\\n <ResourceTypes>ALIYUN::ACTIONTRAIL::Trail</ResourceTypes>\\n <ResourceTypes>ALIYUN::ACTIONTRAIL::TrailLogging</ResourceTypes>\\n <ResourceTypes>ALIYUN::ADB::DBCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::ALB::BackendServerAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::ALB::Listener</ResourceTypes>\\n <ResourceTypes>ALIYUN::ALB::LoadBalancer</ResourceTypes>\\n <ResourceTypes>ALIYUN::ALB::Rule</ResourceTypes>\\n <ResourceTypes>ALIYUN::ALB::ServerGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::ARMS::AlertContact</ResourceTypes>\\n <ResourceTypes>ALIYUN::ARMS::AlertContactGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::ARMS::RetcodeApp</ResourceTypes>\\n <ResourceTypes>ALIYUN::ASM::ServiceMesh</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::Api</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::App</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::Authorization</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::CustomDomain</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::Deployment</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::Group</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::LogConfig</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::Plugin</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::PluginAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::Signature</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::SignatureBinding</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::StageConfig</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::TrafficControl</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::TrafficControlBinding</ResourceTypes>\\n <ResourceTypes>ALIYUN::ApiGateway::VpcAccessConfig</ResourceTypes>\\n <ResourceTypes>ALIYUN::BSS::ResourcePackage</ResourceTypes>\\n <ResourceTypes>ALIYUN::BSS::WaitOrder</ResourceTypes>\\n <ResourceTypes>ALIYUN::BrainIndustrial::PidOrganization</ResourceTypes>\\n <ResourceTypes>ALIYUN::BrainIndustrial::PidProject</ResourceTypes>\\n <ResourceTypes>ALIYUN::CAS::Certificate</ResourceTypes>\\n <ResourceTypes>ALIYUN::CDDC::DedicatedHost</ResourceTypes>\\n <ResourceTypes>ALIYUN::CDDC::DedicatedHostGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::CDN::Domain</ResourceTypes>\\n <ResourceTypes>ALIYUN::CDN::DomainConfig</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::CenBandwidthLimit</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::CenBandwidthPackage</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::CenBandwidthPackageAssociation</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::CenInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::CenInstanceAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::CenRouteMap</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::CenRouteService</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::CenVbrHealthCheck</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::RouteEntry</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::TransitRouter</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::TransitRouterPeerAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::TransitRouterRouteEntry</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::TransitRouterRouteTable</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::TransitRouterRouteTableAssociation</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::TransitRouterRouteTablePropagation</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::TransitRouterVbrAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::CEN::TransitRouterVpcAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::CLOUDFW::AddressBook</ResourceTypes>\\n <ResourceTypes>ALIYUN::CLOUDFW::ControlPolicy</ResourceTypes>\\n <ResourceTypes>ALIYUN::CLOUDFW::VpcFirewallControlPolicy</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::Contact</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::ContactGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::DynamicTagGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::EventRule</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::EventRuleTargets</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::GroupMetricRule</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::MetricRuleTargets</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::MetricRuleTemplate</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::MonitorGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::MonitorGroupInstances</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::MonitoringAgentProcess</ResourceTypes>\\n <ResourceTypes>ALIYUN::CMS::SiteMonitor</ResourceTypes>\\n <ResourceTypes>ALIYUN::CR::InstanceEndpointAclPolicy</ResourceTypes>\\n <ResourceTypes>ALIYUN::CR::Namespace</ResourceTypes>\\n <ResourceTypes>ALIYUN::CR::Repository</ResourceTypes>\\n <ResourceTypes>ALIYUN::CR::UserInfo</ResourceTypes>\\n <ResourceTypes>ALIYUN::CS::AnyCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::CS::ClusterNodePool</ResourceTypes>\\n <ResourceTypes>ALIYUN::CS::KubernetesCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::CS::ManagedEdgeKubernetesCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::CS::ManagedKubernetesCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::CS::ServerlessKubernetesCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::ClickHouse::DBCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::Config::CompliancePack</ResourceTypes>\\n <ResourceTypes>ALIYUN::Config::DeliveryChannel</ResourceTypes>\\n <ResourceTypes>ALIYUN::Config::Rule</ResourceTypes>\\n <ResourceTypes>ALIYUN::DATAHUB::Project</ResourceTypes>\\n <ResourceTypes>ALIYUN::DATAHUB::Topic</ResourceTypes>\\n <ResourceTypes>ALIYUN::DBS::RestoreTask</ResourceTypes>\\n <ResourceTypes>ALIYUN::DMS::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::DMS::User</ResourceTypes>\\n <ResourceTypes>ALIYUN::DNS::Domain</ResourceTypes>\\n <ResourceTypes>ALIYUN::DNS::DomainGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::DNS::DomainRecord</ResourceTypes>\\n <ResourceTypes>ALIYUN::DRDS::DrdsDB</ResourceTypes>\\n <ResourceTypes>ALIYUN::DRDS::DrdsInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::DTS::ConsumerGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::DTS::MigrationJob</ResourceTypes>\\n <ResourceTypes>ALIYUN::DTS::SubscriptionInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::DTS::SynchronizationJob</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECI::ContainerGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECI::ImageCache</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::AssignIpv6Addresses</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::AssignPrivateIpAddresses</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::AutoProvisioningGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::AutoSnapshotPolicy</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::Command</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::CopyImage</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::CustomImage</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::DedicatedHost</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::DeploymentSet</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::Disk</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::DiskAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::ForwardEntry</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::HpcCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::InstanceClone</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::InstanceGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::InstanceGroupClone</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::Invocation</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::JoinSecurityGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::LaunchTemplate</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::NetworkInterface</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::NetworkInterfaceAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::NetworkInterfacePermission</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::Route</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::RunCommand</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::SNatEntry</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::SSHKeyPair</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::SSHKeyPairAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::SecurityGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::SecurityGroupClone</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::SecurityGroupEgress</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::SecurityGroupIngress</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::Snapshot</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::VPC</ResourceTypes>\\n <ResourceTypes>ALIYUN::ECS::VSwitch</ResourceTypes>\\n <ResourceTypes>ALIYUN::EDAS::Application</ResourceTypes>\\n <ResourceTypes>ALIYUN::EDAS::Cluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::EDAS::ClusterMember</ResourceTypes>\\n <ResourceTypes>ALIYUN::EDAS::DeployGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::EDAS::K8sApplication</ResourceTypes>\\n <ResourceTypes>ALIYUN::EDAS::K8sCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::EDAS::UserDefineRegion</ResourceTypes>\\n <ResourceTypes>ALIYUN::EHPC::Cluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::EMR::Cluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::EMR::ClusterServiceConfigs</ResourceTypes>\\n <ResourceTypes>ALIYUN::ENS::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::ESS::AlarmTask</ResourceTypes>\\n <ResourceTypes>ALIYUN::ESS::AlarmTaskEnable</ResourceTypes>\\n <ResourceTypes>ALIYUN::ESS::LifecycleHook</ResourceTypes>\\n <ResourceTypes>ALIYUN::ESS::ScalingConfiguration</ResourceTypes>\\n <ResourceTypes>ALIYUN::ESS::ScalingGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::ESS::ScalingGroupEnable</ResourceTypes>\\n <ResourceTypes>ALIYUN::ESS::ScalingRule</ResourceTypes>\\n <ResourceTypes>ALIYUN::ESS::ScheduledTask</ResourceTypes>\\n <ResourceTypes>ALIYUN::ElasticSearch::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::FC::Alias</ResourceTypes>\\n <ResourceTypes>ALIYUN::FC::CustomDomain</ResourceTypes>\\n <ResourceTypes>ALIYUN::FC::Function</ResourceTypes>\\n <ResourceTypes>ALIYUN::FC::FunctionInvoker</ResourceTypes>\\n <ResourceTypes>ALIYUN::FC::Layer</ResourceTypes>\\n <ResourceTypes>ALIYUN::FC::ProvisionConfig</ResourceTypes>\\n <ResourceTypes>ALIYUN::FC::Service</ResourceTypes>\\n <ResourceTypes>ALIYUN::FC::Trigger</ResourceTypes>\\n <ResourceTypes>ALIYUN::FC::Version</ResourceTypes>\\n <ResourceTypes>ALIYUN::FNF::Flow</ResourceTypes>\\n <ResourceTypes>ALIYUN::FNF::Schedule</ResourceTypes>\\n <ResourceTypes>ALIYUN::FOAS::Cluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::FOAS::Project</ResourceTypes>\\n <ResourceTypes>ALIYUN::GA::Accelerator</ResourceTypes>\\n <ResourceTypes>ALIYUN::GA::BandwidthPackage</ResourceTypes>\\n <ResourceTypes>ALIYUN::GA::BandwidthPackageAcceleratorAddition</ResourceTypes>\\n <ResourceTypes>ALIYUN::GA::EndpointGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::GA::IpSets</ResourceTypes>\\n <ResourceTypes>ALIYUN::GA::Listener</ResourceTypes>\\n <ResourceTypes>ALIYUN::GPDB::DBInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::GPDB::ElasticDBInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::GPDB::InstancePublicConnection</ResourceTypes>\\n <ResourceTypes>ALIYUN::GWS::Cluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::GWS::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::HBR::BackupClients</ResourceTypes>\\n <ResourceTypes>ALIYUN::HBR::DbAgent</ResourceTypes>\\n <ResourceTypes>ALIYUN::HBR::DbPlan</ResourceTypes>\\n <ResourceTypes>ALIYUN::HBR::DbVault</ResourceTypes>\\n <ResourceTypes>ALIYUN::HBR::RestoreJob</ResourceTypes>\\n <ResourceTypes>ALIYUN::IOT::Device</ResourceTypes>\\n <ResourceTypes>ALIYUN::IOT::DeviceGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::IOT::Product</ResourceTypes>\\n <ResourceTypes>ALIYUN::IOT::ProductTopic</ResourceTypes>\\n <ResourceTypes>ALIYUN::IOT::Rule</ResourceTypes>\\n <ResourceTypes>ALIYUN::IOT::RuleAction</ResourceTypes>\\n <ResourceTypes>ALIYUN::KAFKA::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::KAFKA::Topic</ResourceTypes>\\n <ResourceTypes>ALIYUN::KMS::Alias</ResourceTypes>\\n <ResourceTypes>ALIYUN::KMS::Key</ResourceTypes>\\n <ResourceTypes>ALIYUN::KMS::Secret</ResourceTypes>\\n <ResourceTypes>ALIYUN::MNS::Queue</ResourceTypes>\\n <ResourceTypes>ALIYUN::MNS::Subscription</ResourceTypes>\\n <ResourceTypes>ALIYUN::MNS::Topic</ResourceTypes>\\n <ResourceTypes>ALIYUN::MONGODB::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::MONGODB::ServerlessInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::MONGODB::ShardingInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::MSE::Cluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::MSE::Gateway</ResourceTypes>\\n <ResourceTypes>ALIYUN::MarketPlace::Order</ResourceTypes>\\n <ResourceTypes>ALIYUN::MaxCompute::Table</ResourceTypes>\\n <ResourceTypes>ALIYUN::Memcache::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::Memcache::Whitelist</ResourceTypes>\\n <ResourceTypes>ALIYUN::NAS::AccessGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::NAS::AccessRule</ResourceTypes>\\n <ResourceTypes>ALIYUN::NAS::FileSystem</ResourceTypes>\\n <ResourceTypes>ALIYUN::NAS::MountTarget</ResourceTypes>\\n <ResourceTypes>ALIYUN::OOS::Execution</ResourceTypes>\\n <ResourceTypes>ALIYUN::OOS::Parameter</ResourceTypes>\\n <ResourceTypes>ALIYUN::OOS::Template</ResourceTypes>\\n <ResourceTypes>ALIYUN::OSS::Bucket</ResourceTypes>\\n <ResourceTypes>ALIYUN::OTS::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::OTS::SearchIndex</ResourceTypes>\\n <ResourceTypes>ALIYUN::OTS::Table</ResourceTypes>\\n <ResourceTypes>ALIYUN::OTS::VpcBinder</ResourceTypes>\\n <ResourceTypes>ALIYUN::POLARDB::Account</ResourceTypes>\\n <ResourceTypes>ALIYUN::POLARDB::AccountPrivilege</ResourceTypes>\\n <ResourceTypes>ALIYUN::POLARDB::DBCluster</ResourceTypes>\\n <ResourceTypes>ALIYUN::POLARDB::DBClusterAccessWhiteList</ResourceTypes>\\n <ResourceTypes>ALIYUN::POLARDB::DBClusterEndpoint</ResourceTypes>\\n <ResourceTypes>ALIYUN::POLARDB::DBClusterEndpointAddress</ResourceTypes>\\n <ResourceTypes>ALIYUN::POLARDB::DBInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::POLARDB::DBNodes</ResourceTypes>\\n <ResourceTypes>ALIYUN::PVTZ::UserVpcAuthorization</ResourceTypes>\\n <ResourceTypes>ALIYUN::PVTZ::Zone</ResourceTypes>\\n <ResourceTypes>ALIYUN::PVTZ::ZoneRecord</ResourceTypes>\\n <ResourceTypes>ALIYUN::PVTZ::ZoneVpcBinder</ResourceTypes>\\n <ResourceTypes>ALIYUN::PrivateLink::VpcEndpoint</ResourceTypes>\\n <ResourceTypes>ALIYUN::PrivateLink::VpcEndpointService</ResourceTypes>\\n <ResourceTypes>ALIYUN::PrivateLink::VpcEndpointServiceAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::AccessKey</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::AttachPolicyToRole</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::AttachPolicyToUser</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::Group</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::ManagedPolicy</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::RamAccountAlias</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::Role</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::SAMLProvider</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::SecurityPreference</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::User</ResourceTypes>\\n <ResourceTypes>ALIYUN::RAM::UserToGroupAddition</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::ADInfo</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::Account</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::AccountPrivilege</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::DBInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::DBInstanceClone</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::DBInstanceParameterGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::DBInstanceSecurityIps</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::Database</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::PrepayDBInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::RDS::ReadOnlyDBInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::REDIS::Account</ResourceTypes>\\n <ResourceTypes>ALIYUN::REDIS::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::REDIS::PrepayInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::REDIS::Whitelist</ResourceTypes>\\n <ResourceTypes>ALIYUN::ROCKETMQ::Group</ResourceTypes>\\n <ResourceTypes>ALIYUN::ROCKETMQ::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::ROCKETMQ::Topic</ResourceTypes>\\n <ResourceTypes>ALIYUN::ROS::AutoEnableService</ResourceTypes>\\n <ResourceTypes>ALIYUN::ROS::CustomResource</ResourceTypes>\\n <ResourceTypes>ALIYUN::ROS::Sleep</ResourceTypes>\\n <ResourceTypes>ALIYUN::ROS::Stack</ResourceTypes>\\n <ResourceTypes>ALIYUN::ROS::WaitCondition</ResourceTypes>\\n <ResourceTypes>ALIYUN::ROS::WaitConditionHandle</ResourceTypes>\\n <ResourceTypes>ALIYUN::ResourceManager::Account</ResourceTypes>\\n <ResourceTypes>ALIYUN::ResourceManager::ControlPolicy</ResourceTypes>\\n <ResourceTypes>ALIYUN::ResourceManager::ControlPolicyAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::ResourceManager::Folder</ResourceTypes>\\n <ResourceTypes>ALIYUN::ResourceManager::Handshake</ResourceTypes>\\n <ResourceTypes>ALIYUN::ResourceManager::PolicyAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::ResourceManager::ResourceDirectory</ResourceTypes>\\n <ResourceTypes>ALIYUN::ResourceManager::ResourceGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::ResourceManager::ResourceShare</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAE::Application</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAE::Namespace</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAE::SlbBinding</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAG::ACL</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAG::ACLAssociation</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAG::ACLRule</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAG::CloudConnectNetwork</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAG::GrantCcnToCen</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAG::SmartAccessGateway</ResourceTypes>\\n <ResourceTypes>ALIYUN::SAG::SmartAccessGatewayBinding</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::AccessControl</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::BackendServerAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::BackendServerToVServerGroupAddition</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::Certificate</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::DomainExtension</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::Listener</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::LoadBalancer</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::LoadBalancerClone</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::MasterSlaveServerGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::Rule</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLB::VServerGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::Alert</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::ApplyConfigToMachineGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::Audit</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::Etl</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::Index</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::Logstore</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::LogtailConfig</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::MachineGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::Project</ResourceTypes>\\n <ResourceTypes>ALIYUN::SLS::Savedsearch</ResourceTypes>\\n <ResourceTypes>ALIYUN::TSDB::HiTSDBInstance</ResourceTypes>\\n <ResourceTypes>ALIYUN::TSDB::InfluxDBDatabase</ResourceTypes>\\n <ResourceTypes>ALIYUN::TSDB::InfluxDBUser</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::AnycastEIP</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::AnycastEIPAssociation</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::BgpGroup</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::BgpNetwork</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::BgpPeer</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::CommonBandwidthPackage</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::CommonBandwidthPackageIp</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::CustomerGateway</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::DhcpOptionsSet</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::DhcpOptionsSetAttachment</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::EIP</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::EIPAssociation</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::EIPSegment</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::FlowLog</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::GrantInstanceToCen</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::IpsecServer</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::Ipv6Gateway</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::Ipv6InternetBandwidth</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::NatGateway</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::NetworkAcl</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::NetworkAclAssociation</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::PeeringRouterInterfaceBinding</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::PeeringRouterInterfaceConnection</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::RouteTable</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::RouteTableAssociation</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::RouterInterface</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::SnatEntry</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::SslVpnClientCert</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::SslVpnServer</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::VirtualBorderRouter</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::VpnConnection</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::VpnGateway</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::VpnPbrRouteEntry</ResourceTypes>\\n <ResourceTypes>ALIYUN::VPC::VpnRouteEntry</ResourceTypes>\\n <ResourceTypes>ALIYUN::VS::Group</ResourceTypes>\\n <ResourceTypes>ALIYUN::WAF::AclRule</ResourceTypes>\\n <ResourceTypes>ALIYUN::WAF::Domain</ResourceTypes>\\n <ResourceTypes>ALIYUN::WAF::DomainConfig</ResourceTypes>\\n <ResourceTypes>ALIYUN::WAF::Instance</ResourceTypes>\\n <ResourceTypes>ALIYUN::WAF::LogServiceEnable</ResourceTypes>\\n <ResourceTypes>ALIYUN::WAF::WafSwitch</ResourceTypes>\\n <RequestId>EA00860C-ECAF-5253-A1F9-8198695A7157</RequestId>\\n</ListResourceTypesResponse>","errorExample":""}]', - 'title' => 'ListResourceTypes', - 'description' => 'For more information about errors common to all operations, see [Common error codes](/help/en/resource-orchestration-service/latest/common-error-codes).', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => 'The operation that you want to perform. Set the value to ListResourceTypes.'."\n", + 'title' => 'ValidateTemplate', + 'summary' => 'Validates a template that is used to create a stack by specifying template URL or body.', + 'description' => 'This API operation validates only templates and does not involve user data. RAM authentication is not required.'."\n" + ."\n" + .'This topic provides an example of how to validate a stack template. In this example, the `TemplateURL` of the template file is `oss://ros/template/demo`.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => '| 错误代码 | 错误信息 | HTTP状态码 | 描述 |'."\n" + .'| ------------- | ------------- | ------------- | ------------- |'."\n" + .'| InvalidTemplate |{reason}. | 400 |模板不正确,reason为具体原因。 |'."\n" + .'| IInvalidParameter |{reason}. | 400 |模板参数不正确,reason为具体原因。 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ValidateTemplate'], + ], + 'product' => ['code' => 'ros', 'title' => '资源编排'], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Description\\": \\"No description\\",\\n \\"Parameters\\": [\\n [\\n {\\n \\"Description\\": \\"\\",\\n \\"Label\\": \\"param_integer\\",\\n \\"NoEcho\\": \\"false\\",\\n \\"ParameterKey\\": \\"param_integer\\",\\n \\"Type\\": \\"Number\\"\\n },\\n {\\n \\"Description\\": \\"\\",\\n \\"Label\\": \\"param_float\\",\\n \\"NoEcho\\": \\"false\\",\\n \\"ParameterKey\\": \\"param_float\\",\\n \\"Type\\": \\"Number\\"\\n }\\n ]\\n ],\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"Outputs\\": [\\n {\\n \\"OutputKey\\": \\"instance_id\\",\\n \\"Description\\": \\"The instance ID of my ECS.\\",\\n \\"Label\\": \\"Instance ID\\"\\n }\\n ],\\n \\"ResourceTypes\\": {\\n \\"Resources\\": [\\n \\"ALIYUN::ECS::InstanceGroup\\"\\n ],\\n \\"DataSources\\": [\\n \\"DATASOURCE::VPC::Vpcs\\"\\n ]\\n },\\n \\"Resources\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::InstanceGroup\\",\\n \\"ResourcePath\\": \\"server\\",\\n \\"LogicalResourceIdPattern\\": \\"server\\"\\n }\\n ],\\n \\"UpdateInfo\\": {\\n \\"ParametersAllowedToBeModified\\": [\\n \\"param1\\"\\n ],\\n \\"ParametersCauseInterruptionIfModified\\": [\\n \\"param1\\"\\n ],\\n \\"ParametersConditionallyAllowedToBeModified\\": [\\n \\"param2\\"\\n ],\\n \\"ParametersConditionallyCauseInterruptionIfModified\\": [\\n \\"param2\\"\\n ],\\n \\"ParametersNotAllowedToBeModified\\": [\\n \\"param3\\"\\n ],\\n \\"ParametersUncertainlyAllowedToBeModified\\": [\\n \\"param4\\"\\n ],\\n \\"ParametersUncertainlyCauseInterruptionIfModified\\": [\\n \\"param4\\"\\n ],\\n \\"ParametersCauseReplacementIfModified\\": [\\n \\"param5\\"\\n ],\\n \\"ParametersConditionallyCauseReplacementIfModified\\": [\\n \\"param6\\"\\n ],\\n \\"ParametersUncertainlyCauseReplacementIfModified\\": [\\n \\"param7\\"\\n ]\\n }\\n}","type":"json"}]', ], - 'GetResourceTypeTemplate' => [ - 'summary' => 'Generates a sample template based on a resource type.', - 'methods' => [ - 'post', - 'get', + ], + 'endpoints' => [ + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'na-south-1', 'regionName' => 'Mexico', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-southeast-1', 'regionName' => 'US(Atlanta)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros-intl.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'ros.aliyuncs.com', 'endpoint' => 'ros.aliyuncs.com', 'vpc' => 'ros.vpc-proxy.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'AccountTypeNotSupported', 'message' => 'The specified account type is not supported.', 'http_code' => 403, 'description' => 'The account type is not supported.'], + ['code' => 'ActionInProgress', 'message' => 'The specified stack {name} has an action {action} in progress.', 'http_code' => 400, 'description' => 'The stack is being modified. name indicates the stack name or ID. action indicates the operation.'], + ['code' => 'AssumeRoleFailure', 'message' => 'Fail to assume role %s: %s', 'http_code' => 400, 'description' => 'Failed to assume the role.'], + ['code' => 'ChangeSetExists', 'message' => 'The ChangeSet {name} of Stack {stack} already exists.', 'http_code' => 409, 'description' => 'The name is used by an existing change set. name indicates the change set name. stack indicates the name or ID of the associated stack.'], + ['code' => 'ChangeSetNotFound', 'message' => 'The change set {ID} does not exist.', 'http_code' => 404, 'description' => 'The change set does not exist. ID indicates the change set ID.'], + ['code' => 'ChangeSetNotFound', 'message' => 'The change set {name} of stack {stack} does not exist.', 'http_code' => 404, 'description' => 'The change set does not exist. name indicates the name or ID of the change set. stack indicates the name or ID of the stack.'], + ['code' => 'CircularDependency', 'message' => 'The template contains circular dependency. {reason}.', 'http_code' => 400, 'description' => 'The template contains circular references. reason indicates the cause.'], + ['code' => 'Forbidden', 'message' => 'You are not authorized to complete this action.', 'http_code' => 403, 'description' => 'You are not authorized to complete this action.'], + ['code' => 'GetTemplateRecommendParametersError', 'message' => '%(msg)s', 'http_code' => 400, 'description' => ''], + ['code' => 'Invalid', 'message' => 'Data supplied was not valid: {reason}', 'http_code' => 400, 'description' => 'A data error occurred. reason indicates the cause of the error.'], + ['code' => 'InvalidIdempotenceParameter', 'message' => 'The specified parameters are different from before.', 'http_code' => 400, 'description' => 'The tokens that are used to ensure the idempotence are the same, but the parameters are different.'], + ['code' => 'InvalidOperation.DeletionProtection', 'message' => 'Fail to delete %(resource_type)s (%(resource_id)s), as deletion protection is enabled.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter {name} is invalid. {reason}.', 'http_code' => 400, 'description' => 'Invalid parameter. name indicates the parameter name. reason indicates the cause.'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter {name} is invalid.', 'http_code' => 400, 'description' => 'Invalid parameter. name indicates the parameter name.'], + ['code' => 'InvalidParameter.Format', 'message' => 'Specified parameter format is not valid.', 'http_code' => 400, 'description' => 'The return value is in the incorrect format. The return value must be in the XML or JSON format. The default format is XML.'], + ['code' => 'InvalidSchema', 'message' => '{reason}.', 'http_code' => 400, 'description' => 'The template format is incorrect. reason indicates the cause.'], + ['code' => 'InvalidTemplate', 'message' => '%(reason)s', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidTemplateAttribute', 'message' => 'The referenced attribute {resource} {name} is invalid.', 'http_code' => 400, 'description' => 'The template contains an incorrect resource property (output) reference. resource indicates the resource name. name indicates the property name.'], + ['code' => 'InvalidTemplatePropertyType', 'message' => 'The specified value type of {resource} {section} is invalid.', 'http_code' => 400, 'description' => 'The field type of a resource defined in the template is incorrect. resource indicates the resource name. section indicates the field name.'], + ['code' => 'InvalidTemplateReference', 'message' => 'The specified reference "{name}" (in {referencer}) is incorrect.', 'http_code' => 400, 'description' => 'The template contains an incorrect reference. name indicates the name of the referenced object. referencer indicates the entity that references the object.'], + ['code' => 'InvalidTemplateSection', 'message' => 'The template contains invalid fields: {section}.', 'http_code' => 400, 'description' => 'The template contains an invalid field. section indicates the field name.'], + ['code' => 'InvalidTemplateVersion', 'message' => 'The template version is invalid. {reason}.', 'http_code' => 400, 'description' => 'The template version is incorrect. reason indicates the cause.'], + ['code' => 'InvalidValue', 'message' => '{reason}.', 'http_code' => 400, 'description' => 'Invalid value. reason indicates the cause.'], + ['code' => 'LastTokenProcessing', 'message' => 'The last token request is being processed. Please try again later.', 'http_code' => 400, 'description' => 'A token request is being processed. Try again later.'], + ['code' => 'MissingParameter', 'message' => 'You must specify the parameter {name}. {reason}.', 'http_code' => 400, 'description' => 'A parameter is missed. name indicates the parameter name. reason indicates the cause.'], + ['code' => 'MissingParameter', 'message' => 'One of the parameters {names} must be specified.', 'http_code' => 400, 'description' => 'Parameters are missed. You must specify one of the parameters. names indicates the list of the parameters.'], + ['code' => 'MissingParameter', 'message' => 'You must specify the parameter {name}', 'http_code' => 400, 'description' => 'A parameter is missed. name indicates the parameter name.'], + ['code' => 'MultipleParameter', 'message' => 'Only one of the input parameters {names} can be specified.', 'http_code' => 400, 'description' => 'Excess parameters are specified. You can specify only one parameter. names indicates the list of related parameters.'], + ['code' => 'NotFound', 'message' => '{reason}.', 'http_code' => 404, 'description' => 'The request contains content that does not exist. reason indicates the cause.'], + ['code' => 'NotSupported', 'message' => '{feature} is not supported.', 'http_code' => 400, 'description' => 'The feature or operation is not supported.'], + ['code' => 'RequestLimitExceeded', 'message' => 'The request exceeds the limit: {reason}.', 'http_code' => 400, 'description' => 'The request contains content that exceeds the limit. reason indicates the cause. Some limits can be changed if you adjust the quotas.'], + ['code' => 'ResourceGroupIdNotFound', 'message' => 'The ResourceGroupId (%s) could not be found in (%s).', 'http_code' => 400, 'description' => 'The resource group ID does not exist.'], + ['code' => 'ResourceNoStock', 'message' => 'The creation(%(creation_tip)s) of resource %(resource_type)s is not in stock.', 'http_code' => 400, 'description' => ''], + ['code' => 'ResourceNotAvailable', 'message' => 'The specified resource {name} is unavailable.', 'http_code' => 404, 'description' => 'A resource is unavailable. name indicates the resource name.'], + ['code' => 'ResourceNotFound', 'message' => 'The specified resource {name} does not exist in stack {stack}.', 'http_code' => 404, 'description' => 'A resource does not exist in the stack. name indicates the resource name. stack indicates the stack name or ID.'], + ['code' => 'ResourceQuotaExceeded', 'message' => 'The creation of resource %(resource_type)s exceeds the quota. Details: creation(%(creation)s) + usage(%(usage)s) > quota(%(limitation)s).', 'http_code' => 400, 'description' => ''], + ['code' => 'ResourceQuotaValidationFailed', 'message' => '%(reason)s', 'http_code' => 400, 'description' => ''], + ['code' => 'ResourceTypeNotFound', 'message' => 'The resource type {name} does not exist.', 'http_code' => 404, 'description' => 'The resource type does not exist. name indicates the name of the resource type.'], + ['code' => 'ServiceManagedPermissionAccountNotSupported', 'message' => 'For safety reason, the DeploymentTargets of StackGroup with SERVICE_MANAGED permission model can not contain current account.', 'http_code' => 400, 'description' => ''], + ['code' => 'ServiceManagedPermissionServiceAccessEnabledRequired', 'message' => 'You must enable service access to operate a service managed StackGroup.', 'http_code' => 400, 'description' => ''], + ['code' => 'ServiceProvisionFetchingFailed', 'message' => 'Failed to fetch role %(role)s of service %s. Reason: %s.', 'http_code' => 400, 'description' => 'Failed to query the role of the specified service.'], + ['code' => 'StackDriftDetectionNotAvailable', 'message' => 'There is no complete drift detection for stack (%s).', 'http_code' => 400, 'description' => 'No drift detection is complete on the specified stack.'], + ['code' => 'StackExists', 'message' => 'The specified stack {name} already exists.', 'http_code' => 409, 'description' => 'The name is used by an existing stack. name indicates the stack name.'], + ['code' => 'StackGroupExists', 'message' => 'The StackGroup ({name}) already exists.', 'http_code' => 409, 'description' => 'The name is used by an existing stack group. name indicates the stack group name.'], + ['code' => 'StackGroupNotEmpty', 'message' => 'The StackGroup ({name}) is not empty.', 'http_code' => 400, 'description' => 'The stack group contains a stack instance. name indicates the stack group name.'], + ['code' => 'StackGroupNotFound', 'message' => 'The StackGroup ({name}) could not be found.', 'http_code' => 404, 'description' => 'The stack group does not exist. name indicates the stack group name or ID.'], + ['code' => 'StackGroupOperationInProgress', 'message' => 'Another Operation on StackGroup ({name}) is in progress.', 'http_code' => 409, 'description' => 'An operation is being performed on the stack group. name indicates the stack group name.'], + ['code' => 'StackGroupOperationNotFound', 'message' => 'The StackGroupOperation ({OperationId}) could not be found.', 'http_code' => 404, 'description' => 'The stack group operation does not exist. OperationId indicates the operation ID.'], + ['code' => 'StackInstanceExists', 'message' => 'The StackInstance ({instance}) already exists.', 'http_code' => 409, 'description' => 'The stack group contains a stack instance within the specified execution account and region. instance indicates the stack instance within the specified execution account and region.'], + ['code' => 'StackInstanceNotFound', 'message' => 'The StackInstance could not be found.', 'http_code' => 404, 'description' => 'The stack instance does not exist.'], + ['code' => 'StackNotFound', 'message' => 'The specified stack {name} does not exist.', 'http_code' => 404, 'description' => 'The stack does not exist. name indicates the stack name or ID.'], + ['code' => 'StackPolicyValidationFailed', 'message' => 'Failed to be verified by stack policy. {reason}.', 'http_code' => 400, 'description' => 'Failed to pass the stack policy verification. reason indicates the cause.'], + ['code' => 'StackValidationFailed', 'message' => '{reason}.', 'http_code' => 400, 'description' => 'Failed to pass the stack verification. reason indicates the cause.'], + ['code' => 'TemplateBeingShared', 'message' => 'The Template %s is being shared, cancel all sharing before deletion.', 'http_code' => 400, 'description' => 'The template is being shared and cannot be deleted.'], + ['code' => 'TemplateNotFound', 'message' => 'The specified template {ID} does not exist.', 'http_code' => 404, 'description' => 'The template does not exist.'], + ['code' => 'TemplateScratchNotFound', 'message' => 'The TemplateScratch %s could not be found.', 'http_code' => 404, 'description' => 'The specified scenario does not exist.'], + ['code' => 'TemplateScratchResourceEmpty', 'message' => 'No resources were found for template scratch.', 'http_code' => 400, 'description' => ''], + ['code' => 'TerraformStackNotSupported', 'message' => 'Terraform stack does not support %s.', 'http_code' => 400, 'description' => 'Terraform stacks do not support the specified feature.'], + ['code' => 'UnknownError', 'message' => 'An error occurred while processing your request.', 'http_code' => 400, 'description' => 'An unknown error occurred on the client. The error is not caused by the server.'], + ['code' => 'UnknownUserParameter', 'message' => 'The specified parameter {name} is not defined in the template.', 'http_code' => 400, 'description' => 'The passed parameter is not defined in the template. name indicates the parameter name.'], + ['code' => 'UserParameterMissing', 'message' => 'The parameter {name} is not provided.', 'http_code' => 400, 'description' => 'The parameter is defined in the template, but no value is passed. name indicates the parameter name.'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackDriftDetectionStatus'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ['threshold' => '5', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDiagnostic'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetChangeSet'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveResourceGroup'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackGroupOperations'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ValidateTemplate'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetFeatureDetails'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackResource'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTemplateSummary'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateStack'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTemplateScratches'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ImportStacksToStackGroup'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetectStackGroupDrift'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackGroupOperation'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTemplateVersions'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateStack'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackGroups'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteStack'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ContinueCreateStack'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetResourceType'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTemplateEstimateCost'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateStackTemplateByResources'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateStackInstances'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'PreviewStack'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTemplateParameterConstraints'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateChangeSet'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetStackPolicy'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateStackInstances'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTemplate'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackEvents'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteStackGroup'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetectStackDrift'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetResourceType'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateStackGroup'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListDiagnostics'], + ['threshold' => '5', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDiagnostic'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GenerateTemplatePolicy'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTemplateScratch'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAITask'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackResourceDrifts'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelUpdateStack'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagKeys'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackResources'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListChangeSets'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackInstance'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackGroup'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStacks'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetTemplatePermission'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTemplate'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagValues'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTemplate'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTemplates'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetTemplateScratch'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RegisterResourceType'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListResourceTypes'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListResourceTypeVersions'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTemplateScratch'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteStackInstances'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelStackOperation'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAITasks'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListResourceTypeRegistrations'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetResourceTypeTemplate'], + ['threshold' => '5', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAITask'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetDeletionProtection'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTemplate'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackGroupOperationResults'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetDiagnostic'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackInstances'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetectStackResourceDrift'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GenerateTemplateByScratch'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteChangeSet'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SignalResource'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecuteChangeSet'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetServiceProvisions'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStack'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAITaskEvents'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateStackGroup'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetStackPolicy'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListStackOperationRisks'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTemplateScratch'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeregisterResourceType'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopStackGroupOperation'], + ], + 'product' => ['code' => 'ros', 'title' => 'ROS'], + ], + 'ram' => [ + 'productCode' => 'ROS', + 'productName' => 'Resource Orchestration Service', + 'ramCodes' => ['ros'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'GetStackPolicy', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'ListStackInstances', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListStackGroupOperationResults', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackGroupOperationResults', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroupOperation', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroupoperation/{#OperationId}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'ListTagResources', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', + 'ramAction' => [ + 'action' => 'ros:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#TemplateScratchId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ALIYUN::ECS::VPC', + [ + 'apiName' => 'GetStackGroup', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], ], ], - [ - 'name' => 'VersionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version ID. If you want to query a specific version of the resource type, you must specify this parameter. If you do not specify this parameter, only the resource type is queried.'."\n" - ."\n" - .'> This parameter is supported only for modules.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', + ], + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#TemplateScratchId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '87F54B2B-AEF0-4C33-A72A-3F8856A575E9', - ], - 'TemplateBody' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 51,200 bytes in length. For more information, see [Template syntax](~~28857~~).'."\n" - ."\n" - .'> We recommend that use TemplateContent instead of TemplateBody.'."\n", - 'type' => 'object', - 'example' => '{"ROSTemplateFormatVersion": "2015-09-01"}', - ], - 'TemplateContent' => [ - 'description' => 'The JSON-formatted structure of the template body. For more information, see [Template syntax](~~28857~~).'."\n", - 'type' => 'string', - 'example' => '{'."\n" - .' "ROSTemplateFormatVersion": "2015-09-01"'."\n" - .'}', - ], - ], - 'description' => '', + [ + 'apiName' => 'UpdateStack', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"87F54B2B-AEF0-4C33-A72A-3F8856A575E9\\",\\n \\"TemplateBody\\": {\\n \\"ROSTemplateFormatVersion\\": \\"2015-09-01\\"\\n },\\n \\"TemplateContent\\": \\"{\\\\n \\\\\\"ROSTemplateFormatVersion\\\\\\": \\\\\\"2015-09-01\\\\\\"\\\\n}\\"\\n}","errorExample":""},{"type":"xml","example":"<GetResourceTypeTemplateResponse>\\n <RequestId>82CEA644-757E-54B9-B730-0502328DA5F1</RequestId>\\n <TemplateBody>\\n <Parameters>\\n <Ipv6Isp>\\n <Type>String</Type>\\n <Description>The Internet service provider (ISP) for IPv6 addresses of the VPC. Valid values:\\n BGP(default): Alibaba Cloud BGP IPv6\\n ChinaMobile: China Mobile (single line)\\n ChinaUnicom: China Unicom (single line)\\n ChinaTelecom: China Telecom (single line)\\n Note If your Alibaba Cloud account is allowed to activate single-ISP bandwidth, you can set the parameter to ChinaTelecom, ChinaUnicom, and ChinaMobile.</Description>\\n </Ipv6Isp>\\n <Description>\\n <Type>String</Type>\\n <Description>Description of the vpc, [2, 256] characters. Do not fill or empty, the default is empty.</Description>\\n </Description>\\n <SecondaryCidrBlock>\\n <Type>String</Type>\\n <Description>The secondary IPv4 CIDR block. \\n You can specify one of the following standard IPv4 CIDR blocks or their subnets asthe secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, \\n and 10.0.0.0/8.To use a public CIDR block as the secondary IPv4 CIDR block, \\n submit a ticket. When you add a secondary IPv4 CIDR block, take note of \\n the following rules: \\n 1. The CIDR block cannot start with 0. \\n 2. The subnet mask must be 8 to 24 bits in length.\\n The secondary CIDR block cannot overlap with the primary \\n CIDR block or an existing secondary CIDR block.</Description>\\n </SecondaryCidrBlock>\\n <ResourceGroupId>\\n <Type>String</Type>\\n <Description>Resource group id.</Description>\\n </ResourceGroupId>\\n <CidrBlock>\\n <Type>String</Type>\\n <Description>The IP address range of the VPC in the CIDR block form. You can use the following IP address ranges and their subnets:\\n 10.0.X.X/8\\n 172.16.X.X/12 (Default)\\n 192.168.X.X/16</Description>\\n </CidrBlock>\\n <VpcName>\\n <Type>String</Type>\\n <Description>Display name of the vpc instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, \'_\' or \'.\', \'-\'</Description>\\n </VpcName>\\n <Ipv6CidrBlock>\\n <Type>String</Type>\\n <Description>IPv6 network cidr of the VPC.</Description>\\n <MinLength>1</MinLength>\\n </Ipv6CidrBlock>\\n <Tags>\\n <Type>Json</Type>\\n <Description>Tags to attach to vpc. Max support 20 tags to add during create vpc. Each tag with two properties Key and Value, and Key is required.</Description>\\n <MaxLength>20</MaxLength>\\n </Tags>\\n <EnableIpv6>\\n <Type>Boolean</Type>\\n <Description>Whether to enable an IPv6 network cidr, the value is:False (default): not turned on.True: On.</Description>\\n <AllowedValues>True</AllowedValues>\\n <AllowedValues>true</AllowedValues>\\n <AllowedValues>False</AllowedValues>\\n <AllowedValues>false</AllowedValues>\\n <Default>false</Default>\\n </EnableIpv6>\\n <UserCidr>\\n <Type>String</Type>\\n <Description>The user CIDR block. Separate multiple CIDR blocks with commas (,). At most three CIDR blocks are supported.</Description>\\n </UserCidr>\\n </Parameters>\\n <ROSTemplateFormatVersion>2015-09-01</ROSTemplateFormatVersion>\\n <Outputs>\\n <VRouterId>\\n <Description>Router id of created VPC.</Description>\\n <Value>\\n <Fn::GetAtt>Vpc</Fn::GetAtt>\\n <Fn::GetAtt>VRouterId</Fn::GetAtt>\\n </Value>\\n </VRouterId>\\n <RouteTableId>\\n <Description>The router table id of created VPC.</Description>\\n <Value>\\n <Fn::GetAtt>Vpc</Fn::GetAtt>\\n <Fn::GetAtt>RouteTableId</Fn::GetAtt>\\n </Value>\\n </RouteTableId>\\n <VpcId>\\n <Description>Id of created VPC.</Description>\\n <Value>\\n <Fn::GetAtt>Vpc</Fn::GetAtt>\\n <Fn::GetAtt>VpcId</Fn::GetAtt>\\n </Value>\\n </VpcId>\\n </Outputs>\\n <Resources>\\n <Vpc>\\n <Type>ALIYUN::ECS::VPC</Type>\\n <Properties>\\n <Ipv6Isp>\\n <Ref>Ipv6Isp</Ref>\\n </Ipv6Isp>\\n <Description>\\n <Ref>Description</Ref>\\n </Description>\\n <SecondaryCidrBlock>\\n <Ref>SecondaryCidrBlock</Ref>\\n </SecondaryCidrBlock>\\n <ResourceGroupId>\\n <Ref>ResourceGroupId</Ref>\\n </ResourceGroupId>\\n <CidrBlock>\\n <Ref>CidrBlock</Ref>\\n </CidrBlock>\\n <VpcName>\\n <Ref>VpcName</Ref>\\n </VpcName>\\n <Ipv6CidrBlock>\\n <Ref>Ipv6CidrBlock</Ref>\\n </Ipv6CidrBlock>\\n <Tags>\\n <Ref>Tags</Ref>\\n </Tags>\\n <EnableIpv6>\\n <Ref>EnableIpv6</Ref>\\n </EnableIpv6>\\n <UserCidr>\\n <Ref>UserCidr</Ref>\\n </UserCidr>\\n </Properties>\\n </Vpc>\\n </Resources>\\n </TemplateBody>\\n</GetResourceTypeTemplateResponse>","errorExample":""}]', - 'title' => 'GetResourceTypeTemplate', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => 'The structure that contains the template body.'."\n" - ."\n" - .'The template body must be 1 to 51,200 bytes in length.'."\n" - ."\n" - .'For more information, see [Template syntax](~~28857~~).'."\n", - ], - 'GetResourceType' => [ - 'summary' => 'This topic provides an example on how to query the details of \\`ALIYUN::ROS::WaitConditionHandle\\`.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DeleteStackInstances', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteStackInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'ImportStacksToStackGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:ImportStacksToStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'GetTemplateSummary', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplateSummary', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'ListStackOperationRisks', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', + 'ramAction' => [ + 'action' => 'ros:ListStackOperationRisks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ALIYUN::ROS::WaitConditionHandle', + [ + 'apiName' => 'DeregisterResourceType', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeregisterResourceType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'VersionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version ID. If you want to query a specific version of the resource type, you must specify this parameter. If you do not specify this parameter, only the resource type is queried.'."\n" - ."\n" - .'> This parameter is supported only for modules.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', + ], + [ + 'apiName' => 'DetectStackResourceDrift', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DetectStackResourceDrift', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The attributes of the resource.'."\n", - 'type' => 'string', - 'example' => 'A28FBA2E-B6B3-5822-AA45-AB875EF23641', - ], - 'Attributes' => [ - 'description' => 'The type of the resource.'."\n", - 'type' => 'object', - 'example' => '', - ], - 'ResourceType' => [ - 'description' => 'The properties of the resource.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ROS::WaitConditionHandle', - ], - 'Properties' => [ - 'description' => 'Indicates whether the resource supports drift detection. Default value: false. Valid values:'."\n" - ."\n" - .'* true: Drift detection is supported.'."\n" - .'* false: Drift detection is not supported.'."\n", - 'type' => 'object', - 'example' => '', - ], - 'SupportDriftDetection' => [ - 'description' => 'Indicates whether the resource supports scratch detection. Default value: false. Valid values:'."\n" - ."\n" - .'* true: Scratch detection is supported.'."\n" - .'* false: Scratch detection is not supported.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SupportScratchDetection' => [ - 'description' => 'The entity type. Valid values:'."\n" - ."\n" - .'* Resource: resources other than DataSource resources. For more information, see [Resources](~~28863~~).'."\n" - .'* DataSource: DataSource resources.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'EntityType' => [ - 'description' => 'The entity type. Valid values:'."\n" - ."\n" - .'* Resource: regular resource. For more information, see [Resources](~~28863~~).'."\n" - .'* DataSource: DataSource resource. For more information, see [DataSource resources](~~404753~~).'."\n" - .'* module: module.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'Resource' => 'Resource', - 'Module' => 'Module', - 'DataSource' => 'DataSource', - ], - 'example' => 'Resource', - ], - 'Provider' => [ - 'description' => 'The provider of the resource type. Valid values:'."\n" - ."\n" - .'* ROS: The resource type is provided by Resource Orchestration Service (ROS).'."\n" - .'* Self: The resource type is provided by you.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'ROS' => 'ROS', - 'Self' => 'Self', - ], - 'example' => 'ROS', - ], - 'Description' => [ - 'description' => 'The description of the resource type.'."\n", - 'type' => 'string', - 'example' => 'It is a demo.', - ], - 'DefaultVersionId' => [ - 'description' => 'The default version ID.'."\n" - ."\n" - .'> This parameter is returned only if the resource type is queried.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'LatestVersionId' => [ - 'description' => 'The latest version ID.'."\n" - ."\n" - .'> This parameter is returned only if the resource type is queried.'."\n", - 'type' => 'string', - 'example' => 'v10', - ], - 'CreateTime' => [ - 'description' => 'The creation time. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2023-02-24T08:25:21'."\n", - ], - 'UpdateTime' => [ - 'description' => 'The update time. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2023-02-24T08:25:21'."\n", - ], - 'TotalVersionCount' => [ - 'description' => 'The total number of versions.'."\n" - ."\n" - .'> This parameter is returned only if the resource type is queried.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'IsDefaultVersion' => [ - 'description' => 'Indicates whether the version is the default version. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n" - ."\n" - .'> This parameter is returned only if a specific version of the resource type is queried.'."\n", - 'type' => 'boolean', - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', - ], - 'example' => 'true', - ], - 'TemplateBody' => [ - 'description' => 'The template content in the module.'."\n" - ."\n" - .'> This parameter is returned only if a specific version of the resource type is queried.'."\n", - 'type' => 'string', - 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', - ], - ], - 'description' => '', + [ + 'apiName' => 'CancelStackOperation', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:CancelStackOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A28FBA2E-B6B3-5822-AA45-AB875EF23641\\",\\n \\"Attributes\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"ResourceType\\": \\"ALIYUN::ROS::WaitConditionHandle\\",\\n \\"Properties\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"SupportDriftDetection\\": false,\\n \\"SupportScratchDetection\\": false,\\n \\"EntityType\\": \\"Resource\\",\\n \\"Provider\\": \\"ROS\\",\\n \\"Description\\": \\"It is a demo.\\",\\n \\"DefaultVersionId\\": \\"v1\\",\\n \\"LatestVersionId\\": \\"v10\\",\\n \\"CreateTime\\": \\"2023-02-24T08:25:21\\\\n\\",\\n \\"UpdateTime\\": \\"2023-02-24T08:25:21\\\\n\\",\\n \\"TotalVersionCount\\": 10,\\n \\"IsDefaultVersion\\": true,\\n \\"TemplateBody\\": \\"{\\\\\\"ROSTemplateFormatVersion\\\\\\":\\\\\\"2015-09-01\\\\\\"}\\"\\n}","errorExample":""},{"type":"xml","example":"<GetResourceTypeResponse>\\n <SupportScratchDetection>false</SupportScratchDetection>\\n <EntityType>Resource</EntityType>\\n <RequestId>A28FBA2E-B6B3-5822-AA45-AB875EF23641</RequestId>\\n <Attributes>\\n <CurlCli>\\n <Description>Convenience attribute, provides curl CLI command prefix, which can be used for signalling handle completion or failure. You can signal success by adding --data-binary \'{\\"status\\": \\"SUCCESS\\"}\' , or signal failure by adding --data-binary \'{\\"status\\": \\"FAILURE\\"}\'</Description>\\n </CurlCli>\\n <WindowsCurlCli>\\n <Description>Convenience attribute, provides curl CLI command prefix for Windows, which can be used for signalling handle completion or failure. As Windows does not support curl command, you need to install curl.exe and add it to PATH first. You can signal success by adding --data-binary \\"{\\\\\\"status\\\\\\": \\\\\\"SUCCESS\\\\\\"}\\" , or signal failure by adding --data-binary \\"{\\\\\\"status\\\\\\": \\\\\\"FAILURE\\\\\\"}\\" </Description>\\n </WindowsCurlCli>\\n <Headers>\\n <Description>HTTP POST Headers used for signalling handle completion or failure.</Description>\\n </Headers>\\n <URL>\\n <Description>HTTP POST URL used for signalling handle completion or failure.</Description>\\n </URL>\\n <PowerShellCurlCli>\\n <Description>Convenience attribute, provides curl CLI command prefix for PowerShell, which can be used for signalling handle completion or failure. As this cmdlet was introduced in PowerShell 3.0, ensure the version of PowerShell satisfies the constraint. (Show the version via $PSVersionTable.PSVersion.) You can signal success by adding -Body \'{\\"status\\": \\"SUCCESS\\"}\' , or signal failure by adding -Body \'{\\"status\\": \\"FAILURE\\"}\' </Description>\\n </PowerShellCurlCli>\\n </Attributes>\\n <ResourceType>ALIYUN::ROS::WaitConditionHandle</ResourceType>\\n <Properties>\\n <Mode>\\n <SupportScratchDetection>false</SupportScratchDetection>\\n <Immutable>false</Immutable>\\n <Type>string</Type>\\n <Description>If set to Increment, all old signals will be deleted before update. In this mode, WaitCondition.Count should reference an incremental value instead of a full value, such as ScalingGroupEnable.ScalingRuleArisExecuteResultNumberOfAddedInstances.\\n\\nIf set to Full, no old signal will be deleted unless Count is set. In this mode, WaitCondition.Count should reference a full value, such as the same value with InstanceGroup.MaxAmount. It is recommended to use this mode with Count.\\n\\nDefault to Full.</Description>\\n <Constraints>\\n <AllowedValues>Increment</AllowedValues>\\n <AllowedValues>Full</AllowedValues>\\n </Constraints>\\n <Required>false</Required>\\n <Default>Full</Default>\\n <UpdateAllowed>true</UpdateAllowed>\\n </Mode>\\n <Count>\\n <SupportScratchDetection>false</SupportScratchDetection>\\n <Immutable>false</Immutable>\\n <Type>integer</Type>\\n <Description>There are 3 preconditions that make Count taking effect:\\n1.Mode is set to Full.\\n2.Count >= 0.\\n3.The id of signal is not specified. If so, it will be a self-increasing integer started from 1. For example, the id of the first signal is 1, the id of the second signal is 2, and so on.\\n\\nIf Count takes effect, signals with id > Count will be deleted before update.\\nThe default value is -1, which means no effect.\\nIt is recommended to quote the same value with WaitCondition.Count.</Description>\\n <Required>false</Required>\\n <Default>-1</Default>\\n <UpdateAllowed>true</UpdateAllowed>\\n </Count>\\n </Properties>\\n <SupportDriftDetection>false</SupportDriftDetection>\\n</GetResourceTypeResponse>","errorExample":""}]', - 'title' => 'GetResourceType', - 'description' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - 'requestParamsDescription' => '| HttpCode | Error codes | Error message | Description |'."\n" - .'| -------- | ----------- | ------------- | ----------- |'."\n" - .'| 404 | ResourceTypeNotFound | The Resource Type ({name}) could not be found. | The error message returned because the specified resource type does not exist. name indicates the name of the resource type. |', - 'responseParamsDescription' => 'The operation that you want to perform. Set the value to GetResourceType.'."\n", - ], - 'ListResourceTypeVersions' => [ - 'summary' => 'Queries the versions of resource types, including the resource types created by you and provided by Resource Orchestration Service (ROS).', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'GetStackGroupOperation', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackGroupOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroupOperation', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroupoperation/{#OperationId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DeleteStack', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'SetResourceType', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:SetResourceType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'GetResourceTypeTemplate', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosU14OAJ', + 'ramAction' => [ + 'action' => 'ros:GetResourceTypeTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', + [ + 'apiName' => 'GetChangeSet', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetChangeSet', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', - ], - 'ResourceTypeVersions' => [ - 'description' => 'The versions of the resource types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Provider' => [ - 'description' => 'The provider of the resource type. Valid values:'."\n" - ."\n" - .'* ROS: ROS'."\n" - .'* Self: yourself'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'ROS' => 'ROS', - 'Self' => 'Self', - ], - 'example' => 'ROS', - ], - 'EntityType' => [ - 'description' => 'The entity type. Only Module may be returned.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'Module' => 'Module', - ], - 'example' => 'Module', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', - ], - 'IsDefaultVersion' => [ - 'description' => 'Indicates whether the version is the default version. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CreateTime' => [ - 'description' => 'The time when the version was created. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format.'."\n", - 'type' => 'string', - 'example' => '2023-02-24T08:25:21', - ], - 'UpdateTime' => [ - 'description' => 'The time when the version was updated. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format.'."\n", - 'type' => 'string', - 'example' => '2023-02-24T08:25:21', - ], - 'VersionId' => [ - 'description' => 'The version ID.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'Description' => [ - 'description' => 'The description of the version.'."\n", - 'type' => 'string', - 'example' => 'It is a demo.', - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'ListResourceTypes', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListResourceTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\",\\n \\"ResourceTypeVersions\\": [\\n {\\n \\"Provider\\": \\"ROS\\",\\n \\"EntityType\\": \\"Module\\",\\n \\"ResourceType\\": \\"MODULE::MyOrganization::MyService::MyUsecase\\",\\n \\"IsDefaultVersion\\": true,\\n \\"CreateTime\\": \\"2023-02-24T08:25:21\\",\\n \\"UpdateTime\\": \\"2023-02-24T08:25:21\\",\\n \\"VersionId\\": \\"v1\\",\\n \\"Description\\": \\"It is a demo.\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'ListResourceTypeVersions', - ], - 'ListResourceTypeRegistrations' => [ - 'summary' => 'Queries the registration records of a resource.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'GetTemplateScratch', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplateScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#templatescratchId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListResourceTypeVersions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListResourceTypeVersions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'GetStackDriftDetectionStatus', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', + 'ramAction' => [ + 'action' => 'ros:GetStackDriftDetectionStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'EntityType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The entity type. Set the value to Module.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'Module' => 'Module', - ], - 'example' => 'Module', + [ + 'apiName' => 'CreateStackGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], ], ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type. The resource type can contain letters, digits, colons (:), and asterisks (\\*). You can use an asterisk (\\*) to perform a fuzzy match.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'MODULE::MyOrganization::MyService::MyUsecase'."\n", + ], + [ + 'apiName' => 'ExecuteChangeSet', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:ExecuteChangeSet', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], - [ - 'name' => 'RegistrationId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the registration record.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', + ], + [ + 'apiName' => 'SetTemplatePermission', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:SetTemplatePermission', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], ], ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The registration state. Valid values:'."\n" - ."\n" - .'* IN_PROGRESS'."\n" - .'* COMPLETE'."\n" - .'* FAILED'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'IN_PROGRESS' => 'IN_PROGRESS', - 'COMPLETE' => 'COMPLETE', - 'FAILED' => 'FAILED', - ], - 'example' => 'COMPLETE', + ], + [ + 'apiName' => 'ListSummaries', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListSummaries', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + ], + [ + 'apiName' => 'CreateTemplate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 1 to 50. Default value: 10.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', + ], + [ + 'apiName' => 'DetectStackGroupDrift', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DetectStackGroupDrift', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack_group/{#StackGroupName}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], - 'Registrations' => [ - 'description' => 'The registration records of the resource.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RegistrationId' => [ - 'description' => 'The ID of the registration record.'."\n", - 'type' => 'string', - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****'."\n", - ], - 'EntityType' => [ - 'description' => 'The entity type. Only Module may be returned.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'Module' => 'Module', - ], - 'example' => 'Module', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', - ], - 'VersionId' => [ - 'description' => 'The version ID.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'Status' => [ - 'description' => 'The registration state. Valid values:'."\n" - ."\n" - .'* IN_PROGRESS: The registration is in progress.'."\n" - .'* COMPLETE: The registration is successful.'."\n" - .'* FAILED: The registration failed.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'IN_PROGRESS' => 'IN_PROGRESS', - 'COMPLETE' => 'COMPLETE', - 'FAILED' => 'FAILED', - ], - 'example' => 'COMPLETE', - ], - 'StatusReason' => [ - 'description' => 'The reason for the state.'."\n", - 'type' => 'string', - 'example' => 'Module is created successfully', - ], - 'CreateTime' => [ - 'description' => 'The creation time. The time is displayed in UTC. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format.'."\n", - 'type' => 'string', - 'example' => '2023-03-02T07:28:35', - ], - ], - ], - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of registration records.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - 'description' => '', + [ + 'apiName' => 'DeleteTemplateScratch', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteTemplateScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#templatescratchId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'SetDeletionProtection', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:SetDeletionProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"Registrations\\": [\\n {\\n \\"RegistrationId\\": \\"4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\\\n\\",\\n \\"EntityType\\": \\"Module\\",\\n \\"ResourceType\\": \\"MODULE::MyOrganization::MyService::MyUsecase\\",\\n \\"VersionId\\": \\"v1\\",\\n \\"Status\\": \\"COMPLETE\\",\\n \\"StatusReason\\": \\"Module is created successfully\\",\\n \\"CreateTime\\": \\"2023-03-02T07:28:35\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1\\n}","type":"json"}]', - 'title' => 'ListResourceTypeRegistrations', - ], - 'DescribeRegions' => [ - 'summary' => 'Queries a list of available regions.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'GetServiceProvisions', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:GetServiceProvisions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'GenerateTemplateByScratch', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:GenerateTemplateByScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#templatescratchId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListTemplates', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:ListTemplates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'ListStacks', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '12679', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', + 'ramAction' => [ + 'action' => 'ros:ListStacks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'AcceptLanguage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The language in which you want to display the results. Valid values:'."\n" - ."\n" - .'* zh-CN (default): Chinese'."\n" - .'* en-US: English'."\n" - .'* ja: Japanese'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'zh-CN', + [ + 'apiName' => 'UntagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UnTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#TemplateScratchId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '59F0F0A0-A637-4292-9B91-251EF5010913', - ], - 'Regions' => [ - 'description' => 'The regions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LocalName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'ccn-cn-shanghai-finance-1', - ], - 'RegionEndpoint' => [ - 'description' => 'The endpoint of the region.'."\n", - 'type' => 'string', - 'example' => 'ros.aliyuncs.com', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - 'description' => '', - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'GenerateTemplatePolicy', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:GenerateTemplatePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"59F0F0A0-A637-4292-9B91-251EF5010913\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"华东1(杭州)\\",\\n \\"RegionEndpoint\\": \\"ros.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <RequestId>59F0F0A0-A637-4292-9B91-251EF5010913</RequestId>\\n <Regions>\\n <RegionId>cn-qingdao</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北1(青岛)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-beijing</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北2(北京)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-zhangjiakou</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北3(张家口)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-huhehaote</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北5(呼和浩特)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-wulanchabu</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北6(乌兰察布)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-hangzhou</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华东1(杭州)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-shanghai</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华东2(上海)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-shenzhen</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华南1(深圳)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-heyuan</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华南2(河源)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-guangzhou</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>华南3(广州)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-chengdu</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>西南1(成都)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>cn-hongkong</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>中国(香港)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-northeast-1</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>日本(东京)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-northeast-2</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>韩国(首尔)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-1</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>新加坡</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-2</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>澳大利亚(悉尼)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-3</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>马来西亚(吉隆坡)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-6</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>菲律宾(马尼拉)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-5</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>印度尼西亚(雅加达)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-south-1</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>印度(孟买)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>ap-southeast-7</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>泰国(曼谷)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>us-east-1</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>美国(弗吉尼亚)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>us-west-1</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>美国(硅谷)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>eu-west-1</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>英国(伦敦)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>me-east-1</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>阿联酋(迪拜)</LocalName>\\n </Regions>\\n <Regions>\\n <RegionId>eu-central-1</RegionId>\\n <RegionEndpoint>ros.aliyuncs.com</RegionEndpoint>\\n <LocalName>德国(法兰克福)</LocalName>\\n </Regions>\\n</DescribeRegionsResponse>","errorExample":""}]', - 'title' => 'DescribeRegions', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SignalResource' => [ - 'summary' => 'Sends a signal to a resource in a stack.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'GetDiagnostic', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:GetDiagnostic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'ListResourceTypeRegistrations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListResourceTypeRegistrations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateAITask', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateAITask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'SetStackPolicy', + 'description' => '', 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', + 'ramAction' => [ + 'action' => 'ros:SetStackPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'StackId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the stack.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', + [ + 'apiName' => 'ListTagKeys', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListTagKeys', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the signal. Failure signals can cause stack creation or update to fail. If all signals are warnings, the stack cannot be created or updated. Valid values:'."\n" - ."\n" - .'* SUCCESS'."\n" - .'* FAILURE'."\n" - .'* WARNING'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'SUCCESS', + ], + [ + 'apiName' => 'ListChangeSets', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListChangeSets', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'CreateStack', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/*'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], ], ], - [ - 'name' => 'UniqueId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The unique ID of the signal. The ID must be 1 to 64 characters in length. If multiple signals are sent to a single resource, each signal must have a unique ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '27c7347b-352a-4377-accf-63d361c1****', + ], + [ + 'apiName' => 'CreateDiagnostic', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateDiagnostic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that it is unique among different requests.'."\n" - ."\n" - .'The token can be up to 64 characters in length and can contain letters, digits, hyphens (-) and underscores (\\_).'."\n" - ."\n" - .'For more information, see [How to ensure idempotence](~~134212~~).'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123e4567-e89b-12d3-a456-42665544****', + ], + [ + 'apiName' => 'ListStackResources', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], - [ - 'name' => 'LogicalResourceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The logical ID of the resource as defined in the template.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'WebServer', + ], + [ + 'apiName' => 'UpdateTemplateScratch', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateTemplateScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#templatescratchId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', - ], - ], - 'description' => '', + [ + 'apiName' => 'CancelUpdateStack', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:CancelUpdateStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\"\\n}","errorExample":""},{"type":"xml","example":"<SignalResourceResponse>\\n <RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId> \\n</SignalResourceResponse>","errorExample":""}]', - 'title' => 'SignalResource', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'GetServiceProvisions' => [ - 'summary' => 'Queries the activation status and the RAM roles of an Alibaba Cloud service.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListTagValues', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListTagValues', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ListDiagnostics', + 'description' => '', 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', + 'ramAction' => [ + 'action' => 'ros:ListDiagnostics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'GetStack', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], - [ - 'name' => 'TemplateBody', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body exceeds the upper limit, we recommend that you add parameters to the HTTP POST request body to prevent request failures caused by excessively long URLs. You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and TemplateScratchId.', - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '{"ROSTemplateFormatVersion": "2015-09-01","Resources": {"ApiGateway": {"Type": "ALIYUN::ApiGateway::Group","Properties": { "GroupName": "ros_example" }},"FC": {"Type": "ALIYUN::FC::Service","Properties": {"ServiceName": "ros_example"}}}}', + ], + [ + 'apiName' => 'PreviewStack', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:PreviewStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], ], ], - [ - 'name' => 'TemplateURL', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the file that contains the template body. The URL must point to a template that is located on an HTTP or HTTPS web server or in an Object Storage Service (OSS) bucket, such as oss://ros/template/demo or oss://ros/template/demo?RegionId=cn-hangzhou. The template body must be 1 to 524,288 bytes in length. If you do not specify the region ID of the OSS bucket, the value of RegionId is used.'."\n" - ."\n" - .'You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and Services.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'oss://ros-template/demo', + ], + [ + 'apiName' => 'CreateTemplateScratch', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateTemplateScratch', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/*'], ], ], - [ - 'name' => 'TemplateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The template ID. This parameter applies to shared and private templates.'."\n" - ."\n" - .'You must and can specify only one of the following parameters: TemplateBody, TemplateURL, TemplateId, and Services.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5ecd1e10-b0e9-4389-a565-e4c15efc****', + ], + [ + 'apiName' => 'StopStackGroupOperation', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:StopStackGroupOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroupOperation', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroupoperation/{#OperationId}'], ], ], - [ - 'name' => 'TemplateVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the template. If you do not specify this parameter, the latest version is used.'."\n" - ."\n" - .'This parameter takes effect only when TemplateId is specified.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', + ], + [ + 'apiName' => 'ListStackGroupOperations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackGroupOperations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroupOperation', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroupoperation/{#OperationId}'], ], ], - [ - 'name' => 'Parameters', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The parameters.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ParameterKey' => [ - 'description' => 'The name of the parameter. If you do not specify the name and value of a parameter, Resource Orchestration Service (ROS) uses the default name and value that are specified in the template.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify Parameters, you must specify ParameterKey.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Amount', - ], - 'ParameterValue' => [ - 'description' => 'The value of the parameter.'."\n" - ."\n" - .'> The Parameters parameter is optional. If you specify Parameters, you must specify ParameterValue.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '12', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => false, - 'maxItems' => 200, + ], + [ + 'apiName' => 'UpdateStackInstances', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateStackInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], ], ], - [ - 'name' => 'Services', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The services.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ServiceName' => [ - 'description' => 'The name of the service or feature. Valid values:'."\n" - ."\n" - .'* AHAS: Application High Availability Service'."\n" - .'* ARMS: Application Real-Time Monitoring Service (ARMS)'."\n" - .'* ApiGateway: API Gateway'."\n" - .'* BatchCompute: Batch Compute'."\n" - .'* BrainIndustrial: Industrial Brain'."\n" - .'* CloudStorageGateway: Cloud Storage Gateway (CSG)'."\n" - .'* CMS: CloudMonitor'."\n" - .'* CR: Container Registry'."\n" - .'* CS: Container Service for Kubernetes (ACK)'."\n" - .'* DCDN: Dynamic Content Delivery Network (DCDN)'."\n" - .'* DataHub: DataHub'."\n" - .'* DataWorks: DataWorks'."\n" - .'* EDAS: Enterprise Distributed Application Service (EDAS)'."\n" - .'* EHPC: E-HPC'."\n" - .'* EMAS: Enterprise Mobile Application Studio (EMAS)'."\n" - .'* FC: Function Compute'."\n" - .'* FNF: CloudFlow (SWF)'."\n" - .'* MaxCompute: MaxCompute'."\n" - .'* MNS: Message Service (MNS)'."\n" - .'* HBR: Cloud Backup'."\n" - .'* IMM: Intelligent Media Management (IMM)'."\n" - .'* IOT: IoT Platform'."\n" - .'* KMS: Key Management Service (KMS)'."\n" - .'* NAS: File Storage NAS (NAS)'."\n" - .'* NLP: Natural Language Processing (NLP)'."\n" - .'* OSS: Object Storage Service (OSS)'."\n" - .'* OTS: Tablestore'."\n" - .'* PrivateLink: PrivateLink'."\n" - .'* PrivateZone: Alibaba Cloud DNS PrivateZone'."\n" - .'* RocketMQ: ApsaraMQ for RocketMQ'."\n" - .'* SAE: Serverless App Engine (SAE)'."\n" - .'* SLS: Simple Log Service (SLS)'."\n" - .'* TrafficMirror: traffic mirroring'."\n" - .'* VS: Video Surveillance System'."\n" - .'* Xtrace: Managed Service for OpenTelemetry', - 'type' => 'string', - 'required' => true, - 'example' => 'EHPC', - ], - ], - 'required' => false, - 'description' => '', - ], - 'required' => false, - 'maxItems' => 50, + ], + [ + 'apiName' => 'DeleteStackGroup', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A9938C04-26AD-5EFA-B394-EA7866842DFF', - ], - 'ServiceProvisions' => [ - 'description' => 'The information about the services.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ServiceName' => [ - 'description' => 'The service name.'."\n", - 'type' => 'string', - 'example' => 'EHPC', - ], - 'Status' => [ - 'description' => 'The activation status of the service. Valid values:'."\n" - ."\n" - .'* Enabled: The service is activated.'."\n" - .'* Disabled: The service is not activated.'."\n" - .'* Unknown: The activation status of the service is unknown.'."\n", - 'type' => 'string', - 'example' => 'Enabled', - ], - 'StatusReason' => [ - 'description' => 'The reason why the service is in the Disabled or Unknown state.'."\n" - ."\n" - .'> This parameter is returned if Status is set to Disabled or Unknown.'."\n", - 'type' => 'string', - 'example' => 'No permission.', - ], - 'AutoEnableService' => [ - 'description' => 'Indicates whether automatic activation for the service is defined in the template. Valid values:'."\n" - ."\n" - .'* true: Automatic activation for the service is defined in the template.'."\n" - .'* false: Manual activation for the service is defined in the template.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'EnableURL' => [ - 'description' => 'The URL that points to the activation page of the service.'."\n" - ."\n" - .'> This parameter is returned if Status is set to Disabled.'."\n", - 'type' => 'string', - 'example' => 'https://common-buy.aliyun.com/?commodityCode=nas', - ], - 'RoleProvision' => [ - 'description' => 'The information about the RAM roles of the service. If this parameter is empty, no RAM role is associated with the service.'."\n", - 'type' => 'object', - 'properties' => [ - 'AuthorizationURL' => [ - 'description' => 'The authorization URL of the RAM role.'."\n" - ."\n" - .'> This parameter is returned if Created is set to false.'."\n", - 'type' => 'string', - 'example' => 'https://ehpc.console.aliyun.com/', - ], - 'Roles' => [ - 'description' => 'The RAM roles of the service.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RoleName' => [ - 'description' => 'The name of the role.'."\n", - 'type' => 'string', - 'example' => 'AliyunServiceRoleForEHPC', - ], - 'Created' => [ - 'description' => 'Indicates whether the RAM role is created. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Function' => [ - 'description' => 'The purpose for which the RAM role is used. Default value: Default. A value of Default indicates that the RAM role is the default role of the service.'."\n", - 'type' => 'string', - 'example' => 'Default', - ], - 'ApiForCreation' => [ - 'description' => 'The information about the API operation that is used to create the RAM role.'."\n", - 'type' => 'object', - 'properties' => [ - 'ApiProductId' => [ - 'description' => 'The ID of the Alibaba Cloud service to which the API operation belongs.'."\n", - 'type' => 'string', - 'example' => 'rds', - ], - 'ApiName' => [ - 'description' => 'The name of the API operation.'."\n", - 'type' => 'string', - 'example' => 'CreateServiceLinkedRole', - ], - 'ApiType' => [ - 'description' => 'The type of the API operation. Valid values:'."\n" - ."\n" - .'* Open: public'."\n" - .'* Inner: private'."\n", - 'type' => 'string', - 'example' => 'Open', - ], - 'Parameters' => [ - 'description' => 'The parameters of the API operation. If a parameter is a variable, use the ${Variable name} format. Only the following variable is supported: ${RegionId}.'."\n", - 'type' => 'object', - 'example' => '{ "ServiceLinkedRole": "AliyunServiceRoleForRdsPgsqlOnEcs", "RegionId": "${RegionId}" }', - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - ], - 'DependentServiceNames' => [ - 'description' => 'The names of the services on which the service that is queried depends.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the service on which the service that is queried depends.'."\n", - 'type' => 'string', - 'example' => 'NAS', - ], - ], - 'CommodityProvisions' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CommodityCode' => [ - 'type' => 'string', - ], - 'Status' => [ - 'type' => 'string', - ], - 'EnableURL' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'GetTemplateParameterConstraints', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplateParameterConstraints', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A9938C04-26AD-5EFA-B394-EA7866842DFF\\",\\n \\"ServiceProvisions\\": [\\n {\\n \\"ServiceName\\": \\"EHPC\\",\\n \\"Status\\": \\"Enabled\\",\\n \\"StatusReason\\": \\"No permission.\\",\\n \\"AutoEnableService\\": false,\\n \\"EnableURL\\": \\"https://common-buy.aliyun.com/?commodityCode=nas\\",\\n \\"RoleProvision\\": {\\n \\"AuthorizationURL\\": \\"https://ehpc.console.aliyun.com/\\",\\n \\"Roles\\": [\\n {\\n \\"RoleName\\": \\"AliyunServiceRoleForEHPC\\",\\n \\"Created\\": true,\\n \\"Function\\": \\"Default\\",\\n \\"ApiForCreation\\": {\\n \\"ApiProductId\\": \\"rds\\",\\n \\"ApiName\\": \\"CreateServiceLinkedRole\\",\\n \\"ApiType\\": \\"Open\\",\\n \\"Parameters\\": {\\n \\"ServiceLinkedRole\\": \\"AliyunServiceRoleForRdsPgsqlOnEcs\\",\\n \\"RegionId\\": \\"${RegionId}\\"\\n }\\n }\\n }\\n ]\\n },\\n \\"DependentServiceNames\\": [\\n \\"NAS\\"\\n ],\\n \\"CommodityProvisions\\": [\\n {\\n \\"CommodityCode\\": \\"acs_postpaid_public_cn\\",\\n \\"Status\\": \\"Disabled\\",\\n \\"EnableURL\\": \\"https://common-buy.aliyun.com/?commodityCode=acs_postpaid_public_cn\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetServiceProvisionsResponse>\\n <RequestId>A9938C04-26AD-5EFA-B394-EA7866842DFF</RequestId>\\n <ServiceProvisions>\\n <ServiceName>EHPC</ServiceName>\\n <Status>Enabled</Status>\\n <StatusReason>No permission.</StatusReason>\\n <AutoEnableService>false</AutoEnableService>\\n <EnableURL>https://common-buy.aliyun.com/?commodityCode=nas</EnableURL>\\n <RoleProvision>\\n <AuthorizationURL>https://ehpc.console.aliyun.com/</AuthorizationURL>\\n <Roles>\\n <RoleName>AliyunServiceRoleForEHPC</RoleName>\\n <Created>true</Created>\\n <Function>Default</Function>\\n <ApiForCreation>\\n <ApiProductId>rds</ApiProductId>\\n <ApiName>CreateServiceLinkedRole</ApiName>\\n <ApiType>Open</ApiType>\\n </ApiForCreation>\\n </Roles>\\n </RoleProvision>\\n <DependentServiceNames>NAS</DependentServiceNames>\\n </ServiceProvisions>\\n</GetServiceProvisionsResponse>","errorExample":""}]', - 'title' => 'GetServiceProvisions', - 'description' => '### Description'."\n" - ."\n" - .'This topic describes how to query the activation status and the RAM roles of an Alibaba Cloud service. In this example, the Elastic High Performance Computing (E-HPC) service that is deployed in the China (Hangzhou) region is queried.'."\n" - ."\n" - .'> Make sure that you have the permissions to call the [GetRole](~~28711~~) operation.'."\n", - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - ], - 'GetFeatureDetails' => [ - 'summary' => 'Queries the details of features that are supported by Resource Orchestration Service (ROS).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListTemplateVersions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListTemplateVersions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:*:{#accountId}:template/{#TemplateId}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '104761', - 'abilityTreeNodes' => [ - 'FEATUREros68YWKF', + [ + 'apiName' => 'ContinueCreateStack', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:ContinueCreateStack', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'Feature', - 'in' => 'query', - 'schema' => [ - 'description' => 'The one or more features that you want to query. Valid values:'."\n" - ."\n" - .'* Terraform: the Terraform hosting feature.'."\n" - .'* ResourceCleaner: the resource cleaner feature. You can use ALIYUN::ROS::ResourceCleaner to create a resource cleaner.'."\n" - .'* TemplateScratch: the scenario feature.'."\n" - .'* All: all features that are supported by ROS.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Terraform', + [ + 'apiName' => 'ListStackResourceDrifts', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackResourceDrifts', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the stack. You can call the [DescribeRegions](~~131035~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'RegisterResourceType', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:RegisterResourceType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'EBF833DA-D0E2-52BE-92E2-59CA56BE834E', - ], - 'Terraform' => [ - 'description' => 'Details of the Terraform hosting feature.'."\n", - 'type' => 'object', - 'properties' => [ - 'SupportedVersions' => [ - 'description' => 'The Terraform versions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ProviderVersions' => [ - 'description' => 'The names and versions of the providers that correspond to the Terraform versions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ProviderName' => [ - 'description' => 'The name of the provider.'."\n", - 'type' => 'string', - 'example' => 'alicloud', - ], - 'SupportedVersions' => [ - 'description' => 'The provider versions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The provider version.'."\n", - 'type' => 'string', - 'example' => '1.121.2', - ], - ], - ], - 'description' => '', - ], - ], - 'TerraformVersion' => [ - 'description' => 'The Terraform version.'."\n", - 'type' => 'string', - 'example' => '1.0.11', - ], - 'Transform' => [ - 'description' => 'The Terraform version that is supported by ROS. The parameter value is the same as the value of the Transform parameter in a Terraform template.'."\n", - 'type' => 'string', - 'example' => 'Aliyun::Terraform-v1.0', - ], - 'UpdateAllowedTransforms' => [ - 'description' => 'The Terraform versions that can be updated in ROS.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The Terraform version that can be updated in ROS.'."\n", - 'type' => 'string', - 'example' => 'Aliyun::Terraform-v1.1', - ], - ], - ], - 'description' => '', - ], - ], - 'SupportedResourceTypes' => [ - 'description' => 'The resource types that support the scenario feature.'."\n", - 'type' => 'object', - 'properties' => [ - 'SystemTag' => [ - 'description' => 'The resource types that support the system tag `acs:ros:stackId`.', - 'type' => 'array', - 'items' => [ - 'description' => 'The resource types that support the system tag `acs:ros:stackId`.', - 'type' => 'string', - 'example' => 'alicloud_instance', - ], - ], - 'CustomTag' => [ - 'description' => 'The resource types that support the custom tag feature.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource types that support the custom tag feature.', - 'type' => 'string', - 'example' => 'alicloud_instance', - ], - ], - 'EstimateCost' => [ - 'description' => 'The resource types that support the price inquiry feature.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource types that support the price inquiry feature.', - 'type' => 'string', - 'example' => 'alicloud_instance', - ], - ], - 'ResourceGroup' => [ - 'description' => 'The resource types that support the resource group feature.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource types that support the resource group feature.', - 'type' => 'string', - 'example' => 'alicloud_instance', - ], - ], - 'StackOperationRisk' => [ - 'description' => 'The resource type that support the risk check feature.'."\n", - 'type' => 'object', - 'properties' => [ - 'DeleteStack' => [ - 'description' => 'The resource types that support the risk check performed to detect risks caused by a stack deletion operation.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource types that support the risk check performed to detect risks caused by a stack deletion operation.', - 'type' => 'string', - 'example' => 'alicloud_instance', - ], - ], - ], - ], - ], - ], - ], - ], - 'TemplateScratch' => [ - 'description' => 'Details of the scenario feature.'."\n", - 'type' => 'object', - 'properties' => [ - 'SupportedResourceTypes' => [ - 'description' => 'The resource types that are supported by the scenario feature.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource types that support the scenario feature.', - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::Disk', - ], - 'SourceResourcesSupported' => [ - 'description' => 'Indicates whether the resource scope can be specified by source resource. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SourceTagSupported' => [ - 'description' => 'Indicates whether the resource scope can be specified by source tag. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SourceResourceGroupSupported' => [ - 'description' => 'Indicates whether the resource scope can be specified by source resource group. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SourceSupported' => [ - 'description' => 'Indicates whether the resource scope can be specified by source tag, resource group, or resource. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SupportedTemplateScratchTypes' => [ - 'description' => 'The scenario types that are supported.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The scenario type that is supported. Valid values:'."\n" - ."\n" - .'* ArchitectureReplication: resource replication'."\n" - .'* ArchitectureDetection: resource detection'."\n" - .'* ResourceImport: resource management'."\n" - .'* ResourceMigration: resource migration'."\n", - 'type' => 'string', - 'example' => 'ArchitectureReplication', - ], - ], - ], - ], - ], - ], - ], - 'ResourceCleaner' => [ - 'description' => 'Details of the resource cleaner feature.'."\n", - 'type' => 'object', - 'properties' => [ - 'SupportedResourceTypes' => [ - 'description' => 'The resource types that can be cleaned up.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The resource type that supports the resource cleaner feature.'."\n", - 'type' => 'string', - 'example' => 'ECS:Instance', - ], - 'SupportedFilters' => [ - 'description' => 'The names of the filters that are supported by the resource type.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the filter that is supported by the resource type. Valid values:'."\n" - ."\n" - .'* RegionId'."\n" - .'* ResourceId'."\n" - .'* ResourceName'."\n" - .'* Tags'."\n" - .'* ResourceGroupId'."\n" - .'* DeletionProtection'."\n", - 'type' => 'string', - 'example' => 'ResourceName', - ], - ], - 'SideEffects' => [ - 'description' => 'The names of the side effects that may be caused by the cleanup operation performed on the resources of the specified type.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the side effect that may be caused by the cleanup operation performed on the resources of the specified type. Only StopInstance may be returned, which indicates that instances related to the specified resource type are stopped.'."\n", - 'type' => 'string', - 'example' => 'StopInstance', - ], - ], - ], - 'description' => 'The resource types that can be cleaned up.', - ], - ], - ], - ], - 'TemplateParameterConstraints' => [ - 'description' => 'Details of the template parameter constraint feature.', - 'type' => 'object', - 'properties' => [ - 'SupportedResourceTypes' => [ - 'description' => 'The resource types that support the template parameter constraint feature.', - 'type' => 'array', - 'items' => [ - 'description' => 'The resource types that support the template parameter constraint feature.', - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::Disk', - ], - 'Properties' => [ - 'description' => 'The names of properties that are supported by the resource type.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The name of the property that is supported by the resource type.'."\n", - 'type' => 'string', - 'example' => '["DiskCategory", "ZoneId"]', - ], - ], - ], - ], - ], - ], - ], - 'DriftDetection' => [ - 'description' => 'Details of the drift detection feature.', - 'type' => 'object', - 'properties' => [ - 'SupportedResourceTypes' => [ - 'description' => 'The resource types that are supported by the drift detection feature.', - 'type' => 'array', - 'items' => [ - 'description' => 'The resource types that are supported by the drift detection feature.', - 'type' => 'string', - 'example' => 'ALIYUN::ECS::Disk', - ], - ], - ], - ], - 'ResourceImport' => [ - 'description' => 'Details of the resource import feature.', - 'type' => 'object', - 'properties' => [ - 'SupportedResourceTypes' => [ - 'description' => 'The resource types that are supported by the resource import feature.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::ECS::Disk', - ], - 'ResourceIdentifiers' => [ - 'description' => 'The resource identifiers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource identifier.'."\n", - 'type' => 'string', - 'example' => 'DiskId', - ], - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'CreateStackInstances', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateStackInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EBF833DA-D0E2-52BE-92E2-59CA56BE834E\\",\\n \\"Terraform\\": {\\n \\"SupportedVersions\\": [\\n {\\n \\"ProviderVersions\\": [\\n {\\n \\"ProviderName\\": \\"alicloud\\",\\n \\"SupportedVersions\\": [\\n \\"1.121.2\\"\\n ]\\n }\\n ],\\n \\"TerraformVersion\\": \\"1.0.11\\",\\n \\"Transform\\": \\"Aliyun::Terraform-v1.0\\",\\n \\"UpdateAllowedTransforms\\": [\\n \\"Aliyun::Terraform-v1.1\\"\\n ]\\n }\\n ],\\n \\"SupportedResourceTypes\\": {\\n \\"SystemTag\\": [\\n \\"alicloud_instance\\"\\n ],\\n \\"CustomTag\\": [\\n \\"alicloud_instance\\"\\n ],\\n \\"EstimateCost\\": [\\n \\"alicloud_instance\\"\\n ],\\n \\"ResourceGroup\\": [\\n \\"alicloud_instance\\"\\n ],\\n \\"StackOperationRisk\\": {\\n \\"DeleteStack\\": [\\n \\"alicloud_instance\\"\\n ]\\n }\\n }\\n },\\n \\"TemplateScratch\\": {\\n \\"SupportedResourceTypes\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::Disk\\",\\n \\"SourceResourcesSupported\\": true,\\n \\"SourceTagSupported\\": true,\\n \\"SourceResourceGroupSupported\\": true,\\n \\"SourceSupported\\": true,\\n \\"SupportedTemplateScratchTypes\\": [\\n \\"ArchitectureReplication\\"\\n ]\\n }\\n ]\\n },\\n \\"ResourceCleaner\\": {\\n \\"SupportedResourceTypes\\": [\\n {\\n \\"ResourceType\\": \\"ECS:Instance\\",\\n \\"SupportedFilters\\": [\\n \\"ResourceName\\"\\n ],\\n \\"SideEffects\\": [\\n \\"StopInstance\\"\\n ]\\n }\\n ]\\n },\\n \\"TemplateParameterConstraints\\": {\\n \\"SupportedResourceTypes\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::Disk\\",\\n \\"Properties\\": [\\n \\"[\\\\\\"DiskCategory\\\\\\", \\\\\\"ZoneId\\\\\\"]\\"\\n ]\\n }\\n ]\\n },\\n \\"DriftDetection\\": {\\n \\"SupportedResourceTypes\\": [\\n \\"ALIYUN::ECS::Disk\\"\\n ]\\n },\\n \\"ResourceImport\\": {\\n \\"SupportedResourceTypes\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::ECS::Disk\\",\\n \\"ResourceIdentifiers\\": [\\n \\"DiskId\\"\\n ]\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetFeatureDetailsResponse>\\n <TemplateScratch>\\n <SupportedResourceTypes>\\n <SourceTagSupported>false</SourceTagSupported>\\n <SourceSupported>false</SourceSupported>\\n <ResourceType>ALIYUN::ALB::BackendServerAttachment</ResourceType>\\n <SourceResourcesSupported>false</SourceResourcesSupported>\\n <SourceResourceGroupSupported>false</SourceResourceGroupSupported>\\n </SupportedResourceTypes>\\n <SupportedResourceTypes>\\n <SourceTagSupported>false</SourceTagSupported>\\n <SourceSupported>false</SourceSupported>\\n <ResourceType>ALIYUN::ALB::Listener</ResourceType>\\n <SourceResourcesSupported>false</SourceResourcesSupported>\\n <SourceResourceGroupSupported>false</SourceResourceGroupSupported>\\n </SupportedResourceTypes>\\n </TemplateScratch>\\n <RequestId>A656A2C3-5A21-5F0E-9368-427E6FED58ED</RequestId>\\n <Terraform>\\n <SupportedResourceTypes>\\n <EstimateCost>alicloud_disk</EstimateCost>\\n <EstimateCost>alicloud_ecs_disk</EstimateCost>\\n <SystemTag>alicloud_disk</SystemTag>\\n <SystemTag>alicloud_ecs_disk</SystemTag>\\n <CustomTag>alicloud_disk</CustomTag>\\n <CustomTag>alicloud_ecs_disk</CustomTag>\\n <ResourceGroup>alicloud_disk</ResourceGroup>\\n <ResourceGroup>alicloud_alb_acl</ResourceGroup>\\n <StackOperationRisk>\\n <DeleteStack>alicloud_ecs_disk</DeleteStack>\\n <DeleteStack>alicloud_eip</DeleteStack>\\n </StackOperationRisk>\\n </SupportedResourceTypes>\\n <SupportedVersions>\\n <ProviderVersions>\\n <ProviderName>aws</ProviderName>\\n <SupportedVersions>4.21.0</SupportedVersions>\\n <SupportedVersions>4.22.0</SupportedVersions>\\n </ProviderVersions>\\n <ProviderVersions>\\n <ProviderName>alicloud</ProviderName>\\n <SupportedVersions>1.174.0</SupportedVersions>\\n <SupportedVersions>1.176.0</SupportedVersions>\\n </ProviderVersions>\\n <TerraformVersion>1.0.11</TerraformVersion>\\n <Transform>Aliyun::Terraform-v1.0</Transform>\\n <UpdateAllowedTransforms>Aliyun::Terraform-v1.1</UpdateAllowedTransforms>\\n </SupportedVersions>\\n <SupportedVersions>\\n <ProviderVersions>\\n <ProviderName>aws</ProviderName>\\n <SupportedVersions>4.21.0</SupportedVersions>\\n <SupportedVersions>4.22.0</SupportedVersions>\\n </ProviderVersions>\\n <ProviderVersions>\\n <ProviderName>alicloud</ProviderName>\\n <SupportedVersions>1.174.0</SupportedVersions>\\n <SupportedVersions>1.176.0</SupportedVersions>\\n </ProviderVersions>\\n <TerraformVersion>1.1.9</TerraformVersion>\\n <Transform>Aliyun::Terraform-v1.1</Transform>\\n <UpdateAllowedTransforms>Aliyun::Terraform-v1.0</UpdateAllowedTransforms>\\n </SupportedVersions>\\n </Terraform>\\n <ResourceCleaner>\\n <SupportedResourceTypes>\\n <ResourceType>ADB:DBCluster</ResourceType>\\n <SupportedFilters>RegionId</SupportedFilters>\\n <SupportedFilters>ResourceId</SupportedFilters>\\n <SupportedFilters>ResourceName</SupportedFilters>\\n <SupportedFilters>Tags</SupportedFilters>\\n <SupportedFilters>ResourceGroupId</SupportedFilters>\\n </SupportedResourceTypes>\\n <SupportedResourceTypes>\\n <ResourceType>ALB:LoadBalancer</ResourceType>\\n <SupportedFilters>RegionId</SupportedFilters>\\n <SupportedFilters>ResourceId</SupportedFilters>\\n <SupportedFilters>ResourceName</SupportedFilters>\\n <SupportedFilters>Tags</SupportedFilters>\\n <SupportedFilters>ResourceGroupId</SupportedFilters>\\n <SupportedFilters>DeletionProtection</SupportedFilters>\\n </SupportedResourceTypes>\\n </ResourceCleaner>\\n</GetFeatureDetailsResponse>","errorExample":""}]', - 'title' => 'GetFeatureDetails', - 'description' => 'You can call this operation to query the Terraform hosting, resource cleaner, and scenario features.'."\n" - ."\n" - .'This topic provides an example on how to query the details of features supported by ROS in the China (Hangzhou) region. The details include Terraform versions, provider versions, and supported resource types.'."\n" - ."\n" - .'> In the Examples section, only part of the sample code is provided.', - 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", - ], - 'EnableServiceAccess' => [ - 'summary' => '开启可信服务访问', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'GetStackInstance', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListStackEvents', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:ListStackEvents', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', + [ + 'apiName' => 'GetServiceAccess', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetServiceAccess', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '23045A5D-720E-5D11-A752-E1568F725C93', - ], - 'ServiceAccessInfo' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ENABLED', - ], - ], - ], - ], + [ + 'apiName' => 'ListAITasks', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:ListAITasks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"23045A5D-720E-5D11-A752-E1568F725C93\\",\\n \\"ServiceAccessInfo\\": {\\n \\"Status\\": \\"ENABLED\\"\\n }\\n}","type":"json"}]', - ], - 'EnableServices' => [ - 'summary' => '批量开通', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'GetAITask', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetAITask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DeleteTemplate', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#templateId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'GetTemplate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'template', 'arn' => 'acs:ros:*:{#accountId}:template/{#templateId}'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'EnableServiceAccess', + 'description' => '', 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', + 'ramAction' => [ + 'action' => 'ros:EnableServiceAccess', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'ServiceNames', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '[\\"OSS\\"]', - ], - 'required' => false, + [ + 'apiName' => 'GetStackResource', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetStackResource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'MoveResourceGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:MoveResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'E1BD3327-6BEE-53AD-8788-D892EB575962', - ], - 'FailedServices' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ServiceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ACVS', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '400', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Failed', - ], - ], - ], - ], - ], + [ + 'apiName' => 'DeleteChangeSet', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteChangeSet', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E1BD3327-6BEE-53AD-8788-D892EB575962\\",\\n \\"FailedServices\\": [\\n {\\n \\"ServiceName\\": \\"ACVS\\",\\n \\"Code\\": \\"400\\",\\n \\"Message\\": \\"Failed\\"\\n }\\n ]\\n}","type":"json"}]', - ], - 'GetServiceAccess' => [ - 'summary' => 'Queries a trusted service.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'GetResourceType', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetResourceType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'EnableServices', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'ros:EnableServices', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'GetTemplateEstimateCost', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'ros:GetTemplateEstimateCost', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'ListTemplateScratches', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREros4U80G2', + 'ramAction' => [ + 'action' => 'ros:ListTemplateScratches', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'ServiceAccessInfo' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - ], - ], - ], + [ + 'apiName' => 'UpdateStackTemplateByResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateStackTemplateByResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0DEFE672-690F-54C1-B42A-8E78E640BE07\\",\\n \\"ServiceAccessInfo\\": {\\n \\"Status\\": \\"ENABLED\\"\\n }\\n}","type":"json"}]', - 'title' => 'GetServiceAccess', - ], - 'ListSummaries' => [ - 'summary' => 'Queries summaries.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'SignalResource', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:SignalResource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'UpdateTemplate', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateTemplate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#templateId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'UpdateStackGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'ros:UpdateStackGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ListStackGroups', + 'description' => '', 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATURErosZVIFJW', + 'ramAction' => [ + 'action' => 'ros:ListStackGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'Option', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, + [ + 'apiName' => 'ListAITaskEvents', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'ros:ListAITaskEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RegionSummaries' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'StackGroupCount' => [ - 'type' => 'string', - ], - 'RegionId' => [ - 'type' => 'string', - ], - 'StackCount' => [ - 'type' => 'string', - ], - 'StackDetails' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Count' => [ - 'type' => 'string', - ], - 'BriefStatus' => [ - 'type' => 'string', - ], - ], - ], - ], - 'TemplateScratchCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - 'CenterSummary' => [ - 'type' => 'object', - 'properties' => [ - 'TemplateCount' => [ - 'type' => 'string', - ], - 'RegisteredResourceTypeCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - 'RequestId' => [ - 'type' => 'string', - ], - ], + [ + 'apiName' => 'DeleteDiagnostic', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DeleteDiagnostic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DetectStackDrift', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'ros:DetectStackDrift', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ], + ], + ], + [ + 'apiName' => 'CreateChangeSet', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'ros:CreateChangeSet', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ROS', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ['validationType' => 'conditional', 'product' => 'ROS', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RegionSummaries\\": [\\n {\\n \\"StackGroupCount\\": \\"1\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"StackCount\\": \\"1\\",\\n \\"StackDetails\\": [\\n {\\n \\"Count\\": \\"1\\",\\n \\"BriefStatus\\": \\"COMPLETE\\"\\n }\\n ],\\n \\"TemplateScratchCount\\": 1\\n }\\n ],\\n \\"CenterSummary\\": {\\n \\"TemplateCount\\": \\"2\\",\\n \\"RegisteredResourceTypeCount\\": 3\\n },\\n \\"RequestId\\": \\"B842BB91-A004-59CC-83E3-C961567FCBC8\\"\\n}","type":"json"}]', - 'title' => 'ListSummaries', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-jva', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-nanjing', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fuzhou', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'us-southeast-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'na-south-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'me-central-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'ros.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'ros.aliyuncs.com', ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'ros.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#stackId}'], + ['validationType' => 'always', 'resourceType' => 'StackInstance', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackinstance/{#StackGroupName}/{#StackInstanceAccountId}/{#StackInstanceRegionId}'], + ['validationType' => 'always', 'resourceType' => 'StackGroupOperation', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroupoperation/{#OperationId}'], + ['validationType' => 'conditional', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}'], + ['validationType' => 'conditional', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/{#StackGroupName}'], + ['validationType' => 'conditional', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/{#TemplateScratchId}'], + ['validationType' => 'conditional', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/{#StackId}'], + ['validationType' => 'always', 'resourceType' => 'Template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/*'], + ['validationType' => 'always', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack_group/{#StackGroupName}'], + ['validationType' => 'always', 'resourceType' => 'Stack', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stack/*'], + ['validationType' => 'always', 'resourceType' => 'tag', 'arn' => 'acs:ros:{#regionId}:{#accountId}:tag/*'], + ['validationType' => 'always', 'resourceType' => 'TemplateScratch', 'arn' => 'acs:ros:{#regionId}:{#accountId}:templatescratch/*'], + ['validationType' => 'always', 'resourceType' => 'Template', 'arn' => 'acs:ros:*:{#accountId}:template/{#TemplateId}'], + ['validationType' => 'always', 'resourceType' => 'template', 'arn' => 'acs:ros:{#regionId}:{#accountId}:template/{#templateId}'], + ['validationType' => 'conditional', 'resourceType' => 'template', 'arn' => 'acs:ros:*:{#accountId}:template/{#templateId}'], + ['validationType' => 'always', 'resourceType' => 'StackGroup', 'arn' => 'acs:ros:{#regionId}:{#accountId}:stackgroup/*'], ], ], ]; |
