summaryrefslogtreecommitdiff
path: root/data/en_us/cloudcontrol/2022-08-30/api-docs.php
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/cloudcontrol/2022-08-30/api-docs.php')
-rw-r--r--data/en_us/cloudcontrol/2022-08-30/api-docs.php2846
1 files changed, 1184 insertions, 1662 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
index b9e34ed..bc81823 100644
--- a/data/en_us/cloudcontrol/2022-08-30/api-docs.php
+++ b/data/en_us/cloudcontrol/2022-08-30/api-docs.php
@@ -1,441 +1,1133 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'V3',
- 'product' => 'cloudcontrol',
- 'version' => '2022-08-30',
- ],
+ 'info' => ['style' => 'ROA', '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',
+ 'children' => ['GetResourceType'],
'type' => 'directory',
- 'children' => [
- 'ListDataSources',
- ],
+ 'title' => 'Metadata query',
],
[
- 'id' => 188598,
- 'title' => 'Other',
+ 'children' => ['CancelTask', 'CreateResource', 'DeleteResource', 'GetApiPrice', 'GetPrice', 'GetResources', 'GetTask', 'ListDataSources', 'ListProducts', 'ListResourceTypes', 'ListSupportedPricingApis', 'UpdateResource'],
+ 'title' => 'Others',
'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',
+ 'CancelTask' => [
+ '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' => '', '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',
+ 'summary' => 'Calls this operation to cancel a specified asynchronous task.',
+ '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",
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelTask'],
+ ],
+ ],
+ ],
+ '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' => 'No parent resource:'."\n"
+ .'/api/v1/providers/Aliyun/products/Redis/resources/DBInstance'."\n"
+ .'Has parent resource:'."\n"
+ .'/api/v1/providers/Aliyun/products/Redis/resources/DBInstance/r-2ze8v41uei31lo****/Account', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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"
+ .'}', 'title' => ''],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => '', 'description' => 'The ID of a request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
+ 'resourceId' => ['title' => '', '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' => '', '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****'],
+ ],
+ 'example' => '',
+ ],
+ ],
],
+ '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",
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateResource'],
+ ],
+ ],
+ ],
+ 'DeleteResource' => [
+ 'summary' => 'Deletes a resource.',
+ 'path' => '/api/v1/providers/{provider}/products/{product}/resources/*',
+ 'methods' => ['delete'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
+ '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 URI of the request. The format is: /api/v1/providers/{provider}/products/{product}/resources/{resourceType}/{resourceId}'."\n"
+ ."\n"
+ .'The variables in the request URI are described as follows:'."\n"
+ ."\n"
+ .'provider: The cloud provider. Currently, only Aliyun is supported.'."\n"
+ ."\n"
+ .'product: The product code.'."\n"
+ ."\n"
+ .'resourceType: The resource type. If a parent resource exists, the format is `{parent resource type code}/{parent resource ID}/{resource type code}`.'."\n"
+ ."\n"
+ .'resourceId: The resource ID.', 'type' => 'string', 'example' => 'No parent resource:'."\n"
+ .'/api/v1/providers/Aliyun/products/Redis/resources/DBInstance/r-2ze8v41uei31lo****'."\n"
+ ."\n"
+ .'Has parent resource:'."\n"
+ .'/api/v1/providers/Aliyun/products/Redis/resources/DBInstance/r-2ze8v41uei31lo****/Account/user****', 'required' => false, 'docRequired' => true, 'title' => ''],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID. This parameter is required if the cloud product is region-specific.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'clientToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'A client token to ensure idempotence. This parameter works only if the cloud product supports idempotence.', 'type' => 'string', 'required' => false, 'example' => '1e810dfe1468721d0664a49b9d9f74f4', 'title' => ''],
+ ],
+ [
+ 'name' => 'filter',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => ['type' => 'object', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'headers' => [
+ 'x-acs-cloudcontrol-timeout' => [
+ 'schema' => ['type' => 'string', 'backendName' => 'retry-timeout'],
+ ],
+ ],
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response body.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
+ 'taskId' => ['description' => 'The ID of the asynchronous task. The system returns this parameter for asynchronous operations. For these operations, the HTTP status code is 202.', 'type' => 'string', 'example' => 'task-433aead756057fff8189a7ce5****', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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 resource documentation and try Cloud Control API.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteResource'],
+ ],
],
- 'produces' => [
- 'application/json',
+ 'translator' => 'manual',
+ ],
+ 'GetApiPrice' => [
+ 'summary' => 'Queries the price based on an OpenAPI triplet and input parameters.',
+ 'path' => '/api/v1/price/quote',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'x-acs-accept-language',
- 'in' => 'header',
+ 'name' => 'body',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => ['title' => '', 'type' => 'object', 'description' => '', 'example' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'price' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'pricingMode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ 'currency' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'calculatedAmount' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'priceSummary' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'currency' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'tradePrice' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'originalPrice' => ['title' => '', 'type' => 'number', 'format' => 'float', 'description' => '', 'example' => ''],
+ 'moduleSum' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'effectiveModuleSum' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'quantity' => ['title' => '', 'type' => 'number', 'format' => 'float', 'description' => '', 'example' => ''],
+ 'pricingUnit' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'modules' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'moduleCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'costAfterDiscount' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'originalCost' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'invoiceDiscount' => ['title' => '', 'type' => 'number', 'format' => 'float', 'description' => '', 'example' => ''],
+ 'unitPrice' => ['title' => '', 'type' => 'number', 'format' => 'float', 'description' => '', 'example' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'upstreamRequestId' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'errorCode' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'errorMessage' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'components' => [
+ 'title' => '',
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'currency' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'tradePrice' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'originalPrice' => ['title' => '', 'type' => 'number', 'format' => 'float', 'description' => '', 'example' => ''],
+ 'moduleSum' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'effectiveModuleSum' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'quantity' => ['title' => '', 'type' => 'number', 'format' => 'float', 'description' => '', 'example' => ''],
+ 'pricingUnit' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'modules' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'moduleCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'costAfterDiscount' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'originalCost' => ['type' => 'number', 'format' => 'float', 'description' => '', 'title' => '', 'example' => ''],
+ 'invoiceDiscount' => ['title' => '', 'type' => 'number', 'format' => 'float', 'description' => '', 'example' => ''],
+ 'unitPrice' => ['title' => '', 'type' => 'number', 'format' => 'float', 'description' => '', 'example' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => ''],
],
- 'example' => 'zh_CH',
+ 'description' => 'Schema of Response',
+ 'example' => '',
],
],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"price\\": {\\n \\"pricingMode\\": \\"\\",\\n \\"success\\": false,\\n \\"currency\\": \\"\\",\\n \\"calculatedAmount\\": 0,\\n \\"priceSummary\\": {\\n \\"currency\\": \\"\\",\\n \\"tradePrice\\": 0,\\n \\"originalPrice\\": 0,\\n \\"moduleSum\\": 0,\\n \\"effectiveModuleSum\\": 0,\\n \\"quantity\\": 0,\\n \\"pricingUnit\\": \\"\\",\\n \\"modules\\": [\\n {\\n \\"moduleCode\\": \\"\\",\\n \\"costAfterDiscount\\": 0,\\n \\"originalCost\\": 0,\\n \\"invoiceDiscount\\": 0,\\n \\"unitPrice\\": 0\\n }\\n ]\\n },\\n \\"upstreamRequestId\\": \\"\\",\\n \\"errorCode\\": \\"\\",\\n \\"errorMessage\\": \\"\\",\\n \\"components\\": {\\n \\"key\\": {\\n \\"currency\\": \\"\\",\\n \\"tradePrice\\": 0,\\n \\"originalPrice\\": 0,\\n \\"moduleSum\\": 0,\\n \\"effectiveModuleSum\\": 0,\\n \\"quantity\\": 0,\\n \\"pricingUnit\\": \\"\\",\\n \\"modules\\": [\\n {\\n \\"moduleCode\\": \\"\\",\\n \\"costAfterDiscount\\": 0,\\n \\"originalCost\\": 0,\\n \\"invoiceDiscount\\": 0,\\n \\"unitPrice\\": 0\\n }\\n ]\\n }\\n }\\n },\\n \\"requestId\\": \\"\\"\\n}","type":"json"}]',
+ 'title' => '',
+ ],
+ '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' => [
- 'description' => 'The request path. Specify this parameter in the following format: /api/v1/providers/{provider}/products/{product}/resourceTypes/{resourceType}'."\n"
+ 'title' => 'A short description of struct',
+ 'description' => 'The request path. Format: /api/v1/providers/{provider}/products/{product}/price/{resourceType}'."\n"
."\n"
- .'Variables in the request path. Valid values:'."\n"
+ .'The variables in the request path:'."\n"
."\n"
.'provider: the cloud service provider. Currently, only Aliyun is supported.'."\n"
."\n"
- .'product: the product code.'."\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"
- .'resourceType: the type of the resource. If there is a parent resource, the format is {parent resource type code}/{resource type code}'."\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',
+ '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'],
'type' => 'string',
'required' => false,
- 'docRequired' => true,
- 'example' => '/api/v1/providers/Aliyun/products/Redis/resourceTypes/DBInstance',
- 'default' => '0',
+ '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.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'resourceAttributes',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => ['description' => 'The attributes based on which the price is queried (in JSON format).', '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"
+ .' }', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'requestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****',
- ],
- 'resourceType' => [
- 'description' => 'The resource type. Valid values:'."\n",
+ 'price' => [
+ 'description' => 'The price.',
'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",
+ 'currency' => [
+ 'description' => 'The currency type. Valid values: CNY: Chinese Yuan. USD: US dollar. JPY: Japanese Yen.',
+ 'enumValueTitles' => ['JPY' => 'JPY', 'USD' => 'USD', 'CNY' => 'CNY'],
+ 'type' => 'string',
+ 'example' => 'CNY',
+ 'title' => '',
+ ],
+ 'discountPrice' => ['description' => 'The discount.', 'type' => 'number', 'format' => 'float', 'example' => '0.0', 'title' => ''],
+ 'moduleDetails' => [
+ 'description' => 'The order details of the pricing module.',
'type' => 'array',
'items' => [
- 'description' => 'The property that is specific to the create operation.'."\n",
- 'type' => 'string',
- 'example' => '/properties/AutoRenew',
+ 'description' => 'The order details of the pricing module.',
+ 'type' => 'object',
+ 'properties' => [
+ 'costAfterDiscount' => ['description' => 'The discount price.', 'type' => 'number', 'format' => 'float', 'example' => '0.02', 'title' => ''],
+ 'invoiceDiscount' => ['description' => 'The discount.', 'type' => 'number', 'format' => 'float', 'example' => '0.0', 'title' => ''],
+ 'moduleCode' => ['description' => 'The code of the pricing module.', 'type' => 'string', 'example' => 'InstanceRent', 'title' => ''],
+ 'moduleName' => ['description' => 'The name of the pricing module.', 'type' => 'string', 'example' => 'InstanceRent', 'title' => ''],
+ 'originalCost' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'float', 'example' => '1000.0', 'title' => ''],
+ 'priceType' => ['description' => 'The price type.', 'type' => 'string', 'example' => '1.0', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- '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",
+ 'originalPrice' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'float', 'example' => '760.0', 'title' => ''],
+ 'promotionDetails' => [
+ 'description' => 'The details of the promotion.',
'type' => 'array',
'items' => [
- 'description' => 'The property that is specific to the delete operation.'."\n",
- 'type' => 'string',
- 'example' => '/properties/ForceDelete',
+ 'description' => 'The details of the promotion.',
+ 'type' => 'object',
+ 'properties' => [
+ 'promotionDesc' => ['description' => 'The description of the promotion.', 'type' => 'string', 'example' => '37284', 'title' => ''],
+ 'promotionId' => ['description' => 'The ID of the promotion.', 'type' => 'integer', 'format' => 'int64', 'example' => '数据盘享8.5折', 'title' => ''],
+ 'promotionName' => ['description' => 'The name of the promotion.', 'type' => 'string', 'example' => '数据盘享8.5折', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'tradePrice' => ['description' => 'The discount price.', 'type' => 'number', 'format' => 'float', 'example' => '0.0', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ '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',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPrice'],
+ ],
+ ],
+ ],
+ 'GetResourceType' => [
+ 'summary' => 'Retrieves 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' => '',
+ 'description' => 'The language in which the product information is returned. Valid values:'."\n"
+ ."\n"
+ .'zh_CH: Chinese (default)'."\n"
+ ."\n"
+ .'en_US: English.',
+ 'enumValueTitles' => ['zh_CH' => 'zh_CH', 'en_US' => 'en_US'],
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'zh_CH',
+ ],
+ ],
+ [
+ 'name' => 'requestPath',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The request path. Format:'."\n"
+ .'/api/v1/providers/{provider}/products/{product}/resourceTypes/{resourceType}'."\n"
+ ."\n"
+ .'Description of variables in the request path:'."\n"
+ ."\n"
+ .'provider: The cloud provider. Currently, only Aliyun is supported.'."\n"
+ ."\n"
+ .'product: The product code.'."\n"
+ ."\n"
+ .'resourceType: The resource type. If a parent resource exists, the format is {parentResourceTypeCode}/{resourceTypeCode}.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'default' => '0', 'example' => 'No parent resource: /api/v1/providers/Aliyun/products/Redis/resourceTypes/DBInstance'."\n"
+ ."\n"
+ .'Has parent resource: /api/v1/providers/Aliyun/products/Redis/resourceTypes/DBInstance/Account', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The response struct.',
+ 'type' => 'object',
+ 'properties' => [
+ 'requestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
+ 'resourceType' => [
+ 'description' => 'The resource type.',
+ 'type' => 'object',
+ 'properties' => [
+ 'createOnlyProperties' => [
+ 'description' => 'The properties exclusive to the create operation. These properties are not returned in resource query operations but are required as input parameters for the create operation.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The create-only property.', 'type' => 'string', 'example' => '/properties/AutoRenew', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'deleteOnlyProperties' => [
+ 'description' => 'The properties exclusive to the delete operation. These properties are not returned in resource query operations but are required as input parameters for the delete operation.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The delete-only property.', 'type' => 'string', 'example' => '/properties/ForceDelete', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'filterProperties' => [
- 'description' => 'The properties that can be used to filter the resource when you list the resource.'."\n",
+ 'description' => 'The properties that can be used as filter parameters in the list operation.',
'type' => 'array',
- 'items' => [
- 'description' => 'The filter parameter.'."\n",
- 'type' => 'string',
- 'example' => ' '."\n"
- .'/properties/ResourceGroupId',
- ],
+ 'items' => ['description' => 'The filter property.', 'type' => 'string', 'example' => ' '."\n"
+ .'/properties/ResourceGroupId', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'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",
+ 'description' => 'The properties exclusive to the get operation. These properties are not returned in resource query operations but are required as input parameters for the get operation.',
'type' => 'array',
- 'items' => [
- 'description' => 'The property that is specific to the query operation.'."\n",
- 'type' => 'string',
- 'example' => '/properties/DryRun',
- ],
+ 'items' => ['description' => 'The get-only property.', 'type' => 'string', 'example' => '/properties/DryRun', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'getResponseProperties' => [
- 'description' => 'The properties that are returned when you query the resource.'."\n",
+ 'description' => 'The properties returned by the get operation.',
'type' => 'array',
- 'items' => [
- 'description' => 'The property that is returned when you query the resource.'."\n",
- 'type' => 'string',
- 'example' => '/properties/NetworkInterfaces/items/properties/IpvSets',
- ],
+ 'items' => ['description' => 'The property returned by the get operation.', 'type' => 'string', 'example' => '/properties/NetworkInterfaces/items/properties/IpvSets', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'handlers' => [
- 'description' => 'The information about the operation, including the required Resource Access Management (RAM) permissions.'."\n",
+ 'description' => 'The supported resource operations, including RAM permissions.',
'type' => 'object',
'properties' => [
'create' => [
- 'description' => 'The information about the create operation.'."\n",
+ 'description' => 'The information associated with the create operation.',
'type' => 'object',
'properties' => [
'permissions' => [
- 'description' => 'The information about the required RAM permissions.'."\n",
+ 'description' => 'The required RAM permissions.',
'type' => 'array',
- 'items' => [
- 'description' => 'RAM permissions.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:CreateInstance',
- ],
+ 'items' => ['description' => 'The RAM permission.', 'type' => 'string', 'example' => 'ecs:CreateInstance', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'delete' => [
- 'description' => 'The information about the delete operation.'."\n",
+ 'description' => 'The information associated with the delete operation.',
'type' => 'object',
'properties' => [
'permissions' => [
- 'description' => 'The information about the required RAM permissions.'."\n",
+ 'description' => 'The required RAM permissions.',
'type' => 'array',
- 'items' => [
- 'description' => 'RAM permissions.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:DeleteInstance',
- ],
+ 'items' => ['description' => 'The RAM permission.', 'type' => 'string', 'example' => 'ecs:DeleteInstance', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'get' => [
- 'description' => 'The information about the query operation.'."\n",
+ 'description' => 'The information associated with the get operation.',
'type' => 'object',
'properties' => [
'permissions' => [
- 'description' => 'The information about the required RAM permissions.'."\n",
+ 'description' => 'The required RAM permissions.',
'type' => 'array',
- 'items' => [
- 'description' => 'RAM permissions.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:DescribeInstanceAttachmentAttributes',
- ],
+ 'items' => ['description' => 'The RAM permission.', 'type' => 'string', 'example' => 'ecs:DescribeInstanceAttachmentAttributes', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'list' => [
- 'description' => 'The information about the list operation.'."\n",
+ 'description' => 'The information associated with the list operation.',
'type' => 'object',
'properties' => [
'permissions' => [
- 'description' => 'The information about the required RAM permissions.'."\n",
+ 'description' => 'The required RAM permissions.',
'type' => 'array',
- 'items' => [
- 'description' => 'RAM permissions.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:DescribeInstances',
- ],
+ 'items' => ['description' => 'The RAM permission.', 'type' => 'string', 'example' => 'ecs:DescribeInstances', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'update' => [
- 'description' => 'The information about the update operation.'."\n",
+ 'description' => 'The information associated with the update operation.',
'type' => 'object',
'properties' => [
'permissions' => [
- 'description' => 'The information about the required RAM permissions.'."\n",
+ 'description' => 'The required RAM permissions.',
'type' => 'array',
- 'items' => [
- 'description' => 'RAM permissions.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:ModifyInstanceNetworkSpec',
- ],
+ 'items' => ['description' => 'The RAM permission.', 'type' => 'string', 'example' => 'ecs:ModifyInstanceNetworkSpec', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'info' => [
- 'description' => 'The basic information about the resource type.'."\n",
+ 'description' => 'The basic information about the resource type.',
'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',
- ],
+ 'chargeType' => ['description' => 'The billing method. Valid values:'."\n"
+ ."\n"
+ .'paid: paid.'."\n"
+ ."\n"
+ .'free: free.', 'type' => 'string', 'example' => 'paid', 'title' => ''],
+ 'deliveryScope' => ['description' => 'The delivery scope. Valid values: '."\n"
+ ."\n"
+ .'center: centralized deployment.'."\n"
+ ."\n"
+ .'region: region-level deployment.'."\n"
+ ."\n"
+ .'zone: zone-level deployment.', 'type' => 'string', 'example' => 'region', 'title' => ''],
+ 'description' => ['description' => 'The description of the resource type.', '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' => ''],
+ 'title' => ['description' => 'The name of the resource type.', 'type' => 'string', 'example' => 'Instance', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
'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",
+ 'description' => 'The properties exclusive to the list operation. These properties are not returned in resource query operations but are required as input parameters for the list operation.',
'type' => 'array',
- 'items' => [
- 'description' => 'The property that is specific to the list operation.'."\n",
- 'type' => 'string',
- 'example' => '/properties/DryRun',
- ],
+ 'items' => ['description' => 'The list-only property.', 'type' => 'string', 'example' => '/properties/DryRun', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'listResponseProperties' => [
- 'description' => 'The properties that are returned when you list the resource.'."\n",
+ 'description' => 'The properties returned by the list operation.',
'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',
+ 'items' => ['description' => 'The property returned by the list operation.', 'type' => 'string', 'example' => '/properties/InstanceId', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'primaryIdentifier' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => '/properties/InstanceId'."\n", 'title' => ''],
+ 'product' => ['description' => 'The product code.', 'type' => 'string', 'example' => 'ECS', 'title' => ''],
+ 'properties' => ['description' => 'The resource property definitions. The key is the property name, and the value is the detailed property information.', 'type' => 'object', 'title' => '', 'example' => ''],
'publicProperties' => [
- 'description' => 'The common properties of the resource. The common properties are not operation-specific.'."\n",
+ 'description' => 'The common properties that represent basic resource attributes. These are not operation-specific properties.',
'type' => 'array',
- 'items' => [
- 'description' => 'The common property.'."\n",
- 'type' => 'string',
- 'example' => ' '."\n"
- .'/properties/Description',
- ],
+ 'items' => ['description' => 'The common property.', 'type' => 'string', 'example' => ' '."\n"
+ .'/properties/Description', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'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",
+ 'description' => 'The read-only properties. These properties are returned only in list or get operations and cannot be used as input parameters for create or update operations.',
'type' => 'array',
- 'items' => [
- 'description' => 'The read-only property.'."\n",
- 'type' => 'string',
- 'example' => '/properties/CreateTime',
- ],
+ 'items' => ['description' => 'The read-only property.', 'type' => 'string', 'example' => '/properties/CreateTime', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'required' => [
- 'description' => 'The properties that must be specified when you create the resource.'."\n",
+ 'description' => 'The required parameters for resource creation.',
'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',
+ 'items' => ['description' => 'The required parameter for resource creation.', 'type' => 'string', 'example' => 'RegionId', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'resourceType' => ['description' => 'The resource type. If the resource has a parent resource, the format is {parentResourceTypeCode/resourceTypeCode}.', 'type' => 'string', 'example' => '无父资源:'."\n"
+ .'Instance'."\n"
+ .'有父资源:'."\n"
+ .'DBInstance/Account', 'title' => ''],
'sensitiveInfoProperties' => [
- 'description' => 'The sensitive properties, such as the password.'."\n",
+ 'description' => 'The sensitive properties, such as passwords.',
'type' => 'array',
- 'items' => [
- 'description' => 'The sensitive property.'."\n",
- 'type' => 'string',
- 'example' => '/properties/VncPassword',
- ],
+ 'items' => ['description' => 'The sensitive property.', 'type' => 'string', 'example' => '/properties/VncPassword', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'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",
+ 'description' => 'The properties exclusive to the update operation. These properties are not returned in resource query operations but are required as input parameters for the update operation.',
'type' => 'array',
- 'items' => [
- 'description' => 'The property that is specific to the update operation.'."\n",
- 'type' => 'string',
- 'example' => '/properties/DryRun',
- ],
+ 'items' => ['description' => 'The update-only property.', 'type' => 'string', 'example' => '/properties/DryRun', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'updateTypeProperties' => [
- 'description' => 'The properties that can be modified.'."\n",
+ 'description' => 'The properties that can be modified.',
'type' => 'array',
- 'items' => [
- 'description' => 'The property that can be modified.'."\n",
- 'type' => 'string',
- 'example' => '/properties/InstanceName',
- ],
+ 'items' => ['description' => 'The modifiable property.', 'type' => 'string', 'example' => '/properties/InstanceName', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => 'No parent resource:'."\n"
+ .'Instance'."\n"
+ .'Has parent resource:'."\n"
+ .'DBInstance/Account',
+ 'title' => '',
],
],
+ 'example' => '',
],
],
],
+ 'title' => 'Query resource type details',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetResourceType'],
+ ],
+ ],
'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',
+ 'GetResources' => [
+ 'summary' => '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 URL of the request.'."\n"
+ ."\n"
+ .'The request URL determines whether the List or Get operation is called.'."\n"
+ ."\n"
+ .'- List: `/api/v1/providers/{provider}/products/{product}/resources/{resourceType}`'."\n"
+ ."\n"
+ .'- Get: `/api/v1/providers/{provider}/products/{product}/resources/{resourceType}/{resourceId}`'."\n"
+ ."\n"
+ .'The request URL contains the following variables:'."\n"
+ ."\n"
+ .'- provider: The cloud service provider. Currently, only `Aliyun` is supported.'."\n"
+ ."\n"
+ .'- product: The product code.'."\n"
+ ."\n"
+ .'- resourceType: The [resource type](~~2246871~~). If a parent resource exists, the format is `{parent resource type code}/{parent resource ID}/{resource type code}`.'."\n"
+ ."\n"
+ .'- resourceId: The resource ID.', 'type' => 'string', 'example' => 'List (no parent resource):'."\n"
+ .'/api/v1/providers/Aliyun/products/Redis/resources/DBInstance'."\n"
+ ."\n"
+ .'List (has parent resource):'."\n"
+ .'/api/v1/providers/aliyun/products/Redis/resources/DBInstance/r-2ze8v41uei31lo****/Account'."\n"
+ ."\n"
+ .'Get (no parent resource):'."\n"
+ .'/api/v1/providers/Aliyun/products/Redis/resources/DBInstance/r-2ze8v41uei31lo****'."\n"
+ ."\n"
+ .'Get (has parent resource):'."\n"
+ .'/api/v1/providers/Aliyun/products/Redis/resources/DBInstance/r-2ze8v41uei31lo****/Account/user****', 'required' => false, 'docRequired' => true, 'title' => ''],
+ ],
+ [
+ 'name' => 'regionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID. This parameter is required if the cloud product is region-specific.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'."\n", 'title' => ''],
+ ],
+ [
+ 'name' => 'filter',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => ['description' => 'The filter conditions for resources.'."\n"
+ ."\n"
+ .'Specify multiple key-value pairs in JSON format to filter resources. If a List or Get operation for a cloud product supports filtering by specific properties, you can use those properties as filter conditions for this parameter.'."\n"
+ ."\n"
+ .'> The supported filter fields may vary for different resource types. For more information about the supported fields, see the OpenAPI documentation for the specific resource.'."\n"
+ ."\n"
+ .'For example, DBInstance resources support filtering by the `EditionType` and `PaymentType` fields.', 'type' => 'object', 'required' => false, 'example' => '{'."\n"
+ .' "EditionType": "Community",'."\n"
+ .' "PaymentType": "PostPaid"'."\n"
+ .'}', 'title' => ''],
+ ],
+ [
+ 'name' => 'nextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The pagination token.'."\n"
+ ."\n"
+ .'- You do not need to specify this parameter for the first query. The system returns data from the first page.'."\n"
+ ."\n"
+ .'- For subsequent queries, set this parameter to the nextToken value returned from the previous call.'."\n"
+ ."\n"
+ .'> If this parameter contains only digits, Cloud Control API treats it as the `PageNumber` for paging.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAdDWBF2****', 'title' => ''],
+ ],
+ [
+ 'name' => 'maxResults',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum number of records to return on each page for a paged query. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response structure.',
+ 'type' => 'object',
+ 'properties' => [
+ 'maxResults' => ['description' => 'The maximum number of records returned for the current request. This parameter is returned by the List operation.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'nextToken' => ['description' => 'The position where the current call finished reading. An empty value indicates that all data has been read. This parameter is returned by the List operation.', 'type' => 'string', 'example' => 'AAAAAdDWBF2****', 'title' => ''],
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
+ 'resource' => [
+ 'description' => 'The specified resource. This parameter is returned by the Get operation.',
+ 'type' => 'object',
+ 'properties' => [
+ 'resourceAttributes' => ['description' => 'The resource properties in JSON format.', 'type' => 'object', 'example' => '{"Status":"Available","Description":"","AccountPrivilege":"RoleReadWrite","InstanceId":"r-2ze8v41uei31lo****","RegionId":"cn-zhangjiakou","AccountType":"Normal","TypeInfo":{},"AccountName":"cctest"}', 'title' => ''],
+ 'resourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'cctest', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'resources' => [
+ 'description' => 'A list of resources. This parameter is returned by the List operation.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A resource.',
+ 'type' => 'object',
+ 'properties' => [
+ 'resourceAttributes' => ['description' => 'The resource properties in JSON format.', 'type' => 'object', 'example' => '{"Status":"Available","Description":"","AccountPrivilege":"RoleReadWrite","InstanceId":"r-2ze8v41uei31lo****","RegionId":"cn-zhangjiakou","AccountType":"Normal","TypeInfo":{},"AccountName":"cctest"}', 'title' => ''],
+ 'resourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'cctest', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'totalCount' => ['description' => 'The total number of entries that match the query conditions. This parameter is returned by the List operation.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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 the [OpenAPI Explorer](https://next.api.aliyun.com/cloudcontrol) to view the resource documentation and test the Cloud Control API.'."\n"
+ ."\n"
+ .'This API provides Get and List operations for resources that you can invoke using different request URIs.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetResources'],
+ ],
],
+ 'translator' => 'manual',
+ ],
+ 'GetTask' => [
+ 'path' => '/api/v1/tasks/{taskId}',
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'taskId',
+ 'in' => 'path',
+ 'schema' => ['title' => '', 'description' => 'The ID of the task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'task-433aead756057fff8189a7ce5****'],
+ ],
],
- 'produces' => [
- 'application/json',
+ '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', 'title' => ''],
+ 'error' => [
+ 'description' => 'The error returned for the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'code' => ['description' => 'The error code.'."\n", 'type' => 'string', 'example' => 'OperationFailure.OperationFailed', 'title' => ''],
+ '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"
+ .'}', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ 'product' => ['description' => 'The code of the service.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''],
+ 'regionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
+ 'resourceId' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => 'i-8vbascjthm7kzhp3****'."\n", 'title' => ''],
+ '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', 'title' => ''],
+ 'resourceType' => ['description' => 'The resource type.'."\n", 'type' => 'string', 'example' => 'Instance', 'title' => ''],
+ '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',
+ 'title' => '',
+ ],
+ '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',
+ 'title' => '',
+ ],
+ 'taskId' => ['description' => 'The ID of the task.'."\n", 'type' => 'string', 'example' => 'task-433aead756057fff8189a7ce5****', 'title' => ''],
+ ],
+ 'title' => '',
+ ],
+ ],
+ ],
+ ],
],
+ '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',
+ 'summary' => 'Calls this operation to query a specified asynchronous task.',
+ 'description' => 'GET /api/v1/tasks/{taskId}.'."\n",
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTask'],
+ ],
+ ],
+ ],
+ 'ListDataSources' => [
+ 'summary' => 'Queries 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',
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'],
+ 'parameters' => [
+ [
+ 'name' => 'requestPath',
+ 'in' => 'path',
+ 'schema' => ['description' => 'The URL of the request. The format is /api/v1/providers/{provider}/products/{product}/dataSources/{resourceType}.'."\n"
+ ."\n"
+ .'The variables in the URL are described as follows:'."\n"
+ ."\n"
+ .'provider: The cloud service provider. Only `Aliyun` is supported.'."\n"
+ ."\n"
+ .'product: The product code.'."\n"
+ ."\n"
+ .'resourceType: The resource type.'."\n"
+ ."\n"
+ .'Example for a Redis DBInstance:'."\n"
+ ."\n"
+ .'`/api/v1/providers/Aliyun/products/Redis/dataSources/DBInstance`', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '/api/v1/providers/Aliyun/products/Redis/dataSources/DBInstance', 'title' => ''],
+ ],
+ [
+ 'name' => 'attributeName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the attribute. Only `RegionId` is supported.', 'type' => 'string', 'required' => true, 'example' => 'RegionId', 'title' => ''],
+ ],
+ [
+ 'name' => 'filter',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => ['description' => 'The filter condition. The value must be a JSON string in the {"key1":"value1"} format.', 'type' => 'object', 'title' => '', 'required' => false, 'example' => ''],
+ ],
],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'dataSources' => [
+ 'description' => 'The list of data.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'id' => ['description' => 'The data ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"dataSources\\": [\\n {\\n \\"id\\": \\"cn-beijing\\"\\n }\\n ],\\n \\"requestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
+ 'title' => 'ListDataSources',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDataSources'],
+ ],
+ ],
+ ],
+ 'ListProducts' => [
+ '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',
@@ -449,43 +1141,24 @@
.'en_US: English.'."\n",
'type' => 'string',
'required' => false,
- 'enumValueTitles' => [
- 'zh_CH' => 'zh_CH',
- 'en_US' => 'en_US',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The Cloud service provider. Only Aliyun is supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Aliyun', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'name' => 'maxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Maximum value: 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['description' => 'The number of entries per page. Maximum value: 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
],
'responses' => [
@@ -495,18 +1168,8 @@
'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',
- ],
+ 'maxResults' => ['description' => 'The maximum number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ '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',
@@ -514,69 +1177,44 @@
'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',
- ],
+ 'productCode' => ['description' => 'The code of the service.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''],
+ 'productName' => ['description' => 'The service name.'."\n", 'type' => 'string', 'example' => 'Elastic Compute Service', 'title' => ''],
],
+ 'title' => '',
],
+ 'title' => '',
],
- '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',
- ],
+ 'requestId' => ['title' => 'Id of the request', 'description' => 'The ID of a request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
+ 'totalCount' => ['title' => '', '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',
+ 'summary' => 'Calls this operation to list the supported services.',
'description' => 'GET /api/v1/providers/{provider}/products.'."\n",
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListProducts'],
+ ],
+ ],
],
'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',
- ],
+ 'methods' => ['get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'],
'parameters' => [
[
'name' => 'x-acs-accept-language',
@@ -589,32 +1227,20 @@
.'en_US: English.'."\n",
'type' => 'string',
'required' => false,
- 'enumValueTitles' => [
- 'zh_CH' => 'zh_CH',
- 'en_US' => 'en_US',
- ],
+ 'enumValueTitles' => ['zh_CH' => 'zh_CH', 'en_US' => 'en_US'],
'example' => 'zh_CH',
+ 'title' => '',
],
],
[
'name' => 'provider',
'in' => 'path',
- 'schema' => [
- 'description' => 'The Cloud service provider. Only Aliyun is supported.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'Aliyun',
- ],
+ 'schema' => ['description' => 'The Cloud service provider. Only Aliyun is supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'Aliyun', 'title' => ''],
],
[
'name' => 'product',
'in' => 'path',
- 'schema' => [
- 'description' => 'The code of the service.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ECS',
- ],
+ 'schema' => ['description' => 'The code of the service.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ECS', 'title' => ''],
],
[
'name' => 'resourceTypes',
@@ -623,35 +1249,20 @@
'schema' => [
'description' => 'The information about the resource types.'."\n",
'type' => 'array',
- 'items' => [
- 'description' => 'The resource types.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Instance',
- ],
+ 'items' => ['description' => 'The resource types.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Instance', 'title' => ''],
'required' => false,
+ 'title' => '',
],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'name' => 'maxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
],
'responses' => [
@@ -661,24 +1272,9 @@
'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****',
- ],
+ 'maxResults' => ['description' => 'The maximum number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ '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',
@@ -689,47 +1285,32 @@
'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',
- ],
+ 'items' => ['description' => 'The property that is specific to the create operation.'."\n", 'type' => 'string', 'example' => '/properties/AutoRenew', 'title' => ''],
+ 'title' => '',
],
'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',
- ],
+ 'items' => ['description' => 'The property that is specific to the delete operation.'."\n", 'type' => 'string', 'example' => '/properties/ForceDelete', 'title' => ''],
+ 'title' => '',
],
'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',
- ],
+ 'items' => ['description' => 'The property that can be used to filter the resource.'."\n", 'type' => 'string', 'example' => '/properties/ResourceGroupId', 'title' => ''],
+ 'title' => '',
],
'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",
- ],
+ 'items' => ['description' => 'The property that is specific to the query operation.'."\n", 'type' => 'string', 'example' => '/properties/DryRun'."\n", 'title' => ''],
+ 'title' => '',
],
'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',
- ],
+ 'items' => ['description' => 'The property that is returned when you query the resource.'."\n", 'type' => 'string', 'example' => '/properties/NetworkInterfaces/items/properties/IpvSets', 'title' => ''],
+ 'title' => '',
],
'handlers' => [
'description' => 'The information about the operation, including the required Resource Access Management (RAM) permissions.'."\n",
@@ -742,13 +1323,11 @@
'permissions' => [
'description' => 'The RAM permissions required.'."\n",
'type' => 'array',
- 'items' => [
- 'description' => 'The RAM permission.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:CreateInstance',
- ],
+ 'items' => ['description' => 'The RAM permission.'."\n", 'type' => 'string', 'example' => 'ecs:CreateInstance', 'title' => ''],
+ 'title' => '',
],
],
+ 'title' => '',
],
'delete' => [
'description' => 'The information about the delete operation.'."\n",
@@ -757,13 +1336,11 @@
'permissions' => [
'description' => 'The RAM permissions required.'."\n",
'type' => 'array',
- 'items' => [
- 'description' => 'The RAM permission.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:DeleteInstance',
- ],
+ 'items' => ['description' => 'The RAM permission.'."\n", 'type' => 'string', 'example' => 'ecs:DeleteInstance', 'title' => ''],
+ 'title' => '',
],
],
+ 'title' => '',
],
'get' => [
'description' => 'The information about the query operation.'."\n",
@@ -772,13 +1349,11 @@
'permissions' => [
'description' => 'The RAM permissions required.'."\n",
'type' => 'array',
- 'items' => [
- 'description' => 'The RAM permission.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:DescribeInstanceAttachmentAttributes',
- ],
+ 'items' => ['description' => 'The RAM permission.'."\n", 'type' => 'string', 'example' => 'ecs:DescribeInstanceAttachmentAttributes', 'title' => ''],
+ 'title' => '',
],
],
+ 'title' => '',
],
'list' => [
'description' => 'The information about the list operation.'."\n",
@@ -787,13 +1362,11 @@
'permissions' => [
'description' => 'The RAM permissions required.'."\n",
'type' => 'array',
- 'items' => [
- 'description' => 'The RAM permission.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:DescribeInstances',
- ],
+ 'items' => ['description' => 'The RAM permission.'."\n", 'type' => 'string', 'example' => 'ecs:DescribeInstances', 'title' => ''],
+ 'title' => '',
],
],
+ 'title' => '',
],
'update' => [
'description' => 'The information about the update operation.'."\n",
@@ -802,15 +1375,14 @@
'permissions' => [
'description' => 'The RAM permissions required.'."\n",
'type' => 'array',
- 'items' => [
- 'description' => 'The RAM permission.'."\n",
- 'type' => 'string',
- 'example' => 'ecs:ModifyInstanceNetworkSpec',
- ],
+ 'items' => ['description' => 'The RAM permission.'."\n", 'type' => 'string', 'example' => 'ecs:ModifyInstanceNetworkSpec', 'title' => ''],
+ 'title' => '',
],
],
+ 'title' => '',
],
],
+ 'title' => '',
],
'info' => [
'description' => 'The information about the resource type.'."\n",
@@ -820,11 +1392,9 @@
'description' => 'Billing method\\'."\n"
.'paid free'."\n",
'type' => 'string',
- 'enumValueTitles' => [
- 'paid' => 'paid',
- 'free' => 'free',
- ],
+ 'enumValueTitles' => ['paid' => 'paid', 'free' => 'free'],
'example' => 'paid',
+ 'title' => '',
],
'deliveryScope' => [
'description' => 'The deployment level of the resource.'."\n"
@@ -835,643 +1405,214 @@
."\n"
.'zone'."\n",
'type' => 'string',
- 'enumValueTitles' => [
- 'zone' => 'zone',
- 'center' => 'center',
- 'region' => 'region',
- ],
+ 'enumValueTitles' => ['zone' => 'zone', 'center' => 'center', 'region' => 'region'],
'example' => 'region',
+ 'title' => '',
],
- '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',
- ],
+ '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' => ''],
+ 'title' => ['description' => 'The name of the resource type.'."\n", 'type' => 'string', 'example' => 'Instance', 'title' => ''],
],
+ 'title' => '',
],
'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',
- ],
+ 'items' => ['description' => 'The property that is specific to the list operation.'."\n", 'type' => 'string', 'example' => '/properties/DryRun', 'title' => ''],
+ 'title' => '',
],
'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',
+ 'items' => ['description' => 'The property that is returned when you query the resource.'."\n", 'type' => 'string', 'example' => '/properties/InstanceId', 'title' => ''],
+ 'title' => '',
],
+ 'primaryIdentifier' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => '/properties/InstanceId', 'title' => ''],
+ 'product' => ['description' => 'The code of the service.'."\n", 'type' => 'string', 'example' => 'ECS', 'title' => ''],
+ 'properties' => ['description' => 'The resource properties. The key specifies the property name and the value specifies the details of the property.'."\n", 'type' => 'object', 'title' => ''],
'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',
- ],
+ 'items' => ['description' => 'The common property.'."\n", 'type' => 'string', 'example' => '/properties/Description', 'title' => ''],
+ 'title' => '',
],
'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',
- ],
+ 'items' => ['description' => 'The read-only property.'."\n", 'type' => 'string', 'example' => '/properties/CreateTime', 'title' => ''],
+ 'title' => '',
],
'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',
+ 'items' => ['description' => 'The property that must be specified when you create the resource.'."\n", 'type' => 'string', 'example' => 'RegionId', 'title' => ''],
+ 'title' => '',
],
+ 'resourceType' => ['description' => 'The resource type.'."\n", 'type' => 'string', 'example' => 'Instance', 'title' => ''],
'sensitiveInfoProperties' => [
'description' => 'The sensitive properties, such as the password.'."\n",
'type' => 'array',
- 'items' => [
- 'description' => 'The sensitive property.'."\n",
- 'type' => 'string',
- 'example' => '/properties/VncPassword',
- ],
+ 'items' => ['description' => 'The sensitive property.'."\n", 'type' => 'string', 'example' => '/properties/VncPassword', 'title' => ''],
+ 'title' => '',
],
'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',
- ],
+ 'items' => ['description' => 'The property that is specific to the update operation.'."\n", 'type' => 'string', 'example' => '/properties/DryRun', 'title' => ''],
+ 'title' => '',
],
'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',
- ],
+ 'items' => ['description' => 'The property that can be modified.'."\n", 'type' => 'string', 'example' => '/properties/InstanceName', 'title' => ''],
+ 'title' => '',
],
],
+ 'title' => '',
],
+ 'title' => '',
],
- 'totalCount' => [
- 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回',
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
+ 'totalCount' => ['title' => '', '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',
+ 'summary' => 'Calls this operation to list the resource types of a service.',
'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',
- ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListResourceTypes'],
],
],
- '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',
- ],
+ 'ListSupportedPricingApis' => [
+ 'summary' => 'Lists the OpenAPI triplets that currently support price inquiry.',
+ 'path' => '/api/v1/price/supported-apis',
+ 'methods' => ['get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'],
'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****',
- ],
+ 'schema' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
],
[
'name' => 'maxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Maximum value: 100.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
'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",
+ 'supportedApis' => [
+ 'title' => '',
'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',
- ],
+ 'popCode' => ['title' => '', 'description' => 'The POP product code, such as Ecs, Rds, or Alb. This value corresponds to the popCode field used in price inquiry requests.', 'type' => 'string', 'example' => ''],
+ 'popVersion' => ['title' => '', 'description' => 'The OpenAPI version number, such as 2014-05-26.', 'type' => 'string', 'example' => ''],
+ 'apiName' => ['title' => '', 'description' => 'The OpenAPI name in PascalCase, such as RunInstances.', 'type' => 'string', 'example' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'description' => 'The array of OpenAPI triplets that support price inquiry. The triplets are sorted in alphabetical order by popCode, popVersion, and apiName.',
+ 'example' => '',
],
- 'totalCount' => [
- 'description' => 'The total number of entries returned. Return result of the List operation.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
+ 'requestId' => ['title' => '', 'description' => 'Id of the request', 'type' => 'string', 'example' => ''],
+ 'nextToken' => ['title' => '', 'type' => 'string', 'description' => '', 'example' => ''],
+ 'maxResults' => ['title' => '', 'type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => ''],
],
+ 'description' => 'Schema of Response',
+ 'example' => '',
],
],
],
- '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",
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"supportedApis\\": [\\n {\\n \\"popCode\\": \\"\\",\\n \\"popVersion\\": \\"\\",\\n \\"apiName\\": \\"\\"\\n }\\n ],\\n \\"requestId\\": \\"\\",\\n \\"nextToken\\": \\"\\",\\n \\"maxResults\\": 0\\n}","type":"json"}]',
+ 'title' => '',
],
'UpdateResource' => [
'summary' => 'Calls this operation to update resources.',
'path' => '/api/v1/providers/{provider}/products/{product}/resources/*',
- 'methods' => [
- 'put',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['put'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'consumes' => [
- 'application/json',
- ],
- 'produces' => [
- 'application/json',
- ],
+ 'consumes' => ['application/json'],
+ 'produces' => ['application/json'],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
- 'chargeType' => 'paid',
- ],
+ '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',
- ],
+ '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' => 'No parent resource:'."\n"
+ .'/api/v1/providers/Aliyun/products/Redis/resources/DBInstance/r-2ze8v41uei31lo****'."\n"
+ ."\n"
+ .'Has parent resource:'."\n"
+ .'/api/v1/providers/Aliyun/products/Redis/resources/DBInstance/r-2ze8v41uei31lo****/Account/user****', 'title' => ''],
],
[
'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",
- ],
+ '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", 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'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"
- .'}',
- ],
+ '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"
+ .'}', 'title' => ''],
],
],
'responses' => [
200 => [
'headers' => [
'x-acs-cloudcontrol-timeout' => [
- 'schema' => [
- 'type' => 'string',
- 'backendName' => 'retry-timeout',
- ],
+ 'schema' => ['type' => 'string', 'backendName' => 'retry-timeout'],
],
],
'schema' => [
@@ -1479,18 +1620,10 @@
'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",
- ],
+ 'requestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
+ '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****', 'title' => ''],
],
+ 'example' => '',
],
],
],
@@ -1501,682 +1634,71 @@
.'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,
- ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateResource'],
],
],
- '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',
+ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => 'cloudcontrol-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cloudcontrol.aliyuncs.com', 'endpoint' => 'cloudcontrol.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cloudcontrol.ap-southeast-1.aliyuncs.com', 'vpc' => ''],
+ ],
+ 'errorCodes' => [
+ ['code' => 'InternalFailure', 'message' => 'The request processing has failed because of an unknown error, exception or failure.', 'http_code' => 500, 'description' => 'Internal service error'],
+ ['code' => 'InvalidDomain.NotFound', 'message' => 'The specified domain does not exist.', 'http_code' => 400, 'description' => 'This domain does not exist.'],
+ ['code' => 'InvalidParameter.RequiredNotExisted', 'message' => 'The Required parameter for the Create operation of resource of type do not existed.', 'http_code' => 400, 'description' => 'There are required properties not provided'],
+ ['code' => 'InvalidRamUser.NoPermission', 'message' => 'Ram user is not authorized to perform the operation.', 'http_code' => 403, 'description' => 'Ram user authentication failed'],
+ ['code' => 'InvalidRegion.NotFound', 'message' => 'The specified region does not exist.', 'http_code' => 400, 'description' => 'The specified region does not exist.'],
+ ['code' => 'InvalidRequestPath', 'message' => 'The request path is invalid.', 'http_code' => 400, 'description' => 'The requested path validation fails.'],
+ ['code' => 'InvalidResource.NotFound', 'message' => 'The specified resource does not exist.', 'http_code' => 400, 'description' => 'The specified resource does not exist'],
+ ['code' => 'InvalidResourceType.NotFound', 'message' => 'The specified resource type does not exist.', 'http_code' => 400, 'description' => 'The specified resource type does not exist'],
+ ['code' => 'InvalidTask.NotFound', 'message' => 'The specified task does not exist.', 'http_code' => 400, 'description' => 'The specified task does not exist'],
+ ['code' => 'MissingParameter', 'message' => 'some input parameter that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'Missing required parameter'],
+ ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListResourceTypes'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetResourceType'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDataSources'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListProducts'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPrice'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateResource'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTask'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateResource'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetResources'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelTask'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteResource'],
],
],
];