'1.0', 'info' => [ 'style' => 'RPC', 'product' => 'ROS', 'version' => '2019-09-10', ], 'directories' => [ [ 'id' => 304763, 'title' => null, 'type' => 'directory', 'children' => [ 'CreateAITask', 'GetAITask', 'ListAITasks', 'ListAITaskEvents', ], ], [ 'id' => 304768, 'title' => null, 'type' => 'directory', 'children' => [ 'CreateStack', 'DeleteStack', 'UpdateStack', 'ContinueCreateStack', 'GetStack', 'ListStacks', 'CancelUpdateStack', 'CancelStackOperation', 'SetDeletionProtection', 'ListStackEvents', 'ListStackOperationRisks', 'PreviewStack', ], ], [ 'id' => 304781, 'title' => null, 'type' => 'directory', 'children' => [ 'ListStackResources', 'GetStackResource', 'MoveResourceGroup', ], ], [ 'id' => 304785, 'title' => null, 'type' => 'directory', 'children' => [ 'CreateTemplateScratch', 'DeleteTemplateScratch', 'UpdateTemplateScratch', 'ListTemplateScratches', 'GetTemplateScratch', 'GenerateTemplateByScratch', ], ], [ 'id' => 304792, 'title' => null, 'type' => 'directory', 'children' => [ 'CreateTemplate', 'DeleteTemplate', 'UpdateTemplate', 'GetTemplate', 'ListTemplates', 'ListTemplateVersions', 'GetTemplateParameterConstraints', 'SetTemplatePermission', 'GetTemplateEstimateCost', 'GetTemplateSummary', 'ValidateTemplate', 'GenerateTemplatePolicy', ], ], [ 'id' => 304805, 'title' => null, 'type' => 'directory', 'children' => [ 'SetStackPolicy', 'GetStackPolicy', ], ], [ 'id' => 304808, 'title' => null, 'type' => 'directory', 'children' => [ 'CreateChangeSet', 'DeleteChangeSet', 'GetChangeSet', 'ListChangeSets', 'ExecuteChangeSet', ], ], [ 'id' => 304814, 'title' => null, 'type' => 'directory', 'children' => [ 'CreateStackGroup', 'DeleteStackGroup', 'UpdateStackGroup', 'ListStackGroups', 'GetStackGroup', 'CreateStackInstances', 'DeleteStackInstances', 'UpdateStackInstances', 'GetStackInstance', 'StopStackGroupOperation', 'ListStackInstances', 'GetStackGroupOperation', 'ListStackGroupOperations', 'ListStackGroupOperationResults', 'ImportStacksToStackGroup', ], ], [ 'id' => 304830, 'title' => null, 'type' => 'directory', 'children' => [ 'UpdateStackTemplateByResources', 'GetStackDriftDetectionStatus', 'ListStackResourceDrifts', 'DetectStackDrift', 'DetectStackGroupDrift', 'DetectStackResourceDrift', ], ], [ 'id' => 304837, 'title' => null, 'type' => 'directory', 'children' => [ 'TagResources', 'ListTagResources', 'ListTagKeys', 'ListTagValues', 'UntagResources', ], ], [ 'id' => 304843, 'title' => null, 'type' => 'directory', 'children' => [ 'CreateDiagnostic', 'GetDiagnostic', 'ListDiagnostics', 'DeleteDiagnostic', ], ], [ 'id' => 304848, 'title' => null, 'type' => 'directory', 'children' => [ 'RegisterResourceType', 'SetResourceType', 'DeregisterResourceType', 'ListResourceTypes', 'GetResourceTypeTemplate', 'GetResourceType', 'ListResourceTypeVersions', 'ListResourceTypeRegistrations', ], ], [ 'id' => 304857, 'title' => null, 'type' => 'directory', 'children' => [ 'DescribeRegions', 'SignalResource', 'GetServiceProvisions', 'GetFeatureDetails', ], ], [ 'id' => 304862, 'title' => null, 'type' => 'directory', 'children' => [ 'EnableServiceAccess', 'EnableServices', 'GetServiceAccess', 'ListSummaries', ], ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'CreateAITask' => [ 'summary' => 'Create AI Task', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '227764', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'TaskType', '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', ], ], [ 'name' => 'Prompt', '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服务', ], ], [ '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' => 'TemplateType', 'in' => 'query', 'schema' => [ 'description' => 'The type of the template to be generated or repaired. Default is ROS.', 'type' => 'string', 'required' => false, 'enumValueTitles' => [ 'ROS' => 'ROS', ' Terraform' => ' Terraform', ], 'example' => 'ROS'."\n", ], ], ], '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', ], ], ], ], ], '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.', 'translator' => 'machine', ], 'GetAITask' => [ 'summary' => 'Queries the information about an AI task by task ID.', 'methods' => [ 'get', 'post', ], 'schemes' => [ 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '227776', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], 'parameters' => [ [ 'name' => 'TaskId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the AI task.'."\n", 'type' => 'string', 'required' => false, 'example' => 't-asasas*****', ], ], [ 'name' => 'OutputOption', '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', ], ], ], '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', ], ], ], ], ], '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', ], 'ListAITasks' => [ 'summary' => 'Queries a list of AI tasks.', 'methods' => [ 'get', 'post', ], 'schemes' => [ 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '227771', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], 'parameters' => [ [ 'name' => 'NextToken', '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==', ], ], [ 'name' => 'MaxResults', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => [ 'title' => '本次读取的最大数据记录数量', 'description' => 'The maximum number of data entries to return.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', ], ], [ 'name' => 'TaskType', 'in' => 'query', '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', ], ], [ 'name' => 'TaskId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the AI task. You can filter AI tasks by task ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 't-asasas*****', ], ], ], '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", ], ], ], ], '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', ], ], ], ], ], '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\\": \\"创建一台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', ], 'ListAITaskEvents' => [ 'summary' => 'Queries the events of an AI task.', 'methods' => [ 'get', 'post', ], 'schemes' => [ 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'abilityTreeCode' => '227787', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], 'parameters' => [ [ 'name' => 'NextToken', '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' => 'AAAAAdDWBF2****w==', ], ], [ 'name' => 'MaxResults', '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', ], ], [ 'name' => 'TaskId', 'in' => 'query', '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' => [ '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', ], ], ], ], ], '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', ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], 'parameters' => [ [ 'name' => 'DisableRollback', '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', ], ], [ '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 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', ], ], [ 'name' => 'TimeoutInMinutes', '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', ], ], [ '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" .'> 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 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', ], ], [ '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' => '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****', ], ], [ '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' => 'RamRoleName', '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', ], ], [ 'name' => 'DeletionProtection', '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', ], ], [ 'name' => 'CreateOption', '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', ], ], [ 'name' => 'CreateOptions', '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, ], ], [ '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****', ], ], [ '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', 'in' => 'query', 'style' => 'repeatList', '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 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', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ 'name' => 'NotificationURLs', '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" ."\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' => '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', ], 'required' => false, 'example' => 'http://my-site.com/ros-event', 'maxItems' => 5, ], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags that you want to add to the stack.'."\n", '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', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 20, ], ], [ 'name' => 'ResourceGroupId', '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****', ], ], [ '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', ], ], [ '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****', ], ], [ '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', ], ], ], 'responses' => [ 200 => [ '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****', ], ], 'description' => '', ], ], ], '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" ."\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" ."\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", 'responseParamsDescription' => ' ', ], 'DeleteStack' => [ 'summary' => 'Deletes a stack. You can specify whether to retain resources.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '12675', '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' => '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', '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' => '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.\\'."\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', ], ], [ 'name' => 'RetainResources', '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, ], ], [ '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', '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', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', ], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n\\n\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n\\n","errorExample":""}]', 'title' => 'DeleteStack', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', ], 'UpdateStack' => [ 'summary' => 'Updates a stack.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '12722', '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' => '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' => 'StackPolicyDuringUpdateBody', '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": "*"}]}', ], ], [ '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', ], ], [ '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' => '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 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', ], ], [ 'name' => 'StackPolicyDuringUpdateURL', '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', ], ], [ '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" .'> 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": "*"}]}', ], ], [ 'name' => 'UsePreviousParameters', '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', ], ], [ 'name' => 'RegionId', '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', ], ], [ 'name' => 'DisableRollback', '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, ], ], [ '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 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', ], ], [ '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.'."\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" ."\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" ."\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" ."\n" .'Default value: Disabled. Valid values:'."\n" ."\n" .'* Enabled'."\n" .'* Disabled'."\n" ."\n" .'> Changes have higher priorities than replacement updates.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Disabled', ], ], [ '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****', ], ], [ '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', ], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The parameters.'."\n", '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', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The value of tag N that you want to add to the template.'."\n", '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', ], ], 'required' => false, 'description' => '', ], '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', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', ], ], [ 'name' => 'DryRun', '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', ], ], [ 'name' => 'DryRunOptions', '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, ], ], [ 'name' => 'TaintResources', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'string', ], 'maxItems' => 100, ], ], ], 'responses' => [ 200 => [ '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', ], ], ], ], ], 'description' => '', ], ], ], '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":"\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n\\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" ."\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" ."\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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid', '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****', ], ], [ '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' => '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.\\'."\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', ], ], [ '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" .' * 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', ], ], [ '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" ."\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"}', ], ], [ '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" .'> - 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', ], ], [ '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" .'* false (default): validates and continues to create the stack.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', ], ], [ '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****', ], ], [ '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' => 'RecreatingResources', '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", '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', 'required' => false, 'example' => 'WebServer', ], 'required' => false, 'example' => 'WebServer', 'maxItems' => 200, ], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The template parameters that you want to use to override specific parameters.'."\n", '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.'."\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', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ '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 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', ], ], [ 'name' => 'RecreatingOptions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The options that ROS adopts when ROS continues to create the stack.'."\n", '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" .' '."\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.', 'type' => 'string', 'required' => false, 'example' => 'CreateNewPrepaidInstance', ], 'required' => false, 'maxItems' => 5, ], ], ], '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', ], ], ], ], ], 'description' => '', ], ], ], '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":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n","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", 'responseParamsDescription' => ' ', ], 'GetStack' => [ 'summary' => 'Queries the information about a stack in Resource Orchestration Service (ROS).', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', ], 'parameters' => [ [ 'name' => 'StackId', 'in' => 'query', 'schema' => [ 'description' => 'The stack ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', ], ], [ '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' => '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****', ], ], [ 'name' => 'OutputOption', 'in' => 'query', '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', 'required' => false, 'docRequired' => false, 'example' => 'Disabled', ], ], [ 'name' => 'ShowResourceProgress', 'in' => 'query', '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" ."\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', 'required' => false, 'example' => 'Disabled', ], ], [ 'name' => 'LogOption', 'in' => 'query', 'schema' => [ 'description' => 'The option for returning logs. Valid values:'."\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', 'required' => false, 'example' => 'Stack', ], ], ], 'responses' => [ 200 => [ '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', ], ], 'description' => '', ], ], ], '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":"\\n CREATE_COMPLETE\\n Create a VPC.\\n \\n ALIYUN::Region\\n cn-hangzhou\\n \\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n Stack CREATE completed successfully\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf692****\\n 2020-09-16T08:21:40\\n Disabled\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf692****\\n Create a VPC.\\n ROS\\n test-role\\n 2020-09-17T08:21:40\\n \\n 2020-09-16T09:21:40\\n cn-hangzhou\\n IN_SYNC\\n [\\"http://127.XX.XX.1:8080/x\\", \\"http://127.0.XX.XX:8080/y\\"]\\n false\\n MyStack\\n \\n usage\\n test\\n \\n 10\\n c754d2a4-28f1-46df-b557-9586173a****\\n rg-acfmxazb4ph6aiy****\\n \\n 2\\n 1\\n 0\\n 1\\n 0\\n \\n WaitCondition\\n ALIYUN::ROS::WaitCondition\\n 5\\n 10\\n \\n \\n \\n \\n apply\\n stdout\\n Apply complete! Resources: 42 added, 0 changed, 0 destroyed.\\n \\n \\n MyResourceCleaner\\n \\n ResourceDetails\\n []\\n \\n \\n \\n a52f81be-496f-4e1c-a286-8852ab54****\\n v1\\n ts-7f7a704cf71c49a6****\\n oss://ros/template/demo\\n {}\\n false\\n ACVS\\n \\n DependencyViolation\\n There is still instance(s) in the specified security group.\\n 071D6166-3F6B-5C7B-A1F0-0113FBB643A8\\n DeleteSecurityGroup\\n ALIYUN::ECS::SecurityGroup\\n EcsSecurityGroup\\n \\n","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", 'responseParamsDescription' => ' ', ], 'ListStacks' => [ 'summary' => 'Queries a list of stacks.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', ], 'parameters' => [ [ 'name' => 'PageSize', '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', ], ], [ 'name' => 'ParentStackId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the parent stack.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, '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', ], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => [ 'description' => 'The page number.'."\n" ."\n" .'Pages start from page 1.'."\n" ."\n" .'Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', ], ], [ 'name' => 'ShowNestedStack', 'in' => 'query', 'schema' => [ 'description' => 'Specifies whether to return nested stacks. Valid values:'."\n" ."\n" .'* true'."\n" .'* false (default)'."\n" ."\n" .'> If you specify ParentStackId, you must set ShowNestedStack to true.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true', ], ], [ 'name' => 'StackId', 'in' => 'query', '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****', ], ], [ 'name' => 'Status', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The status of the stack.'."\n", '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', 'required' => false, 'example' => 'CREATE_COMPLETE', ], 'required' => false, 'example' => 'CREATE_COMPLETE', 'maxItems' => 5, ], ], [ 'name' => 'StackName', 'in' => 'query', 'style' => 'repeatList', '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" ."\n" .'Valid values of N: 1 to 5.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MyStack', ], 'required' => false, 'example' => 'MyStack', 'maxItems' => 5, ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the stack.'."\n", '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', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 21, ], ], [ 'name' => 'ResourceGroupId', '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****', ], ], [ 'name' => 'StackIds', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of the stacks.'."\n", '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', 'required' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', ], 'required' => false, 'maxItems' => 10, ], ], [ 'name' => 'StartTime', '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', ], ], ], 'responses' => [ 200 => [ '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' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n 2\\n 10\\n FBAC80B4-9C27-529D-BC9C-4155FA5CD7A7\\n 1\\n \\n CREATE_COMPLETE\\n 2022-03-10T07:44:36\\n 2022-03-10T06:46:36\\n Stack CREATE completed successfully\\n 2022-03-10T06:44:36\\n false\\n \\n acs:rm:rgId\\n rg-aek2frunvw7****\\n \\n MyStack\\n 60\\n cn-hangzhou\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf692****\\n 67805444-a605-45ee-a57f-83908ff6****\\n IN_SYNC\\n ROS\\n rg-aek2frunvw7****\\n false\\n ACVS\\n \\n DependencyViolation\\n There is still instance(s) in the specified security group.\\n 071D6166-3F6B-5C7B-A1F0-0113FBB643A8\\n DeleteSecurityGroup\\n ALIYUN::ECS::SecurityGroup\\n EcsSecurityGroup\\n \\n \\n","errorExample":""}]', 'title' => 'ListStacks', 'description' => '###'."\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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', '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', ], ], [ '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" .'* Safe: cancels the update of a stack as safely as possible.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Safe', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', ], ], ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', '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****', ], ], [ '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' => '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" .'* 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', 'required' => false, 'docRequired' => false, 'example' => 'Safe', ], ], [ 'name' => 'AllowedStackOperations', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The operations that you want to cancel on the stack.'."\n", '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', ], 'required' => false, 'maxItems' => 10, ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n","errorExample":""}]', 'title' => 'CancelStackOperation', ], 'SetDeletionProtection' => [ 'summary' => 'Modifies the deletion protection setting for a stack.', 'path' => '/V2/SetDeletionProtection', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], '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', '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', ], ], [ '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', ], ], ], ], ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', '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****', ], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => [ 'description' => 'The number of entries to return on each page.\\'."\n" .'Maximum value: 50.\\'."\n" .'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '10', ], ], [ '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' => 'PageNumber', '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', ], ], [ 'name' => 'Status', '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, ], ], [ 'name' => 'ResourceType', '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, ], ], [ 'name' => 'LogicalResourceId', 'in' => 'query', 'style' => 'repeatList', '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', ], 'required' => false, 'example' => 'WebServer', 'maxItems' => 5, ], ], ], 'responses' => [ 200 => [ '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' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n 20\\n 10\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6\\n 1\\n \\n CREATE_COMPLETE\\n 0086612d-77cf-4056-b0b5-ff8e94ad****\\n WebServer\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n i-m5e3tfdbinchnexh****\\n ALIYUN::ECS::Instance\\n state changed\\n 2019-08-01T04:07:39\\n StackName\\n \\n","errorExample":""}]', 'title' => 'ListStackEvents', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', ], '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' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], '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' => 'StackId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the stack.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691**** ', ], ], [ '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', ], ], [ '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**** ', ], ], [ 'name' => 'RamRoleName', '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', ], ], [ 'name' => 'RetainAllResources', 'in' => 'query', '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', ], ], [ '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', ], 'required' => false, 'example' => 'WebServer', 'maxItems' => 200, ], ], [ '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"}', ], ], [ '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 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', ], ], [ 'name' => 'TemplateId', 'in' => 'query', '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****', ], ], [ 'name' => 'TemplateVersion', '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', ], ], ], 'responses' => [ 200 => [ '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", '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.', ], ], ], ], '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"]', ], ], ], ], ], ], '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":"\\n 72108E7A-E874-4A5E-B22C-A61E94AD12CD\\n \\n MySG\\n sg-bp1dpioafqphedg9****\\n DF4296CF-F45F-4845-A72B-BE617601DB25\\n ALIYUN::ECS::SecurityGroup\\n NoPermission\\n You are not authorized to complete this action.\\n Referenced\\n There are some ECS instances (i-bp18el96s4wq635e****) depending on the security group.\\n \\n [\\"ecs:DescribeInstance\\", \\"ros:CreateStack\\"]\\n","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", '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', '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" .'* 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', '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', ], ], [ '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', ], ], [ '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****', ], ], [ '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', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The parameters of the stack.'."\n", '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' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ 'name' => 'Parallelism', 'in' => 'query', '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', ], ], [ '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****', ], ], [ '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', ], ], [ '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\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****', ], ], [ '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" .'* false (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', ], ], [ 'name' => 'TaintResources', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'string', ], 'maxItems' => 100, ], ], [ 'name' => 'UsePreviousParameters', 'in' => 'query', 'schema' => [ 'type' => 'boolean', ], ], ], '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' => '', ], ], ], ], ], ], ], 'description' => '', ], ], ], '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":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n \\n One ECS instance.\\n \\n ALIYUN::AccountId\\n 151266687691****\\n \\n One ECS instance.\\n false\\n MyStack\\n 60\\n \\n WebServer\\n ACS::ECS::Instance\\n ALIYUN::ECS::Instance\\n ECS instance.\\n [\\"Resource1\\", \\"Resource2\\"]\\n Add\\n False\\n \\n cn-hangzhou\\n \\n \\n apply\\n stdout\\n Apply complete! Resources: 42 added, 0 changed, 0 destroyed.\\n \\n \\n \\n","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", '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], '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****', ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'Details about resources.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', ], 'Resources' => [ 'description' => 'The resources.'."\n", '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', ], ], ], ], 'description' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6\\n \\n UPDATE_COMPLETE\\n dummy\\n 2019-08-01T06:01:29\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n d04af923-e6b7-4272-aeaa-47ec9777****\\n 2020-02-27T07:47:47\\n ALIYUN::ROS::Stack\\n IN_SYNC\\n state changed\\n 2019-08-01T06:01:23\\n test-describe-resource\\n \\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], '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****', ], ], [ '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****', ], ], [ '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', ], ], [ 'name' => 'ShowResourceAttributes', 'in' => 'query', 'schema' => [ 'description' => 'The name of resource property N that you want to query.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'true', ], ], [ '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', '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, ], ], ], 'responses' => [ 200 => [ '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", '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', ], ], ], ], 'description' => '', ], ], ], '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":"\\n\\t2019-08-01T06:01:23\\n\\t\\n\\tWaitConditionHandle\\n\\t\\n\\t\\n\\tB288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n\\t\\n\\t\\tCurlCli\\n\\t\\tcurl -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\\t\\n\\t\\n\\t\\tWindowsCurlCli\\n\\t\\tcurl -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\\t\\n\\t\\n\\t\\tPowerShellCurlCli\\n\\t\\tcurl -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"}\\n\\t\\n\\tALIYUN::ROS::WaitConditionHandle\\n\\tefdf5c10-96a5-4fd7-ab89-68e7baa2****\\n\\ttest-describe-resource\\n\\tUPDATE_COMPLETE\\n\\tstate changed\\n\\t2019-08-01T06:01:29\\n\\t2020-02-27T07:47:47\\n\\tIN_SYNC\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], 'parameters' => [ [ '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", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'stack', ], ], [ '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', '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****', ], ], [ 'name' => 'RegionId', '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', ], ], ], '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', ], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F84A05B3-7275-4C8B-8AEE-9088C639C271\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n F84A05B3-7275-4C8B-8AEE-9088C639C271\\r\\n","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", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', ], 'CreateTemplateScratch' => [ 'summary' => 'Creates a resource 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 the [DescribeRegions](~~131035~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', ], ], [ 'name' => 'TemplateScratchType', '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', ], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => [ 'description' => 'The description of the resource scenario.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Replicate a VPC. ', ], ], [ 'name' => 'SourceResources', '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, ], ], [ 'name' => 'SourceTag', 'in' => 'query', 'style' => 'json', '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" ."\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.', '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', ], 'required' => false, ], ], 'required' => false, 'docRequired' => false, ], ], [ '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, ], ], 'required' => false, 'docRequired' => false, ], ], [ 'name' => 'PreferenceParameters', '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, ], ], [ 'name' => 'LogicalIdStrategy', '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', ], ], [ '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****', ], ], [ 'name' => 'ExecutionMode', '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', ], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ '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 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', ], ], 'required' => false, 'description' => 'The tags.', ], 'required' => false, 'maxItems' => 20, ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '84980977-22F0-5421-B30D-B201311D5DCF', ], 'TemplateScratchId' => [ 'description' => 'The ID of the resource scenario.', 'type' => 'string', 'example' => 'ts-7f7a704cf71c49a6****', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"84980977-22F0-5421-B30D-B201311D5DCF\\",\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 84980977-22F0-5421-B30D-B201311D5DCF\\n ts-7f7a704cf71c49a6****\\n","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" ."\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:|'."\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:|'."\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:|'."\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: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: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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosSKHQLM', 'FEATURErosHDIJ7A', 'FEATURErosUSKZAD', ], ], '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', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the scenario.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ts-4f83704400994409****', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '1B9C6333-5904-5A1E-9845-CB17A369AFDC', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1B9C6333-5904-5A1E-9845-CB17A369AFDC\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 1B9C6333-5904-5A1E-9845-CB17A369AFDC\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeNodes' => [ 'FEATURErosUSKZAD', 'FEATURErosHDIJ7A', 'FEATURErosSKHQLM', ], ], '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', '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****', ], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => [ 'description' => 'The description of the scenario.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'The description of the scenario. ', ], ], [ 'name' => 'SourceResources', '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, ], ], [ 'name' => 'SourceTag', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'The source tag.'."\n" ."\n" .'> You must specify only one of the following parameters: SourceResources, SourceTag, and SourceResourceGroup.'."\n", '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.'."\n", 'type' => 'object', 'required' => true, 'example' => '{"a": "b"}', ], '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 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', ], 'required' => false, ], ], 'required' => false, 'docRequired' => false, ], ], [ 'name' => 'SourceResourceGroup', 'in' => 'query', 'style' => 'json', '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', ], 'required' => false, ], ], 'required' => false, 'docRequired' => false, ], ], [ 'name' => 'PreferenceParameters', 'in' => 'query', 'style' => 'json', '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', ], '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', ], ], 'required' => false, ], 'required' => false, 'docRequired' => false, ], ], [ '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', ], ], [ '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****', ], ], [ 'name' => 'ExecutionMode', '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', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '221DA822-B8CF-50DF-A9D2-BA197BF97BD5', ], 'TemplateScratchId' => [ 'description' => 'The ID of the scenario.'."\n", 'type' => 'string', 'example' => 'ts-7f7a704cf71c49a6****', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"221DA822-B8CF-50DF-A9D2-BA197BF97BD5\\",\\n \\"TemplateScratchId\\": \\"ts-7f7a704cf71c49a6****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 221DA822-B8CF-50DF-A9D2-BA197BF97BD5\\n ts-7f7a704cf71c49a6****\\n","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', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosUSKZAD', ], ], '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', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the scenario.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ts-7f7a704cf71c49a6****', ], ], [ 'name' => 'TemplateScratchType', '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', ], ], [ 'name' => 'Status', '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"]', ], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the scenario.'."\n", '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', ], ], 'required' => false, ], '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', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4ph6aiy****', ], ], ], 'responses' => [ 200 => [ '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", '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", '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", 'type' => 'array', 'items' => [ 'description' => 'The resource type for filtering resources.'."\n", 'type' => 'string', 'example' => 'ALIYUN::ECS::VPC', ], ], ], ], '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', ], 'Tags' => [ 'description' => 'The tags of the resource scenario.'."\n", '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', ], ], ], ], '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' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n D1C09606-C58B-558F-9B4E-5BF263D17D09\\n 2\\n 1\\n 10\\n \\n ts-48ad85d66cca4620****\\n ResourceImport\\n GENERATE_COMPLETE\\n Resource ALIYUN::ECS::VPC vpc-m5eauuq80anx59v28**** could not be found for template scratch.\\n InvalidZoneId\\n \\n DeletionPolicy\\n Retain\\n \\n 纳管VPC资源。\\n \\n vpc-m5eauuq80anx59v28****\\n ALIYUN::ECS::VPC\\n \\n \\n ALIYUN::ECS::VPC\\n \\n \\n rg-acfmzawhxxc****\\n ALIYUN::ECS::VPC\\n \\n LongTypePrefixAndIndexSuffix\\n \\n usage1\\n test1\\n \\n 2021-12-07T08:06:44\\n 2021-12-07T08:06:44\\n \\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '69681', 'abilityTreeNodes' => [ 'FEATURErosHDIJ7A', 'FEATURErosUSKZAD', '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', ], ], [ 'name' => 'TemplateScratchId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the resource scenario.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'ts-7f7a704cf71c49a6****', ], ], [ 'name' => 'ShowDataOption', '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', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A8E0EF98-6FBD-5656-8298-FC8194F0F7B7', ], 'TemplateScratch' => [ 'description' => 'The resource scenario.'."\n", '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" ."\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.', '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.', 'type' => 'string', 'example' => 'The description of the resource scenario. ', ], 'SourceResources' => [ 'description' => 'The source resources.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The source resource.'."\n", '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', ], ], ], ], '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" ."\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.', 'type' => 'array', 'items' => [ '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', ], ], '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', ], ], ], 'ResourceGroupId' => [ 'description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-acfmzmhzoaad5oq', ], ], ], ], 'description' => '', ], ], ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', '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', ], ], [ 'name' => 'TemplateScratchId', 'in' => 'query', '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****', ], ], [ 'name' => 'ProvisionRegionId', 'in' => 'query', 'schema' => [ 'description' => 'The region ID of the new node.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', ], ], [ 'name' => 'TemplateType', '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', ], ], ], 'responses' => [ 200 => [ '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', ], 'LogicalResourceId' => [ 'description' => 'The logical ID of the resource.'."\n", 'type' => 'string', 'example' => 'ECSVPC_001', ], '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****" }', ], ], 'description' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n D22C1D13-D74E-558C-AF68-1B4C05FA6F1A\\n \\n \\n vpc-bp1m6fww66xbntjyc****\\n \\n ECSVPC_001\\n ALIYUN::ECS::VPC\\n \\n {\\"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","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12673', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', ], 'tenantRelevance' => 'tenant', ], '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 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', ], ], [ 'name' => 'Description', 'in' => 'query', '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.', ], ], [ '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"}', ], ], [ 'name' => 'TemplateName', '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', ], ], [ 'name' => 'ResourceGroupId', '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****', ], ], [ 'name' => 'Tags', '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, ], ], [ 'name' => 'ValidationOptions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'string', ], 'required' => false, 'maxItems' => 1, ], ], ], 'responses' => [ 200 => [ '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****', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8C5D90E1-66B6-496C-9371-3807F8DA80A8\\",\\n \\"TemplateId\\": \\"5ecd1e10-b0e9-4389-a565-e4c15efc****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 8C5D90E1-66B6-496C-9371-3807F8DA80A8\\n 5ecd1e10-b0e9-4389-a565-e4c15efc****\\n","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", 'responseParamsDescription' => ' ', ], 'DeleteTemplate' => [ 'summary' => 'Deletes a template.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12678', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', ], ], 'parameters' => [ [ 'name' => 'TemplateId', '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****', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8C5D90E1-66B6-496C-9371-3807F8DA80A8', ], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8C5D90E1-66B6-496C-9371-3807F8DA80A8\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 8C5D90E1-66B6-496C-9371-3807F8DA80A8\\r\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12726', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', ], ], 'parameters' => [ [ 'name' => 'TemplateURL', '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', ], ], [ 'name' => 'TemplateName', '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', ], ], [ '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.', ], ], [ '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' => '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****', ], ], [ 'name' => 'ValidationOptions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'Validation options.'."\n" ."\n" .'By default, no options are enabled, and strict validation is performed.', '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', 'required' => false, 'example' => 'false', ], ], ], 'responses' => [ 200 => [ '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****', ], 'TemplateVersion' => [ 'description' => 'The template version affected by this operation.', 'type' => 'string', 'example' => 'v2', ], ], ], ], ], '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~~).', '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", 'translator' => 'machine', ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12695', '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****', ], ], [ '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', ], ], [ '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****', ], ], [ '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****', ], ], [ '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', ], ], [ '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', ], ], [ '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', ], ], [ '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', ], ], [ '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', ], ], ], 'responses' => [ 200 => [ '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', ], '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" .'> - 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', ], ], 'description' => '', ], ], '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' => '{}', ], 'Tags' => [ '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", 'type' => 'string', 'example' => 'usage', ], 'Value' => [ 'description' => 'The tag value of the template.'."\n", 'type' => 'string', 'example' => 'test', ], ], ], ], '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"]}', ], ], 'description' => '', ], ], ], '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":"\\n acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****\\n ROS template for create ECS instance.\\n B288A0BE-D927-4888-B0F7-B35EF84****\\n 2020-11-18T08:49:26\\n MyStackGroup\\n v1\\n {\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\"}\\n e85abe0c-6528-43fb-ae93-fdf8de22****\\n 151266687691****\\n 2020-12-07T06:11:48\\n \\n AllVersions\\n 142437958638****\\n ShareToAccounts\\n v1\\n ROS\\n \\n MyTemplate\\n cn-hangzhou\\n a52f81be-496f-4e1c-a286-8852ab54****\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n Private\\n rg-acfmxazb4ph6aiy****\\n {}\\n \\n usage\\n test\\n \\n","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", 'responseParamsDescription' => ' ', 'extraInfo' => "\n" .'| HttpCode | 错误码 | 错误信息 | 描述 |'."\n" .'| ------------- | ------------- | ------------- | ------------- |'."\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 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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12712', 'abilityTreeNodes' => [ 'FEATUREros85NBPH', ], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'PageNumber', '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', ], ], [ 'name' => 'PageSize', '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', ], ], [ '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' => 'ShareType', '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', ], ], [ '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', '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****', ], ], [ 'name' => 'IncludeTags', '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', ], ], [ 'name' => 'Filters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'Filter.', '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, ], ], 'required' => false, ], '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', ], ], ], ], ], ], ], ], '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":"\\n acs:ros:*:151266687691****:template/a52f81be-496f-4e1c-a286-8852ab54****\\n ROS template for create ECS instance.\\n C3A8413B-1F16-4DED-AC3E-61A00718DE8A\\n 2019-10-15T08:17:14.000000\\n MyStackGroup\\n v1\\n {\\"ROSTemplateFormatVersion\\": \\"2015-09-01\\"}\\n e85abe0c-6528-43fb-ae93-fdf8de22****\\n 151266687691****\\n 2019-10-15T08:17:14.000000\\n \\n AllVersions\\n 142437958638****\\n ShareToAccounts\\n v1\\n ROS\\n \\n MyTemplate\\n cn-hangzhou\\n 4d4f5aa2-3260-4e47-863b-763fbb12****\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n Private\\n rg-acfmxazb4ph6aiy****\\n {}\\n \\n usage\\n test\\n \\n","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', '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****', ], ], [ 'name' => 'MaxResults', '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', ], ], [ 'name' => 'TemplateId', '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****', ], ], ], 'responses' => [ 200 => [ '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', ], ], 'description' => '', ], ], ], '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":"\\n \\n test\\n 2020-02-27T07:47:47\\n 2020-02-27T07:47:47\\n v1\\n test\\n 5ecd1e10-b0e9-4389-a565-e4c15efc****\\n \\n caeba0bbb2be03f84eb48b699f0****\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n","errorExample":""}]', 'title' => 'ListTemplateVersions', 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", 'responseParamsDescription' => ' ', ], 'GetTemplateParameterConstraints' => [ 'summary' => 'Queries the values of one or more parameters in a template.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '96176', '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"}}}', ], ], [ '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', ], ], [ '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', ], ], [ '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****', ], ], [ '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', ], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The name of parameter N 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', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ 'name' => 'ParametersKeyFilter', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'The parameters whose values you want to query.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The parameters whose values you want to query.', 'type' => 'string', 'required' => false, 'example' => 'ZoneInfo', ], 'required' => false, 'docRequired' => false, 'maxItems' => 200, 'minItems' => 1, ], ], [ '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****', ], ], [ '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.', '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"]', ], 'required' => false, 'maxItems' => 100, 'minItems' => 0, ], ], [ 'name' => 'StackId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the stack.'."\n", 'type' => 'string', 'required' => false, 'example' => 'c754d2a4-28f1-46df-b557-9586173a****', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9816785B-BCF8-514D-8B76-C1EC2BC954FC', ], 'ParameterConstraints' => [ 'description' => 'The constraints of the parameters.'."\n", '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', ], 'AllowedValues' => [ 'description' => 'The values of the parameter.'."\n", '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', ], 'AssociationParameterNames' => [ 'description' => 'The names of the associated parameters.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The name of the associated parameter.'."\n", 'type' => 'string', 'example' => 'InstanceType', ], ], 'IllegalValueByParameterConstraints' => [ 'description' => 'The values that do not conform to the parameter constraints.'."\n" ."\n" .'> If AllowedValues is returned, IllegalValueByParameterConstraints and IllegalValueByRules are returned at the same time.'."\n", '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', ], ], 'IllegalValueByRules' => [ 'description' => 'The values that do not match the rules in the template.'."\n" ."\n" .'> If AllowedValues is returned, IllegalValueByParameterConstraints and IllegalValueByRules are returned at the same time.'."\n", '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', ], ], 'NotSupportResources' => [ 'description' => 'The unsupported resource in the template.'."\n", 'type' => 'array', 'items' => [ 'description' => '', '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', ], ], ], ], 'QueryErrors' => [ 'description' => 'The error that is returned when the request fails.'."\n", 'type' => 'array', 'items' => [ 'description' => '', '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', ], ], ], ], 'OriginalConstraints' => [ 'description' => 'The original constraint information.'."\n", 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'ResourceName' => [ 'description' => 'The name of the resource that is defined in the template.'."\n", 'type' => 'string', 'example' => 'MyECS', ], 'AllowedValues' => [ 'description' => 'The values of the parameter.'."\n", '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', ], ], ], ], 'QueryTimeoutDetails' => [ 'description' => 'Query the details of timeout.', 'type' => 'array', 'items' => [ 'description' => 'Query the details of 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', ], ], ], ], ], 'description' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n 9816785B-BCF8-514D-8B76-C1EC2BC954FC\\n \\n ZoneInfo\\n String\\n cn-hangzhou-i\\n cn-hangzhou-k\\n cn-hangzhou-d\\n InstanceType\\n cn-hangzhou-h\\n cn-hangzhou-h\\n \\n","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" ."\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', ], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n","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' => ' ', ], 'GetTemplateEstimateCost' => [ 'summary' => 'Queries the estimated prices of the resources in a template.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12696', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', ], ], '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, ], ], [ 'name' => 'TemplateScratchId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the scenario.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ts-aa9c62feab844a6b****', ], ], [ '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', '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****', ], ], ], 'responses' => [ 200 => [ '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", 'type' => 'object', 'example' => '[{\'LogicalResourceIdPattern\': \'wait1\', \'ResourceType\': \'time_sleep\', \'ResourcePath\': \'wait1\'}, {\'LogicalResourceIdPattern\': \'wait2\', \'ResourceType\': \'time_sleep\', \'ResourcePath\': \'wait2\'}]', ], ], 'description' => '', ], ], ], '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":"\\n 6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89\\n \\n \\n ALIYUN::VPC::EIP\\n true\\n \\n \\n 0\\n 0\\n 0\\n CNY\\n 109.37\\n 102204102264****\\n 109.37\\n 0\\n 125\\n 15.63\\n \\n \\n PrePaid\\n 1\\n 1\\n Total\\n Month\\n \\n \\n bandwidth\\n 带宽\\n CNY\\n 109.37\\n 125\\n 15.63\\n \\n \\n \\n 102204102264****\\n 合同优惠_整单_8.750折\\n \\n \\n \\n \\n \\n","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" .' }', '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.|', ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', '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****', ], ], [ '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"}', ], ], [ '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', ], ], [ '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****', ], ], [ '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', ], ], [ '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****', ], ], [ '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', ], ], [ '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', ], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The parameters that are defined in the template.'."\n", '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****', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ '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****', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'ResourceTypes' => [ 'description' => 'All resource types that are used in the template.'."\n", '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', ], 'Parameters' => [ 'description' => 'The declarations of the parameters in the template.'."\n", '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"}', ], '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", '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', ], 'LogicalResourceIds' => [ 'description' => 'The logical IDs of all resources of the type that is specified by ResouceType in the template.'."\n", '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"]', ], ], '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", '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"]', ], ], ], 'description' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n\\t\\tNo description\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tDescription of the vpc, [2, 256] characters. Do not fill or empty, the default is empty.\\n\\t\\t\\t\\n\\t\\t\\tfalse\\n\\t\\t\\tDescription\\n\\t\\t\\tString\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tTags 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.\\n\\t\\t\\t\\n\\t\\t\\t20\\n\\t\\t\\tfalse\\n\\t\\t\\tTags\\n\\t\\t\\tJson\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tIPv6 network cidr of the VPC.\\n\\t\\t\\t\\n\\t\\t\\t1\\n\\t\\t\\tfalse\\n\\t\\t\\tIpv6CidrBlock\\n\\t\\t\\tString\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tTrue\\n\\t\\t\\ttrue\\n\\t\\t\\tFalse\\n\\t\\t\\tfalse\\n\\t\\t\\tfalse\\n\\t\\t\\tWhether to enable an IPv6 network cidr, the value is:False (default): not turned on.True: On.\\n\\t\\t\\t\\n\\t\\t\\tfalse\\n\\t\\t\\tEnableIpv6\\n\\t\\t\\tBoolean\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tResource group id.\\n\\t\\t\\t\\n\\t\\t\\tfalse\\n\\t\\t\\tResourceGroupId\\n\\t\\t\\tString\\n\\t\\t\\n\\t\\t\\n\\t\\t\\tDisplay name of the vpc instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, \'_\' or \'.\', \'-\'\\n\\t\\t\\t\\n\\t\\t\\tfalse\\n\\t\\t\\tVpcName\\n\\t\\t\\tString\\n\\t\\t\\n\\t\\t\\n\\t\\t\\t\\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\\n\\t\\t\\t\\n\\t\\t\\tfalse\\n\\t\\t\\tCidrBlock\\n\\t\\t\\tString\\n\\t\\t\\n\\t\\tFD70598C-3F4B-4E66-9A76-67F2E2D36938\\n\\t\\t\\n\\t\\t\\tVpc\\n\\t\\t\\tVpcId\\n\\t\\t\\tALIYUN::ECS::VPC\\n\\t\\t\\n\\t\\tALIYUN::ECS::VPC\\n\\t\\t2015-09-01\\n\\n","errorExample":""}]', 'title' => 'GetTemplateSummary', 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12727', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', ], 'tenantRelevance' => 'publicInformation', ], '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 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', ], ], [ 'name' => 'RegionId', 'in' => 'query', '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, 'docRequired' => false, '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.\\'."\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', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', ], ], [ '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****', ], ], [ 'name' => 'ValidationOption', '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', ], ], [ 'name' => 'UpdateInfoOptions', '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, ], ], ], 'responses' => [ 200 => [ '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', ], ], ], ], ], 'description' => '', ], ], ], '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":"\\n No description\\n \\n \\n \\n false\\n param_integer\\n Number\\n \\n \\n \\n \\n false\\n param_float\\n Number\\n \\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n \\n instance_id\\n The instance ID of my ECS.\\n \\n \\n ALIYUN::ECS::InstanceGroup\\n DATASOURCE::VPC::Vpcs\\n \\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12684', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', ], ], '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', '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****', ], ], [ '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, 'docRequired' => false, 'example' => 'v1', ], ], [ 'name' => 'OperationTypes', '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, ], ], ], 'responses' => [ 200 => [ 'schema' => [ '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' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', ], ], '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":"\\n 1\\n \\n ecs:DescribeVpcs\\n ecs:DeleteVpc\\n *\\n Allow\\n \\n \\n vpc:CreateVpc\\n vpc:DescribeVpcs\\n vpc:ModifyVpcAttribute\\n vpc:TagResources\\n *\\n Allow\\n \\n\\n16AAEDEB-6273-405E-97D3-023EFD95DE03","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', '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', ], ], [ '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 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":"*"}]}', ], ], [ 'name' => 'StackPolicyURL', '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', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', ], ], ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n","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": "*"}]}', ], ], ], ], ], '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":" \\n \\n \\n \\n * \\n * \\n Update:* \\n Allow \\n \\n \\n LogicalResourceId/WebServer \\n * \\n Update:* \\n Deny \\n \\n \\n \\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F \\n\\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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', '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":"*"}]}', ], ], [ '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', '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', ], ], [ 'name' => 'ChangeSetType', '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', ], ], [ 'name' => 'Description', '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.', ], ], [ 'name' => 'RegionId', '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', ], ], [ '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" .'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' => '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 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', 'required' => false, 'docRequired' => false, 'example' => 'oss://ros/template/demo', ], ], [ 'name' => 'StackPolicyDuringUpdateURL', 'in' => 'query', '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', 'required' => false, 'docRequired' => false, 'example' => '{"ROSTemplateFormatVersion":"2015-09-01"}', ], ], [ 'name' => 'TimeoutInMinutes', 'in' => 'query', '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', ], ], [ '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', ], ], [ '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', ], ], [ 'name' => 'StackPolicyDuringUpdateBody', '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":"*"}]}', ], ], [ 'name' => 'RamRoleName', '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', ], ], [ 'name' => 'ReplacementOption', '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', ], ], [ 'name' => 'TemplateId', '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****', ], ], [ 'name' => 'TemplateVersion', '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', ], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', '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', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ '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', ], 'required' => false, 'example' => 'http://my-site.com/ros-notify', 'maxItems' => 5, ], ], [ '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, ], ], [ 'name' => 'TemplateScratchId', '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", 'type' => 'string', 'required' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', ], ], [ 'name' => 'Parallelism', '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', ], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => [ 'type' => 'string', 'required' => false, ], 'Value' => [ 'type' => 'string', ], ], ], 'maxItems' => 20, ], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => [ 'type' => 'string', ], ], [ 'name' => 'TaintResources', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'string', ], 'maxItems' => 100, ], ], ], 'responses' => [ 200 => [ '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****', ], ], 'description' => '', ], ], ], '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":"\\n e85abe0c-6528-43fb-ae93-fdf8de22****\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosM9I2VQ', ], ], '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', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the change set.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', ], ], ], ], ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosM9I2VQ', ], ], 'parameters' => [ [ 'name' => 'ShowTemplate', 'in' => 'query', 'schema' => [ 'description' => 'Specifies whether to obtain the template. Valid values:'."\n" ."\n" .'* true'."\n" .'* false (default)'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', ], ], [ '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', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the change set.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '4c11658d-bd47-4dd0-ba64-727edc62****', ], ], ], '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", '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.', ], ], ], ], ], ], 'Tags' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => [ 'type' => 'string', ], 'Value' => [ 'type' => 'string', ], ], ], ], 'ResourceGroupId' => [ 'type' => 'string', ], ], ], ], ], '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":"\\n CREATE_COMPLETE\\n \\n Resource\\n \\n Remove\\n WaitCondition\\n WaitCondition\\n ALIYUN::ROS::WaitCondition\\n \\n \\n \\n Resource\\n \\n Remove\\n WaitConHandle\\n WaitConHandle\\n ALIYUN::ROS::WaitConditionHandle\\n \\n \\n \\n 151266687691****\\n ALIYUN::AccountId\\n \\n \\n None\\n ALIYUN::NoValue\\n \\n \\n cn-hangzhou\\n ALIYUN::Region\\n \\n \\n a486fc19-ebb7-4ce9-a70b-554a7c3d****\\n ALIYUN::StackId\\n \\n \\n stack_2021-10-13\\n ALIYUN::StackName\\n \\n \\n 151266687691****\\n ALIYUN::TenantId\\n \\n 3766EE04-76DD-50F9-9C23-3AF136CD5708\\n 2021-12-01T02:20:56\\n ChangeSet_template\\n 4c11658d-bd47-4dd0-ba64-727edc62****\\n AVAILABLE\\n UPDATE\\n cn-hangzhou\\n false\\n stack_2021-10-13\\n 60\\n a486fc19-ebb7-4ce9-a70b-554a7c3d****\\n","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", 'responseParamsDescription' => ' ', ], 'ListChangeSets' => [ 'summary' => 'Queries change sets.', 'path' => '/V2/ListChangeSets', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosM9I2VQ', ], ], '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' => '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', ], ], [ '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' => '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****', ], ], [ '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", 'type' => 'array', 'items' => [ 'description' => 'The status of change set N.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CREATE_COMPLETE', ], 'required' => false, 'example' => 'CREATE_COMPLETE', 'maxItems' => 5, ], ], [ 'name' => 'ChangeSetName', '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", 'type' => 'array', 'items' => [ 'description' => 'The name of change set N.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MyChangeSet', ], 'required' => false, 'example' => 'MyChangeSet', 'maxItems' => 5, ], ], [ 'name' => 'ExecutionStatus', '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", 'type' => 'array', 'items' => [ 'description' => 'The execution status of change set N.'."\n", 'type' => 'string', 'required' => false, 'example' => 'AVAILABLE', ], 'required' => false, 'example' => 'AVAILABLE', 'maxItems' => 5, ], ], ], '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", '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', ], ], ], ], ], ], ], ], ], ], ], '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":"\\n\\n \\n \\n \\n 1f6521a4-05af-4975-afe9-bc4b45ad**** \\n MyChangeSet \\n UPDATE \\n It is a demo. \\n 2019-08-01T05:16:31 \\n CREATE_COMPLETE \\n AVAILABLE \\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691**** \\n MyStack \\n cn-hangzhou \\n \\n \\n 1 \\n 10 \\n 1 \\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F \\n\\n","errorExample":""}]', 'title' => 'ListChangeSets', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', ], 'ExecuteChangeSet' => [ 'summary' => 'Executes change sets.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeNodes' => [ 'FEATURErosM9I2VQ', ], ], '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', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the change set.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1f6521a4-05af-4975-afe9-bc4b45ad****', ], ], [ '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~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', ], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '12671', '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', ], ], [ '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' => 'Description', '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"}', ], ], [ '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. 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', ], ], [ '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, 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****', ], ], [ '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', ], ], [ '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', ], ], [ 'name' => 'TemplateId', '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****', ], ], [ '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 if you specify TemplateId.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1', ], ], [ 'name' => 'Parameters', '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, ], ], [ 'name' => 'ResourceGroupId', '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****', ], ], [ 'name' => 'PermissionModel', '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', ], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the stack group.'."\n", '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" ."\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', ], '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', ], 'required' => false, 'maxItems' => 1, ], ], [ 'name' => 'StackArn', 'in' => 'query', 'schema' => [ 'type' => 'string', ], ], ], 'responses' => [ 200 => [ '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****', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"StackGroupId\\": \\"2c036e78-9e82-428e-afd6-177f5d04****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 14A07460-EBE7-47CA-9757-12CC4761D47A\\n 2c036e78-9e82-428e-afd6-177f5d04****\\n","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", 'responseParamsDescription' => ' ', 'translator' => 'machine', ], 'DeleteStackGroup' => [ 'summary' => 'Deletes a stack group.', 'path' => '/V2/DeleteStackGroup', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeNodes' => [ 'FEATUREros4U80G2', ], ], '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', ], ], [ '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', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '14A07460-EBE7-47CA-9757-12CC4761D47A', ], ], 'description' => '', ], ], ], 'errorCodes' => [], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\t\\t14A07460-EBE7-47CA-9757-12CC4761D47A\\r\\n\\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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '12723', 'abilityTreeNodes' => [ 'FEATUREros4U80G2', ], ], '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', ], ], [ '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', '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"]', ], ], [ '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', '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', ], ], [ '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****', ], ], [ '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', '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****', ], ], [ 'name' => 'TemplateVersion', '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', ], ], [ 'name' => 'Parameters', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'Specifies whether to enable automatic deployment.'."\n" ."\n" .'Valid values:'."\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", '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' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ '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' => 'DeploymentTargets', '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"]}', ], ], [ 'name' => 'Capabilities', '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, ], ], [ 'name' => 'DeploymentOptions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'string', ], 'maxItems' => 1, ], ], ], '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****', ], ], 'description' => '', ], ], ], '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" ."\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" ."\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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12703', 'abilityTreeNodes' => [ 'FEATUREros4U80G2', ], 'tenantRelevance' => 'tenant', ], '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' => 'Status', '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', ], ], [ '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', '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', ], ], [ 'name' => 'ResourceGroupId', '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****', ], ], [ 'name' => 'Tags', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags that are added to the stack group.'."\n", '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' => '', ], 'required' => false, 'maxItems' => 20, ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'StackGroups' => [ 'description' => 'The stack groups.'."\n", '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", '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', ], ], 'description' => '', ], ], '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", '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', ], ], ], 'CreateTime' => [ 'type' => 'string', ], 'UpdateTime' => [ 'type' => 'string', ], ], 'description' => '', ], ], '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', ], ], 'description' => '', ], ], ], '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":"\\n \\n fd0ddef9-9540-4b42-a464-94f77835****\\n ACTIVE\\n 2020-02-27T07:47:47\\n My Stack Group\\n IN_SYNC\\n MyStackGroup\\n \\n usage1\\n test1\\n \\n rg-acfmzawhxxcj****\\n SELF_MANAGED\\n \\n true\\n true\\n \\n \\n 1\\n 14A07460-EBE7-47CA-9757-12CC4761D47A\\n 10\\n 1\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12690', 'abilityTreeNodes' => [ 'FEATUREros4U80G2', ], ], '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', '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', ], ], [ 'name' => 'StackGroupId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'fd0ddef9-9540-4b42-a464-94f77835****', ], ], ], 'responses' => [ 200 => [ '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" ."\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' => [ '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" ."\n" .'Valid values:'."\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" ."\n" .'Valid values:'."\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', ], ], ], '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' => '', ], ], ], '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":"\\n 14A07460-EBE7-47CA-9757-12CC4761D47A\\n \\n ACTIVE\\n rg-acfmxazb4ph6aiy****\\n MyStackGroup\\n fd0ddef9-9540-4b42-a464-94f77835****\\n AliyunROSStackGroupAdministrationRole\\n \\n 2015-09-01\\n \\n SELF_MANAGED\\n AliyunROSStackGroupExecutionRole\\n \\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '12672', 'abilityTreeNodes' => [ 'FEATURErosTBD793', ], ], '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" ."\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****"]', ], ], [ 'name' => 'RegionIds', '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"]', ], ], [ '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', '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', ], ], [ 'name' => 'OperationPreferences', '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}', ], ], [ 'name' => 'TimeoutInMinutes', 'in' => 'query', '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', 'required' => false, 'maximum' => '1440', 'minimum' => '10', 'example' => '10', ], ], [ 'name' => 'DisableRollback', 'in' => 'query', 'schema' => [ 'description' => 'Specifies whether to disable rollback when the stack fails to be created.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* true'."\n" .'* false (default)'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', ], ], [ 'name' => 'ParameterOverrides', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The parameters that are used to override specific parameters.'."\n", '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', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ 'name' => 'DeploymentTargets', '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"}', ], ], [ 'name' => 'DeploymentOptions', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'string', ], 'maxItems' => 1, ], ], ], '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****', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 14A07460-EBE7-47CA-9757-12CC4761D47A\\n 6da106ca-1784-4a6f-a7e1-e723863d****\\n","errorExample":""}]', 'title' => 'CreateStackInstances', 'description' => 'Before you call this operation, make sure that a stack group is created. For more information, see [CreateStackGroup](~~151333~~).'."\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", '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeNodes' => [ 'FEATURErosTBD793', ], ], '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', 'in' => 'query', 'schema' => [ 'description' => 'The description of the delete operation.'."\n" ."\n" .'The description must be 1 to 256 characters in length.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Delete stack instances in hangzhou and beijing', ], ], [ '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', '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", '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"]', ], 'required' => false, 'docRequired' => false, ], '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****"]', ], 'required' => false, ], ], 'required' => false, ], ], ], '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****', ], ], ], ], ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeNodes' => [ 'FEATURErosTBD793', ], ], '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" ."\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****"]', ], 'required' => false, 'docRequired' => false, 'example' => '["151266687691****","141261387191****"]', ], ], [ '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"]', ], 'required' => true, 'docRequired' => true, 'example' => '["cn-hangzhou", "cn-beijing"]', ], ], [ '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', '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', ], ], [ 'name' => 'OperationPreferences', '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}', ], ], [ 'name' => 'TimeoutInMinutes', 'in' => 'query', 'schema' => [ 'description' => 'The timeout period for the update operation.'."\n" ."\n" .'* Default value: 60.'."\n" .'* Unit: minutes.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '1440', 'minimum' => '10', 'example' => '10', ], ], [ 'name' => 'ParameterOverrides', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The parameters that are used to override specific parameters.'."\n", '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 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', ], ], 'required' => false, 'description' => '', ], 'required' => false, 'maxItems' => 200, ], ], [ 'name' => 'DeploymentTargets', 'in' => 'query', 'style' => 'json', '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", '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****"]', ], 'required' => false, ], ], 'required' => false, ], ], ], '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****', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n\\t\\t6da106ca-1784-4a6f-a7e1-e723863d****\\n\\t\\t14A07460-EBE7-47CA-9757-12CC4761D47A\\n\\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' => ' ', ], 'GetStackInstance' => [ 'summary' => 'Queries the information about a stack instance that is associated with a stack group.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosTBD793', ], ], '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', ], ], [ '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" .'* 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****', ], ], [ 'name' => 'StackInstanceRegionId', 'in' => 'query', 'schema' => [ 'description' => 'The region ID of the stack.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing', ], ], [ '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" .'* 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', ], ], ], 'responses' => [ 200 => [ '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\'}]', ], ], ], ], ], 'description' => '', ], ], ], '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", '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', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\t\\t14A07460-EBE7-47CA-9757-12CC4761D47A\\r\\n\\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. |', ], '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' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosTBD793', ], ], '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', ], ], [ '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" .'* 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****', ], ], [ 'name' => 'StackInstanceRegionId', 'in' => 'query', 'schema' => [ 'description' => 'The region ID of the stack.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-beijing', ], ], [ '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', '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', ], ], ], 'responses' => [ 200 => [ '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", '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', ], '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' => '156552876021****', ], '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', ], ], 'description' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n 1\\n 85DE34BD-7FF9-480F-8C21-556E9DA93ACD\\n 10\\n 1\\n \\n OUTDATED\\n 156552876021****\\n User initiated stop.\\n MyStackGroup\\n fd0ddef9-9540-4b42-a464-94f77835****\\n cn-beijing\\n \\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', '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', ], ], [ 'name' => 'OperationId', '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****', ], ], ], 'responses' => [ 200 => [ '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" ."\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" ."\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****"]', ], ], ], ], ], ], ], 'description' => '', ], ], ], '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":"\\n 14A07460-EBE7-47CA-9757-12CC4761D47A\\n \\n SUCCEEDED\\n DELETE\\n false\\n 2020-01-20T09:22:4\\n 645d0eed-f1e6-40b0-8e8f-0e1eaa34da6f\\n 2020-01-20T09:22:3\\n MyStackGroup\\n fd0ddef9-9540-4b42-a464-94f77835****\\n AliyunROSStackGroupAdministrationRole\\n \\n 1\\n cn-hangzhou\\n cn-beijing\\n 0\\n \\n AliyunROSStackGroupExecutionRole\\n \\n","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", 'responseParamsDescription' => ' ', ], 'ListStackGroupOperations' => [ 'summary' => 'Queries the information about stack group operations in an Alibaba Cloud region.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', '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' => 'StackGroupName', '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', ], ], [ '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.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => 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' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1', ], ], ], 'responses' => [ 200 => [ '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", 'type' => 'array', 'items' => [ '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', ], ], 'description' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n\\t\\t1\\n\\t\\t1\\n\\t\\t10\\n\\t\\t4D838E26-B457-4871-B6DE-18814050D13D\\n\\t\\t\\n\\t\\t\\tSUCCEEDED\\n\\t\\t\\tfd0ddef9-9540-4b42-a464-94f77835****\\n\\t\\t\\tCREATE\\n\\t\\t\\tMyStackGroup\\n\\t\\t\\t2020-01-20T09:22:36.000000\\n\\t\\t\\t6da106ca-1784-4a6f-a7e1-e723863d****\\n\\t\\t\\t2020-01-20T09:22:41.000000\\n\\t\\t\\n\\n","errorExample":""}]', 'title' => 'ListStackGroupOperations', 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~131957~~).'."\n", 'responseParamsDescription' => ' ', ], 'ListStackGroupOperationResults' => [ 'summary' => 'Queries the results of an operation on a stack group.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATUREros4U80G2', ], ], 'parameters' => [ [ '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 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 query the operation ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '6da106ca-1784-4a6f-a7e1-e723863d****', ], ], [ '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', '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', ], ], ], 'responses' => [ 200 => [ 'schema' => [ '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' => '', ], ], ], 'description' => '', ], ], ], '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":"\\n 1\\n 14A07460-EBE7-47CA-9757-12CC4761D47A\\n 10\\n 1\\n \\n SUCCEEDED\\n 175458090349****\\n cn-beijing\\n \\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '240282', 'abilityTreeNodes' => [ 'FEATURErosTBD793', ], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ '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', ], ], [ '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', ], ], [ 'name' => 'StackArns', '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, ], ], [ 'name' => 'ResourceDirectoryFolderIds', 'in' => 'query', 'style' => 'json', 'schema' => [ '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****"]', ], 'required' => false, 'docRequired' => false, ], ], [ 'name' => 'ClientToken', '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****', ], ], [ 'name' => 'OperationDescription', 'in' => 'query', 'schema' => [ 'description' => 'Description of the operation.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Import ops stacks to stack group', ], ], [ 'name' => 'OperationPreferences', 'in' => 'query', '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" .'- {"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" ."\n" .'Multiple parameters are separated by commas (,).'."\n" ."\n" .'> - Do not specify both MaxConcurrentCount and MaxConcurrentPercentage. '."\n" .'>- Do not specify both FailureToleranceCount and FailureTolerancePercentage.', 'type' => 'object', 'required' => false, 'docRequired' => false, 'example' => '{"FailureToleranceCount": 1,"MaxConcurrentCount": 2}', ], ], ], 'responses' => [ 200 => [ '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****', ], ], ], ], ], 'staticInfo' => [ 'returnType' => 'asynchronous', 'callback' => 'ROS::2019-09-10::GetStackGroupOperation', 'callbackInterval' => 2000, 'maxCallbackTimes' => 30, ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"14A07460-EBE7-47CA-9757-12CC4761D47A\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","type":"json"}]', 'title' => 'ImportStacksToStackGroup', 'translator' => 'machine', ], 'UpdateStackTemplateByResources' => [ 'summary' => 'Eliminates stack drifts by performing drift detection.', 'path' => '/V2/UpdateStackTemplateByResources', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', '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' => '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" .'* 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', ], ], [ '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' => '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~~).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', ], ], [ 'name' => 'TemplateFormat', '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', ], ], [ 'name' => 'LogicalResourceId', '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, ], ], ], 'responses' => [ 200 => [ '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\\"]}}}}', ], ], 'description' => '', ], ], ], '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" ."\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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosGGHNC3', ], ], 'parameters' => [ [ 'name' => 'RegionId', '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', ], ], [ '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.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'a7044f0d-6f2e-4128-a307-4524ef88****', ], ], ], 'responses' => [ 200 => [ '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****', ], ], 'description' => '', ], ], ], '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":"\\n a7044f0d-6f2e-4128-a307-4524ef88****\\n DETECTION_COMPLETE\\n Detect stack drift successfully\\n 2020-02-27T07:47:47\\n 1\\n DRIFTED\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, '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 physical ID of the resource.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', ], ], [ 'name' => 'MaxResults', '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', ], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => [ 'description' => 'The type of the resource.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'AAAAAdDWBF2****w==', ], ], [ 'name' => 'ResourceDriftStatus', '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, ], ], ], 'responses' => [ 200 => [ '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', ], ], 'description' => '', ], ], ], '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":"\\n AAAAAdDWBF2****w==\\n \\n {\\"ScalingRuleName\\": \\"test1\\"}\\n 2020-02-27T07:47:47\\n {\\"ScalingRuleName\\": \\"test2\\"}\\n ScalingRule\\n asr-2ze4zzc3kf9yz1kd****\\n \\n test1\\n NOT_EQUAL\\n test2\\n /ScalingRuleName\\n \\n MODIFIED\\n ALIYUN::ESS::ScalingRule\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n \\n 8625BB3E-2950-4F3E-A713-5458DB5CD874\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosGGHNC3', ], ], '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', ], ], [ '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~~).'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', ], ], [ 'name' => 'LogicalResourceId', '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, ], ], ], 'responses' => [ 200 => [ '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****', ], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"DriftDetectionId\\": \\"a7044f0d-6f2e-4128-a307-4524ef88****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n a7044f0d-6f2e-4128-a307-4524ef88****\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATUREros4U80G2', ], ], 'parameters' => [ [ '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~~).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', ], ], [ 'name' => 'RegionId', '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', ], ], [ '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 (\\_). It must start with a digit or letter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MyStackGroup', ], ], [ 'name' => 'OperationPreferences', 'in' => 'query', '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.'."\n", 'type' => 'object', 'required' => false, 'docRequired' => false, 'example' => '{"FailureToleranceCount": 1, "MaxConcurrentCount": 2}', ], ], ], 'responses' => [ 200 => [ '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****', ], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\",\\n \\"OperationId\\": \\"6da106ca-1784-4a6f-a7e1-e723863d****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6\\n 6da106ca-1784-4a6f-a7e1-e723863d****\\n","errorExample":""}]', 'title' => 'DetectStackGroupDrift', 'requestParamsDescription' => ' ', '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosGGHNC3', ], ], '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' => '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~~).'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', ], ], [ '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' => 'LogicalResourceId', 'in' => 'query', 'schema' => [ 'description' => 'The name of the resource.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ScalingRuleName', ], ], ], 'responses' => [ 200 => [ '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****', ], ], ], ], ], '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":"\\n {\\"ScalingRuleName\\": \\"test1\\"}\\n 2020-02-27T07:47:47\\n {\\"ScalingRuleName\\": \\"test2\\"}\\n ScalingRule\\n asr-2ze4zzc3kf9yz1kd****\\n \\n test1\\n NOT_EQUAL\\n test2\\n /ScalingRuleName\\n \\n MODIFIED\\n ALIYUN::ESS::ScalingRule\\n 4a6c9851-3b0f-4f5f-b4ca-a14bf691****\\n","errorExample":""}]', 'title' => 'DetectStackResourceDrift', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', ], 'TagResources' => [ 'summary' => 'Creates and adds tags to resources.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12720', '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', ], ], [ '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', ], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of the resources.'."\n", '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****', ], 'required' => true, 'example' => '7fee80e1-8c48-4c2f-8300-0f6dc40b****', 'maxItems' => 50, ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resource. You can specify up to 20 tags.'."\n", '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.'."\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', ], ], 'required' => false, ], 'required' => true, 'maxItems' => 21, ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\t\\tC46FF5A8-C5F0-4024-8262-B16B639225A0\\r\\n\\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", '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12710', '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', ], ], [ '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', ], ], [ 'name' => 'NextToken', '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*****', ], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The IDs of the resources.'."\n", '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, ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags of the resources. You can specify up to 20 tags.'."\n", '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, ], 'required' => false, 'maxItems' => 21, ], ], ], 'responses' => [ 200 => [ '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', ], ], ], ], ], 'description' => '', ], ], ], '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", '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', 'FEATURErosZVIFJW', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ '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', ], ], [ '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', ], ], [ 'name' => 'NextToken', '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*****', ], ], ], 'responses' => [ 200 => [ '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' => '', ], ], ], '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":"\\n\\t\\tTagKey1\\n\\t\\tTagKey2\\n\\t\\tcaeba0bbb2be03f84eb48b699f0*****\\n\\t\\tFAD755D7-F21E-449A-932D-2C59DAF86B14\\n\\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', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', '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', ], ], [ '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', ], ], [ 'name' => 'NextToken', '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*****', ], ], [ 'name' => 'Key', 'in' => 'query', 'schema' => [ 'description' => 'The key of the tag.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TagKey1', ], ], ], 'responses' => [ 200 => [ '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', ], ], ], ], ], ], '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":"\\n\\t\\t\\n\\t\\tBD1EB89F-F2CD-4663-B602-26868A49EAFD\\n\\t\\tTagValue1\\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', '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', ], ], [ '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', ], ], [ 'name' => 'All', 'in' => 'query', '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', 'required' => false, 'example' => 'true', ], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', '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", '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, ], ], [ 'name' => 'TagKey', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag keys of the resource. You can specify up to 20 tag keys.'."\n", 'type' => 'array', 'items' => [ 'description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', ], '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 ', ], ], ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\t\\tC46FF5A8-C5F0-4024-8262-B16B639225A0\\r\\n\\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', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'DiagnosticKey', 'in' => 'query', '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' => 'Product', 'in' => 'query', 'schema' => [ 'description' => 'The name of the product that is diagonosed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ros', ], ], [ 'name' => 'DiagnosticType', 'in' => 'query', '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' => 'Lang', 'in' => 'query', 'schema' => [ 'description' => 'The language of the diagnostic report to be generated. Only Chinese and English are supported.'."\n" ."\n" .'Valid values:'."\n" ."\n" .'* zh-cn'."\n" .'* en'."\n", 'type' => 'string', 'required' => false, 'example' => 'zh-cn', 'default' => 'zh-cn', 'enum' => [ 'zh-cn', 'en', ], ], ], ], 'responses' => [ 200 => [ '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', ], ], 'description' => '', ], ], ], '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', ], 'GetDiagnostic' => [ 'summary' => 'Obtains the diagnosis details based on a specified diagnostic report ID.', 'methods' => [ 'get', 'post', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', ], 'parameters' => [ [ 'name' => 'ReportId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the diagnostic report.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dr-d540def087714890****', ], ], ], 'responses' => [ 200 => [ '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' => '', ], ], ], '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', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'DiagnosticKey', 'in' => 'query', 'schema' => [ 'description' => 'The keyword in the diagnosis.'."\n", 'type' => 'string', 'required' => false, 'example' => '2829A772-B154-5A0A-B61B-DEE8A9EE8A5D', ], ], [ 'name' => 'DiagnosticProduct', 'in' => 'query', 'schema' => [ 'description' => 'The product that is diagnosed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ros', ], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => [ 'description' => 'The diagnosis status.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Complete', ], ], [ 'name' => 'NextToken', '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' => 'caeba0bbb2be03f84eb48b699f01****', ], ], [ 'name' => 'MaxResults', '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' => 'string', 'required' => false, 'example' => '50', ], ], ], 'responses' => [ 200 => [ '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****', ], ], 'description' => '', ], ], ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', ], 'parameters' => [ [ 'name' => 'ReportId', 'in' => 'query', 'schema' => [ 'description' => 'The report ID. You can troubleshoot issues based on the report.'."\n", 'type' => 'string', 'required' => false, 'example' => 'dr-56a0e30bf9854b00****', ], ], ], 'responses' => [ 200 => [ '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', ], ], 'description' => '', ], ], ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosUIOT2M', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'EntityType', 'in' => 'query', 'schema' => [ 'description' => 'The entity type. Set the value to Module.'."\n", 'type' => 'string', 'required' => true, 'enumValueTitles' => [ 'Module' => 'Module', ], 'example' => 'Module', ], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ 'description' => 'The resource type.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', ], ], [ '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"}', ], ], [ '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. 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" .'> - This parameter takes effect only when EntityType is set to Module.'."\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', ], ], [ 'name' => 'Description', '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.', ], ], [ '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****', ], ], ], 'responses' => [ 200 => [ '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****', ], ], 'description' => '', ], ], ], 'staticInfo' => [ 'returnType' => 'asynchronous', 'callback' => 'ROS::2019-09-10::ListResourceTypeRegistrations', 'callbackInterval' => 10000, 'maxCallbackTimes' => 30, ], '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", ], 'SetResourceType' => [ 'summary' => 'Modifies a resource type or a version of a resource type.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosUIOT2M', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ 'description' => 'The resource type.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', ], ], [ 'name' => 'VersionId', 'in' => 'query', '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" ."\n" .'> You can specify only one of the VersionId and DefaultVersionId parameters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1', ], ], [ 'name' => 'DefaultVersionId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the default version. You can use this parameter to specify the default version of the resource type.'."\n" ."\n" .'> You can specify only one of the VersionId and DefaultVersionId parameters.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1', ], ], [ 'name' => 'Description', 'in' => 'query', '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', 'required' => false, 'example' => 'It is a demo.', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6F', ], ], 'description' => '', ], ], ], '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' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosUIOT2M', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ 'description' => 'The resource type.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', ], ], [ 'name' => 'VersionId', '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', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', ], ], 'description' => '', ], ], ], 'staticInfo' => [ 'returnType' => 'synchronous', ], '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", ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'EntityType', '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', ], ], [ 'name' => 'Provider', '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', ], ], [ '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, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'ResourceTypes' => [ 'description' => 'The array of resource types.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'string', 'example' => '["ALIYUN::ECS::Instance","ALIYUN::RDS::Instance"]', ], ], 'RequestId' => [ 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EA00860C-ECAF-5253-A1F9-8198695A7157', ], 'ResourceTypeSummaries' => [ 'description' => 'The resource type summaries.'."\n", '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', ], ], ], ], ], 'description' => '', ], ], ], '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":"\\n ALIYUN::ACM::Configuration\\n ALIYUN::ACM::Namespace\\n ALIYUN::ACTIONTRAIL::Trail\\n ALIYUN::ACTIONTRAIL::TrailLogging\\n ALIYUN::ADB::DBCluster\\n ALIYUN::ALB::BackendServerAttachment\\n ALIYUN::ALB::Listener\\n ALIYUN::ALB::LoadBalancer\\n ALIYUN::ALB::Rule\\n ALIYUN::ALB::ServerGroup\\n ALIYUN::ARMS::AlertContact\\n ALIYUN::ARMS::AlertContactGroup\\n ALIYUN::ARMS::RetcodeApp\\n ALIYUN::ASM::ServiceMesh\\n ALIYUN::ApiGateway::Api\\n ALIYUN::ApiGateway::App\\n ALIYUN::ApiGateway::Authorization\\n ALIYUN::ApiGateway::CustomDomain\\n ALIYUN::ApiGateway::Deployment\\n ALIYUN::ApiGateway::Group\\n ALIYUN::ApiGateway::Instance\\n ALIYUN::ApiGateway::LogConfig\\n ALIYUN::ApiGateway::Plugin\\n ALIYUN::ApiGateway::PluginAttachment\\n ALIYUN::ApiGateway::Signature\\n ALIYUN::ApiGateway::SignatureBinding\\n ALIYUN::ApiGateway::StageConfig\\n ALIYUN::ApiGateway::TrafficControl\\n ALIYUN::ApiGateway::TrafficControlBinding\\n ALIYUN::ApiGateway::VpcAccessConfig\\n ALIYUN::BSS::ResourcePackage\\n ALIYUN::BSS::WaitOrder\\n ALIYUN::BrainIndustrial::PidOrganization\\n ALIYUN::BrainIndustrial::PidProject\\n ALIYUN::CAS::Certificate\\n ALIYUN::CDDC::DedicatedHost\\n ALIYUN::CDDC::DedicatedHostGroup\\n ALIYUN::CDN::Domain\\n ALIYUN::CDN::DomainConfig\\n ALIYUN::CEN::CenBandwidthLimit\\n ALIYUN::CEN::CenBandwidthPackage\\n ALIYUN::CEN::CenBandwidthPackageAssociation\\n ALIYUN::CEN::CenInstance\\n ALIYUN::CEN::CenInstanceAttachment\\n ALIYUN::CEN::CenRouteMap\\n ALIYUN::CEN::CenRouteService\\n ALIYUN::CEN::CenVbrHealthCheck\\n ALIYUN::CEN::RouteEntry\\n ALIYUN::CEN::TransitRouter\\n ALIYUN::CEN::TransitRouterPeerAttachment\\n ALIYUN::CEN::TransitRouterRouteEntry\\n ALIYUN::CEN::TransitRouterRouteTable\\n ALIYUN::CEN::TransitRouterRouteTableAssociation\\n ALIYUN::CEN::TransitRouterRouteTablePropagation\\n ALIYUN::CEN::TransitRouterVbrAttachment\\n ALIYUN::CEN::TransitRouterVpcAttachment\\n ALIYUN::CLOUDFW::AddressBook\\n ALIYUN::CLOUDFW::ControlPolicy\\n ALIYUN::CLOUDFW::VpcFirewallControlPolicy\\n ALIYUN::CMS::Contact\\n ALIYUN::CMS::ContactGroup\\n ALIYUN::CMS::DynamicTagGroup\\n ALIYUN::CMS::EventRule\\n ALIYUN::CMS::EventRuleTargets\\n ALIYUN::CMS::GroupMetricRule\\n ALIYUN::CMS::MetricRuleTargets\\n ALIYUN::CMS::MetricRuleTemplate\\n ALIYUN::CMS::MonitorGroup\\n ALIYUN::CMS::MonitorGroupInstances\\n ALIYUN::CMS::MonitoringAgentProcess\\n ALIYUN::CMS::SiteMonitor\\n ALIYUN::CR::InstanceEndpointAclPolicy\\n ALIYUN::CR::Namespace\\n ALIYUN::CR::Repository\\n ALIYUN::CR::UserInfo\\n ALIYUN::CS::AnyCluster\\n ALIYUN::CS::ClusterNodePool\\n ALIYUN::CS::KubernetesCluster\\n ALIYUN::CS::ManagedEdgeKubernetesCluster\\n ALIYUN::CS::ManagedKubernetesCluster\\n ALIYUN::CS::ServerlessKubernetesCluster\\n ALIYUN::ClickHouse::DBCluster\\n ALIYUN::Config::CompliancePack\\n ALIYUN::Config::DeliveryChannel\\n ALIYUN::Config::Rule\\n ALIYUN::DATAHUB::Project\\n ALIYUN::DATAHUB::Topic\\n ALIYUN::DBS::RestoreTask\\n ALIYUN::DMS::Instance\\n ALIYUN::DMS::User\\n ALIYUN::DNS::Domain\\n ALIYUN::DNS::DomainGroup\\n ALIYUN::DNS::DomainRecord\\n ALIYUN::DRDS::DrdsDB\\n ALIYUN::DRDS::DrdsInstance\\n ALIYUN::DTS::ConsumerGroup\\n ALIYUN::DTS::MigrationJob\\n ALIYUN::DTS::SubscriptionInstance\\n ALIYUN::DTS::SynchronizationJob\\n ALIYUN::ECI::ContainerGroup\\n ALIYUN::ECI::ImageCache\\n ALIYUN::ECS::AssignIpv6Addresses\\n ALIYUN::ECS::AssignPrivateIpAddresses\\n ALIYUN::ECS::AutoProvisioningGroup\\n ALIYUN::ECS::AutoSnapshotPolicy\\n ALIYUN::ECS::Command\\n ALIYUN::ECS::CopyImage\\n ALIYUN::ECS::CustomImage\\n ALIYUN::ECS::DedicatedHost\\n ALIYUN::ECS::DeploymentSet\\n ALIYUN::ECS::Disk\\n ALIYUN::ECS::DiskAttachment\\n ALIYUN::ECS::ForwardEntry\\n ALIYUN::ECS::HpcCluster\\n ALIYUN::ECS::Instance\\n ALIYUN::ECS::InstanceClone\\n ALIYUN::ECS::InstanceGroup\\n ALIYUN::ECS::InstanceGroupClone\\n ALIYUN::ECS::Invocation\\n ALIYUN::ECS::JoinSecurityGroup\\n ALIYUN::ECS::LaunchTemplate\\n ALIYUN::ECS::NetworkInterface\\n ALIYUN::ECS::NetworkInterfaceAttachment\\n ALIYUN::ECS::NetworkInterfacePermission\\n ALIYUN::ECS::Route\\n ALIYUN::ECS::RunCommand\\n ALIYUN::ECS::SNatEntry\\n ALIYUN::ECS::SSHKeyPair\\n ALIYUN::ECS::SSHKeyPairAttachment\\n ALIYUN::ECS::SecurityGroup\\n ALIYUN::ECS::SecurityGroupClone\\n ALIYUN::ECS::SecurityGroupEgress\\n ALIYUN::ECS::SecurityGroupIngress\\n ALIYUN::ECS::Snapshot\\n ALIYUN::ECS::VPC\\n ALIYUN::ECS::VSwitch\\n ALIYUN::EDAS::Application\\n ALIYUN::EDAS::Cluster\\n ALIYUN::EDAS::ClusterMember\\n ALIYUN::EDAS::DeployGroup\\n ALIYUN::EDAS::K8sApplication\\n ALIYUN::EDAS::K8sCluster\\n ALIYUN::EDAS::UserDefineRegion\\n ALIYUN::EHPC::Cluster\\n ALIYUN::EMR::Cluster\\n ALIYUN::EMR::ClusterServiceConfigs\\n ALIYUN::ENS::Instance\\n ALIYUN::ESS::AlarmTask\\n ALIYUN::ESS::AlarmTaskEnable\\n ALIYUN::ESS::LifecycleHook\\n ALIYUN::ESS::ScalingConfiguration\\n ALIYUN::ESS::ScalingGroup\\n ALIYUN::ESS::ScalingGroupEnable\\n ALIYUN::ESS::ScalingRule\\n ALIYUN::ESS::ScheduledTask\\n ALIYUN::ElasticSearch::Instance\\n ALIYUN::FC::Alias\\n ALIYUN::FC::CustomDomain\\n ALIYUN::FC::Function\\n ALIYUN::FC::FunctionInvoker\\n ALIYUN::FC::Layer\\n ALIYUN::FC::ProvisionConfig\\n ALIYUN::FC::Service\\n ALIYUN::FC::Trigger\\n ALIYUN::FC::Version\\n ALIYUN::FNF::Flow\\n ALIYUN::FNF::Schedule\\n ALIYUN::FOAS::Cluster\\n ALIYUN::FOAS::Project\\n ALIYUN::GA::Accelerator\\n ALIYUN::GA::BandwidthPackage\\n ALIYUN::GA::BandwidthPackageAcceleratorAddition\\n ALIYUN::GA::EndpointGroup\\n ALIYUN::GA::IpSets\\n ALIYUN::GA::Listener\\n ALIYUN::GPDB::DBInstance\\n ALIYUN::GPDB::ElasticDBInstance\\n ALIYUN::GPDB::InstancePublicConnection\\n ALIYUN::GWS::Cluster\\n ALIYUN::GWS::Instance\\n ALIYUN::HBR::BackupClients\\n ALIYUN::HBR::DbAgent\\n ALIYUN::HBR::DbPlan\\n ALIYUN::HBR::DbVault\\n ALIYUN::HBR::RestoreJob\\n ALIYUN::IOT::Device\\n ALIYUN::IOT::DeviceGroup\\n ALIYUN::IOT::Product\\n ALIYUN::IOT::ProductTopic\\n ALIYUN::IOT::Rule\\n ALIYUN::IOT::RuleAction\\n ALIYUN::KAFKA::Instance\\n ALIYUN::KAFKA::Topic\\n ALIYUN::KMS::Alias\\n ALIYUN::KMS::Key\\n ALIYUN::KMS::Secret\\n ALIYUN::MNS::Queue\\n ALIYUN::MNS::Subscription\\n ALIYUN::MNS::Topic\\n ALIYUN::MONGODB::Instance\\n ALIYUN::MONGODB::ServerlessInstance\\n ALIYUN::MONGODB::ShardingInstance\\n ALIYUN::MSE::Cluster\\n ALIYUN::MSE::Gateway\\n ALIYUN::MarketPlace::Order\\n ALIYUN::MaxCompute::Table\\n ALIYUN::Memcache::Instance\\n ALIYUN::Memcache::Whitelist\\n ALIYUN::NAS::AccessGroup\\n ALIYUN::NAS::AccessRule\\n ALIYUN::NAS::FileSystem\\n ALIYUN::NAS::MountTarget\\n ALIYUN::OOS::Execution\\n ALIYUN::OOS::Parameter\\n ALIYUN::OOS::Template\\n ALIYUN::OSS::Bucket\\n ALIYUN::OTS::Instance\\n ALIYUN::OTS::SearchIndex\\n ALIYUN::OTS::Table\\n ALIYUN::OTS::VpcBinder\\n ALIYUN::POLARDB::Account\\n ALIYUN::POLARDB::AccountPrivilege\\n ALIYUN::POLARDB::DBCluster\\n ALIYUN::POLARDB::DBClusterAccessWhiteList\\n ALIYUN::POLARDB::DBClusterEndpoint\\n ALIYUN::POLARDB::DBClusterEndpointAddress\\n ALIYUN::POLARDB::DBInstance\\n ALIYUN::POLARDB::DBNodes\\n ALIYUN::PVTZ::UserVpcAuthorization\\n ALIYUN::PVTZ::Zone\\n ALIYUN::PVTZ::ZoneRecord\\n ALIYUN::PVTZ::ZoneVpcBinder\\n ALIYUN::PrivateLink::VpcEndpoint\\n ALIYUN::PrivateLink::VpcEndpointService\\n ALIYUN::PrivateLink::VpcEndpointServiceAttachment\\n ALIYUN::RAM::AccessKey\\n ALIYUN::RAM::AttachPolicyToRole\\n ALIYUN::RAM::AttachPolicyToUser\\n ALIYUN::RAM::Group\\n ALIYUN::RAM::ManagedPolicy\\n ALIYUN::RAM::RamAccountAlias\\n ALIYUN::RAM::Role\\n ALIYUN::RAM::SAMLProvider\\n ALIYUN::RAM::SecurityPreference\\n ALIYUN::RAM::User\\n ALIYUN::RAM::UserToGroupAddition\\n ALIYUN::RDS::ADInfo\\n ALIYUN::RDS::Account\\n ALIYUN::RDS::AccountPrivilege\\n ALIYUN::RDS::DBInstance\\n ALIYUN::RDS::DBInstanceClone\\n ALIYUN::RDS::DBInstanceParameterGroup\\n ALIYUN::RDS::DBInstanceSecurityIps\\n ALIYUN::RDS::Database\\n ALIYUN::RDS::PrepayDBInstance\\n ALIYUN::RDS::ReadOnlyDBInstance\\n ALIYUN::REDIS::Account\\n ALIYUN::REDIS::Instance\\n ALIYUN::REDIS::PrepayInstance\\n ALIYUN::REDIS::Whitelist\\n ALIYUN::ROCKETMQ::Group\\n ALIYUN::ROCKETMQ::Instance\\n ALIYUN::ROCKETMQ::Topic\\n ALIYUN::ROS::AutoEnableService\\n ALIYUN::ROS::CustomResource\\n ALIYUN::ROS::Sleep\\n ALIYUN::ROS::Stack\\n ALIYUN::ROS::WaitCondition\\n ALIYUN::ROS::WaitConditionHandle\\n ALIYUN::ResourceManager::Account\\n ALIYUN::ResourceManager::ControlPolicy\\n ALIYUN::ResourceManager::ControlPolicyAttachment\\n ALIYUN::ResourceManager::Folder\\n ALIYUN::ResourceManager::Handshake\\n ALIYUN::ResourceManager::PolicyAttachment\\n ALIYUN::ResourceManager::ResourceDirectory\\n ALIYUN::ResourceManager::ResourceGroup\\n ALIYUN::ResourceManager::ResourceShare\\n ALIYUN::SAE::Application\\n ALIYUN::SAE::Namespace\\n ALIYUN::SAE::SlbBinding\\n ALIYUN::SAG::ACL\\n ALIYUN::SAG::ACLAssociation\\n ALIYUN::SAG::ACLRule\\n ALIYUN::SAG::CloudConnectNetwork\\n ALIYUN::SAG::GrantCcnToCen\\n ALIYUN::SAG::SmartAccessGateway\\n ALIYUN::SAG::SmartAccessGatewayBinding\\n ALIYUN::SLB::AccessControl\\n ALIYUN::SLB::BackendServerAttachment\\n ALIYUN::SLB::BackendServerToVServerGroupAddition\\n ALIYUN::SLB::Certificate\\n ALIYUN::SLB::DomainExtension\\n ALIYUN::SLB::Listener\\n ALIYUN::SLB::LoadBalancer\\n ALIYUN::SLB::LoadBalancerClone\\n ALIYUN::SLB::MasterSlaveServerGroup\\n ALIYUN::SLB::Rule\\n ALIYUN::SLB::VServerGroup\\n ALIYUN::SLS::Alert\\n ALIYUN::SLS::ApplyConfigToMachineGroup\\n ALIYUN::SLS::Audit\\n ALIYUN::SLS::Etl\\n ALIYUN::SLS::Index\\n ALIYUN::SLS::Logstore\\n ALIYUN::SLS::LogtailConfig\\n ALIYUN::SLS::MachineGroup\\n ALIYUN::SLS::Project\\n ALIYUN::SLS::Savedsearch\\n ALIYUN::TSDB::HiTSDBInstance\\n ALIYUN::TSDB::InfluxDBDatabase\\n ALIYUN::TSDB::InfluxDBUser\\n ALIYUN::VPC::AnycastEIP\\n ALIYUN::VPC::AnycastEIPAssociation\\n ALIYUN::VPC::BgpGroup\\n ALIYUN::VPC::BgpNetwork\\n ALIYUN::VPC::BgpPeer\\n ALIYUN::VPC::CommonBandwidthPackage\\n ALIYUN::VPC::CommonBandwidthPackageIp\\n ALIYUN::VPC::CustomerGateway\\n ALIYUN::VPC::DhcpOptionsSet\\n ALIYUN::VPC::DhcpOptionsSetAttachment\\n ALIYUN::VPC::EIP\\n ALIYUN::VPC::EIPAssociation\\n ALIYUN::VPC::EIPSegment\\n ALIYUN::VPC::FlowLog\\n ALIYUN::VPC::GrantInstanceToCen\\n ALIYUN::VPC::IpsecServer\\n ALIYUN::VPC::Ipv6Gateway\\n ALIYUN::VPC::Ipv6InternetBandwidth\\n ALIYUN::VPC::NatGateway\\n ALIYUN::VPC::NetworkAcl\\n ALIYUN::VPC::NetworkAclAssociation\\n ALIYUN::VPC::PeeringRouterInterfaceBinding\\n ALIYUN::VPC::PeeringRouterInterfaceConnection\\n ALIYUN::VPC::RouteTable\\n ALIYUN::VPC::RouteTableAssociation\\n ALIYUN::VPC::RouterInterface\\n ALIYUN::VPC::SnatEntry\\n ALIYUN::VPC::SslVpnClientCert\\n ALIYUN::VPC::SslVpnServer\\n ALIYUN::VPC::VirtualBorderRouter\\n ALIYUN::VPC::VpnConnection\\n ALIYUN::VPC::VpnGateway\\n ALIYUN::VPC::VpnPbrRouteEntry\\n ALIYUN::VPC::VpnRouteEntry\\n ALIYUN::VS::Group\\n ALIYUN::WAF::AclRule\\n ALIYUN::WAF::Domain\\n ALIYUN::WAF::DomainConfig\\n ALIYUN::WAF::Instance\\n ALIYUN::WAF::LogServiceEnable\\n ALIYUN::WAF::WafSwitch\\n EA00860C-ECAF-5253-A1F9-8198695A7157\\n","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", ], 'GetResourceTypeTemplate' => [ 'summary' => 'Generates a sample template based on a resource type.', '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 resource type.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ALIYUN::ECS::VPC', ], ], [ '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', ], ], ], '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' => '', ], ], ], '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":"\\n 82CEA644-757E-54B9-B730-0502328DA5F1\\n \\n \\n \\n String\\n 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.\\n \\n \\n String\\n Description of the vpc, [2, 256] characters. Do not fill or empty, the default is empty.\\n \\n \\n String\\n 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.\\n \\n \\n String\\n Resource group id.\\n \\n \\n String\\n 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\\n \\n \\n String\\n 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 \'.\', \'-\'\\n \\n \\n String\\n IPv6 network cidr of the VPC.\\n 1\\n \\n \\n Json\\n 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.\\n 20\\n \\n \\n Boolean\\n Whether to enable an IPv6 network cidr, the value is:False (default): not turned on.True: On.\\n True\\n true\\n False\\n false\\n false\\n \\n \\n String\\n The user CIDR block. Separate multiple CIDR blocks with commas (,). At most three CIDR blocks are supported.\\n \\n \\n 2015-09-01\\n \\n \\n Router id of created VPC.\\n \\n Vpc\\n VRouterId\\n \\n \\n \\n The router table id of created VPC.\\n \\n Vpc\\n RouteTableId\\n \\n \\n \\n Id of created VPC.\\n \\n Vpc\\n VpcId\\n \\n \\n \\n \\n \\n ALIYUN::ECS::VPC\\n \\n \\n Ipv6Isp\\n \\n \\n Description\\n \\n \\n SecondaryCidrBlock\\n \\n \\n ResourceGroupId\\n \\n \\n CidrBlock\\n \\n \\n VpcName\\n \\n \\n Ipv6CidrBlock\\n \\n \\n Tags\\n \\n \\n EnableIpv6\\n \\n \\n UserCidr\\n \\n \\n \\n \\n \\n","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', ], '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 ID of the request.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ALIYUN::ROS::WaitConditionHandle', ], ], [ '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', ], ], ], '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' => '', ], ], ], '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":"\\n false\\n Resource\\n A28FBA2E-B6B3-5822-AA45-AB875EF23641\\n \\n \\n 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\\"}\'\\n \\n \\n 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\\\\\\"}\\" \\n \\n \\n HTTP POST Headers used for signalling handle completion or failure.\\n \\n \\n HTTP POST URL used for signalling handle completion or failure.\\n \\n \\n 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\\"}\' \\n \\n \\n ALIYUN::ROS::WaitConditionHandle\\n \\n \\n false\\n false\\n string\\n 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.\\n \\n Increment\\n Full\\n \\n false\\n Full\\n true\\n \\n \\n false\\n false\\n integer\\n 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.\\n false\\n -1\\n true\\n \\n \\n false\\n","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', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosU14OAJ', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ 'description' => 'The resource type.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MODULE::MyOrganization::MyService::MyUsecase', ], ], ], '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' => '', ], ], ], '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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', ], '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', ], ], [ '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", ], ], [ 'name' => 'RegistrationId', 'in' => 'query', 'schema' => [ 'description' => 'The ID of the registration record.'."\n", 'type' => 'string', 'required' => false, 'example' => '4a6c9851-3b0f-4f5f-b4ca-a14bf691****', ], ], [ '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', ], ], [ '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', ], ], [ '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', ], ], ], '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' => '', ], ], ], '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' => 'ListResourceTypeRegistrations', ], 'DescribeRegions' => [ 'summary' => 'Queries a list of available regions.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '12679', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], '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', ], ], ], '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' => '', ], ], ], '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":"\\n 59F0F0A0-A637-4292-9B91-251EF5010913\\n \\n cn-qingdao\\n ros.aliyuncs.com\\n 华北1(青岛)\\n \\n \\n cn-beijing\\n ros.aliyuncs.com\\n 华北2(北京)\\n \\n \\n cn-zhangjiakou\\n ros.aliyuncs.com\\n 华北3(张家口)\\n \\n \\n cn-huhehaote\\n ros.aliyuncs.com\\n 华北5(呼和浩特)\\n \\n \\n cn-wulanchabu\\n ros.aliyuncs.com\\n 华北6(乌兰察布)\\n \\n \\n cn-hangzhou\\n ros.aliyuncs.com\\n 华东1(杭州)\\n \\n \\n cn-shanghai\\n ros.aliyuncs.com\\n 华东2(上海)\\n \\n \\n cn-shenzhen\\n ros.aliyuncs.com\\n 华南1(深圳)\\n \\n \\n cn-heyuan\\n ros.aliyuncs.com\\n 华南2(河源)\\n \\n \\n cn-guangzhou\\n ros.aliyuncs.com\\n 华南3(广州)\\n \\n \\n cn-chengdu\\n ros.aliyuncs.com\\n 西南1(成都)\\n \\n \\n cn-hongkong\\n ros.aliyuncs.com\\n 中国(香港)\\n \\n \\n ap-northeast-1\\n ros.aliyuncs.com\\n 日本(东京)\\n \\n \\n ap-northeast-2\\n ros.aliyuncs.com\\n 韩国(首尔)\\n \\n \\n ap-southeast-1\\n ros.aliyuncs.com\\n 新加坡\\n \\n \\n ap-southeast-2\\n ros.aliyuncs.com\\n 澳大利亚(悉尼)\\n \\n \\n ap-southeast-3\\n ros.aliyuncs.com\\n 马来西亚(吉隆坡)\\n \\n \\n ap-southeast-6\\n ros.aliyuncs.com\\n 菲律宾(马尼拉)\\n \\n \\n ap-southeast-5\\n ros.aliyuncs.com\\n 印度尼西亚(雅加达)\\n \\n \\n ap-south-1\\n ros.aliyuncs.com\\n 印度(孟买)\\n \\n \\n ap-southeast-7\\n ros.aliyuncs.com\\n 泰国(曼谷)\\n \\n \\n us-east-1\\n ros.aliyuncs.com\\n 美国(弗吉尼亚)\\n \\n \\n us-west-1\\n ros.aliyuncs.com\\n 美国(硅谷)\\n \\n \\n eu-west-1\\n ros.aliyuncs.com\\n 英国(伦敦)\\n \\n \\n me-east-1\\n ros.aliyuncs.com\\n 阿联酋(迪拜)\\n \\n \\n eu-central-1\\n ros.aliyuncs.com\\n 德国(法兰克福)\\n \\n","errorExample":""}]', 'title' => 'DescribeRegions', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', ], 'SignalResource' => [ 'summary' => 'Sends a signal to a resource in a stack.', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', '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' => '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', ], ], [ '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' => '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****', ], ], [ '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****', ], ], [ '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', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B288A0BE-D927-4888-B0F7-B35EF84B6E6', ], ], 'description' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B288A0BE-D927-4888-B0F7-B35EF84B6E6\\"\\n}","errorExample":""},{"type":"xml","example":"\\n B288A0BE-D927-4888-B0F7-B35EF84B6E6F \\n","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' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], ], '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', ], ], [ '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"}}}}', ], ], [ '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', ], ], [ '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****', ], ], [ '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', ], ], [ '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, ], ], [ '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, ], ], ], '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' => '', ], ], ], '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":"\\n A9938C04-26AD-5EFA-B394-EA7866842DFF\\n \\n EHPC\\n Enabled\\n No permission.\\n false\\n https://common-buy.aliyun.com/?commodityCode=nas\\n \\n https://ehpc.console.aliyun.com/\\n \\n AliyunServiceRoleForEHPC\\n true\\n Default\\n \\n rds\\n CreateServiceLinkedRole\\n Open\\n \\n \\n \\n NAS\\n \\n","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' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '104761', 'abilityTreeNodes' => [ 'FEATUREros68YWKF', ], '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', ], ], [ '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' => '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' => '', ], ], ], '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":"\\n \\n \\n false\\n false\\n ALIYUN::ALB::BackendServerAttachment\\n false\\n false\\n \\n \\n false\\n false\\n ALIYUN::ALB::Listener\\n false\\n false\\n \\n \\n A656A2C3-5A21-5F0E-9368-427E6FED58ED\\n \\n \\n alicloud_disk\\n alicloud_ecs_disk\\n alicloud_disk\\n alicloud_ecs_disk\\n alicloud_disk\\n alicloud_ecs_disk\\n alicloud_disk\\n alicloud_alb_acl\\n \\n alicloud_ecs_disk\\n alicloud_eip\\n \\n \\n \\n \\n aws\\n 4.21.0\\n 4.22.0\\n \\n \\n alicloud\\n 1.174.0\\n 1.176.0\\n \\n 1.0.11\\n Aliyun::Terraform-v1.0\\n Aliyun::Terraform-v1.1\\n \\n \\n \\n aws\\n 4.21.0\\n 4.22.0\\n \\n \\n alicloud\\n 1.174.0\\n 1.176.0\\n \\n 1.1.9\\n Aliyun::Terraform-v1.1\\n Aliyun::Terraform-v1.0\\n \\n \\n \\n \\n ADB:DBCluster\\n RegionId\\n ResourceId\\n ResourceName\\n Tags\\n ResourceGroupId\\n \\n \\n ALB:LoadBalancer\\n RegionId\\n ResourceId\\n ResourceName\\n Tags\\n ResourceGroupId\\n DeletionProtection\\n \\n \\n","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', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATUREros4U80G2', ], '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', ], ], ], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"23045A5D-720E-5D11-A752-E1568F725C93\\",\\n \\"ServiceAccessInfo\\": {\\n \\"Status\\": \\"ENABLED\\"\\n }\\n}","type":"json"}]', ], 'EnableServices' => [ 'summary' => '批量开通', 'methods' => [ 'post', 'get', ], 'schemes' => [ 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], '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, ], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => [ 'description' => '', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', ], ], ], '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', ], ], ], ], ], ], ], ], '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', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATUREros4U80G2', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => [ 'type' => 'string', ], 'ServiceAccessInfo' => [ 'type' => 'object', 'properties' => [ 'Status' => [ 'type' => 'string', ], ], ], ], ], ], ], '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', ], 'schemes' => [ 'http', 'https', ], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => [ 'FEATURErosZVIFJW', ], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'Option', 'in' => 'query', 'schema' => [ 'type' => 'string', 'required' => false, ], ], ], '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', ], ], ], ], ], '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', ], ], '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', ], ], ];