summaryrefslogtreecommitdiff
path: root/data/en_us/cloudcontrol/2022-08-30
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/cloudcontrol/2022-08-30
downloadacs-metadata-full-1.0.0+20260212.tar.gz
acs-metadata-full-1.0.0+20260212.zip
Diffstat (limited to 'data/en_us/cloudcontrol/2022-08-30')
-rw-r--r--data/en_us/cloudcontrol/2022-08-30/api-docs.php2182
1 files changed, 2182 insertions, 0 deletions
diff --git a/data/en_us/cloudcontrol/2022-08-30/api-docs.php b/data/en_us/cloudcontrol/2022-08-30/api-docs.php
new file mode 100644
index 0000000..b9e34ed
--- /dev/null
+++ b/data/en_us/cloudcontrol/2022-08-30/api-docs.php
@@ -0,0 +1,2182 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'V3',
+ 'product' => 'cloudcontrol',
+ 'version' => '2022-08-30',
+ ],
+ 'directories' => [
+ [
+ 'id' => 177235,
+ 'title' => 'metadata query',
+ 'type' => 'directory',
+ 'children' => [
+ 'GetResourceType',
+ 'ListProducts',
+ 'ListResourceTypes',
+ ],
+ ],
+ [
+ 'id' => 177238,
+ 'title' => 'Resource Management',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateResource',
+ 'DeleteResource',
+ 'GetResources',
+ 'UpdateResource',
+ ],
+ ],
+ [
+ 'id' => 177243,
+ 'title' => 'asynchronous task management',
+ 'type' => 'directory',
+ 'children' => [
+ 'GetTask',
+ 'CancelTask',
+ ],
+ ],
+ [
+ 'id' => 177246,
+ 'title' => 'Data Query',
+ 'type' => 'directory',
+ 'children' => [
+ 'ListDataSources',
+ ],
+ ],
+ [
+ 'id' => 188598,
+ 'title' => 'Other',
+ 'type' => 'directory',
+ 'children' => [
+ 'GetPrice',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'GetResourceType' => [
+ 'summary' => 'You can call the operation to obtain resource metadata.',
+ 'path' => '/api/v1/providers/{provider}/products/{product}/resourceTypes/*',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'x-acs-accept-language',
+ 'in' => 'header',
+ 'schema' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The language selected for the returned product.'."\n"
+ ."\n"
+ .'zh_CH: Chinese (default)'."\n"
+ ."\n"
+ .'en_US: English'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'zh_CH' => 'zh_CH',
+ 'en_US' => 'en_US',
+ ],
+ 'example' => 'zh_CH',
+ ],
+ ],
+ [
+ 'name' => 'requestPath',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The request path. Specify this parameter in the following format: /api/v1/providers/{provider}/products/{product}/resourceTypes/{resourceType}'."\n"
+ ."\n"
+ .'Variables in the request path. Valid values:'."\n"
+ ."\n"
+ .'provider: the cloud service provider. Currently, only Aliyun is supported.'."\n"
+ ."\n"
+ .'product: the product code.'."\n"
+ ."\n"
+ .'resourceType: the type of the resource. If there is a parent resource, the format is {parent resource type code}/{resource type code}'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '/api/v1/providers/Aliyun/products/Redis/resourceTypes/DBInstance',
+ 'default' => '0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****',
+ ],
+ 'resourceType' => [
+ 'description' => 'The resource type. Valid values:'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'createOnlyProperties' => [
+ 'description' => 'The properties that are specific to the create operation. You need to specify these properties when you create the resource. These properties are not returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the create operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/AutoRenew',
+ ],
+ ],
+ 'deleteOnlyProperties' => [
+ 'description' => 'The properties that are specific to the delete operation. You need to specify these properties when you delete the resource. These properties are not returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the delete operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/ForceDelete',
+ ],
+ ],
+ 'filterProperties' => [
+ 'description' => 'The properties that can be used to filter the resource when you list the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The filter parameter.'."\n",
+ 'type' => 'string',
+ 'example' => ' '."\n"
+ .'/properties/ResourceGroupId',
+ ],
+ ],
+ 'getOnlyProperties' => [
+ 'description' => 'The properties that are specific to the query operation. You need to specify these properties when you query the resource. These properties are not returned in the query result.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the query operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/DryRun',
+ ],
+ ],
+ 'getResponseProperties' => [
+ 'description' => 'The properties that are returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is returned when you query the resource.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/NetworkInterfaces/items/properties/IpvSets',
+ ],
+ ],
+ 'handlers' => [
+ 'description' => 'The information about the operation, including the required Resource Access Management (RAM) permissions.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'create' => [
+ 'description' => 'The information about the create operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The information about the required RAM permissions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'RAM permissions.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:CreateInstance',
+ ],
+ ],
+ ],
+ ],
+ 'delete' => [
+ 'description' => 'The information about the delete operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The information about the required RAM permissions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'RAM permissions.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:DeleteInstance',
+ ],
+ ],
+ ],
+ ],
+ 'get' => [
+ 'description' => 'The information about the query operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The information about the required RAM permissions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'RAM permissions.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:DescribeInstanceAttachmentAttributes',
+ ],
+ ],
+ ],
+ ],
+ 'list' => [
+ 'description' => 'The information about the list operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The information about the required RAM permissions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'RAM permissions.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:DescribeInstances',
+ ],
+ ],
+ ],
+ ],
+ 'update' => [
+ 'description' => 'The information about the update operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The information about the required RAM permissions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'RAM permissions.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:ModifyInstanceNetworkSpec',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'info' => [
+ 'description' => 'The basic information about the resource type.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'chargeType' => [
+ 'description' => 'The payment form. Valid values:'."\n"
+ ."\n"
+ .'paid free'."\n",
+ 'type' => 'string',
+ 'example' => 'paid',
+ ],
+ 'deliveryScope' => [
+ 'description' => 'The delivery level. Valid values:'."\n"
+ ."\n"
+ .'center'."\n"
+ ."\n"
+ .'region'."\n"
+ ."\n"
+ .'zone'."\n",
+ 'type' => 'string',
+ 'example' => 'region',
+ ],
+ 'description' => [
+ 'description' => 'The description of the resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'An ECS instance is equivalent to a virtual machine, including the most basic computing components such as CPU, memory, operating system, network, and disk. You can easily customize and change the configuration of the instance. You have full control over the virtual machine.',
+ ],
+ 'title' => [
+ 'description' => 'The name of the resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'Instance',
+ ],
+ ],
+ ],
+ 'listOnlyProperties' => [
+ 'description' => 'The properties that are specific to the list operation. You need to specify these properties when you list the resource. These properties are not returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the list operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/DryRun',
+ ],
+ ],
+ 'listResponseProperties' => [
+ 'description' => 'The properties that are returned when you list the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is returned when you query the resource.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/InstanceId',
+ ],
+ ],
+ 'primaryIdentifier' => [
+ 'description' => 'The ID of the resource.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/InstanceId'."\n",
+ ],
+ 'product' => [
+ 'description' => 'The code of the service.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS',
+ ],
+ 'properties' => [
+ 'description' => 'The resource properties. The key specifies the property name and the value specifies the details of the property.'."\n",
+ 'type' => 'object',
+ ],
+ 'publicProperties' => [
+ 'description' => 'The common properties of the resource. The common properties are not operation-specific.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The common property.'."\n",
+ 'type' => 'string',
+ 'example' => ' '."\n"
+ .'/properties/Description',
+ ],
+ ],
+ 'readOnlyProperties' => [
+ 'description' => 'The read-only properties. These properties are returned only when you perform the List or Get operation. You do not need to specify these properties when you create or update the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The read-only property.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/CreateTime',
+ ],
+ ],
+ 'required' => [
+ 'description' => 'The properties that must be specified when you create the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that must be specified when you create the resource.'."\n",
+ 'type' => 'string',
+ 'example' => 'RegionId',
+ ],
+ ],
+ 'resourceType' => [
+ 'description' => 'The type of the resource. If the resource belongs to a parent resource, the return format is {parent resource type code /resource type code}.'."\n",
+ 'type' => 'string',
+ 'example' => 'Instance',
+ ],
+ 'sensitiveInfoProperties' => [
+ 'description' => 'The sensitive properties, such as the password.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The sensitive property.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/VncPassword',
+ ],
+ ],
+ 'updateOnlyProperties' => [
+ 'description' => 'The properties that are specific to the update operation. You need to specify these properties when you update the resource. These properties are not returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the update operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/DryRun',
+ ],
+ ],
+ 'updateTypeProperties' => [
+ 'description' => 'The properties that can be modified.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that can be modified.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/InstanceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"resourceType\\": {\\n \\"createOnlyProperties\\": [\\n \\"/properties/AutoRenew\\"\\n ],\\n \\"deleteOnlyProperties\\": [\\n \\"/properties/ForceDelete\\"\\n ],\\n \\"filterProperties\\": [\\n \\"\\\\t\\\\n/properties/ResourceGroupId\\"\\n ],\\n \\"getOnlyProperties\\": [\\n \\"/properties/DryRun\\"\\n ],\\n \\"getResponseProperties\\": [\\n \\"/properties/NetworkInterfaces/items/properties/IpvSets\\"\\n ],\\n \\"handlers\\": {\\n \\"create\\": {\\n \\"permissions\\": [\\n \\"ecs:CreateInstance\\"\\n ]\\n },\\n \\"delete\\": {\\n \\"permissions\\": [\\n \\"ecs:DeleteInstance\\"\\n ]\\n },\\n \\"get\\": {\\n \\"permissions\\": [\\n \\"ecs:DescribeInstanceAttachmentAttributes\\"\\n ]\\n },\\n \\"list\\": {\\n \\"permissions\\": [\\n \\"ecs:DescribeInstances\\"\\n ]\\n },\\n \\"update\\": {\\n \\"permissions\\": [\\n \\"ecs:ModifyInstanceNetworkSpec\\"\\n ]\\n }\\n },\\n \\"info\\": {\\n \\"chargeType\\": \\"paid\\",\\n \\"deliveryScope\\": \\"region\\",\\n \\"description\\": \\"An ECS instance is equivalent to a virtual machine, including the most basic computing components such as CPU, memory, operating system, network, and disk. You can easily customize and change the configuration of the instance. You have full control over the virtual machine.\\",\\n \\"title\\": \\"Instance\\"\\n },\\n \\"listOnlyProperties\\": [\\n \\"/properties/DryRun\\"\\n ],\\n \\"listResponseProperties\\": [\\n \\"/properties/InstanceId\\"\\n ],\\n \\"primaryIdentifier\\": \\"/properties/InstanceId\\\\n\\",\\n \\"product\\": \\"ECS\\",\\n \\"properties\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"publicProperties\\": [\\n \\"\\\\t\\\\n/properties/Description\\"\\n ],\\n \\"readOnlyProperties\\": [\\n \\"/properties/CreateTime\\"\\n ],\\n \\"required\\": [\\n \\"RegionId\\"\\n ],\\n \\"resourceType\\": \\"无父资源:\\\\nInstance\\\\n有父资源:\\\\nDBInstance/Account\\",\\n \\"sensitiveInfoProperties\\": [\\n \\"/properties/VncPassword\\"\\n ],\\n \\"updateOnlyProperties\\": [\\n \\"/properties/DryRun\\"\\n ],\\n \\"updateTypeProperties\\": [\\n \\"/properties/InstanceName\\"\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'GetResourceType',
+ 'translator' => 'machine',
+ ],
+ 'ListProducts' => [
+ 'summary' => 'Calls this operation to list the supported services.',
+ 'path' => '/api/v1/providers/{provider}/products',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'x-acs-accept-language',
+ 'in' => 'header',
+ 'schema' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'Select the language in which the response is returned.'."\n"
+ ."\n"
+ .'zh_CH: Chinese (default).'."\n"
+ ."\n"
+ .'en_US: English.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'zh_CH' => 'zh_CH',
+ 'en_US' => 'en_US',
+ ],
+ 'example' => 'zh_CH',
+ ],
+ ],
+ [
+ 'name' => 'provider',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The Cloud service provider. Only Aliyun is supported.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Aliyun',
+ ],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If you leave this parameter empty, the query starts from the beginning.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS',
+ ],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Maximum value: 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The returned data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'maxResults' => [
+ 'description' => 'The maximum number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ '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',
+ 'example' => 'Redis',
+ ],
+ 'products' => [
+ 'description' => 'The cloud services.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The service information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'productCode' => [
+ 'description' => 'The code of the service.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS',
+ ],
+ 'productName' => [
+ 'description' => 'The service name.'."\n",
+ 'type' => 'string',
+ 'example' => 'Elastic Compute Service',
+ ],
+ ],
+ ],
+ ],
+ 'requestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of a request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****',
+ ],
+ 'totalCount' => [
+ 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回',
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"maxResults\\": 10,\\n \\"nextToken\\": \\"Redis\\",\\n \\"products\\": [\\n {\\n \\"productCode\\": \\"ECS\\",\\n \\"productName\\": \\"Elastic Compute Service\\"\\n }\\n ],\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"totalCount\\": 20\\n}","type":"json"}]',
+ 'title' => 'ListProducts',
+ 'description' => 'GET /api/v1/providers/{provider}/products.'."\n",
+ ],
+ 'ListResourceTypes' => [
+ 'summary' => 'Calls this operation to list the resource types of a service.',
+ 'path' => '/api/v1/providers/{provider}/products/{product}/resourceTypes',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'x-acs-accept-language',
+ 'in' => 'header',
+ 'schema' => [
+ 'description' => 'Select the language in which the response is returned.'."\n"
+ ."\n"
+ .'zh_CH: Chinese (default).'."\n"
+ ."\n"
+ .'en_US: English.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'zh_CH' => 'zh_CH',
+ 'en_US' => 'en_US',
+ ],
+ 'example' => 'zh_CH',
+ ],
+ ],
+ [
+ 'name' => 'provider',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The Cloud service provider. Only Aliyun is supported.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Aliyun',
+ ],
+ ],
+ [
+ 'name' => 'product',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The code of the service.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ECS',
+ ],
+ ],
+ [
+ 'name' => 'resourceTypes',
+ 'in' => 'query',
+ 'style' => 'simple',
+ 'schema' => [
+ 'description' => 'The information about the resource types.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The resource types.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Instance',
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If you leave this parameter empty, the query starts from the beginning.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS::Disk',
+ ],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The returned data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'maxResults' => [
+ 'description' => 'The maximum number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ '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',
+ 'example' => 'ECS::Disk',
+ ],
+ 'requestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of a request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****',
+ ],
+ 'resourceTypes' => [
+ 'description' => 'The information about the resource types.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The resource types.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'createOnlyProperties' => [
+ 'description' => 'The properties that are specific to the create operation. You need to specify these properties when you create the resource. These properties are not returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the create operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/AutoRenew',
+ ],
+ ],
+ 'deleteOnlyProperties' => [
+ 'description' => 'The properties that are specific to the delete operation. You need to specify these properties when you delete the resource. These properties are not returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the delete operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/ForceDelete',
+ ],
+ ],
+ 'filterProperties' => [
+ 'description' => 'The properties that can be used to filter the resource when you list the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that can be used to filter the resource.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/ResourceGroupId',
+ ],
+ ],
+ 'getOnlyProperties' => [
+ 'description' => 'The properties that are specific to the query operation. You need to specify these properties when you query the resource. These properties are not returned in the query result.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the query operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/DryRun'."\n",
+ ],
+ ],
+ 'getResponseProperties' => [
+ 'description' => 'The properties that are returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is returned when you query the resource.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/NetworkInterfaces/items/properties/IpvSets',
+ ],
+ ],
+ 'handlers' => [
+ 'description' => 'The information about the operation, including the required Resource Access Management (RAM) permissions.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'create' => [
+ 'description' => 'The information about the create operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The RAM permissions required.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The RAM permission.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:CreateInstance',
+ ],
+ ],
+ ],
+ ],
+ 'delete' => [
+ 'description' => 'The information about the delete operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The RAM permissions required.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The RAM permission.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:DeleteInstance',
+ ],
+ ],
+ ],
+ ],
+ 'get' => [
+ 'description' => 'The information about the query operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The RAM permissions required.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The RAM permission.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:DescribeInstanceAttachmentAttributes',
+ ],
+ ],
+ ],
+ ],
+ 'list' => [
+ 'description' => 'The information about the list operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The RAM permissions required.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The RAM permission.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:DescribeInstances',
+ ],
+ ],
+ ],
+ ],
+ 'update' => [
+ 'description' => 'The information about the update operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'permissions' => [
+ 'description' => 'The RAM permissions required.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The RAM permission.'."\n",
+ 'type' => 'string',
+ 'example' => 'ecs:ModifyInstanceNetworkSpec',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'info' => [
+ 'description' => 'The information about the resource type.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'chargeType' => [
+ 'description' => 'Billing method\\'."\n"
+ .'paid free'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'paid' => 'paid',
+ 'free' => 'free',
+ ],
+ 'example' => 'paid',
+ ],
+ 'deliveryScope' => [
+ 'description' => 'The deployment level of the resource.'."\n"
+ ."\n"
+ .'center'."\n"
+ ."\n"
+ .'region'."\n"
+ ."\n"
+ .'zone'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'zone' => 'zone',
+ 'center' => 'center',
+ 'region' => 'region',
+ ],
+ 'example' => 'region',
+ ],
+ 'description' => [
+ 'description' => 'The description of the resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'An ECS instance is equivalent to a virtual machine, including the most basic computing components such as CPU, memory, operating system, network, and disk. You can easily customize and change the configuration of the instance. You have full control over the virtual machine.',
+ ],
+ 'title' => [
+ 'description' => 'The name of the resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'Instance',
+ ],
+ ],
+ ],
+ 'listOnlyProperties' => [
+ 'description' => 'The properties that are specific to the list operation. You need to specify these properties when you list the resource. These properties are not returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the list operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/DryRun',
+ ],
+ ],
+ 'listResponseProperties' => [
+ 'description' => 'The properties that are returned when you list the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is returned when you query the resource.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/InstanceId',
+ ],
+ ],
+ 'primaryIdentifier' => [
+ 'description' => 'The ID of the resource.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/InstanceId',
+ ],
+ 'product' => [
+ 'description' => 'The code of the service.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS',
+ ],
+ 'properties' => [
+ 'description' => 'The resource properties. The key specifies the property name and the value specifies the details of the property.'."\n",
+ 'type' => 'object',
+ ],
+ 'publicProperties' => [
+ 'description' => 'The common properties of the resource. The common properties are not operation-specific.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The common property.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/Description',
+ ],
+ ],
+ 'readOnlyProperties' => [
+ 'description' => 'The read-only properties. These properties are returned only when you list or query the resource. You do not need to specify these properties when you create or update the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The read-only property.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/CreateTime',
+ ],
+ ],
+ 'required' => [
+ 'description' => 'The properties that must be specified when you create the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that must be specified when you create the resource.'."\n",
+ 'type' => 'string',
+ 'example' => 'RegionId',
+ ],
+ ],
+ 'resourceType' => [
+ 'description' => 'The resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'Instance',
+ ],
+ 'sensitiveInfoProperties' => [
+ 'description' => 'The sensitive properties, such as the password.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The sensitive property.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/VncPassword',
+ ],
+ ],
+ 'updateOnlyProperties' => [
+ 'description' => 'The properties that are specific to the update operation. You need to specify these properties when you update the resource. These properties are not returned when you query the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that is specific to the update operation.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/DryRun',
+ ],
+ ],
+ 'updateTypeProperties' => [
+ 'description' => 'The properties that can be modified.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The property that can be modified.'."\n",
+ 'type' => 'string',
+ 'example' => '/properties/InstanceName',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'totalCount' => [
+ 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回',
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"maxResults\\": 10,\\n \\"nextToken\\": \\"ECS::Disk\\",\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"resourceTypes\\": [\\n {\\n \\"createOnlyProperties\\": [\\n \\"/properties/AutoRenew\\"\\n ],\\n \\"deleteOnlyProperties\\": [\\n \\"/properties/ForceDelete\\"\\n ],\\n \\"filterProperties\\": [\\n \\"/properties/ResourceGroupId\\"\\n ],\\n \\"getOnlyProperties\\": [\\n \\"/properties/DryRun\\\\n\\"\\n ],\\n \\"getResponseProperties\\": [\\n \\"/properties/NetworkInterfaces/items/properties/IpvSets\\"\\n ],\\n \\"handlers\\": {\\n \\"create\\": {\\n \\"permissions\\": [\\n \\"ecs:CreateInstance\\"\\n ]\\n },\\n \\"delete\\": {\\n \\"permissions\\": [\\n \\"ecs:DeleteInstance\\"\\n ]\\n },\\n \\"get\\": {\\n \\"permissions\\": [\\n \\"ecs:DescribeInstanceAttachmentAttributes\\"\\n ]\\n },\\n \\"list\\": {\\n \\"permissions\\": [\\n \\"ecs:DescribeInstances\\"\\n ]\\n },\\n \\"update\\": {\\n \\"permissions\\": [\\n \\"ecs:ModifyInstanceNetworkSpec\\"\\n ]\\n }\\n },\\n \\"info\\": {\\n \\"chargeType\\": \\"paid\\",\\n \\"deliveryScope\\": \\"region\\",\\n \\"description\\": \\"An ECS instance is equivalent to a virtual machine, including the most basic computing components such as CPU, memory, operating system, network, and disk. You can easily customize and change the configuration of the instance. You have full control over the virtual machine.\\",\\n \\"title\\": \\"Instance\\"\\n },\\n \\"listOnlyProperties\\": [\\n \\"/properties/DryRun\\"\\n ],\\n \\"listResponseProperties\\": [\\n \\"/properties/InstanceId\\"\\n ],\\n \\"primaryIdentifier\\": \\"/properties/InstanceId\\",\\n \\"product\\": \\"ECS\\",\\n \\"properties\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"publicProperties\\": [\\n \\"/properties/Description\\"\\n ],\\n \\"readOnlyProperties\\": [\\n \\"/properties/CreateTime\\"\\n ],\\n \\"required\\": [\\n \\"RegionId\\"\\n ],\\n \\"resourceType\\": \\"Instance\\",\\n \\"sensitiveInfoProperties\\": [\\n \\"/properties/VncPassword\\"\\n ],\\n \\"updateOnlyProperties\\": [\\n \\"/properties/DryRun\\"\\n ],\\n \\"updateTypeProperties\\": [\\n \\"/properties/InstanceName\\"\\n ]\\n }\\n ],\\n \\"totalCount\\": 20\\n}","type":"json"}]',
+ 'title' => 'ListResourceTypes',
+ 'description' => 'GET /api/v1/providers/{provider}/products/{product}/resourceTypes.'."\n",
+ ],
+ 'CreateResource' => [
+ 'summary' => 'Calls this operation to create resources.',
+ 'path' => '/api/v1/providers/{provider}/products/{product}/resources/*',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'requestPath',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The request path. Specify this parameter in the following format: /api/v1/providers/{provider}/products/{product}/resources/{resourceType}'."\n"
+ ."\n"
+ .'Variables in the request path:'."\n"
+ ."\n"
+ .'provider: the Cloud service provider. Only Aliyun is supported.'."\n"
+ ."\n"
+ .'product: the code of the service.'."\n"
+ ."\n"
+ .'resourceType: the type of resources. If parent resource is specified, the format is {parent resource type code}/parent resource ID/{resource type code}.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '/api/v1/providers/Aliyun/products/Redis/resources/DBInstance/r-8vbf5abe31cxxxxx/Account',
+ ],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID. This parameter is required if a cloud service is a regionalized.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing',
+ ],
+ ],
+ [
+ 'name' => 'clientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. If a cloud service supports idempotence, the parameter takes effect.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1e810dfe1468721d0664a49b9d9f74f4',
+ ],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body. The property of the resource, which is specified in JSON format.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{'."\n"
+ .' "AccountName": "cctest",'."\n"
+ .' "AccountPassword": "Aa1234****"'."\n"
+ .'}',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [
+ 'x-acs-cloudcontrol-timeout' => [
+ 'schema' => [
+ 'type' => 'string',
+ 'backendName' => 'retry-timeout',
+ ],
+ ],
+ ],
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => [
+ 'title' => '请求id',
+ 'description' => 'The ID of a request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'."\n",
+ ],
+ 'resourceId' => [
+ 'title' => '资源id',
+ 'description' => 'The ID of the resource.'."\n",
+ 'type' => 'string',
+ 'example' => 'cctest',
+ ],
+ 'resourcePath' => [
+ 'title' => '资源路径',
+ 'description' => 'The path of the resources. The relative resource ID. The resource path contains the complete resource location (parent resource/child resource).'."\n",
+ 'type' => 'string',
+ 'example' => 'Instance/r-8vbf5abe31c9c4d4/Account/cctest',
+ ],
+ 'taskId' => [
+ 'title' => '任务id',
+ 'description' => 'The ID of the asynchronous task. If the operation is asynchronous, this field is returned. In this case, the HTTP status code 202 is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'task-433aead756057fff8189a7ce5****'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"resourceId\\": \\"cctest\\",\\n \\"resourcePath\\": \\"Instance/r-8vbf5abe31c9c4d4/Account/cctest\\",\\n \\"taskId\\": \\"task-433aead756057fff8189a7ce5****\\"\\n}","type":"json"}]',
+ 'title' => 'CreateResource',
+ 'description' => 'You can go to [OpenAPI Explorer](https://next.api.aliyun.com/cloudcontrol) to view the documentation and try out Cloud Control API.'."\n",
+ ],
+ 'DeleteResource' => [
+ 'summary' => 'Calls this operation to delete resources.',
+ 'path' => '/api/v1/providers/{provider}/products/{product}/resources/*',
+ 'methods' => [
+ 'delete',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'requestPath',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The request path. Specify this parameter in the following format: /api/v1/providers/{provider}/products/{product}/resources/{resourceType}/{resourceId}'."\n"
+ ."\n"
+ .'Variables in the request path:'."\n"
+ ."\n"
+ .'provider: the Cloud service provider. Only Aliyun is supported.'."\n"
+ ."\n"
+ .'product: the code of the service.'."\n"
+ ."\n"
+ .'ResourceType: the type of resources. If parent resource is specified, the format is {parent resource type code}/parent resource ID/{resource type code}.'."\n"
+ ."\n"
+ .'resourceId: the resource ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '/api/v1/providers/Aliyun/products/Redis/resources/Instance/r-8vbf5abe31cxxxxx/Account/cctest',
+ ],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region. This parameter is required if a cloud service is a regionalized.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing'."\n",
+ ],
+ ],
+ [
+ 'name' => 'clientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. If a cloud service supports idempotence, the parameter takes effect.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1e810dfe1468721d0664a49b9d9f74f4'."\n",
+ ],
+ ],
+ [
+ 'name' => 'filter',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'type' => 'object',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [
+ 'x-acs-cloudcontrol-timeout' => [
+ 'schema' => [
+ 'type' => 'string',
+ 'backendName' => 'retry-timeout',
+ ],
+ ],
+ ],
+ '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' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'."\n",
+ ],
+ 'taskId' => [
+ 'description' => 'The ID of the asynchronous task. If the operation is asynchronous, this field is returned. In this case, the HTTP status code 202 is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'task-433aead756057fff8189a7ce5****'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"taskId\\": \\"task-433aead756057fff8189a7ce5****\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteResource',
+ 'description' => 'You can go to [OpenAPI Explorer](https://next.api.aliyun.com/cloudcontrol) to view the documentation and try out Cloud Control API.'."\n",
+ ],
+ 'GetResources' => [
+ 'summary' => 'You can call the operation to query resources.',
+ 'path' => '/api/v1/providers/{provider}/products/{product}/resources/*',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'requestPath',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The request path. You can call resources List and Get based on different request paths.'."\n"
+ ."\n"
+ .'1.List: /api/v1/providers/{provider}/products/{product}/resources/{resourceType}'."\n"
+ ."\n"
+ .'2.Get: /api/v1/providers/{provider}/products/{product}/resources/{resourceType}/{resourceId}'."\n"
+ ."\n"
+ .'Variables in the request path. Valid values:'."\n"
+ ."\n"
+ .'provider: the cloud service provider. Currently, only Aliyun is supported.'."\n"
+ ."\n"
+ .'product: the product code.'."\n"
+ ."\n"
+ .'resourceType: the type of the resource. If there is a parent resource, the format is {parent resource type code}/parent resource ID/{resource type code}.'."\n"
+ ."\n"
+ .'resourceId: the ID of the resource.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '/api/v1/providers/Aliyun/products/Redis/resources/DBInstance/r-8vbf5abe31c9****',
+ ],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region. This parameter is required if the cloud product is deployed in a region.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing'."\n",
+ ],
+ ],
+ [
+ 'name' => 'filter',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The filter condition. The JSON format. You can use some resource properties as filter conditions.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If you leave this parameter empty, the query starts from the beginning.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AAAAAdDWBF2****',
+ ],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Maximum value: 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'maxResults' => [
+ 'description' => 'The maximum number of entries returned. Return result of the List operation.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'nextToken' => [
+ 'description' => 'The 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. Return result of the List operation.'."\n",
+ 'type' => 'string',
+ 'example' => 'AAAAAdDWBF2****'."\n",
+ ],
+ 'requestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'."\n",
+ ],
+ 'resource' => [
+ 'description' => 'The specified resource. Return result of the Get operation.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'resourceAttributes' => [
+ 'description' => 'The resource properties in the JSON format.'."\n",
+ 'type' => 'object',
+ 'example' => '{"Status":"Available","Description":"","AccountPrivilege":"RoleReadWrite","InstanceId":"r-8vbf5abe31c9c4d4","RegionId":"cn-zhangjiakou","AccountType":"Normal","TypeInfo":{},"AccountName":"cctest"}',
+ ],
+ 'resourceId' => [
+ 'description' => 'The ID of the resource.'."\n",
+ 'type' => 'string',
+ 'example' => 'cctest'."\n",
+ ],
+ ],
+ ],
+ 'resources' => [
+ 'description' => 'The resource list. Return result of the List operation.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The resources.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'resourceAttributes' => [
+ 'description' => 'The resource properties in the JSON format.'."\n",
+ 'type' => 'object',
+ 'example' => '{"Status":"Available","Description":"","AccountPrivilege":"RoleReadWrite","InstanceId":"r-8vbf5abe31c9c4d4","RegionId":"cn-zhangjiakou","AccountType":"Normal","TypeInfo":{},"AccountName":"cctest"}',
+ ],
+ 'resourceId' => [
+ 'description' => 'The ID of the resource.'."\n",
+ 'type' => 'string',
+ 'example' => 'cctest',
+ ],
+ ],
+ ],
+ ],
+ 'totalCount' => [
+ 'description' => 'The total number of entries returned. Return result of the List operation.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"maxResults\\": 10,\\n \\"nextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"resource\\": {\\n \\"resourceAttributes\\": {\\n \\"Status\\": \\"Available\\",\\n \\"Description\\": \\"\\",\\n \\"AccountPrivilege\\": \\"RoleReadWrite\\",\\n \\"InstanceId\\": \\"r-2ze8v41uei31lo****\\",\\n \\"RegionId\\": \\"cn-zhangjiakou\\",\\n \\"AccountType\\": \\"Normal\\",\\n \\"TypeInfo\\": {},\\n \\"AccountName\\": \\"cctest\\"\\n },\\n \\"resourceId\\": \\"cctest\\"\\n },\\n \\"resources\\": [\\n {\\n \\"resourceAttributes\\": {\\n \\"Status\\": \\"Available\\",\\n \\"Description\\": \\"\\",\\n \\"AccountPrivilege\\": \\"RoleReadWrite\\",\\n \\"InstanceId\\": \\"r-2ze8v41uei31lo****\\",\\n \\"RegionId\\": \\"cn-zhangjiakou\\",\\n \\"AccountType\\": \\"Normal\\",\\n \\"TypeInfo\\": {},\\n \\"AccountName\\": \\"cctest\\"\\n },\\n \\"resourceId\\": \\"cctest\\"\\n }\\n ],\\n \\"totalCount\\": 20\\n}","type":"json"}]',
+ 'title' => 'GetResources',
+ 'description' => 'You can go to [OpenAPI Explorer](https://next.api.aliyun.com/cloudcontrol) to view the documentation and try out CloudControl API.'."\n"
+ ."\n"
+ .'You can call this operation to query resources List and Get based on different request paths.'."\n",
+ ],
+ 'UpdateResource' => [
+ 'summary' => 'Calls this operation to update resources.',
+ 'path' => '/api/v1/providers/{provider}/products/{product}/resources/*',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'chargeType' => 'paid',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'requestPath',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The request path. Specify this parameter in the following format: /api/v1/providers/{provider}/products/{product}/resources/{resourceType}/{resourceId}'."\n"
+ ."\n"
+ .'Variables in the request path:'."\n"
+ ."\n"
+ .'provider: the Cloud service provider. Only Aliyun is supported.'."\n"
+ ."\n"
+ .'product: the code of the service.'."\n"
+ ."\n"
+ .'resourceType: the type of resources. If parent resource is specified, the format is {parent resource type code}/parent resource ID/{resource type code}.'."\n"
+ ."\n"
+ .'resourceId: the resource ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '/api/v1/providers/Aliyun/products/Redis/resources/Instance/r-8vbf5abe31cxxxxx/Account/cctest',
+ ],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID. This parameter is required if a cloud service is a regionalized.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing'."\n",
+ ],
+ ],
+ [
+ 'name' => 'clientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. If a cloud service supports idempotence, the parameter takes effect.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1e810dfe1468721d0664a49b9d9f74f4',
+ ],
+ ],
+ [
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The request body. The property of the resource to be updated is specified in JSON format.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{'."\n"
+ .' "AccountPassword": "4321****",'."\n"
+ .' "Description": "cctest"'."\n"
+ .'}',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [
+ 'x-acs-cloudcontrol-timeout' => [
+ 'schema' => [
+ 'type' => 'string',
+ 'backendName' => 'retry-timeout',
+ ],
+ ],
+ ],
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => [
+ 'title' => '请求id',
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'."\n",
+ ],
+ 'taskId' => [
+ 'description' => 'The ID of the asynchronous task. If the operation is asynchronous, this field is returned. In this case, the HTTP status code 202 is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'task-433aead756057fff8189a7ce5****'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"taskId\\": \\"task-433aead756057fff8189a7ce5****\\"\\n}","type":"json"}]',
+ 'title' => 'UpdateResource',
+ 'description' => 'You can go to [OpenAPI Explorer](https://next.api.aliyun.com/cloudcontrol) to view the documentation and try out Cloud Control API.'."\n"
+ ."\n"
+ .'If resources fail to be updated at any time, the Cloud Control API does not roll the resource back to the original status.'."\n"
+ ."\n"
+ .'The resource APIs cannot be rolled back. If the API operation is partially failed to be called, you can call the GetResource operation to view the latest status of the resource. If necessary, you can call the UpdateResource or DeleteResource operation to manually compensate for the failure.'."\n",
+ ],
+ 'GetTask' => [
+ 'summary' => 'Calls this operation to query a specified asynchronous task.',
+ 'path' => '/api/v1/tasks/{taskId}',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'taskId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '任务id',
+ 'description' => 'The ID of the task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'task-433aead756057fff8189a7ce5****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The returned data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of a request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****',
+ ],
+ 'task' => [
+ 'description' => 'The information about the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'createTime' => [
+ 'description' => 'The time when the task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-10-09T00:46:03Z',
+ ],
+ 'error' => [
+ 'description' => 'The error returned for the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => [
+ 'description' => 'The error code.'."\n",
+ 'type' => 'string',
+ 'example' => 'OperationFailure.OperationFailed',
+ ],
+ 'message' => [
+ 'description' => 'The error message.'."\n",
+ 'type' => 'string',
+ 'example' => '{'."\n"
+ .' "requestId": "123****",'."\n"
+ .' "errorCode": "InvalidRamUser.NoPermission",'."\n"
+ .' "errorMsg": "Ram user is not authorized to perform the operation."'."\n"
+ .'}',
+ ],
+ ],
+ ],
+ 'product' => [
+ 'description' => 'The code of the service.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS',
+ ],
+ 'regionId' => [
+ 'description' => 'The region ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-beijing',
+ ],
+ 'resourceId' => [
+ 'description' => 'The ID of the resource.'."\n",
+ 'type' => 'string',
+ 'example' => 'i-8vbascjthm7kzhp3****'."\n",
+ ],
+ 'resourcePath' => [
+ 'description' => 'The path of the resources. The relative resource ID. The resource path contains the complete resource location (parent resource/child resource).'."\n",
+ 'type' => 'string',
+ 'example' => 'Instance/i-8vbascjthm7kzhp3****'."\n"
+ .'Instance/r-8vbf5abe31c9c4d4/Account/cctest',
+ ],
+ 'resourceType' => [
+ 'description' => 'The resource type.'."\n",
+ 'type' => 'string',
+ 'example' => 'Instance',
+ ],
+ 'status' => [
+ 'description' => 'The task state.'."\n"
+ ."\n"
+ .'Pending'."\n"
+ ."\n"
+ .'Running'."\n"
+ ."\n"
+ .'Succeeded'."\n"
+ ."\n"
+ .'Failed'."\n"
+ ."\n"
+ .'Cancelling'."\n"
+ ."\n"
+ .'Cancelled.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'Succeeded' => 'Succeeded',
+ 'Failed' => 'Failed',
+ 'Running' => 'Running',
+ 'Cancelled' => 'Cancelled',
+ 'Pending' => 'Pending',
+ 'Cancelling' => 'Cancelling',
+ ],
+ 'example' => 'Succeeded',
+ ],
+ 'taskAction' => [
+ 'description' => 'The type of the task operation. Valid values: Create, Update, and Delete.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'Delete' => 'Delete',
+ 'Create' => 'Create',
+ 'Update' => 'Update',
+ ],
+ 'example' => 'Create',
+ ],
+ 'taskId' => [
+ 'description' => 'The ID of the task.'."\n",
+ 'type' => 'string',
+ 'example' => 'task-433aead756057fff8189a7ce5****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"task\\": {\\n \\"createTime\\": \\"2022-10-09T00:46:03Z\\",\\n \\"error\\": {\\n \\"code\\": \\"OperationFailure.OperationFailed\\",\\n \\"message\\": \\"{\\\\n \\\\\\"requestId\\\\\\": \\\\\\"123****\\\\\\",\\\\n \\\\\\"errorCode\\\\\\": \\\\\\"InvalidRamUser.NoPermission\\\\\\",\\\\n \\\\\\"errorMsg\\\\\\": \\\\\\"Ram user is not authorized to perform the operation.\\\\\\"\\\\n}\\"\\n },\\n \\"product\\": \\"ECS\\",\\n \\"regionId\\": \\"cn-beijing\\",\\n \\"resourceId\\": \\"i-8vbascjthm7kzhp3****\\\\n\\",\\n \\"resourcePath\\": \\"Instance/i-8vbascjthm7kzhp3****\\\\nInstance/r-8vbf5abe31c9c4d4/Account/cctest\\",\\n \\"resourceType\\": \\"Instance\\",\\n \\"status\\": \\"Succeeded\\",\\n \\"taskAction\\": \\"Create\\",\\n \\"taskId\\": \\"task-433aead756057fff8189a7ce5****\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'GetTask',
+ 'description' => 'GET /api/v1/tasks/{taskId}.'."\n",
+ ],
+ 'CancelTask' => [
+ 'summary' => 'Calls this operation to cancel a specified asynchronous task.',
+ 'path' => '/api/v1/tasks/{taskId}/operation/cancel',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'taskId',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => '任务id',
+ 'description' => 'The ID of the task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'task-433aead756057fff2913e7ce5****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The returned data.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of a request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
+ 'title' => 'CancelTask',
+ 'description' => 'Only tasks that are in the Pending or Running state can be canceled.'."\n"
+ ."\n"
+ .'You can call the CancelTask operation to cancel a Cloud Control API task, but the tasks that have been started in the downstream Alibaba Cloud services cannot be canceled.'."\n",
+ ],
+ 'ListDataSources' => [
+ 'summary' => 'You can call the operation to query the valid values of resource attributes, such as RegionID and ZoneId.',
+ 'path' => '/api/v1/providers/{provider}/products/{product}/dataSources/*',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'requestPath',
+ 'in' => 'path',
+ 'schema' => [
+ 'description' => 'The request path. Specify this parameter in the following format: /api/v1/providers/{provider}/products/{product}/dataSources/{resourceType}'."\n"
+ ."\n"
+ .'Variables in the request path. Valid values:'."\n"
+ ."\n"
+ .'provider: the cloud service provider. Currently, only Aliyun is supported.'."\n"
+ ."\n"
+ .'product: the product code.'."\n"
+ ."\n"
+ .'resourceType: the type of the resource.'."\n"
+ ."\n"
+ .'Sample code:'."\n"
+ ."\n"
+ .'Redis DBInstance: /api/v1/providers/Aliyun/products/Redis/dataSources/DBInstance'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '/api/v1/providers/Aliyun/products/Redis/dataSources/DBInstance',
+ ],
+ ],
+ [
+ 'name' => 'attributeName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the property. RegionId is supported.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'RegionId',
+ ],
+ ],
+ [
+ 'name' => 'filter',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'title' => '在当前版本下,该参数暂不生效',
+ 'description' => 'The filter conditions. JSON format:{"key1":"value1"}.'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'dataSources' => [
+ 'description' => 'The queried data.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The data returned.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => [
+ 'description' => 'The ID of the data.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-beijing',
+ ],
+ ],
+ ],
+ ],
+ 'requestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"dataSources\\": [\\n {\\n \\"id\\": \\"cn-beijing\\"\\n }\\n ],\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
+ 'title' => 'ListDataSources',
+ ],
+ 'GetPrice' => [
+ 'summary' => 'An RFQ interface through which users can query resource prices.',
+ 'path' => '/api/v1/providers/{provider}/products/{product}/price/*',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'requestPath',
+ 'in' => 'path',
+ 'schema' => [
+ 'title' => 'A short description of struct',
+ 'description' => 'The request path. Format: /api/v1/providers/{provider}/products/{product}/price/{resourceType}'."\n"
+ ."\n"
+ .'The variables in the request path:'."\n"
+ ."\n"
+ .'provider: the cloud service provider. Currently, only Aliyun is supported.'."\n"
+ ."\n"
+ .'product: the code of the product.'."\n"
+ ."\n"
+ .'resourceType: the type of the resource. For example, the resourceType of Redis Account is DBInstance/Account.'."\n"
+ ."\n"
+ .'The resources that support price inquiry:'."\n"
+ ."\n"
+ .'Redis DBInstance: /api/v1/providers/aliyun/products/Redis/price/DBInstance'."\n"
+ ."\n"
+ .'ECS Instance: /api/v1/providers/aliyun/products/ECS/price/Instance'."\n"
+ ."\n"
+ .'RDS DBInstance: /api/v1/providers/aliyun/products/RDS/price/DBInstance'."\n"
+ ."\n"
+ .'SLB LoadBalancer: /api/v1/providers/aliyun/products/SLB/price/LoadBalancer'."\n"
+ ."\n"
+ .'ClickHouse DBCluster: /api/v1/providers/aliyun/products/ClickHouse/price/DBCluster'."\n"
+ ."\n"
+ .'AliKafka Instance: /api/v1/providers/aliyun/products/AliKafka/price/Instance'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ '/api/v1/providers/aliyun/products/Redis/price/DBInstance' => 'Redis DBInstance',
+ '/api/v1/providers/aliyun/products/AliKafka/price/Instance' => 'AliKafka Instance',
+ '/api/v1/providers/aliyun/products/ECS/price/Instance' => 'ECS Instance',
+ '/api/v1/providers/aliyun/products/ClickHouse/price/DBCluster' => 'ClickHouse DBCluster',
+ '/api/v1/providers/aliyun/products/RDS/price/DBInstance' => 'RDS DBInstance',
+ '/api/v1/providers/aliyun/products/SLB/price/LoadBalancer' => 'SLB LoadBalancer',
+ ],
+ 'example' => '/api/v1/providers/aliyun/products/SLB/price/LoadBalancer',
+ ],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID. This parameter is required if the cloud product is deployed in a region.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing'."\n",
+ ],
+ ],
+ [
+ 'name' => 'resourceAttributes',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The attributes based on which the price is queried (in JSON format).'."\n",
+ 'type' => 'object',
+ 'required' => false,
+ 'example' => '{'."\n"
+ .' "LoadBalancerName": "cc-test",'."\n"
+ .' "LoadBalancerSpec": "slb.s3.small",'."\n"
+ .' "InternetChargeType": "paybybandwidth",'."\n"
+ .' "AddressType": "internet",'."\n"
+ .' "PaymentType": "PayAsYouGo",'."\n"
+ .' "Bandwidth": 6'."\n"
+ .' }',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'price' => [
+ 'description' => 'The price.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'currency' => [
+ 'description' => 'The currency type. Valid values: CNY: Chinese Yuan. USD: US dollar. JPY: Japanese Yen.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'JPY' => 'JPY',
+ 'USD' => 'USD',
+ 'CNY' => 'CNY',
+ ],
+ 'example' => 'CNY',
+ ],
+ 'discountPrice' => [
+ 'description' => 'The discount.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '0.0',
+ ],
+ 'moduleDetails' => [
+ 'description' => 'The order details of the pricing module.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The order details of the pricing module.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'costAfterDiscount' => [
+ 'description' => 'The discount price.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '0.02',
+ ],
+ 'invoiceDiscount' => [
+ 'description' => 'The discount.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '0.0',
+ ],
+ 'moduleCode' => [
+ 'description' => 'The code of the pricing module.'."\n",
+ 'type' => 'string',
+ 'example' => 'InstanceRent',
+ ],
+ 'moduleName' => [
+ 'description' => 'The name of the pricing module.'."\n",
+ 'type' => 'string',
+ 'example' => 'InstanceRent',
+ ],
+ 'originalCost' => [
+ 'description' => 'The original price.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '1000.0',
+ ],
+ 'priceType' => [
+ 'description' => 'The price type.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0',
+ ],
+ ],
+ ],
+ ],
+ 'originalPrice' => [
+ 'description' => 'The original price.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '760.0',
+ ],
+ 'promotionDetails' => [
+ 'description' => 'The details of the promotion.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the promotion.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'promotionDesc' => [
+ 'description' => 'The description of the promotion.'."\n",
+ 'type' => 'string',
+ 'example' => '37284',
+ ],
+ 'promotionId' => [
+ 'description' => 'The ID of the promotion.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '',
+ ],
+ 'promotionName' => [
+ 'description' => 'The name of the promotion.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ 'tradePrice' => [
+ 'description' => 'The discount price.'."\n",
+ 'type' => 'number',
+ 'format' => 'float',
+ 'example' => '0.0',
+ ],
+ ],
+ ],
+ 'requestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"price\\": {\\n \\"currency\\": \\"CNY\\",\\n \\"discountPrice\\": 0,\\n \\"moduleDetails\\": [\\n {\\n \\"costAfterDiscount\\": 0.02,\\n \\"invoiceDiscount\\": 0,\\n \\"moduleCode\\": \\"InstanceRent\\",\\n \\"moduleName\\": \\"InstanceRent\\",\\n \\"originalCost\\": 1000,\\n \\"priceType\\": \\"1.0\\"\\n }\\n ],\\n \\"originalPrice\\": 760,\\n \\"promotionDetails\\": [\\n {\\n \\"promotionDesc\\": \\"37284\\",\\n \\"promotionId\\": 0,\\n \\"promotionName\\": \\"数据盘享8.5折\\"\\n }\\n ],\\n \\"tradePrice\\": 0\\n },\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
+ 'title' => 'GetPrice',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-qingdao',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-zhangjiakou',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-huhehaote',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-wulanchabu',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-nanjing',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-fuzhou',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-heyuan',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-guangzhou',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-chengdu',
+ 'endpoint' => 'cloudcontrol.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-2',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-2',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-3',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-5',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-6',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-east-1',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-west-1',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-west-1',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-south-1',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'me-east-1',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-7',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'me-central-1',
+ 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com',
+ ],
+ ],
+];