diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/ga/2019-11-20 | |
| download | acs-metadata-full-1.0.0+20260212.tar.gz acs-metadata-full-1.0.0+20260212.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/en_us/ga/2019-11-20')
| -rw-r--r-- | data/en_us/ga/2019-11-20/api-docs.php | 33120 |
1 files changed, 33120 insertions, 0 deletions
diff --git a/data/en_us/ga/2019-11-20/api-docs.php b/data/en_us/ga/2019-11-20/api-docs.php new file mode 100644 index 0000000..91f8eb8 --- /dev/null +++ b/data/en_us/ga/2019-11-20/api-docs.php @@ -0,0 +1,33120 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'Ga', + 'version' => '2019-11-20', + ], + 'directories' => [ + [ + 'id' => 70618, + 'title' => 'Acceleration areas and regions', + 'type' => 'directory', + 'children' => [ + 'ListAccelerateAreas', + 'ListBusiRegions', + 'DescribeRegions', + 'ListAvailableBusiRegions', + 'ListCommonAreas', + ], + ], + [ + 'id' => 179045, + 'title' => 'Resource groups', + 'type' => 'directory', + 'children' => [ + 'ChangeResourceGroup', + ], + ], + [ + 'id' => 179046, + 'title' => 'Tags', + 'type' => 'directory', + 'children' => [ + 'TagResources', + 'ListTagResources', + 'UntagResources', + ], + ], + [ + 'id' => 179047, + 'title' => 'Purchase order information', + 'type' => 'directory', + 'children' => [ + 'DescribeCommodity', + 'DescribeCommodityPrice', + ], + ], + [ + 'id' => 70580, + 'title' => 'Bandwidth plans', + 'type' => 'directory', + 'children' => [ + 'BandwidthPackageAddAccelerator', + 'BandwidthPackageRemoveAccelerator', + 'DescribeBandwidthPackage', + 'ListBandwidthPackages', + 'UpdateBandwidthPackage', + 'ReplaceBandwidthPackage', + 'DeleteBandwidthPackage', + 'CreateBandwidthPackage', + 'ListBandwidthackages', + 'DescribeBandwidthPackageAutoRenewAttribute', + 'UpdateBandwidthPackagaAutoRenewAttribute', + ], + ], + [ + 'id' => 179050, + 'title' => 'EIP line types and transmission network types', + 'type' => 'directory', + 'children' => [ + 'ListIspTypes', + 'UpdateAcceleratorCrossBorderMode', + 'UpdateAcceleratorCrossBorderStatus', + ], + ], + [ + 'id' => 70574, + 'title' => 'GA instances', + 'type' => 'directory', + 'children' => [ + 'CreateAccelerator', + 'DescribeAccelerator', + 'ListAccelerators', + 'UpdateAccelerator', + 'UpdateAcceleratorConfirm', + 'DeleteAccelerator', + 'AttachDdosToAccelerator', + 'DetachDdosFromAccelerator', + 'CreateSpareIps', + 'ListSpareIps', + 'GetSpareIp', + 'DeleteSpareIps', + 'DescribeAcceleratorAutoRenewAttribute', + 'UpdateAcceleratorAutoRenewAttribute', + ], + ], + [ + 'id' => 70590, + 'title' => 'Acceleration regions', + 'type' => 'directory', + 'children' => [ + 'CreateIpSets', + 'DescribeIpSet', + 'ListIpSets', + 'UpdateIpSet', + 'UpdateIpSets', + 'DeleteIpSet', + 'DeleteIpSets', + 'ListAvailableAccelerateAreas', + 'GetIpsetsBandwidthLimit', + ], + ], + [ + 'id' => 70599, + 'title' => 'Listeners', + 'type' => 'directory', + 'children' => [ + 'CreateListener', + 'DescribeListener', + 'ListListeners', + 'UpdateListener', + 'DeleteListener', + 'GetHealthStatus', + 'AssociateAdditionalCertificatesWithListener', + 'DissociateAdditionalCertificatesFromListener', + 'UpdateAdditionalCertificateWithListener', + 'ListListenerCertificates', + 'ListSystemSecurityPolicies', + ], + ], + [ + 'id' => 70608, + 'title' => 'Endpoint groups (intelligent routing listeners)', + 'type' => 'directory', + 'children' => [ + 'CreateEndpointGroup', + 'DescribeEndpointGroup', + 'ListEndpointGroups', + 'UpdateEndpointGroup', + 'UpdateEndpointGroupAttribute', + 'DeleteEndpointGroup', + 'DescribeLogStoreOfEndpointGroup', + 'AttachLogStoreToEndpointGroup', + 'DetachLogStoreFromEndpointGroup', + 'CreateEndpointGroups', + 'UpdateEndpointGroups', + 'ConfigEndpointProbe', + 'DeleteEndpointGroups', + ], + ], + [ + 'id' => 179083, + 'title' => 'Endpoint groups (custom routing listeners)', + 'type' => 'directory', + 'children' => [ + 'CreateCustomRoutingEndpointGroups', + 'UpdateCustomRoutingEndpointGroupAttribute', + 'DescribeCustomRoutingEndpointGroup', + 'ListCustomRoutingEndpointGroups', + 'DeleteCustomRoutingEndpointGroups', + ], + ], + [ + 'id' => 172050, + 'title' => 'Endpoint group mapping configurations (custom routing listeners)', + 'type' => 'directory', + 'children' => [ + 'CreateCustomRoutingEndpointGroupDestinations', + 'UpdateCustomRoutingEndpointGroupDestinations', + 'DescribeCustomRoutingEndpointGroupDestinations', + 'ListCustomRoutingEndpointGroupDestinations', + 'DeleteCustomRoutingEndpointGroupDestinations', + ], + ], + [ + 'id' => 171156, + 'title' => 'Endpoints (custom routing listeners)', + 'type' => 'directory', + 'children' => [ + 'CreateCustomRoutingEndpoints', + 'UpdateCustomRoutingEndpoints', + 'DescribeCustomRoutingEndpoint', + 'ListCustomRoutingEndpoints', + 'DeleteCustomRoutingEndpoints', + ], + ], + [ + 'id' => 179084, + 'title' => 'Traffic policies for endpoints (custom routing listeners)', + 'type' => 'directory', + 'children' => [ + 'CreateCustomRoutingEndpointTrafficPolicies', + 'UpdateCustomRoutingEndpointTrafficPolicies', + 'DescribeCustomRoutingEndPointTrafficPolicy', + 'ListCustomRoutingEndpointTrafficPolicies', + 'DeleteCustomRoutingEndpointTrafficPolicies', + ], + ], + [ + 'id' => 179085, + 'title' => 'Port mappings (custom routing listeners)', + 'type' => 'directory', + 'children' => [ + 'ListCustomRoutingPortMappings', + 'ListCustomRoutingPortMappingsByDestination', + ], + ], + [ + 'id' => 70569, + 'title' => 'Forwarding rules', + 'type' => 'directory', + 'children' => [ + 'CreateForwardingRules', + 'UpdateForwardingRules', + 'ListForwardingRules', + 'DeleteForwardingRules', + ], + ], + [ + 'id' => 70556, + 'title' => 'Network access control lists (ACLs)', + 'type' => 'directory', + 'children' => [ + 'CreateAcl', + 'UpdateAclAttribute', + 'AddEntriesToAcl', + 'RemoveEntriesFromAcl', + 'ListAcls', + 'GetAcl', + 'DeleteAcl', + 'AssociateAclsWithListener', + 'DissociateAclsFromListener', + ], + ], + [ + 'id' => 171147, + 'title' => 'Origin probing', + 'type' => 'directory', + 'children' => [ + 'CreateApplicationMonitor', + 'UpdateApplicationMonitor', + 'DisableApplicationMonitor', + 'EnableApplicationMonitor', + 'DeleteApplicationMonitor', + 'ListApplicationMonitor', + 'DescribeApplicationMonitor', + 'DetectApplicationMonitor', + 'ListApplicationMonitorDetectResult', + ], + ], + [ + 'id' => 179068, + 'title' => 'Domain names', + 'type' => 'directory', + 'children' => [ + 'CreateDomain', + 'UpdateDomainState', + 'UpdateDomain', + 'ListDomains', + 'GetInvalidDomainCount', + 'DeleteDomainAcceleratorRelation', + ], + ], + [ + 'id' => 171162, + 'title' => 'Basic GA instances', + 'type' => 'directory', + 'children' => [ + 'CreateBasicAccelerator', + 'UpdateBasicAccelerator', + 'GetBasicAccelerator', + 'ListBasicAccelerators', + 'DeleteBasicAccelerator', + ], + ], + [ + 'id' => 179069, + 'title' => 'Acceleration regions (basic GA instances)', + 'type' => 'directory', + 'children' => [ + 'CreateBasicIpSet', + 'UpdateBasicIpSet', + 'GetBasicIpSet', + 'DeleteBasicIpSet', + ], + ], + [ + 'id' => 179070, + 'title' => 'Accelerated IP addresses (basic GA instances)', + 'type' => 'directory', + 'children' => [ + 'CreateBasicAccelerateIp', + 'GetBasicAccelerateIp', + 'GetBasicAccelerateIpIdleCount', + 'ListBasicAccelerateIps', + 'DeleteBasicAccelerateIp', + ], + ], + [ + 'id' => 171172, + 'title' => 'Endpoint groups of basic GA instances', + 'type' => 'directory', + 'children' => [ + 'CreateBasicEndpointGroup', + 'UpdateBasicEndpointGroup', + 'GetBasicEndpointGroup', + 'DeleteBasicEndpointGroup', + ], + ], + [ + 'id' => 179071, + 'title' => 'Endpoints (basic GA instances)', + 'type' => 'directory', + 'children' => [ + 'CreateBasicEndpoint', + 'CreateBasicEndpoints', + 'UpdateBasicEndpoint', + 'GetBasicEndpoint', + 'ListBasicEndpoints', + 'DeleteBasicEndpoint', + ], + ], + [ + 'id' => 179086, + 'title' => 'Associating accelerated IP addresses with endpoints (basic GA instances)', + 'type' => 'directory', + 'children' => [ + 'CreateBasicAccelerateIpEndpointRelations', + 'CreateBasicAccelerateIpEndpointRelation', + 'GetBasicAccelerateIpEndpointRelation', + 'ListBasicAccelerateIpEndpointRelations', + 'DeleteBasicAccelerateIpEndpointRelation', + ], + ], + [ + 'id' => 181801, + 'title' => 'Others', + 'type' => 'directory', + 'children' => [ + 'UpdateServiceManagedControl', + 'QueryCrossBorderApprovalStatus', + 'DescribeAcceleratorServiceStatus', + 'OpenAcceleratorService', + 'ListEndpointGroupIpAddressCidrBlocks', + ], + ], + [ + 'id' => 0, + 'title' => '其它', + 'type' => 'directory', + 'children' => [ + 'UpdateLogStoreConfig', + 'GetGlobalAcceleratorResources', + 'DisassociateResources', + 'AssociateResources', + ], + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'ListAccelerateAreas' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'Areas' => [ + 'description' => 'The information about the areas.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => 'The name of the area.'."\n", + 'type' => 'string', + 'example' => 'North China'."\n", + ], + 'AreaId' => [ + 'description' => 'The area ID.'."\n", + 'type' => 'string', + 'example' => 'cn-huabei', + ], + 'RegionList' => [ + 'description' => 'The regions in the acceleration area.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => 'The name of the region.'."\n", + 'type' => 'string', + 'example' => 'China (Qingdao)'."\n", + ], + 'RegionId' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + ], + 'description' => 'The regions in the acceleration area.', + ], + ], + ], + 'description' => 'The information about the areas.'."\n", + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"Areas\\": [\\n {\\n \\"LocalName\\": \\"华北\\",\\n \\"AreaId\\": \\"cn-huabei\\",\\n \\"RegionList\\": [\\n {\\n \\"LocalName\\": \\"青岛\\",\\n \\"RegionId\\": \\"cn-qingdao\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAccelerateAreasResponse>\\n<Areas>\\n <AreaId>North-America</AreaId>\\n <LocalName>北美</LocalName>\\n <RegionList>\\n <RegionId>us-west-1</RegionId>\\n <LocalName>美国(硅谷)</LocalName>\\n </RegionList>\\n <RegionList>\\n <RegionId>us-east-1</RegionId>\\n <LocalName>美国(弗吉尼亚)</LocalName>\\n </RegionList>\\n</Areas>\\n<Areas>\\n <AreaId>China</AreaId>\\n <LocalName>中国</LocalName>\\n <RegionList>\\n <RegionId>cn-hangzhou</RegionId>\\n <LocalName>杭州</LocalName>\\n </RegionList>\\n <RegionList>\\n <RegionId>cn-beijing</RegionId>\\n <LocalName>北京</LocalName>\\n </RegionList>\\n</Areas>\\n<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</ListAccelerateAreasResponse>","errorExample":""}]', + 'title' => 'ListAccelerateAreas', + 'summary' => 'Queries available acceleration areas and regions.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListBusiRegions' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8887', + 'abilityTreeNodes' => [ + 'FEATUREgaC1Y0Y9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', + ], + 'Regions' => [ + 'description' => 'The information about the acceleration regions that are supported by GA.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the region.'."\n", + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => 'The name of the region.'."\n", + 'type' => 'string', + 'example' => 'China (Hangzhou)'."\n", + ], + 'RegionId' => [ + 'description' => 'The ID of the region.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"杭州\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RequestId>1A2262A0-B50A-4C27-8543-E91D9447F967</RequestId>\\n<Regions>\\n <RegionId>cn-qingdao</RegionId>\\n <LocalName>青岛</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>us-west-1</RegionId>\\n <LocalName>美国(硅谷)</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>cn-beijing</RegionId>\\n <LocalName>北京</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>cn-hangzhou</RegionId>\\n <LocalName>杭州</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>cn-shanghai</RegionId>\\n <LocalName>上海</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>cn-chengdu</RegionId>\\n <LocalName>成都</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>cn-shenzhen</RegionId>\\n <LocalName>深圳</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>cn-hongkong</RegionId>\\n <LocalName>中国香港</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>ap-northeast-1</RegionId>\\n <LocalName>日本</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>ap-south-1</RegionId>\\n <LocalName>印度</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>ap-southeast-1</RegionId>\\n <LocalName>新加坡</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>ap-southeast-2</RegionId>\\n <LocalName>悉尼</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>ap-southeast-3</RegionId>\\n <LocalName>马来西亚</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>ap-southeast-5</RegionId>\\n <LocalName>印度尼西亚</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>us-east-1</RegionId>\\n <LocalName>美国(弗吉尼亚)</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>eu-central-1</RegionId>\\n <LocalName>德国</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>eu-west-1</RegionId>\\n <LocalName>英国</LocalName>\\n</Regions>\\n<Regions>\\n <RegionId>ap-northeast-2-pop</RegionId>\\n <LocalName>韩国</LocalName>\\n</Regions>","errorExample":""}]', + 'title' => 'ListBusiRegions', + 'summary' => 'Queries the acceleration regions that are supported by Global Accelerator (GA).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeRegions' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', + ], + 'Regions' => [ + 'description' => 'The available regions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The available regions.', + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => 'The region name.'."\n", + 'type' => 'string', + 'example' => 'China (Hangzhou)'."\n", + ], + 'RegionId' => [ + 'description' => 'The region ID. Only **cn-hangzhou** is returned.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"杭州\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeRegions', + 'summary' => 'Queries the regions where Global Accelerator (GA) instances are deployed.', + ], + 'ListAvailableBusiRegions' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8884', + 'abilityTreeNodes' => [ + 'FEATUREgaC1Y0Y9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'Regions' => [ + 'description' => 'The information about the regions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the region.'."\n", + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => 'The name of the region.'."\n", + 'type' => 'string', + 'example' => 'China (Qingdao)'."\n", + ], + 'RegionId' => [ + 'description' => 'The ID of the region.'."\n", + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + 'Pop' => [ + 'description' => 'Indicates whether it is a point of presence (PoP) of Alibaba Cloud. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'ChinaMainland' => [ + 'description' => 'Indicates whether the region is in the Chinese mainland. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"青岛\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"Pop\\": false,\\n \\"ChinaMainland\\": true\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAvailableBusiRegionsResponse>\\n <RequestId>8BE7678A-EEFC-5A7C-9028-B5D6C5A33CA9</RequestId>\\n <Regions>\\n <Pop>false</Pop>\\n <RegionId>cn-qingdao</RegionId>\\n <LocalName>青岛</LocalName>\\n </Regions>\\n <Regions>\\n <Pop>false</Pop>\\n <RegionId>cn-beijing</RegionId>\\n <LocalName>北京</LocalName>\\n </Regions>\\n <Regions>\\n <Pop>false</Pop>\\n <RegionId>cn-shanghai</RegionId>\\n <LocalName>上海</LocalName>\\n </Regions>\\n <Regions>\\n <Pop>false</Pop>\\n <RegionId>cn-chengdu</RegionId>\\n <LocalName>成都</LocalName>\\n </Regions>\\n <Regions>\\n <Pop>false</Pop>\\n <RegionId>cn-shenzhen</RegionId>\\n <LocalName>深圳</LocalName>\\n </Regions>\\n <Regions>\\n <Pop>false</Pop>\\n <RegionId>cn-hangzhou</RegionId>\\n <LocalName>杭州</LocalName>\\n </Regions>\\n <Regions>\\n <Pop>false</Pop>\\n <RegionId>cn-guangzhou</RegionId>\\n <LocalName>广州</LocalName>\\n </Regions>\\n</ListAvailableBusiRegionsResponse>","errorExample":""}]', + 'title' => 'ListAvailableBusiRegions', + 'summary' => 'Queries the available acceleration regions of a Global Accelerator (GA) instance.', + ], + 'ListCommonAreas' => [ + 'summary' => 'Queries available acceleration areas and regions.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'IpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IP version used to connect to the GA instance. Valid values:'."\n" + ."\n" + .'* **IPv4** (default)'."\n" + .'* **IPv6**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'IPv4', + ], + ], + [ + 'name' => 'IsIpSet', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to query regions supported by GA. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'IsEpg', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to query regions where endpoint groups of GA can be deployed. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'Areas' => [ + 'description' => 'The information about the areas.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the areas.'."\n", + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => 'The area name.'."\n", + 'type' => 'string', + 'example' => 'North China'."\n", + ], + 'AreaId' => [ + 'description' => 'The area ID.'."\n", + 'type' => 'string', + 'example' => 'cn-huabei', + ], + 'RegionList' => [ + 'description' => 'The information about the regions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the regions.'."\n", + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => 'The region name.'."\n", + 'type' => 'string', + 'example' => 'China (Qingdao)'."\n", + ], + 'RegionId' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"Areas\\": [\\n {\\n \\"LocalName\\": \\"华北\\",\\n \\"AreaId\\": \\"cn-huabei\\",\\n \\"RegionList\\": [\\n {\\n \\"LocalName\\": \\"青岛\\",\\n \\"RegionId\\": \\"cn-qingdao\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListCommonAreasResponse>\\n <RequestId>DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6</RequestId>\\n <Areas>\\n <LocalName>华北</LocalName>\\n <AreaId>cn-huabei</AreaId>\\n <RegionList>\\n <LocalName>青岛</LocalName>\\n <RegionId>cn-qingdao</RegionId>\\n </RegionList>\\n </Areas>\\n</ListCommonAreasResponse>","errorExample":""}]', + 'title' => 'ListCommonAreas', + 'description' => 'You can call this operation to query the acceleration areas and regions that you can specify on the wizard page of Global Accelerator (GA) and for free-trial GA instances. You can filter acceleration areas and regions based on specified conditions.'."\n", + ], + 'ChangeResourceGroup' => [ + 'summary' => 'Changes the resource group to which a Global Accelerator (GA) resource belongs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '152996', + 'abilityTreeNodes' => [ + 'FEATUREgaTV52LF', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The **client token** can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the value of **RequestId** as the value of **ClientToken**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA resource.'."\n" + ."\n" + .'* If you set **ResourceType** to **accelerator**, set the value of ResourceId to the ID of a standard GA instance.'."\n" + .'* If you set **ResourceType** to **basicaccelerator**, set the value of ResourceId to the ID of a basic GA instance.'."\n" + .'* If you set **ResourceType** to **bandwidthpackage**, set the value of ResourceId to the ID of a bandwidth plan.'."\n" + .'* If you set **ResourceType** to **acl**, set the value of ResourceId to the ID of an access control list (ACL).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp149u6o36qt1as9b****', + ], + ], + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the new resource group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'rg-aekzrnd67gq****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the GA resource. Valid values:'."\n" + ."\n" + .'* **accelerator:** a standard GA instance.'."\n" + .'* **basicaccelerator:** a basic GA instance.'."\n" + .'* **bandwidthpackage:** a bandwidth plan.'."\n" + .'* **acl:** an ACL.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'accelerator', + 'minLength' => 0, + 'enum' => [ + 'accelerator', + 'basicaccelerator', + 'bandwidthpackage', + 'acl', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"<ChangeResourceGroupResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n</ChangeResourceGroupResponse>","errorExample":""}]', + 'title' => 'ChangeResourceGroup', + 'description' => 'The **ChangeResourceGroup** operation cannot be repeatedly called for the same GA instance within a specific period of time.'."\n", + ], + 'TagResources' => [ + 'summary' => 'Adds tags to Global Accelerator (GA) resources.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '152997', + 'abilityTreeNodes' => [ + 'FEATUREgaZTNSJU', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'title' => '资源类型', + 'description' => 'The type of the resource to which you want to add tags. Valid values:'."\n" + ."\n" + .'* **accelerator:** a standard GA instance.'."\n" + .'* **basicaccelerator:** a basic GA instance.'."\n" + .'* **bandwidthpackage:** a bandwidth plan.'."\n" + .'* **acl:** an ACL.'."\n" + .'* **endpointgroup:** an endpoint group of a standard GA instance. You cannot call the TagResources operation to add tags to an endpoint group of a basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'accelerator', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '资源ID,最多 50个子项', + 'description' => 'The ID of the resource to which you want to add tags.'."\n" + ."\n" + .'* If you set **ResourceType** to **accelerator**, set the value of ResourceId to the ID of a standard GA instance.'."\n" + .'* If you set **ResourceType** to **basicaccelerator**, set the value of ResourceId to the ID of a basic GA instance.'."\n" + .'* If you set **ResourceType** to **bandwidthpackage**, set the value of ResourceId to the ID of a bandwidth plan.'."\n" + .'* If you set **ResourceType** to **acl**, set the value of ResourceId to the ID of an ACL.'."\n" + .'* If you set **ResourceType** to **endpointgroup**, set the value of ResourceId to the ID of an endpoint group.'."\n" + ."\n" + .'This parameter is required. You can enter up to 50 GA resource IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the resource to which you want to add tags.'."\n" + ."\n" + .'* If you set **ResourceType** to **accelerator**, set the value of ResourceId to the ID of a standard GA instance.'."\n" + .'* If you set **ResourceType** to **basicaccelerator**, set the value of ResourceId to the ID of a basic GA instance.'."\n" + .'* If you set **ResourceType** to **bandwidthpackage**, set the value of ResourceId to the ID of a bandwidth plan.'."\n" + .'* If you set **ResourceType** to **acl**, set the value of ResourceId to the ID of an ACL.'."\n" + .'* If you set **ResourceType** to **endpointgroup**, set the value of ResourceId to the ID of an endpoint group.'."\n" + ."\n" + .'This parameter is required. You can enter up to 50 GA resource IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp149u6o36qt1as9b****', + ], + 'required' => true, + 'maxItems' => 51, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '标签列表,最多包含20个子项', + 'description' => 'The tags of GA resources.'."\n" + ."\n" + .'You can specify up to 20 tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of GA resources.'."\n" + ."\n" + .'You can specify up to 20 tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '标签键', + 'description' => 'The tag key of the GA resource. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'KeyTest', + ], + 'Value' => [ + 'title' => '标签值', + 'description' => 'The tag value of the GA resource. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag values.', + 'type' => 'string', + 'required' => false, + 'example' => 'valueTest', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters of the operation.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n</TagResourcesResponse>","errorExample":""}]', + 'title' => 'TagResources', + 'description' => 'You can add up to 20 tags to each GA resource. When you call this operation, Alibaba Cloud first checks the number of existing tags attached to the resource. If the quota is reached, an error message is returned.', + ], + 'ListTagResources' => [ + 'summary' => 'Queries the tags that are added to Global Accelerator (GA) resources.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '152999', + 'abilityTreeNodes' => [ + 'FEATUREgaZTNSJU', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The token that determines the start point of the next query. Valid values:'."\n" + ."\n" + .'* If this is your first query and no next queries are to be sent, ignore this parameter.'."\n" + .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'title' => '资源类型', + 'description' => 'The type of the resource whose tag information you want to query. Valid values:'."\n" + ."\n" + .'* **accelerator**: a standard GA instance'."\n" + .'* **basicaccelerator**: a basic GA instance'."\n" + .'* **bandwidthpackage**: a bandwidth plan'."\n" + .'* **acl**: an access control list (ACL).'."\n" + .'* **endpointgroup**: an endpoint group'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'accelerator', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '资源ID,最多 50个子项', + 'description' => 'The IDs of the resources whose tag information you want to query.'."\n" + ."\n" + .'* If you set **ResourceType** to **accelerator**, set the value of ResourceId to the ID of a standard GA instance.'."\n" + .'* If you set **ResourceType** to **basicaccelerator**, set the value of ResourceId to the ID of a basic GA instance.'."\n" + .'* If you set **ResourceType** to **bandwidthpackage**, set the value of ResourceId to the ID of a bandwidth plan.'."\n" + .'* If you set **ResourceType** to **acl**, set the value of ResourceId to the ID of an ACL.'."\n" + .'* If you set **ResourceType** to **endpointgroup**, set the value of ResourceId to the ID of an endpoint group.'."\n" + ."\n" + .'You can specify up to 50 GA resource IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the resource whose tag information you want to query.'."\n" + ."\n" + .'* If you set **ResourceType** to **accelerator**, set the value of ResourceId to the ID of a standard GA instance.'."\n" + .'* If you set **ResourceType** to **basicaccelerator**, set the value of ResourceId to the ID of a basic GA instance.'."\n" + .'* If you set **ResourceType** to **bandwidthpackage**, set the value of ResourceId to the ID of a bandwidth plan.'."\n" + .'* If you set **ResourceType** to **acl**, set the value of ResourceId to the ID of an ACL.'."\n" + .'* If you set **ResourceType** to **endpointgroup**, set the value of ResourceId to the ID of an endpoint group.'."\n" + ."\n" + .'You can specify up to 50 GA resource IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp149u6o36qt1as9b****', + ], + 'required' => false, + 'maxItems' => 51, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '标签列表,最多包含20个子项', + 'description' => 'An array of tags of GA resources.'."\n" + ."\n" + .'You can specify up to 20 tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of GA resources.'."\n" + ."\n" + .'You can specify up to 20 tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '标签键', + 'description' => 'The tag key of the GA resource. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'KeyTest', + ], + 'Value' => [ + 'title' => '标签值', + 'description' => 'The tag value of the GA resource. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag values.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'valueTest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'TotalCount' => [ + 'description' => 'The number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => 'The token that determines the start point of the next query. Valid values:'."\n" + ."\n" + .'* If **NextToken** is empty, it indicates that no subsequent query is to be sent.'."\n" + .'* If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.'."\n", + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'TagResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagResource' => [ + 'title' => '资源列表', + 'description' => 'The information about the resources to which tags are added.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the resources to which tags are added.'."\n", + 'type' => 'object', + 'properties' => [ + 'ResourceType' => [ + 'title' => '资源类型', + 'description' => 'The type of the resource.'."\n" + ."\n" + .'* **accelerator**: a standard GA instance'."\n" + .'* **basicaccelerator**: a basic GA instance'."\n" + .'* **bandwidthpackage**: a bandwidth plan'."\n" + .'* **acl**: an ACL'."\n" + .'* **endpointgroup**: an endpoint group'."\n", + 'type' => 'string', + 'example' => 'accelerator', + ], + 'TagValue' => [ + 'title' => '标签值', + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'KeyTest', + ], + 'ResourceId' => [ + 'title' => '资源ID', + 'description' => 'The ID of the resource.'."\n", + 'type' => 'string', + 'example' => 'ga-bp149u6o36qt1as9b****', + ], + 'TagKey' => [ + 'title' => '标签键', + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'valueTest', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"accelerator\\",\\n \\"TagValue\\": \\"KeyTest\\",\\n \\"ResourceId\\": \\"ga-bp149u6o36qt1as9b****\\",\\n \\"TagKey\\": \\"valueTest\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <TotalCount>1</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <TagResources>\\n <ResourceType>accelerator</ResourceType>\\n <TagValue>KeyTest</TagValue>\\n <ResourceId>ga-bp149u6o36qt1as9b****</ResourceId>\\n <TagKey>valueTest</TagKey>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]', + 'title' => 'ListTagResources', + 'description' => '* You must specify **ResourceId** or **Tag** in the request to specify the object that you want to query.********'."\n" + .'* **Tag** is a resource tag that consists of a key-value pair (Key and Value). If you specify only **Key**, all tag values that are associated with the specified tag key are returned. If you specify only **Value**, an error message is returned.'."\n" + .'* If you specify **Tag** and **ResourceId** to filter tags, **ResourceId** must match all specified key-value pairs.'."\n" + .'* If you specify multiple key-value pairs, resources that contain the key-value pairs are returned.'."\n", + ], + 'UntagResources' => [ + 'summary' => 'Removes tags from Global Accelerator (GA) resources.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '152998', + 'abilityTreeNodes' => [ + 'FEATUREgaZTNSJU', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'title' => '资源类型', + 'description' => 'The type of the resource whose tags you want to remove. Valid values:'."\n" + ."\n" + .'* **accelerator**: a standard GA instance'."\n" + .'* **basicaccelerator**: a basic GA instance'."\n" + .'* **bandwidthpackage**: a bandwidth plan'."\n" + .'* **acl**: an access control list (ACL).'."\n" + .'* **endpointgroup**: an endpoint group'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'accelerator', + ], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => [ + 'title' => '是否全部删除,只针对TagKey.N为空时有效。 取值范围: true false True False 默认是 false', + 'description' => 'Specifies whether to remove all tags of the specified resource. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '资源ID,最多50个子项', + 'description' => 'The IDs of the resources whose tags you want to remove.'."\n" + ."\n" + .'* If you set **ResourceType** to **accelerator**, set the value of ResourceId to the ID of a standard GA instance.'."\n" + .'* If you set **ResourceType** to **basicaccelerator**, set the value of ResourceId to the ID of a basic GA instance.'."\n" + .'* If you set **ResourceType** to **bandwidthpackage**, set the value of ResourceId to the ID of a bandwidth plan.'."\n" + .'* If you set **ResourceType** to **acl**, set the value of ResourceId to the ID of an ACL.'."\n" + .'* If you set **ResourceType** to **endpointgroup**, set the value of ResourceId to the ID of an endpoint group.'."\n" + ."\n" + .'You can specify up to 50 GA resource IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the resource whose tags you want to remove.'."\n" + ."\n" + .'* If you set **ResourceType** to **accelerator**, set the value of ResourceId to the ID of a standard GA instance.'."\n" + .'* If you set **ResourceType** to **basicaccelerator**, set the value of ResourceId to the ID of a basic GA instance.'."\n" + .'* If you set **ResourceType** to **bandwidthpackage**, set the value of ResourceId to the ID of a bandwidth plan.'."\n" + .'* If you set **ResourceType** to **acl**, set the value of ResourceId to the ID of an ACL.'."\n" + .'* If you set **ResourceType** to **endpointgroup**, set the value of ResourceId to the ID of an endpoint group.'."\n" + ."\n" + .'You can specify up to 50 GA resource IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp149u6o36qt1as9b****', + ], + 'required' => true, + 'maxItems' => 51, + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '标签键,最多20个子项', + 'description' => 'The key of the tag to be removed.'."\n" + ."\n" + .'The system removes all tags with this tag key.'."\n" + ."\n" + .'You can specify up to 20 tag keys.'."\n" + ."\n" + .'> If the **All** parameter is set to **true**, this parameter does not take effect.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key of the tag to be removed.'."\n" + ."\n" + .'The system removes all tags with this tag key.'."\n" + ."\n" + .'You can specify up to 20 tag keys.'."\n" + ."\n" + .'> If the **All** parameter is set to **true**, this parameter does not take effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'valueTest', + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]', + 'title' => 'UntagResources', + ], + 'DescribeCommodity' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '155893', + 'abilityTreeNodes' => [ + 'FEATUREgaLOR9WO', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CommodityCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The commodity code.'."\n" + ."\n" + .'Valid values on the China site (aliyun.com):'."\n" + ."\n" + .'* **ga_gapluspre_public_cn**: GA instance.'."\n" + .'* **ga_plusbwppre_public_cn**: basic bandwidth plan.'."\n" + ."\n" + .'Valid values on the international site (alibabacloud.com):'."\n" + ."\n" + .'* **ga_pluspre_public_intl**: GA instance.'."\n" + .'* **ga_bwppreintl_public_intl:** basic bandwidth plan.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga_gapluspre_public_cn', + ], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the order. Valid values:'."\n" + ."\n" + .'* **BUY**: purchase order.'."\n" + .'* **RENEW**: renewal order.'."\n" + .'* **UPGRADE**: upgrade order.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'BUY', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'CommodityCode' => [ + 'description' => 'The commodity code.'."\n" + ."\n" + .'Examples for the China site (aliyun.com):'."\n" + ."\n" + .'* **ga_gapluspre_public_cn**: GA instance.'."\n" + .'* **ga_plusbwppre_public_cn**: basic bandwidth plan.'."\n" + ."\n" + .'Examples for the international site (alibabacloud.com):'."\n" + ."\n" + .'* **ga_pluspre_public_intl**: GA instance.'."\n" + .'* **ga_bwppreintl_public_intl**: basic bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'ga_gapluspre_public_cn', + ], + 'CommodityName' => [ + 'description' => 'The name of the commodity.'."\n", + 'type' => 'string', + 'example' => 'Global Accelerator_Instance Type (Subscription)'."\n", + ], + 'Components' => [ + 'description' => 'The information about the commodity modules.'."\n" + ."\n" + .'The returned information varies based on the commodity.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the commodity module.'."\n" + ."\n" + .'The returned information varies based on the commodity.'."\n", + 'type' => 'object', + 'properties' => [ + 'ComponentCode' => [ + 'description' => 'The code of the commodity module.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'string', + 'example' => 'Duration'."\n", + ], + 'ComponentName' => [ + 'description' => 'The name of the commodity module.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'string', + 'example' => 'Duration'."\n", + ], + 'Properties' => [ + 'description' => 'The attributes of the commodity module.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The attribute of the commodity module.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => 'The code of the attribute.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'string', + 'example' => 'ord_time', + ], + 'Name' => [ + 'description' => 'The name of the attribute.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'string', + 'example' => 'Duration'."\n", + ], + 'PropertyValueList' => [ + 'description' => 'The list of attribute values of the commodity module.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of attribute values of the commodity module.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'object', + 'properties' => [ + 'Text' => [ + 'description' => 'The content of the attribute.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'string', + 'example' => '1 Month'."\n", + ], + 'Value' => [ + 'description' => 'The value of the attribute.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'string', + 'example' => '1:Month', + ], + 'Tips' => [ + 'description' => 'The message of the attribute.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'string', + 'example' => '1 Month'."\n", + ], + 'OrderIndex' => [ + 'description' => 'The sequence number of the attribute.'."\n" + ."\n" + .'The returned information varies based on the commodity module.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CommodityCode\\": \\"ga_gapluspre_public_cn\\",\\n \\"CommodityName\\": \\"全球加速_实例规格(包年包月)\\",\\n \\"Components\\": [\\n {\\n \\"ComponentCode\\": \\"购买时长\\",\\n \\"ComponentName\\": \\"购买时长\\",\\n \\"Properties\\": [\\n {\\n \\"Code\\": \\"ord_time\\",\\n \\"Name\\": \\"购买时长\\",\\n \\"PropertyValueList\\": [\\n {\\n \\"Text\\": \\"1个月\\",\\n \\"Value\\": \\"1:Month\\",\\n \\"Tips\\": \\"1个月\\",\\n \\"OrderIndex\\": 1\\n }\\n ]\\n }\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCommodityResponse>\\n <CommodityCode>ga_gapluspre_public_cn</CommodityCode>\\n <CommodityName>全球加速_实例规格(包年包月)</CommodityName>\\n <Components>\\n <ComponentCode>购买时长</ComponentCode>\\n <ComponentName>购买时长</ComponentName>\\n <Properties>\\n <Code>ord_time</Code>\\n <Name>购买时长</Name>\\n <PropertyValueList>\\n <Text>1个月</Text>\\n <Value>1:Month</Value>\\n <Tips>1个月</Tips>\\n <OrderIndex>1</OrderIndex>\\n </PropertyValueList>\\n </Properties>\\n </Components>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DescribeCommodityResponse>","errorExample":""}]', + 'title' => 'DescribeCommodity', + 'summary' => 'Queries information about commodities.', + ], + 'DescribeCommodityPrice' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Orders', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The commodity orders.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The commodity order.'."\n", + 'type' => 'object', + 'properties' => [ + 'CommodityCode' => [ + 'description' => 'The commodity code.'."\n" + ."\n" + .'Valid values on the China site (aliyun.com):'."\n" + ."\n" + .'* **ga_gapluspre_public_cn**: GA instance.'."\n" + .'* **ga_plusbwppre_public_cn**: basic bandwidth plan.'."\n" + ."\n" + .'Valid values on the international site (alibabacloud.com):'."\n" + ."\n" + .'* **ga_pluspre_public_intl**: GA instance.'."\n" + .'* **ga_bwppreintl_public_intl:** basic bandwidth plan.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga_gapluspre_public_cn', + ], + 'OrderType' => [ + 'description' => 'The type of the order. Valid values:'."\n" + ."\n" + .'* **BUY**: purchase order.'."\n" + .'* **RENEW**: renewal order.'."\n" + .'* **UPGRADE**: upgrade order.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BUY', + ], + 'ChargeType' => [ + 'description' => 'The billing method. Set the value to **PREPAY**, which specifies the subscription billing method.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + ], + 'PricingCycle' => [ + 'description' => 'The billing cycle. Valid values:'."\n" + ."\n" + .'* **Month**'."\n" + .'* **Year**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + 'Duration' => [ + 'description' => 'The subscription duration.'."\n" + ."\n" + .'* Valid values if you set **PricingCycle** to **Month**: **1** to **9**.'."\n" + .'* Valid values if you set **PricingCycle** to **Year**: **1** to **3**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'Quantity' => [ + 'description' => 'The number of instances that you want to purchase.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + 'Components' => [ + 'description' => 'The information about commodity modules.'."\n" + ."\n" + .'The information varies based on the commodity module.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the commodity module.'."\n" + ."\n" + .'The information varies based on the commodity module.'."\n", + 'type' => 'object', + 'properties' => [ + 'ComponentCode' => [ + 'description' => 'The code of the commodity module.'."\n" + ."\n" + .'The information varies based on the commodity module. Examples: **instance** (GA instance) and **ord_time** (subscription duration).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + ], + 'Properties' => [ + 'description' => 'The attributes of commodity modules.'."\n" + ."\n" + .'The information varies based on the commodity module.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The attributes of the commodity module.'."\n" + ."\n" + .'The information varies based on the commodity module.'."\n", + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => 'The code of the attribute of the commodity module.'."\n" + ."\n" + .'The information varies based on the commodity module. Examples: **instance** (GA instance) and **ord_time** (subscription duration).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'instance', + ], + 'Value' => [ + 'description' => 'The value of the attribute.'."\n" + ."\n" + .'The information varies based on the commodity module. Examples: **instance_fee** (GA instance fee) and **1:Month** (one-month subscription).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'instance_fee', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => true, + ], + ], + [ + 'name' => 'PromotionOptionNo', + 'in' => 'query', + 'schema' => [ + 'title' => '优惠券号码', + 'description' => 'The coupon code.'."\n" + ."\n" + .'> This parameter is unavailable on the China site (aliyun.com).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '50003298014****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'Currency' => [ + 'description' => 'The currency unit.'."\n" + ."\n" + .'* China site: **CNY**.'."\n" + .'* International site: **USD**.'."\n", + 'type' => 'string', + 'example' => 'CNY', + ], + 'OriginalPrice' => [ + 'description' => 'The original price.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '2099', + ], + 'DiscountPrice' => [ + 'description' => 'The discount.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '419.8', + ], + 'TradePrice' => [ + 'description' => 'The transaction price, which is equal to the original price minus the discount.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '1679.2', + ], + 'OrderDetails' => [ + 'description' => 'The details of the commodity module.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the commodity module.'."\n", + 'type' => 'object', + 'properties' => [ + 'CommodityCode' => [ + 'description' => 'The code of the commodity.'."\n", + 'type' => 'string', + 'example' => 'ga_gapluspre_public_cn', + ], + 'CommodityName' => [ + 'description' => 'The name of the commodity.'."\n", + 'type' => 'string', + 'example' => 'Global Accelerator_Instance Type (Subscription)'."\n", + ], + 'OriginalPrice' => [ + 'description' => 'The original price.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '2099', + ], + 'DiscountPrice' => [ + 'description' => 'The discount.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '419.8', + ], + 'TradePrice' => [ + 'description' => 'The transaction price, which is equal to the original price minus the discount.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '1679.2', + ], + 'Quantity' => [ + 'description' => 'The number of instances that are purchased.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'ModuleDetails' => [ + 'description' => 'The information about the commodity module.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the commodity module.'."\n", + 'type' => 'object', + 'properties' => [ + 'ModuleCode' => [ + 'description' => 'The code of the commodity module.'."\n", + 'type' => 'string', + 'example' => 'spec', + ], + 'ModuleName' => [ + 'description' => 'The name of the commodity module.'."\n", + 'type' => 'string', + 'example' => 'Specification'."\n", + ], + 'OriginalPrice' => [ + 'description' => 'The original price.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '200000.0', + ], + 'DiscountPrice' => [ + 'description' => 'The discount.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '40000.0', + ], + 'TradePrice' => [ + 'description' => 'The transaction price, which is equal to the original price minus the discount.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '160000.0', + ], + ], + ], + ], + 'RuleIds' => [ + 'description' => 'The IDs of discount rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the discount rule.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '102104100786****', + ], + ], + 'PromDetails' => [ + 'description' => 'The details of the discount.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the discount.'."\n" + ."\n" + .'> This parameter is unavailable on the China site (aliyun.com).'."\n", + 'type' => 'object', + 'properties' => [ + 'PromotionId' => [ + 'description' => 'The ID of the discount item.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'string', + 'example' => '50003298014****', + ], + 'PromotionName' => [ + 'description' => 'The name of the discount item.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'string', + 'example' => 'coupon', + ], + 'FinalPromFee' => [ + 'description' => 'The discounted price.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '0.01', + ], + 'PromType' => [ + 'description' => 'The sub-type of the discount.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'string', + 'example' => 'deduct', + ], + 'OptionCode' => [ + 'description' => 'The code of the discount option.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'string', + 'example' => 'youhui_quan', + ], + ], + ], + ], + ], + ], + ], + 'RuleDetails' => [ + 'description' => 'The details about the discount rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the discount rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'RuleId' => [ + 'description' => 'The ID of the discount rule.'."\n", + 'type' => 'string', + 'example' => '102104100786****', + ], + 'RuleName' => [ + 'description' => 'The name of the discount rule.'."\n", + 'type' => 'string', + 'example' => 'GA New Customers Small II Specification Monthly Subscription - 20% Discount'."\n", + ], + ], + ], + ], + 'Promotions' => [ + 'description' => 'The details of the coupon.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of coupons.'."\n" + ."\n" + .'> This parameter is unavailable on the China site (aliyun.com).'."\n", + 'type' => 'object', + 'properties' => [ + 'PromotionOptionNo' => [ + 'title' => '优惠号', + 'description' => 'The code of the coupon.'."\n" + .'> * `youhuiquan_promotion_option_id_for_blank` indicates coupons that cannot be applied to the commodity.'."\n" + .'> * This parameter does not take effect for accounts registered on the China site (aliyun.com).', + 'type' => 'string', + 'example' => '50003298014****', + ], + 'PromotionName' => [ + 'title' => '优惠名称', + 'description' => 'The name of the coupon.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'string', + 'example' => 'youhuiquan_promotion_option_id_for_blank', + ], + 'CanPromFee' => [ + 'title' => '可优惠价格', + 'description' => 'The discounted amount.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '0', + ], + 'Selected' => [ + 'title' => '是否外部选中', + 'description' => 'Indicates whether the coupon was selected.'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'OptionCode' => [ + 'title' => '优惠选项code', + 'description' => 'The code of the commodity to which the coupon can be applied.'."\n" + ."\n" + .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).'."\n", + 'type' => 'string', + 'example' => 'youhui_quan', + ], + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParameter.Spec', + 'errorMessage' => 'The specified Spec is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Currency\\": \\"CNY\\",\\n \\"OriginalPrice\\": 2099,\\n \\"DiscountPrice\\": 419.8,\\n \\"TradePrice\\": 1679.2,\\n \\"OrderDetails\\": [\\n {\\n \\"CommodityCode\\": \\"ga_gapluspre_public_cn\\",\\n \\"CommodityName\\": \\"全球加速_实例规格(包年包月)\\",\\n \\"OriginalPrice\\": 2099,\\n \\"DiscountPrice\\": 419.8,\\n \\"TradePrice\\": 1679.2,\\n \\"Quantity\\": 1,\\n \\"ModuleDetails\\": [\\n {\\n \\"ModuleCode\\": \\"spec\\",\\n \\"ModuleName\\": \\"规格\\",\\n \\"OriginalPrice\\": 200000,\\n \\"DiscountPrice\\": 40000,\\n \\"TradePrice\\": 160000\\n }\\n ],\\n \\"RuleIds\\": [\\n 0\\n ],\\n \\"PromDetails\\": [\\n {\\n \\"PromotionId\\": \\"50003298014****\\",\\n \\"PromotionName\\": \\"coupon\\",\\n \\"FinalPromFee\\": 0.01,\\n \\"PromType\\": \\"deduct\\",\\n \\"OptionCode\\": \\"youhui_quan\\"\\n }\\n ]\\n }\\n ],\\n \\"RuleDetails\\": [\\n {\\n \\"RuleId\\": \\"102104100786****\\",\\n \\"RuleName\\": \\"GA新客户小型II规格月付-8折优惠\\"\\n }\\n ],\\n \\"Promotions\\": [\\n {\\n \\"PromotionOptionNo\\": \\"50003298014****\\",\\n \\"PromotionName\\": \\"youhuiquan_promotion_option_id_for_blank\\",\\n \\"CanPromFee\\": 0,\\n \\"Selected\\": false,\\n \\"OptionCode\\": \\"youhui_quan\\"\\n }\\n ],\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCommodityPriceResponse>\\n <Currency>CNY</Currency>\\n <OriginalPrice>2099</OriginalPrice>\\n <DiscountPrice>419.8</DiscountPrice>\\n <TradePrice>1679.2</TradePrice>\\n <OrderDetails>\\n <CommodityCode>ga_gapluspre_public_cn</CommodityCode>\\n <CommodityName>全球加速_实例规格(包年包月)</CommodityName>\\n <OriginalPrice>2099</OriginalPrice>\\n <DiscountPrice>419.8</DiscountPrice>\\n <TradePrice>1679.2</TradePrice>\\n <Quantity>1</Quantity>\\n <ModuleDetails>\\n <ModuleCode>spec</ModuleCode>\\n <ModuleName>规格</ModuleName>\\n <OriginalPrice>200000</OriginalPrice>\\n <DiscountPrice>40000</DiscountPrice>\\n <TradePrice>160000</TradePrice>\\n </ModuleDetails>\\n <PromDetails>\\n <PromotionId>50003298014****</PromotionId>\\n <PromotionName>coupon</PromotionName>\\n <FinalPromFee>0.01</FinalPromFee>\\n <PromType>deduct</PromType>\\n <OptionCode>youhui_quan</OptionCode>\\n </PromDetails>\\n </OrderDetails>\\n <RuleDetails>\\n <RuleId>102104100786****</RuleId>\\n <RuleName>GA新客户小型II规格月付-8折优惠</RuleName>\\n </RuleDetails>\\n <Promotions>\\n <PromotionOptionNo>50003298014****</PromotionOptionNo>\\n <PromotionName>youhuiquan_promotion_option_id_for_blank</PromotionName>\\n <CanPromFee>0</CanPromFee>\\n <Selected>false</Selected>\\n <OptionCode>youhui_quan</OptionCode>\\n </Promotions>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DescribeCommodityPriceResponse>","errorExample":""}]', + 'title' => 'DescribeCommodityPrice', + 'summary' => 'Queries the prices of commodities.', + 'description' => 'You can call the [DescribeCommodity](~~2253233~~) operation to query information about the commodity modules.'."\n", + ], + 'BandwidthPackageAddAccelerator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7839', + 'abilityTreeNodes' => [ + 'FEATUREgaAKFA2Q', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bandwidth plan ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1qe94o52ot4pkfn****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'B7770CB9-9745-4FE5-9EDA-D14B01A12A50', + ], + 'Accelerators' => [ + 'description' => 'The GA instance IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1qe94o52ot4pkfn****', + ], + ], + 'BandwidthPackageId' => [ + 'description' => 'The bandwidth plan ID.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.BandwidthPackage', + 'errorMessage' => 'The bandwidth package does not exist.', + ], + [ + 'errorCode' => 'StateError.BandwidthPackage', + 'errorMessage' => 'The state of bandwidth package is invalid.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B7770CB9-9745-4FE5-9EDA-D14B01A12A50\\",\\n \\"Accelerators\\": [\\n \\"ga-bp1qe94o52ot4pkfn****\\"\\n ],\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\"\\n}","errorExample":""},{"type":"xml","example":"<BandwidthPackageAddAcceleratorResponse>\\n <RequestId>B7770CB9-9745-4FE5-9EDA-D14B01A12A50</RequestId>\\n <Accelerators>ga-bp1qe94o52ot4pkfn****</Accelerators>\\n <BandwidthPackageId>gbwp-bp1sgzldyj6b4q7cx****</BandwidthPackageId>\\n</BandwidthPackageAddAcceleratorResponse>","errorExample":""}]', + 'title' => 'BandwidthPackageAddAccelerator', + 'summary' => 'Associates a bandwidth plan with a Global Accelerator (GA) instance.', + 'description' => '* **BandwidthPackageAddAccelerator** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeBandwidthPackage](~~153241~~) operation to query the status of the bandwidth plan that you want to associate.'."\n" + ."\n" + .' * If the bandwidth plan is in the **binding** state, it indicates that the bandwidth plan is being associated. In this case, you can perform only query operations.'."\n" + .' * If the bandwidth plan is in the **active** state, it indicates that the bandwidth plan is associated.'."\n" + ."\n" + .'* The **BandwidthPackageAddAccelerator** operation holds an exclusive lock on the GA instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'BandwidthPackageRemoveAccelerator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7840', + 'abilityTreeNodes' => [ + 'FEATUREgaU0NK4N', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1qe94o52ot4pkfn****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'B7770CB9-9745-4FE5-9EDA-D14B01A12A50', + ], + 'Accelerators' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1qe94o52ot4pkfn****', + ], + ], + 'BandwidthPackageId' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.BandwidthPackage', + 'errorMessage' => 'The bandwidth package does not exist.', + ], + [ + 'errorCode' => 'StateError.BandwidthPackage', + 'errorMessage' => 'The state of bandwidth package is invalid.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'BandwidthPackageCannotUnbind.EndpointGroup', + 'errorMessage' => 'Cross-border bandwidth package cannot be unbound, because endpointGroup contains unsupported regions after unbinding.', + ], + [ + 'errorCode' => 'Exist.EndpointGroup', + 'errorMessage' => 'The endpoint group already exists.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B7770CB9-9745-4FE5-9EDA-D14B01A12A50\\",\\n \\"Accelerators\\": [\\n \\"ga-bp1qe94o52ot4pkfn****\\"\\n ],\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\"\\n}","errorExample":""},{"type":"xml","example":"<BandwidthPackageRemoveAcceleratorResponse>\\n <RequestId>B7770CB9-9745-4FE5-9EDA-D14B01A12A50</RequestId>\\n <Accelerators>ga-bp1qe94o52ot4pkfn****</Accelerators>\\n <BandwidthPackageId>gbwp-bp1sgzldyj6b4q7cx****</BandwidthPackageId>\\n</BandwidthPackageRemoveAcceleratorResponse>","errorExample":""}]', + 'title' => 'BandwidthPackageRemoveAccelerator', + 'summary' => 'Disassociates a bandwidth plan from a Global Accelerator (GA) instance.', + 'description' => '* **BandwidthPackageRemoveAccelerator** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [DescribeBandwidthPackage](~~153241~~) operation to query the status of the bandwidth plan that you attempt to disassociate.'."\n" + ."\n" + .' * If the bandwidth plan is in the **unbinding** state, it indicates that the bandwidth plan is being disassociated. In this case, you can perform only query operations.'."\n" + .' * If the bandwidth plan is in the **active** state, it indicates that the bandwidth plan is disassociated.'."\n" + ."\n" + .'* The **BandwidthPackageRemoveAccelerator** cannot be called repeatedly for the same GA instance.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeBandwidthPackage' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the bandwidth plan that you want to query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'CbnGeographicRegionIdB' => [ + 'description' => 'Area B specified in the cross-region acceleration bandwidth plan. Only **Global** (global) is returned.'."\n" + ."\n" + .'This parameter is returned only if you call this operation on the International site (alibabacloud.com).'."\n", + 'type' => 'string', + 'example' => 'Global', + ], + 'CbnGeographicRegionIdA' => [ + 'description' => 'Area A specified in the cross-region acceleration bandwidth plan. Only **China-mainland** (the Chinese mainland) is returned.'."\n" + ."\n" + .'This parameter is returned only if you call this operation on the International site (alibabacloud.com).'."\n", + 'type' => 'string', + 'example' => 'China-mainland', + ], + 'Description' => [ + 'description' => 'The description of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'testDescription', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', + ], + 'CreateTime' => [ + 'description' => 'The timestamp that indicates when the bandwidth plan was created.'."\n", + 'type' => 'string', + 'example' => '1578966918000', + ], + 'Name' => [ + 'description' => 'The name of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'testName', + ], + 'BandwidthType' => [ + 'description' => 'The type of the bandwidth. Valid values:'."\n" + ."\n" + .'* **Basic**: basic bandwidth'."\n" + .'* **Enhanced**: enhanced bandwidth'."\n" + .'* **Advanced**: premium bandwidth'."\n", + 'type' => 'string', + 'example' => 'Basic', + ], + 'Type' => [ + 'description' => 'The type of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **Basic**: a basic bandwidth plan'."\n" + .'* **CrossDomain**: a cross-region acceleration bandwidth plan'."\n" + ."\n" + .'If you call this operation on the Alibaba Cloud China Site (aliyun.com), only **Basic** is returned.'."\n", + 'type' => 'string', + 'example' => 'Basic', + ], + 'Accelerators' => [ + 'description' => 'The ID of the GA instance that is associated with the bandwidth plan.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the GA instance that is associated with the bandwidth plan.', + 'type' => 'string', + 'example' => 'ga-bp1qe94o52ot4pkfn****', + ], + ], + 'State' => [ + 'description' => 'The state of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **init**: The bandwidth plan is being initialized.'."\n" + .'* **active**: The bandwidth plan is available.'."\n" + .'* **binded**: The bandwidth plan is associated with a GA instance.'."\n" + .'* **binding**: The bandwidth plan is being associated.'."\n" + .'* **unbinding**: The bandwidth plan is being disassociated.'."\n" + .'* **updating**: The bandwidth plan is being updated.'."\n" + .'* **finacialLocked**: The bandwidth plan is locked due to overdue payments.'."\n" + .'* **Locked**: The bandwidth plan is locked.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'ChargeType' => [ + 'description' => 'The billing method of the bandwidth plan.'."\n" + ."\n" + .'* **PREPAY**: subscription. This is the default value.'."\n" + .'* **POSTPAY**: pay-as-you-go.'."\n", + 'type' => 'string', + 'example' => 'PREPAY', + ], + 'Bandwidth' => [ + 'description' => 'The bandwidth value of the bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'ExpiredTime' => [ + 'description' => 'The timestamp that indicates when the bandwidth plan expires.'."\n", + 'type' => 'string', + 'example' => '1578966918000', + ], + 'BandwidthPackageId' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + 'RegionId' => [ + 'description' => 'The ID of the region where GA instance is deployed. **cn-hangzhou** is returned.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'BillingType' => [ + 'description' => 'The metering method that is used when you use the pay-as-you-go billing method. Valid values:'."\n" + ."\n" + .'* **PayByTraffic**: pay-by-data-transfer'."\n" + .'* **PayBY95**: pay-by-95th-percentile'."\n", + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'Ratio' => [ + 'description' => 'The percentage of the minimum bandwidth guaranteed if the pay-by-95th-percentile-bandwidth metering method is used. Valid values: **30** to **100**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-acfnvueepcihjiq', + ], + 'Tags' => [ + 'description' => 'Tag objects.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of tag N that is added to the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The value of tag N that is added to the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'tag-value', + ], + ], + 'description' => '', + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CbnGeographicRegionIdB\\": \\"Global\\",\\n \\"CbnGeographicRegionIdA\\": \\"China-mainland\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"RequestId\\": \\"4B6DBBB0-2D01-4C6A-A384-4129266E6B78\\",\\n \\"CreateTime\\": \\"1578966918000\\",\\n \\"Name\\": \\"testName\\",\\n \\"BandwidthType\\": \\"Basic\\",\\n \\"Type\\": \\"Basic\\",\\n \\"Accelerators\\": [\\n \\"ga-bp1qe94o52ot4pkfn****\\"\\n ],\\n \\"State\\": \\"active\\",\\n \\"ChargeType\\": \\"PREPAY\\",\\n \\"Bandwidth\\": 2,\\n \\"ExpiredTime\\": \\"1578966918000\\",\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"BillingType\\": \\"PayByTraffic\\",\\n \\"Ratio\\": 30,\\n \\"ResourceGroupId\\": \\"rg-acfnvueepcihjiq\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tag-key\\",\\n \\"Value\\": \\"tag-value\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeBandwidthPackageResponse>\\n <CbnGeographicRegionIdB>Global</CbnGeographicRegionIdB>\\n <CbnGeographicRegionIdA>China-mainland</CbnGeographicRegionIdA>\\n <Description>testDescription</Description>\\n <RequestId>4B6DBBB0-2D01-4C6A-A384-4129266E6B78</RequestId>\\n <CreateTime>1578966918000</CreateTime>\\n <Name>testName</Name>\\n <BandwidthType>Basic</BandwidthType>\\n <Type>Basic</Type>\\n <Accelerators>ga-bp1qe94o52ot4pkfn****</Accelerators>\\n <State>active</State>\\n <ChargeType>PREPAY</ChargeType>\\n <Bandwidth>2</Bandwidth>\\n <ExpiredTime>1578966918000</ExpiredTime>\\n <BandwidthPackageId>gbwp-bp1sgzldyj6b4q7cx****</BandwidthPackageId>\\n <RegionId>cn-hangzhou</RegionId>\\n <BillingType>PayByTraffic</BillingType>\\n <Ratio>30</Ratio>\\n</DescribeBandwidthPackageResponse>","errorExample":""}]', + 'title' => 'DescribeBandwidthPackage', + 'summary' => 'Queries information about a bandwidth plan.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListBandwidthPackages' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **100**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'State', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **init**: The bandwidth plan is being initialized.'."\n" + .'* **active**: The bandwidth plan is available.'."\n" + .'* **binded**: The bandwidth plan is associated.'."\n" + .'* **binding**: The bandwidth plan is being associated.'."\n" + .'* **unbinding**: The bandwidth plan is being disassociated.'."\n" + .'* **updating**: The bandwidth plan is being updated.'."\n" + .'* **finacialLocked**: The bandwidth plan is locked due to overdue payments.'."\n" + .'* **locked**: The bandwidth plan is locked.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'active', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **Basic**: a basic bandwidth plan'."\n" + .'* **CrossDomain**: a cross-border acceleration bandwidth plan'."\n" + ."\n" + .'If you call this operation on the China site (aliyun.com), you can set Type only to **Basic**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Basic', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek2ry6mp2c****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '标签列表,最多包含20个子项', + 'description' => 'The tag of the bandwidth plan.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the bandwidth plan.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '标签键', + 'description' => 'The tag key of the bandwidth plan. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-key', + ], + 'Value' => [ + 'title' => '标签值', + 'description' => 'The tag value of the bandwidth plan. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag values.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'BandwidthPackages' => [ + 'description' => 'The details of the bandwidth plans.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the bandwidth plans.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **Basic:** a basic bandwidth plan.'."\n" + .'* **CrossDomain:** a cross-region acceleration bandwidth plan.'."\n" + ."\n" + .'If you call the operation on the China site (aliyun.com), **Basic** is returned.'."\n", + 'type' => 'string', + 'example' => 'Basic', + ], + 'BandwidthType' => [ + 'description' => 'The type of the bandwidth. Valid values:'."\n" + ."\n" + .'* **Basic**'."\n" + .'* **Enhanced**'."\n" + .'* **Advanced**'."\n", + 'type' => 'string', + 'example' => 'Basic', + ], + 'State' => [ + 'description' => 'The status of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **init:** The bandwidth plan is being initialized.'."\n" + .'* **active:** The bandwidth plan is available.'."\n" + .'* **binded:** The bandwidth plan is associated with a GA instance.'."\n" + .'* **binding:** The bandwidth plan is being associated with a GA instance.'."\n" + .'* **unbinding:** The bandwidth plan is being disassociated from a GA instance.'."\n" + .'* **updating:** The bandwidth plan is being updated.'."\n" + .'* **finacialLocked:** The bandwidth plan is locked due to overdue payments.'."\n" + .'* **locked**: The bandwidth plan is locked.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'CreateTime' => [ + 'description' => 'The time when the bandwidth plan was created.'."\n", + 'type' => 'string', + 'example' => '1578966918000', + ], + 'ChargeType' => [ + 'description' => 'The billing method of the bandwidth plan.'."\n" + ."\n" + .'* **PREPAY**: subscription. This is the default value.'."\n" + .'* **POSTPAY**: pay-as-you-go.'."\n", + 'type' => 'string', + 'example' => 'PREPAY', + ], + 'RegionId' => [ + 'description' => 'The ID of the region where the GA instance is deployed. **cn-hangzhou** is returned.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'CbnGeographicRegionIdA' => [ + 'description' => 'Area A of the cross-region acceleration bandwidth plan. **China-mainland** is returned.'."\n" + ."\n" + .'This parameter is returned only if you call the operation on the international site (alibabacloud.com).'."\n", + 'type' => 'string', + 'example' => 'China-mainland', + ], + 'BandwidthPackageId' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + 'Bandwidth' => [ + 'description' => 'The bandwidth value of the bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Description' => [ + 'description' => 'The description of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'testDescription', + ], + 'ExpiredTime' => [ + 'description' => 'The expiration time of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => '1578966918000', + ], + 'Accelerators' => [ + 'description' => 'The IDs of the GA instances that are associated with the bandwidth plans.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the GA instance that is associated with the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1qe94o52ot4pkfn****', + ], + ], + 'CbnGeographicRegionIdB' => [ + 'description' => 'Area B of the cross-region acceleration bandwidth plan. **Global** is returned.'."\n" + ."\n" + .'This parameter is returned only if you call the operation on the international site (alibabacloud.com).'."\n", + 'type' => 'string', + 'example' => 'Global', + ], + 'Name' => [ + 'description' => 'The name of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'testName', + ], + 'BillingType' => [ + 'description' => 'The metering method that is used when you use the pay-as-you-go billing method.'."\n" + ."\n" + .'* **PayByTraffic**: pay-by-data-transfer.'."\n" + .'* **PayBY95**: pay-by-95th-percentile.'."\n", + 'type' => 'string', + 'example' => 'PayByTraffic', + ], + 'Ratio' => [ + 'description' => 'The percentage of the guaranteed minimum bandwidth if the pay-by-95th-percentile metering method is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-aek2ry6mp2c****', + ], + 'Tags' => [ + 'description' => 'The tag of the bandwidth plan.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the bandwidth plan.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The tag value of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'tag-value', + ], + ], + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"4B6DBBB0-2D01-4C6A-A384-4129266E6B78\\",\\n \\"PageNumber\\": 1,\\n \\"BandwidthPackages\\": [\\n {\\n \\"Type\\": \\"Basic\\",\\n \\"BandwidthType\\": \\"Basic\\",\\n \\"State\\": \\"active\\",\\n \\"CreateTime\\": \\"1578966918000\\",\\n \\"ChargeType\\": \\"PREPAY\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"CbnGeographicRegionIdA\\": \\"China-mainland\\",\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\",\\n \\"Bandwidth\\": 2,\\n \\"Description\\": \\"testDescription\\",\\n \\"ExpiredTime\\": \\"1578966918000\\",\\n \\"Accelerators\\": [\\n \\"ga-bp1qe94o52ot4pkfn****\\"\\n ],\\n \\"CbnGeographicRegionIdB\\": \\"Global\\",\\n \\"Name\\": \\"testName\\",\\n \\"BillingType\\": \\"PayByTraffic\\",\\n \\"Ratio\\": 30,\\n \\"ResourceGroupId\\": \\"rg-aek2ry6mp2c****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tag-key\\",\\n \\"Value\\": \\"tag-value\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListBandwidthPackagesResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>4B6DBBB0-2D01-4C6A-A384-4129266E6B78</RequestId>\\n <PageNumber>1</PageNumber>\\n <BandwidthPackages>\\n <Type>Basic</Type>\\n <BandwidthType>Basic</BandwidthType>\\n <State>active</State>\\n <CreateTime>1578966918000</CreateTime>\\n <ChargeType>PREPAY</ChargeType>\\n <RegionId>cn-hangzhou</RegionId>\\n <CbnGeographicRegionIdA>China-mainland</CbnGeographicRegionIdA>\\n <BandwidthPackageId>gbwp-bp1sgzldyj6b4q7cx****</BandwidthPackageId>\\n <Bandwidth>2</Bandwidth>\\n <Description>testDescription</Description>\\n <ExpiredTime>1578966918000</ExpiredTime>\\n <Accelerators>ga-bp1qe94o52ot4pkfn****</Accelerators>\\n <CbnGeographicRegionIdB>Global</CbnGeographicRegionIdB>\\n <Name>testName</Name>\\n <BillingType>PayByTraffic</BillingType>\\n <Ratio>30</Ratio>\\n <ResourceGroupId>rg-aekztkx4zwc3m4a</ResourceGroupId>\\n <Tags>\\n <Key>tag-key</Key>\\n <Value>tag-value</Value>\\n </Tags>\\n </BandwidthPackages>\\n</ListBandwidthPackagesResponse>","errorExample":""}]', + 'title' => 'ListBandwidthPackages', + 'summary' => 'Queries bandwidth plans.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateBandwidthPackage' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the bandwidth plan that you want to modify.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the bandwidth plan. The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testName', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the bandwidth plan.'."\n" + ."\n" + .'The description can be up to 256 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testDescription', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bandwidth value of the bandwidth plan. Unit: Mbit/s.'."\n" + ."\n" + .'Valid values: **2** to **2000**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'BandwidthType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of bandwidth. Valid values:'."\n" + ."\n" + .'* **Basic**'."\n" + .'* **Enhanced**'."\n" + .'* **Advanced**'."\n" + ."\n" + .'> You can upgrade **Basic** bandwidth to **Enhanced** bandwidth or downgrade Enhanced bandwidth to Basic bandwidth. You cannot change **Advanced** bandwidth to another type of bandwidth.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Basic', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" + ."\n" + .'* **false**: disables automatic payment. This is the default value. If you select this option, you must go to [Order Center](https://usercenter2-intl.aliyun.com/order/list) to complete the payment after an order is generated.'."\n" + .'* **true**: enables automatic payment. Payments are automatically completed.'."\n" + ."\n" + .'> This parameter takes effect only if you call the UpdateBandwidthPackage operation to upgrade a bandwidth plan.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoUseCoupon', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to use coupons. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'BandwidthPackage' => [ + 'description' => 'The bandwidth plan ID.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1eo4f57z1kbbcmn****', + ], + 'Description' => [ + 'description' => 'The description of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'testDescription', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '1DF3A3CB-B621-44F8-9870-C20D034D7AB', + ], + 'Name' => [ + 'description' => 'The name of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'testName', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'COMMODITY.INVALID_COMPONENT', + 'errorMessage' => 'The Basic type only can be upgraded to the Enhanced, and the Enhanced type only can be downgraded to the Basic . The type of the Advance bandwidth can not be changed.', + ], + [ + 'errorCode' => 'StateError.BandwidthPackage', + 'errorMessage' => 'The state of bandwidth package is invalid.', + ], + [ + 'errorCode' => 'NotExist.BandwidthPackage', + 'errorMessage' => 'The bandwidth package does not exist.', + ], + [ + 'errorCode' => 'UpgradeError.BandwidthPackage', + 'errorMessage' => 'The bandwidth package configurations should be either all upgrades or all downgrades.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"BandwidthPackage\\": \\"gbwp-bp1eo4f57z1kbbcmn****\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"RequestId\\": \\"1DF3A3CB-B621-44F8-9870-C20D034D7AB\\",\\n \\"Name\\": \\"testName\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateBandwidthPackageResponse>\\n <BandwidthPackage>gbwp-bp1eo4f57z1kbbcmn****</BandwidthPackage>\\n <Description>testDescription</Description>\\n <RequestId>1DF3A3CB-B621-44F8-9870-C20D034D7AB</RequestId>\\n <Name>testName</Name>\\n</UpdateBandwidthPackageResponse>","errorExample":""}]', + 'title' => 'UpdateBandwidthPackage', + 'summary' => 'Modifies the configurations of a bandwidth plan.', + 'description' => 'Take note of the following items:'."\n" + ."\n" + .'* **UpdateBandwidthPackage** is a synchronous operation when you call the operation to modify the configuration excluding the bandwidth value of a bandwidth plan. The new configuration immediately takes effect after the operation is performed.'."\n" + ."\n" + .'* **UpdateBandwidthPackage** is an asynchronous operation when you call the operation to modify the configuration including the bandwidth value of a bandwidth plan that is not associated with a Global Accelerator (GA) instance. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeBandwidthPackage](~~153241~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the parameter values of the bandwidth plan remain unchanged, the bandwidth plan is being modified. In this case, you can perform only query operations.'."\n" + .' * If the parameter values of the bandwidth plan are changed, the bandwidth plan is modified.'."\n" + ."\n" + .'* **UpdateBandwidthPackage** is an asynchronous operation when you call the operation to modify the configuration including the bandwidth value of a bandwidth plan that is associated with a GA instance. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeAccelerator](~~153235~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the GA instance is in the **configuring** state, the bandwidth plan is being modified. In this case, you can perform only query operations.'."\n" + .' * If the GA instance is in the **active** state, the bandwidth plan is modified.'."\n" + ."\n" + .'* You cannot repeatedly call the **UpdateBandwidthPackage** operation for the same bandwidth plan within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ReplaceBandwidthPackage' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the required bandwidth plan. When you specify a replacement bandwidth plan, take note of the following items:'."\n" + ."\n" + .'* Only a bandwidth plan that is not associated with a GA instance can be specified.'."\n" + .'* If you want to replace a basic bandwidth plan, make sure that the bandwidth provided by the replacement bandwidth plan is not less than the total bandwidth allocated to the acceleration area.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gbwp-bp176neb61yhcymow****', + ], + ], + [ + 'name' => 'TargetBandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the bandwidth plan that you want to replace.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gbwp-o978hgeb61yhcymow****', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'A0EA8CCA-F081-4338-9790-A1C791CCA779', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.BandwidthPackage', + 'errorMessage' => 'The bandwidth package does not exist.', + ], + [ + 'errorCode' => 'StateError.BandwidthPackage', + 'errorMessage' => 'The state of bandwidth package is invalid.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A0EA8CCA-F081-4338-9790-A1C791CCA779\\"\\n}","errorExample":""},{"type":"xml","example":"<ReplaceBandwidthPackageResponse>\\n <RequestId>A0EA8CCA-F081-4338-9790-A1C791CCA779</RequestId>\\n</ReplaceBandwidthPackageResponse>","errorExample":""}]', + 'title' => 'ReplaceBandwidthPackage', + 'summary' => 'Replaces the bandwidth plans of Global Accelerator (GA) instances.', + 'description' => 'When you call this operation, take note of the following items:'."\n" + ."\n" + .'* The GA instance continues to forward network traffic.'."\n" + ."\n" + .'* **ReplaceBandwidthPackage** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeAccelerator](~~153235~~) or [ListAccelerators](~~153236~~) operation to query the status of the GA instance.'."\n" + ."\n" + .' * If the GA instance is in the **configuring** state, it indicates that the associated bandwidth plan is being replaced. In this case, you can perform only query operations.'."\n" + .' * If the GA instance is in the **active** state, it indicates that the associated bandwidth plan is replaced.'."\n" + ."\n" + .'* The **ReplaceBandwidthPackage** operation holds an exclusive lock on the GA instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteBandwidthPackage' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bandwidth plan ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'BandwidthPackageId' => [ + 'description' => 'The bandwidth plan ID.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.BandwidthPackage', + 'errorMessage' => 'The bandwidth package does not exist.', + ], + [ + 'errorCode' => 'StateError.BandwidthPackage', + 'errorMessage' => 'The state of bandwidth package is invalid.', + ], + [ + 'errorCode' => 'BindExist.BandwidthPackage', + 'errorMessage' => 'The bandwidth package is already bound.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBandwidthPackageResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <BandwidthPackageId>gbwp-bp1sgzldyj6b4q7cx****</BandwidthPackageId>\\n</DeleteBandwidthPackageResponse>","errorExample":""}]', + 'title' => 'DeleteBandwidthPackage', + 'summary' => 'Deletes a bandwidth plan.', + 'description' => '* By default, subscription bandwidth plans cannot be deleted. If you want to unsubscribe from subscription bandwidth plans, go to the [Unsubscribe](https://usercenter2-intl.aliyun.com/refund/refund) page. Before you can unsubscribe from a subscription bandwidth plan that is associated with a Global Accelerator (GA) instance, you must disassociate the bandwidth plan from the GA instance. For information about how to disassociate a bandwidth plan from a GA instance, see [BandwidthPackageRemoveAccelerator](~~153240~~).'."\n" + ."\n" + .'* Bandwidth plans that are associated with GA instances cannot be deleted. Before you can delete a bandwidth plan that is associated with a GA instance, you must disassociate the bandwidth plan from the GA instance. For information about how to disassociate a bandwidth plan from a GA instance, see [BandwidthPackageRemoveAccelerator](~~153240~~).'."\n" + ."\n" + .'* **DeleteBandwidthPackage** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeBandwidthPackage](~~153241~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the bandwidth plan is in the **deleting** state, the bandwidth plan is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the bandwidth plan cannot be found, the bandwidth plan is deleted.'."\n" + ."\n" + .'* The **DeleteBandwidthPackage** operation cannot be repeatedly called for the same bandwidth plan within a specific period of time.'."\n", + ], + 'CreateBandwidthPackage' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '7845', + 'abilityTreeNodes' => [ + 'FEATUREga2CVKMC', + 'FEATUREga9TPDL7', + 'FEATUREgaD5ZFDF', + 'FEATUREgaU09R2U', + 'FEATUREgaJIDE8Z', + 'FEATUREgaE0WE9L', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. **cn-hangzhou** is returned.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bandwidth of the bandwidth plan. Unit: Mbit/s.'."\n" + ."\n" + .'Valid values: **2** to **2000**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '2', + ], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The subscription duration.'."\n" + ."\n" + .'* If the **PricingCycle** parameter is set to **Month**, the valid values for the **Duration** parameter are **1** to **9**.'."\n" + .'* If the **PricingCycle** parameter is set to **Year**, the valid values for the **Duration** parameter are **1** to **3**.'."\n" + ."\n" + .'If **ChargeType** is set to **PREPAY**, this parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'description' => 'The billing cycle. Valid values:'."\n" + ."\n" + .'* **Month**: billed on a monthly basis.'."\n" + .'* **Year**: billed on an annual basis.'."\n" + ."\n" + .'If **ChargeType** is set to **PREPAY**, this parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" + ."\n" + .'* **false** (default): disables automatic payment. If you select this option, you must go to the Order Center to complete the payment after an order is generated.'."\n" + .'* **true**: enables automatic payment. Payments are automatically completed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567****', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **Basic**: a basic bandwidth plan'."\n" + .'* **CrossDomain**: a cross-region acceleration bandwidth plan'."\n" + ."\n" + .'If you call this operation on the Alibaba Cloud China site, only **Basic** is supported.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Basic', + ], + ], + [ + 'name' => 'BandwidthType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the bandwidth. Valid values:'."\n" + ."\n" + .'* **Basic**: standard bandwidth'."\n" + .'* **Enhanced**: enhanced bandwidth'."\n" + .'* **Advanced**: premium bandwidth'."\n" + ."\n" + .'If **Type** is set to **Basic**, this parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Basic', + ], + ], + [ + 'name' => 'AutoUseCoupon', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to automatically pay bills by using coupons. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is required only if **AutoPay** is set to **true**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Ratio', + 'in' => 'query', + 'schema' => [ + 'description' => 'The percentage of the minimum bandwidth guaranteed if the pay-by-95th-percentile-bandwidth metering method is used. Valid values: **30** to **100**.'."\n" + ."\n" + .'> This parameter is required only if **BillingType** is set to **PayBY95**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'BillingType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metering method that is used when you use the pay-as-you-go billing method. Valid values:'."\n" + ."\n" + .'* **PayByTraffic** (default)'."\n" + .'* **PayBY95** By default, the pay-by-95th-percentile metering method is unavailable. If you want to use the metering method, contact your account manager.'."\n" + ."\n" + .'> This parameter takes effect only if you set **ChargeType** to **POSTPAY**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PayByTraffic', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The billing method of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **PREPAY** (default): subscription.'."\n" + .'* **POSTPAY**: pay-as-you-go. By default, the pay-as-you-go billing method is unavailable. If you want to use the billing method, contact your account manager.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + 'default' => 'PREPAY', + ], + ], + [ + 'name' => 'CbnGeographicRegionIdA', + 'in' => 'query', + 'schema' => [ + 'description' => 'Area A to be connected. Set the value to **China-mainland**.'."\n" + ."\n" + .'You can set this parameter only if you call this operation on the international site (alibabacloud.com).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'China-mainland', + ], + ], + [ + 'name' => 'CbnGeographicRegionIdB', + 'in' => 'query', + 'schema' => [ + 'description' => 'Area B to be connected. Set the value to **Global**.'."\n" + ."\n" + .'You can set this parameter only if you call this operation on the international site (alibabacloud.com).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Global', + ], + ], + [ + 'name' => 'PromotionOptionNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The coupon code.'."\n" + ."\n" + .'> This parameter is only available on the international site (alibabacloud.com).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '50003298014****', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable auto-renewal for the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **true**: enables auto-renewal.'."\n" + .'* **false** (default): does not enable auto-renewal.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoRenewDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The auto-renewal duration. Unit: months.'."\n" + ."\n" + .'Valid values: **1** to **12**. Default value: **1**.'."\n" + ."\n" + .'> This parameter is required only if **AutoRenew** is set to **true**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '12', + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aekzrnd67gq****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags to add to the bandwidth plan.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags to add to the bandwidth plan.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n" + ."\n" + .'The tag keys cannot be an empty string. The tag key can be up to 64 characters in length, and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n" + ."\n" + .'You can specify at most 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n" + ."\n" + .'Each tag key corresponds to a tag value. Valid values of **N**: **1** to **20**.'."\n" + ."\n" + .'The value cannot exceed 128 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', + ], + 'BandwidthPackageId' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + 'OrderId' => [ + 'description' => 'The order ID.'."\n" + ."\n" + .'If bills are not automatically paid, you must go to the Order Center to complete the payments.'."\n" + ."\n" + .'This parameter is returned only if ChargeType is set to PREPAY. If AutoPay is set to false, you must go to the [Order Center](https://usercenter2-intl.aliyun.com/order/list) to complete the payment.'."\n", + 'type' => 'string', + 'example' => '208257****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'COMMODITY.INVALID_COMPONENT', + 'errorMessage' => 'The bandwidth parameter is incorrect or out of range', + ], + [ + 'errorCode' => 'MissingParameter.BandwidthType', + 'errorMessage' => 'You must specify BandwidthType.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4B6DBBB0-2D01-4C6A-A384-4129266E6B78\\",\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\",\\n \\"OrderId\\": \\"208257****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBandwidthPackageResponse>\\n <RequestId>4B6DBBB0-2D01-4C6A-A384-4129266E6B78</RequestId>\\n <BandwidthPackageId>gbwp-bp1sgzldyj6b4q7cx****</BandwidthPackageId>\\n <OrderId>208257****</OrderId>\\n</CreateBandwidthPackageResponse>","errorExample":""}]', + 'title' => 'CreateBandwidthPackage', + 'summary' => 'Creates a bandwidth plan.', + 'description' => 'To use Global Accelerator (GA) for acceleration, you must purchase a basic bandwidth plan. A basic bandwidth plan supports the following bandwidth types:'."\n" + ."\n" + .'* **Basic**: Both the default acceleration region and the default service region are in the Chinese mainland. The accelerated service is deployed on Alibaba Cloud.'."\n" + .'* **Enhanced**: Both the default acceleration region and the default service region are in the Chinese mainland. The accelerated service can be deployed on and off Alibaba Cloud.'."\n" + .'* **Premium**: Both the default acceleration region and the default service region are outside the Chinese mainland. The accelerated service can be deployed on and off Alibaba Cloud. If you want to accelerate data transfer for clients in the Chinese mainland, you must select China (Hong Kong) as the acceleration region.'."\n" + ."\n" + .'When you call this operation, take note of the following items:'."\n" + ."\n" + .'* **CreateBandwidthPackage** is an asynchronous operation. After you send a request, the system returns the ID of a bandwidth plan, but the bandwidth plan is still being created in the system background. You can call the [DescribeBandwidthPackage](~~153241~~) operation to query the status of the bandwidth plan.'."\n" + ."\n" + .' * If the bandwidth plan is in the **init** state, it indicates that the bandwidth plan is being created. In this case, you can perform only query operations.'."\n" + .' * If the bandwidth plan is in the **active** state, it indicates that the bandwidth plan is created.'."\n" + ."\n" + .'* The **CreateBandwidthPackage** operation cannot be repeatedly called for the same GA instance within a specific period of time.', + ], + 'ListBandwidthackages' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **100**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'BandwidthPackages' => [ + 'description' => 'The details of the bandwidth plans.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the bandwidth plans.', + 'type' => 'object', + 'properties' => [ + 'BandwidthPackageId' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + 'Bandwidth' => [ + 'description' => 'The bandwidth of the bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'Description' => [ + 'description' => 'The description of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'testDescription', + ], + 'ExpiredTime' => [ + 'description' => 'The expiration time of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => '1578966918000', + ], + 'State' => [ + 'description' => 'The status of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **init:** The bandwidth plan is being initialized.'."\n" + .'* **active:** The bandwidth plan is available.'."\n" + .'* **binded:** The bandwidth plan is associated with a GA instance.'."\n" + .'* **binding:** The bandwidth plan is being associated with a GA instance.'."\n" + .'* **unbinding:** The bandwidth plan is being disassociated from a GA instance.'."\n" + .'* **updating:** The bandwidth plan is being updated.'."\n" + .'* **finacialLocked:** The bandwidth plan is locked due to overdue payments.'."\n" + .'* **locked:** The bandwidth plan is locked.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'CreateTime' => [ + 'description' => 'The time when the bandwidth plan was created.'."\n", + 'type' => 'string', + 'example' => '1578966918000', + ], + 'ChargeType' => [ + 'description' => 'The billing method of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **PREPAY**: subscription. This is the default value.'."\n" + .'* **POSTPAY**: pay-as-you-go.'."\n", + 'type' => 'string', + 'example' => 'PREPAY', + ], + 'Accelerators' => [ + 'description' => 'The IDs of the GA instances that are associated with the bandwidth plans.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the GA instance that is associated with the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1qe94o52ot4pkfn****', + ], + ], + 'Name' => [ + 'description' => 'The name of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'Accelerator', + ], + 'RegionId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-aekzzwgr7vz2liy', + ], + 'Tags' => [ + 'description' => 'The tag of the bandwidth plan.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The tag value of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'tag-value', + ], + ], + 'description' => 'The tags of the bandwidth plans.', + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"4B6DBBB0-2D01-4C6A-A384-4129266E6B78\\",\\n \\"PageNumber\\": 1,\\n \\"BandwidthPackages\\": [\\n {\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\",\\n \\"Bandwidth\\": 2,\\n \\"Description\\": \\"testDescription\\",\\n \\"ExpiredTime\\": \\"1578966918000\\",\\n \\"State\\": \\"active\\",\\n \\"CreateTime\\": \\"1578966918000\\",\\n \\"ChargeType\\": \\"PREPAY\\",\\n \\"Accelerators\\": [\\n \\"ga-bp1qe94o52ot4pkfn****\\"\\n ],\\n \\"Name\\": \\"Accelerator\\",\\n \\"RegionId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"ResourceGroupId\\": \\"rg-aekzzwgr7vz2liy\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tag-key\\",\\n \\"Value\\": \\"tag-value\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListBandwidthackagesResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>4B6DBBB0-2D01-4C6A-A384-4129266E6B78</RequestId>\\n <PageNumber>1</PageNumber>\\n <BandwidthPackages>\\n <BandwidthPackageId>gbwp-bp1sgzldyj6b4q7cx****</BandwidthPackageId>\\n <Bandwidth>2</Bandwidth>\\n <Description>testDescription</Description>\\n <ExpiredTime>1578966918000</ExpiredTime>\\n <State>active</State>\\n <CreateTime>1578966918000</CreateTime>\\n <ChargeType>PREPAY</ChargeType>\\n <Accelerators>ga-bp1qe94o52ot4pkfn****</Accelerators>\\n <Name>Accelerator</Name>\\n <RegionId>DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6</RegionId>\\n </BandwidthPackages>\\n</ListBandwidthackagesResponse>","errorExample":""}]', + 'title' => 'ListBandwidthackages', + 'summary' => 'Queries bandwidth plans.', + 'description' => 'To query the detailed information about a bandwidth plan, call the **ListBandwidthPackages** operation. For more information, see [ListBandwidthPackages](~~2253239~~).'."\n", + ], + 'DescribeBandwidthPackageAutoRenewAttribute' => [ + 'summary' => 'Queries the auto-renewal status of a bandwidth plan.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to cn-hangzhou.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gbwp-bp1iquvlp8khla5emb3ia', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1iquvlp8khla5emb3ia', + ], + 'AutoRenew' => [ + 'description' => 'Indicates whether auto-renewal is enabled.'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'AutoRenewDuration' => [ + 'description' => 'The auto-renewal duration. Unit: month. Valid values: **1** to **12**.'."\n" + ."\n" + .'> This parameter is returned only if the value of **AutoRenew** is **true**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RenewalStatus' => [ + 'description' => 'The auto-renewal status of the bandwidth plan.'."\n" + ."\n" + .'* **AutoRenewal**: The bandwidth plan is automatically renewed.'."\n" + .'* **Normal**: You must manually renew the bandwidth plan.'."\n" + .'* **NotRenewal**: The bandwidth plan is not renewed after it expires. The system sends a non-renewal reminder three days before the expiration date but no longer sends reminders to renew the bandwidth plan. You can change the auto-renewal status of a bandwidth plan from NotRenewal to **Normal** or **AutoRenewal**.'."\n" + ."\n" + .'> **RenewalStatus** takes precedence over **AutoRenew**. If you do not specify **RenewalStatus**, **AutoRenew** is automatically used.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'B820E9F9-D459-5AE7-8F08-A368B53C1AC3', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InstanceId\\": \\"gbwp-bp1iquvlp8khla5emb3ia\\",\\n \\"AutoRenew\\": false,\\n \\"AutoRenewDuration\\": 1,\\n \\"RenewalStatus\\": \\"Normal\\",\\n \\"RequestId\\": \\"B820E9F9-D459-5AE7-8F08-A368B53C1AC3\\"\\n}","type":"json"}]', + 'title' => 'DescribeBandwidthPackageAutoRenewAttribute', + ], + 'UpdateBandwidthPackagaAutoRenewAttribute' => [ + 'summary' => 'Changes the auto-renewal status of a bandwidth plan.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the bandwidth plan.'."\n" + ."\n" + .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable auto-renewal. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> You must specify **AutoRenew** or **RenewalStatus**.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RenewalStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'The auto-renewal status of the bandwidth plan. Valid values:'."\n" + ."\n" + .'* **AutoRenewal**: The bandwidth plan is automatically renewed.'."\n" + .'* **Normal**: You must manually renew the bandwidth plan.'."\n" + .'* **NotRenewal**: The bandwidth plan is not renewed after it expires. The system sends only a non-renewal reminder three days before the expiration date. To renew a bandwidth plan for which you set RenewalStatus to NotRenewal, you can change the value of RenewalStatus from NotRenewal to Normal, and then manually renew the bandwidth plan. You can also set RenewalStatus to **AutoRenewal**.'."\n" + .'> * You must specify **AutoRenew** or **RenewalStatus**.'."\n" + .'> * **RenewalStatus** takes precedence over **AutoRenew**. If you do not specify **RenewalStatus**, **AutoRenew** is used.', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'AutoRenewDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The auto-renewal duration. Unit: months. Valid values: **1** to **12**.'."\n" + ."\n" + .'> This parameter takes effect only if **AutoRenew** is set to **true**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', + ], + 'InstanceId' => [ + 'description' => 'The ID of the bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.BandwidthPackage', + 'errorMessage' => 'The bandwidth package does not exist.', + ], + [ + 'errorCode' => 'ParamIllegal.SpInstanceAutoRenew', + 'errorMessage' => 'The param AutoRenew and RenewalStatus cannot be empty at the same time.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\",\\n \\"InstanceId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateBandwidthPackagaAutoRenewAttributeResponse>\\n <RequestId>F591955F-5CB5-4CCE-A75D-17CF2085CE22</RequestId>\\n <InstanceId>gbwp-bp1sgzldyj6b4q7cx****</InstanceId>\\n</UpdateBandwidthPackagaAutoRenewAttributeResponse>","errorExample":""}]', + 'title' => 'UpdateBandwidthPackagaAutoRenewAttribute', + 'description' => 'You cannot repeatedly call the **UpdateBandwidthPackagaAutoRenewAttribute** operation to modify the auto-renewal settings of a bandwidth plan.'."\n", + ], + 'ListIspTypes' => [ + 'summary' => 'Queries the line types of elastic IP addresses (EIPs) that are supported in an acceleration region.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'BusinessRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the acceleration region to be queried.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the Global Accelerator (GA) instance to be queried. Valid values:'."\n" + ."\n" + .'* **basic**: basic GA instance'."\n" + .'* **standard**: standard GA instance'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'basic', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', + ], + 'IspTypeList' => [ + 'description' => 'The line types of EIPs in the acceleration region.'."\n" + ."\n" + .'* **BGP** (default): BGP (Multi-ISP) lines'."\n" + .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines'."\n" + ."\n" + .'If you have the permissions to use single-ISP bandwidth, one of the following values may be returned:'."\n" + ."\n" + .'* **ChinaTelecom**: China Telecom (single ISP)'."\n" + .'* **ChinaUnicom**: China Unicom (single ISP)'."\n" + .'* **ChinaMobile**: China Mobile (single ISP)'."\n" + .'* **ChinaTelecom_L2**: China Telecom_L2 (single ISP)'."\n" + .'* **ChinaUnicom_L2**: China Unicom_L2 (single ISP)'."\n" + .'* **ChinaMobile_L2**: China Mobile_L2 (single ISP)'."\n" + ."\n" + .'> Different acceleration regions support different single-ISP BGP lines.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The line types of EIPs in the acceleration region.'."\n" + ."\n" + .'* **BGP**: BGP (Multi-ISP) lines'."\n" + .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines'."\n" + ."\n" + .'If you have the permissions to use single-ISP bandwidth, one of the following values may be returned:'."\n" + ."\n" + .'* **ChinaTelecom**: China Telecom (single ISP)'."\n" + .'* **ChinaUnicom**: China Unicom (single ISP)'."\n" + .'* **ChinaMobile**: China Mobile (single ISP)'."\n" + .'* **ChinaTelecom_L2**: China Telecom_L2 (single ISP)'."\n" + .'* **ChinaUnicom_L2**: China Unicom_L2 (single ISP)'."\n" + .'* **ChinaMobile_L2**: China Mobile_L2 (single ISP)'."\n" + ."\n" + .'> Different acceleration regions support different single-ISP BGP lines.'."\n", + 'type' => 'string', + 'example' => 'BGP', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\",\\n \\"IspTypeList\\": [\\n \\"BGP\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListIspTypesResponse>\\n <RequestId>F591955F-5CB5-4CCE-A75D-17CF2085CE22</RequestId>\\n <IspTypeList>BGP</IspTypeList>\\n</ListIspTypesResponse>","errorExample":""}]', + 'title' => 'ListIspTypes', + ], + 'UpdateAcceleratorCrossBorderMode' => [ + 'summary' => 'Changes the type of transmission network for a Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '161146', + 'abilityTreeNodes' => [ + 'FEATUREga231EJR', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + 'enum' => [], + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n" + ."\n" + .'> The bandwidth metering method of the GA instance must be pay-by-data-transfer.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + 'enum' => [], + ], + ], + [ + 'name' => 'CrossBorderMode', + 'in' => 'query', + 'schema' => [ + 'title' => '取值:bgpPro|private,'."\n" + .'bgpPro:精品公网跨境,借助优质的公网线路实现跨境访问'."\n" + .'private:联通专线跨境模式,此模式需要完成跨境资质审核', + 'description' => 'The type of transmission network of the GA instance. Valid values:'."\n" + ."\n" + .'* **bgpPro**: BGP (Multi-ISP) Pro. BGP (Multi-ISP) Pro lines are used for cross-border acceleration. You do not need to complete real-name verification.'."\n" + .'* **private**: cross-border Express Connect circuit. Cross-border Express Connect circuits provide better acceleration performance but require real-name verification.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'bgpPro', + 'enum' => [], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotSupportChangeCrossBorderMode.Accelerator', + 'errorMessage' => 'Currently Accelerator does not support to update cross-border mode.', + ], + [ + 'errorCode' => 'Error.ComplianceIssue', + 'errorMessage' => 'The current instance is not allowed to use the cross-border special line before obtaining cross-border qualification.', + ], + [ + 'errorCode' => 'CrossBorderStatusNotOpen.Accelerator', + 'errorMessage' => 'The cross-border mode does not allow modification because the cross-border switch is not turned on.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateAcceleratorCrossBorderModeResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</UpdateAcceleratorCrossBorderModeResponse>","errorExample":""}]', + 'title' => 'UpdateAcceleratorCrossBorderMode', + 'description' => 'You can call this operation to change the type of transmission network for a **standard** GA instance whose bandwidth metering method is **pay-by-data-transfer**. Before you call this operation, make sure that the following requirements are met:'."\n" + ."\n" + .'* Cloud Data Transfer (CDT) is activated. When you call the [CreateAccelerator](~~206786~~) operation and set **BandwidthBillingType** to **CDT** to create a **standard** GA instance whose bandwidth metering method is **pay-by-data-transfer**, CDT is automatically activated. The data transfer fees are managed by CDT.'."\n" + .'* If you want to set **CrossBorderMode** to **private**, which specifies cross-border Express Connect circuit as the type of transmission network, make sure that real-name verification is complete for your enterprise account. For more information, see [Real-name verification](~~52595~~).'."\n", + ], + 'UpdateAcceleratorCrossBorderStatus' => [ + 'summary' => 'Enables cross-border data transmission for a Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '172921', + 'abilityTreeNodes' => [ + 'FEATUREgaLOR9WO', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to cn-hangzhou.', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'CrossBorderStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the cross-border acceleration feature for the GA instance. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + .'- **false**', + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CrossBorderStatusUnsupported.Accelerator', + 'errorMessage' => 'The current instance does not support enabling or disabling the cross-border switch.', + ], + [ + 'errorCode' => 'CrossBorderStatusTurnOffInvalid.Accelerator', + 'errorMessage' => 'If there are any cross-border lines, it is not allowed to turn off the cross-border switch.', + ], + [ + 'errorCode' => 'Error.ComplianceIssue', + 'errorMessage' => 'The current instance is not allowed to use the cross-border special line before obtaining cross-border qualification.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotOpen.CrossBorderStatus', + 'errorMessage' => 'Cross-border acceleration has not been enabled for the instance.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'UpdateAcceleratorCrossBorderStatus', + 'description' => 'You can call this operation to enable or disable cross-border data transmission for basic or standard GA instances that use Cloud Data Transfer (CDT) to bill data transfers.'."\n", + ], + 'CreateAccelerator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '7844', + 'abilityTreeNodes' => [ + 'FEATUREgaLOR9WO', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region in which to create the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + 'deprecated' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the GA instance.'."\n" + ."\n" + .'The name must be 2 to 128 characters in length and can contain digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The subscription duration of the GA instance.'."\n" + ."\n" + .'* If the **PricingCycle** parameter is set to **Month**, the valid values for the **Duration** parameter are **1** to **9**.'."\n" + .'* If the **PricingCycle** parameter is set to **Year**, the valid values for the **Duration** parameter are **1** to **3**.'."\n" + ."\n" + .'> If the **InstanceChargeType** parameter is set to **PREPAY**, you must configure this parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'description' => 'The billing cycle of the GA instance. Valid values:'."\n" + ."\n" + .'* **Month:** billed on a monthly basis.'."\n" + .'* **Year:** billed on an annual basis.'."\n" + ."\n" + .'> If the **InstanceChargeType** parameter is set to **PREPAY**, you must configure this parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + 'enum' => [ + 'Year', + 'Month', + 'Day', + 'Hour', + ], + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the GA instance. Valid values:'."\n" + ."\n" + .'* **1**: Small Ⅰ.'."\n" + .'* **2**: Small Ⅱ.'."\n" + .'* **3**: Small Ⅲ.'."\n" + .'* **5**: Medium Ⅰ.'."\n" + .'* **8**: Medium Ⅱ.'."\n" + .'* **10**: Medium Ⅲ.'."\n" + .'* **20**: Large Ⅰ.'."\n" + .'* **30**: Large Ⅱ.'."\n" + .'* **40**: Large Ⅲ.'."\n" + .'* **50**: Large IV.'."\n" + .'* **60**: Large V.'."\n" + .'* **70**: Large VI.'."\n" + .'* **80**: Large VII.'."\n" + .'* **90**: Large VIII.'."\n" + .'* **100**: Super Large Ⅰ.'."\n" + .'* **200**: Super Large Ⅱ.'."\n" + ."\n" + .'> * GA instances Large III and above are not available by default. To use these instances, contact your Alibaba Cloud account manager.'."\n" + .'>* If the **InstanceChargeType** parameter is set to **PREPAY**, you must configure this parameter.'."\n" + ."\n" + .'Different specifications provide different capabilities. For more information, see [Instance type](~~153127~~).', + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable automatic payment. Default value: false. Valid values:'."\n" + ."\n" + .'* **false:** disables automatic payment. If you select this option, you must go to the Order Center to complete the payment after an order is generated.'."\n" + .'* **true:** enables automatic payment. Payments are automatically completed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoUseCoupon', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to automatically use coupons when making payments. Default value: false. Valid values:'."\n" + ."\n" + .'* **true:** automatically pays bill by using coupons.'."\n" + .'* **false:** does not automatically pay bills by using coupons.'."\n" + ."\n" + .'> This parameter takes effect only when **AutoPay** is set to **true**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable auto-renewal for the GA instance. Default value: false. Valid values:'."\n" + ."\n" + .'* **true:** enables auto-renewal.'."\n" + .'* **false:** disables auto-renewal.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoRenewDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The auto-renewal duration. Unit: months.'."\n" + ."\n" + .'Valid values: **1** to **12**. Default value: **1**.'."\n" + ."\n" + .'> This parameter takes effect only when **AutoRenew** is set to **true**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PromotionOptionNo', + 'in' => 'query', + 'schema' => [ + 'description' => 'The coupon code.', + 'type' => 'string', + 'required' => false, + 'example' => '50003298014****', + ], + ], + [ + 'name' => 'BandwidthBillingType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bandwidth billing method.'."\n" + ."\n" + .'* **BandwidthPackage:** billed based on bandwidth plans.'."\n" + .'* **CDT:** billed based on data transfer.'."\n" + .'* **CDT95:** billed based on the 95th percentile bandwidth. The billing is managed by Cloud Data Transfer (CDT). This bandwidth billing method is not available by default. Contact your Alibaba Cloud account manager for more information.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BandwidthPackage', + ], + ], + [ + 'name' => 'IpSetConfig', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The configurations of the acceleration area.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccessMode' => [ + 'description' => 'The access mode of the acceleration area. Valid values:'."\n" + ."\n" + .'* **UserDefine:** custom nearby access mode. You can select acceleration areas and regions based on your business requirements. GA allocates a separate EIP to each acceleration region.'."\n" + .'* **Anycast:** automatic nearby access mode. You do not need to specify an acceleration area. GA allocates an Anycast EIP to multiple regions across the globe. Users can connect to the nearest access point of the Alibaba Cloud global transmission network by sending requests to the Anycast EIP.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'UserDefine', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group to which the standard GA instance belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aekzrnd67gq****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags of the GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the GA instance.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the GA instance. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.', + 'type' => 'string', + 'required' => false, + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The tag value of the GA instance. The tag value cannot be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag values.', + 'type' => 'string', + 'required' => false, + 'example' => 'tag-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The billing method of the GA instance.'."\n" + ."\n" + .'* PREPAY (default): subscription'."\n" + .'* POSTPAY: pay-as-you-go'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true:** performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', + ], + 'OrderId' => [ + 'description' => 'The ID of the order.'."\n" + ."\n" + .'This parameter is returned only when the InstanceChargeType parameter is set to PREPAY. If AutoPay is set to false, you must manually complete the payment in the [Order Center](https://usercenter2-intl.aliyun.com/order/list).'."\n", + 'type' => 'string', + 'example' => '208257****', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\",\\n \\"OrderId\\": \\"208257****\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateAcceleratorResponse>\\n <RequestId>F591955F-5CB5-4CCE-A75D-17CF2085CE22</RequestId>\\n <OrderId>208257****</OrderId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n</CreateAcceleratorResponse>","errorExample":""}]', + 'title' => 'CreateAccelerator', + 'summary' => 'Creates a Global Accelerator (GA) instance. GA is a high-availability and high-performance network acceleration service for global users. By leveraging the high-quality BGP bandwidth and global network of Alibaba Cloud, GA allows service providers to deploy applications across regions and users to connect to the nearest access points for content delivery acceleration. This reduces network issues, such as network latency, network jitters, and packet loss.', + 'description' => '## Description'."\n" + ."\n" + .'**CreateAccelerator** is an asynchronous operation. After you send a request, the system returns the ID of a GA instance, but the operation is still being performed in the system background. You can call the [DescribeAccelerator](~~153235~~) operation to query the state of a GA instance.'."\n" + ."\n" + .'* If the GA instance is in the **init** state, it indicates that the GA instance is being created. In this case, you can perform only query operations.'."\n" + .'* If the GA instance is in the **active** state, it indicates that the GA instance is created.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeAccelerator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7855', + 'abilityTreeNodes' => [ + 'FEATUREga231EJR', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + 'deprecated' => true, + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance that you want to query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'DdosId' => [ + 'description' => 'The ID of the Anti-DDoS Pro/Premium instance that is associated with the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ddoscoo-cn-zz11vq7j****', + 'deprecated' => true, + ], + 'DnsName' => [ + 'description' => 'The canonical name (CNAME) that is assigned to the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp15u1i2hmtbk8c3i****.aliyunga0019.com', + ], + 'Description' => [ + 'description' => 'The description of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'Accelerator', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', + ], + 'InstanceChargeType' => [ + 'description' => 'The billing method of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'PREPAY', + ], + 'CreateTime' => [ + 'description' => 'The timestamp that indicates when the GA instance is created.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1650643200', + ], + 'CrossDomainBandwidthPackage' => [ + 'description' => 'The details about the cross-border acceleration bandwidth plan that is associated with the GA instance.'."\n" + ."\n" + .'This array is returned only for GA instances that are created on the international site (alibabacloud.com).'."\n", + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'description' => 'The bandwidth that is provided by the cross-border acceleration bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'InstanceId' => [ + 'description' => 'The ID of the cross-border acceleration bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1d8xk8bg139j0fw****', + ], + ], + ], + 'SecondDnsName' => [ + 'description' => 'The CNAME that is used to integrate the GA instance with the Anti-DDoS service.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1f609c76zg6zuna****-1.aliyunga0047.com', + ], + 'Name' => [ + 'description' => 'The name of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'Accelerator', + ], + 'BasicBandwidthPackage' => [ + 'description' => 'The details about the basic bandwidth plan that is associated with the GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'description' => 'The bandwidth value of the basic bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'BandwidthType' => [ + 'description' => 'The type of the bandwidth that is provided by the basic bandwidth plan. Valid values:'."\n" + ."\n" + .'* **Basic**: basic'."\n" + .'* **Enhanced**: enhanced'."\n" + .'* **Advanced**: premium'."\n", + 'type' => 'string', + 'example' => 'Basic', + ], + 'InstanceId' => [ + 'description' => 'The ID of the basic bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1d8xk8bg139j0fw****', + ], + ], + ], + 'State' => [ + 'description' => 'The status of the GA instance. Valid values:'."\n" + ."\n" + .'* **init**: The GA instance is being initialized.'."\n" + .'* **active**: The GA instance is available.'."\n" + .'* **configuring**: The GA instance is being configured.'."\n" + .'* **binding**: The GA instance is being associated.'."\n" + .'* **unbinding**: The GA instance is being disassociated.'."\n" + .'* **deleting**: The GA instance is being deleted.'."\n" + .'* **finacialLocked**: The GA instance is locked due to overdue payments.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'ExpiredTime' => [ + 'description' => 'The timestamp that indicates when the GA instance expires.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1653235200', + ], + 'CenId' => [ + 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance with which the GA instance is associated.'."\n", + 'type' => 'string', + 'example' => 'cen-hjkduu767hc****', + ], + 'RegionId' => [ + 'description' => 'The region ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + 'deprecated' => true, + ], + 'Spec' => [ + 'description' => 'The specification of the GA instance. Valid values:'."\n" + ."\n" + .'* **1**: Small Ⅰ'."\n" + .'* **2**: Small Ⅱ'."\n" + .'* **3**: Small Ⅲ'."\n" + .'* **5**: Medium Ⅰ'."\n" + .'* **8**: Medium Ⅱ'."\n" + .'* **10**: Medium Ⅲ'."\n" + .'* **20**: Large Ⅰ'."\n" + .'* **30**: Large Ⅱ'."\n" + .'* **40**: Large Ⅲ'."\n" + .'* **50**: Large Ⅳ'."\n" + .'* **60**: Large Ⅴ'."\n" + .'* **70**: Large Ⅵ'."\n" + .'* **80**: Large VⅡ'."\n" + .'* **90**: Large VⅢ'."\n" + .'* **100**: Super Large Ⅰ'."\n" + .'* **200**: Super Large Ⅱ'."\n" + ."\n" + .'> The Large Ⅲ specification and higher specifications are available only to users that are added to the whitelist. To use these specifications, contact your Alibaba Cloud account manager.'."\n" + ."\n" + .'Different specifications provide different capabilities. For more information, see [Instance specifications](~~153127~~).'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'BandwidthBillingType' => [ + 'description' => 'The bandwidth metering method. Valid values:'."\n" + ."\n" + .'* **BandwidthPackage:** billed based on bandwidth plans.'."\n" + .'* **CDT**: billed based on data transfer.'."\n", + 'type' => 'string', + 'example' => 'CDT', + ], + 'IpSetConfig' => [ + 'description' => 'The configurations of the acceleration area.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccessMode' => [ + 'description' => 'The access mode of the acceleration area. Valid values:'."\n" + ."\n" + .'* **UserDefine**: custom nearby access mode. You can select acceleration areas and regions based on your business requirements. GA allocates a separate elastic IP address (EIP) to each acceleration region.'."\n" + .'* **Anycast**: automatic nearby access mode. You do not need to specify an acceleration area. GA allocates an Anycast EIP to multiple regions across the globe. Users can connect to the nearest access point of the Alibaba Cloud global transmission network by sending requests to the Anycast EIP.'."\n", + 'type' => 'string', + 'example' => 'UserDefine', + ], + ], + ], + 'CrossPrivateState' => [ + 'description' => 'Indicates whether cross-border acceleration is enabled.'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false**: no'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-acfmw2vwdbujqbq', + ], + 'Tags' => [ + 'description' => 'The tags of the GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of tag N that is added to the GA instance.'."\n", + 'type' => 'string', + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The value of tag N that is added to the GA instance.'."\n", + 'type' => 'string', + 'example' => 'tag-value', + ], + ], + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + 'CrossBorderMode' => [ + 'title' => '当前实例的跨境网络类型,用于按量付费实例,显示其是用专线跨境还是精品公网跨境', + 'description' => 'The type of cross-border acceleration. This parameter is returned for GA instances whose bandwidth metering method is pay-by-data-transfer (CDT).'."\n" + ."\n" + .'Only **bpgPro** may be returned, which indicates BGP (Multi-ISP) Pro lines.'."\n", + 'type' => 'string', + 'example' => 'bpgPro', + ], + 'CrossBorderStatus' => [ + 'description' => 'Indicates whether cross-border acceleration is enabled.'."\n" + .'- **true**: yes'."\n" + .'- **false**: no', + 'type' => 'boolean', + 'example' => 'false', + ], + 'UpgradableStatus' => [ + 'title' => 'ga实例升级状态', + 'description' => 'Indicates whether the GA instance can be upgraded. Valid values:'."\n" + ."\n" + .'* **notUpgradable:** The GA instance does not need to be upgraded.'."\n" + .'* **upgradable:** The GA instance can be upgraded to the latest version.'."\n" + .'* **upgradeFailed:** The GA instance failed to be upgraded.'."\n", + 'type' => 'string', + 'example' => 'notUpgradable', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the GA instance.'."\n" + ."\n" + .'> This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n" + ."\n" + .'* Users can perform only specific actions on a managed instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action performed on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: a listener.'."\n" + .'* **IpSet**: an acceleration region.'."\n" + .'* **EndpointGroup**: an endpoint group.'."\n" + .'* **ForwardingRule**: a forwarding rule.'."\n" + .'* **Endpoint**: an endpoint.'."\n" + .'* **EndpointGroupDestination**: a protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: a traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter is returned only if the value of **Action** is **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed. Valid values:'."\n" + ."\n" + .'* **true**: The specified actions are managed, and you cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and you can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + 'DdosConfigList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DdosId' => [ + 'type' => 'string', + ], + 'DdosRegionId' => [ + 'type' => 'string', + ], + ], + ], + ], + 'Bandwidth' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DdosId\\": \\"ddoscoo-cn-zz11vq7j****\\",\\n \\"DnsName\\": \\"ga-bp15u1i2hmtbk8c3i****.aliyunga0019.com\\",\\n \\"Description\\": \\"Accelerator\\",\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\",\\n \\"InstanceChargeType\\": \\"PREPAY\\",\\n \\"CreateTime\\": 1650643200,\\n \\"CrossDomainBandwidthPackage\\": {\\n \\"Bandwidth\\": 2,\\n \\"InstanceId\\": \\"gbwp-bp1d8xk8bg139j0fw****\\"\\n },\\n \\"SecondDnsName\\": \\"ga-bp1f609c76zg6zuna****-1.aliyunga0047.com\\",\\n \\"Name\\": \\"Accelerator\\",\\n \\"BasicBandwidthPackage\\": {\\n \\"Bandwidth\\": 2,\\n \\"BandwidthType\\": \\"Basic\\",\\n \\"InstanceId\\": \\"gbwp-bp1d8xk8bg139j0fw****\\"\\n },\\n \\"State\\": \\"active\\",\\n \\"ExpiredTime\\": 1653235200,\\n \\"CenId\\": \\"cen-hjkduu767hc****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Spec\\": \\"1\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"BandwidthBillingType\\": \\"CDT\\",\\n \\"IpSetConfig\\": {\\n \\"AccessMode\\": \\"UserDefine\\"\\n },\\n \\"CrossPrivateState\\": \\"false\\",\\n \\"ResourceGroupId\\": \\"rg-acfmw2vwdbujqbq\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tag-key\\",\\n \\"Value\\": \\"tag-value\\"\\n }\\n ],\\n \\"CrossBorderMode\\": \\"bpgPro\\",\\n \\"CrossBorderStatus\\": false,\\n \\"UpgradableStatus\\": \\"notUpgradable\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ],\\n \\"DdosConfigList\\": [\\n {\\n \\"DdosId\\": \\"ddoscoo-cn-zz11vq7j****\\",\\n \\"DdosRegionId\\": \\"ap-southeast-1\\"\\n }\\n ],\\n \\"Bandwidth\\": 200\\n}","errorExample":""},{"type":"xml","example":"<DescribeAcceleratorResponse>\\n <DdosId>ddoscoo-cn-zz11vq7j****</DdosId>\\n <DnsName>ga-bp15u1i2hmtbk8c3i****.aliyunga0019.com</DnsName>\\n <Description>Accelerator</Description>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8\\t</RequestId>\\n <InstanceChargeType>PREPAY</InstanceChargeType>\\n <CreateTime>1650643200</CreateTime>\\n <CrossDomainBandwidthPackage>\\n <Bandwidth>2</Bandwidth>\\n <InstanceId>gbwp-bp1d8xk8bg139j0fw****</InstanceId>\\n </CrossDomainBandwidthPackage>\\n <SecondDnsName>ga-bp1f609c76zg6zuna****-1.aliyunga0047.com</SecondDnsName>\\n <Name>Accelerator</Name>\\n <BasicBandwidthPackage>\\n <Bandwidth>2</Bandwidth>\\n <BandwidthType>Basic</BandwidthType>\\n <InstanceId>gbwp-bp1d8xk8bg139j0fw****</InstanceId>\\n </BasicBandwidthPackage>\\n <State>active</State>\\n <ExpiredTime>1653235200</ExpiredTime>\\n <CenId>cen-hjkduu767hc****</CenId>\\n <RegionId>cn-hangzhou</RegionId>\\n <Spec>1</Spec>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <BandwidthBillingType>CDT</BandwidthBillingType>\\n <IpSetConfig>\\n <AccessMode>UserDefine</AccessMode>\\n </IpSetConfig>\\n <CrossPrivateState>false</CrossPrivateState>\\n <ResourceGroupId>rg-acfmw2vwdbujqbq</ResourceGroupId>\\n <Tags>\\n <Key>tag-key</Key>\\n <Value>tag-value</Value>\\n </Tags>\\n <CrossBorderMode>private</CrossBorderMode>\\n</DescribeAcceleratorResponse>","errorExample":""}]', + 'title' => 'DescribeAccelerator', + 'summary' => 'Queries information about a Global Accelerator (GA) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListAccelerators' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8882', + 'abilityTreeNodes' => [ + 'FEATUREga231EJR', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + 'deprecated' => true, + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'State', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the GA instance. Valid values:'."\n" + ."\n" + .'* **init**: The GA instance is being initialized.'."\n" + .'* **active**: The GA instance is available.'."\n" + .'* **configuring**: The GA instance is being configured.'."\n" + .'* **binding**: The GA instance is being associated.'."\n" + .'* **unbinding**: The GA instance is being disassociated.'."\n" + .'* **deleting**: The GA instance is being deleted.'."\n" + .'* **finacialLocked**: The GA instance is locked due to overdue payments.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'active', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aekztkx4zwc****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '标签列表,最多包含20个子项', + 'description' => 'The tags of the GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '标签键', + 'description' => 'The tag key of the GA resource. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-key', + ], + 'Value' => [ + 'title' => '标签值', + 'description' => 'The tag value of the GA resource. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag values.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'Accelerators' => [ + 'description' => 'The information about the GA instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'DnsName' => [ + 'description' => 'The CNAME that is assigned to the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp15u1i2hmtbk8c3i****.aliyunga0019.com', + ], + 'Type' => [ + 'description' => 'An invalid parameter.'."\n", + 'type' => 'string', + 'example' => 'Invalid parameter'."\n", + ], + 'SecondDnsName' => [ + 'description' => 'The CNAME that is used to associate the GA instance with an Anti-DDoS Pro instance or an Anti-DDOS Premium instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1f609c76zg6zuna****-1.aliyunga0047.com', + ], + 'Spec' => [ + 'description' => 'The specification of the GA instance. Valid values:'."\n" + ."\n" + .'* **1**: Small Ⅰ.'."\n" + .'* **2**: Small Ⅱ.'."\n" + .'* **3**: Small Ⅲ.'."\n" + .'* **5**: Medium Ⅰ.'."\n" + .'* **8**: Medium Ⅱ.'."\n" + .'* **10**: Medium Ⅲ.'."\n" + .'* **20**: Large Ⅰ.'."\n" + .'* **30**: Large Ⅱ.'."\n" + .'* **40**: Large Ⅲ.'."\n" + .'* **50**: Large IV.'."\n" + .'* **60**: Large V.'."\n" + .'* **70**: Large VI.'."\n" + .'* **80**: Large VII.'."\n" + .'* **90**: Large VIII.'."\n" + .'* **100**: Super Large Ⅰ.'."\n" + .'* **200**: Super Large Ⅱ.'."\n" + ."\n" + .'> The Large Ⅲ specification and higher specifications are available only to accounts that are added to the whitelist. To use these specifications, contact your Alibaba Cloud account manager.'."\n" + ."\n" + .'Different specifications provide different capabilities. For more information, see [Instance specifications](~~153127~~).'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'State' => [ + 'description' => 'The status of the GA instance. Valid values:'."\n" + ."\n" + .'* **init**: The GA instance is being initialized.'."\n" + .'* **active**: The GA instance is available.'."\n" + .'* **configuring**: The GA instance is being configured.'."\n" + .'* **binding**: The GA instance is being associated.'."\n" + .'* **unbinding**: The GA instance is being disassociated.'."\n" + .'* **deleting**: The GA instance is being deleted.'."\n" + .'* **finacialLocked**: The GA instance is locked due to overdue payments.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'CreateTime' => [ + 'description' => 'The timestamp that indicates when the GA instance was created.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1650643200', + ], + 'CenId' => [ + 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance that is associated with the GA instance.'."\n", + 'type' => 'string', + 'example' => 'cen-hjfufhjfuwff****', + ], + 'DdosId' => [ + 'description' => 'The ID of the Anti-DDoS Pro or Anti-DDOS Premium instance that is associated with the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ddoscoo-cn-zz11vq7j****', + 'deprecated' => true, + ], + 'BasicBandwidthPackage' => [ + 'description' => 'The information about the basic bandwidth plan that is associated with the GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'description' => 'The bandwidth value of the basic bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'BandwidthType' => [ + 'description' => 'The bandwidth type that is provided by the basic bandwidth plan. Valid values:'."\n" + ."\n" + .'* **Basic**'."\n" + .'* **Enhanced**'."\n" + .'* **Advanced**'."\n", + 'type' => 'string', + 'example' => 'Basic', + ], + 'InstanceId' => [ + 'description' => 'The ID of the basic bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1d8xk8bg139j0fw****', + ], + ], + ], + 'RegionId' => [ + 'description' => 'The ID of the region where GA instance is deployed. Only **cn-hangzhou** may be returned.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + 'deprecated' => true, + ], + 'InstanceChargeType' => [ + 'description' => 'The billing method of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'PREPAY', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'Description' => [ + 'description' => 'The description of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'Accelerator', + ], + 'Bandwidth' => [ + 'description' => 'The bandwidth of the GA instance. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'BandwidthBillingType' => [ + 'description' => 'The bandwidth metering method. Valid values:'."\n" + ."\n" + .'* **BandwidthPackage**: billed based on bandwidth plans.'."\n" + .'* **CDT**: billed based on data transfer.'."\n", + 'type' => 'string', + 'example' => 'CDT', + ], + 'ExpiredTime' => [ + 'description' => 'The timestamp that indicates when the GA instance expires.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1653235200', + ], + 'Name' => [ + 'description' => 'The name of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'Accelerator', + ], + 'CrossDomainBandwidthPackage' => [ + 'description' => 'The information about the cross-border acceleration bandwidth plan that is associated with the GA instance.'."\n" + ."\n" + .'This array is returned only for GA instances that are created on the international site (alibabacloud.com).'."\n", + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'description' => 'The bandwidth value of the cross-border acceleration bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'InstanceId' => [ + 'description' => 'The ID of the cross-border acceleration bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1d8xk8bg139j0fw****', + ], + ], + ], + 'IpSetConfig' => [ + 'title' => '加速区配置', + 'description' => 'The configurations of the acceleration area.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccessMode' => [ + 'title' => '加速区接入方式', + 'description' => 'The access mode of the acceleration area. Valid values:'."\n" + ."\n" + .'* **UserDefine**: custom nearby access mode. You can select acceleration areas and regions based on your business requirements. GA allocates a separate elastic IP address (EIP) to each acceleration region.'."\n" + .'* **Anycast**: automatic nearby access mode. You do not need to specify an acceleration area. GA allocates an Anycast EIP to multiple regions across the globe. Users can connect to the nearest access point of the Alibaba Cloud global transmission network by sending requests to the Anycast EIP.'."\n", + 'type' => 'string', + 'example' => 'UserDefine', + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-aekztkx4zwc****', + ], + 'Tags' => [ + 'description' => 'The tags that are added to the resource.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of the tag.'."\n", + 'type' => 'string', + 'example' => 'test-key', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'example' => 'tast-value', + ], + ], + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + 'CrossBorderMode' => [ + 'description' => 'The type of cross-border acceleration. This parameter is returned for GA instances whose bandwidth metering method is pay-by-data-transfer.'."\n" + ."\n" + .'* **bpgPro**: BGP (Multi-ISP) Pro lines.'."\n" + .'* **private**: cross-border Express Connect circuit.'."\n", + 'type' => 'string', + 'example' => 'bpgPro', + ], + 'CrossBorderStatus' => [ + 'description' => 'Indicates whether cross-border acceleration is enabled for the GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'UpgradableStatus' => [ + 'title' => 'ga实例的升级状态', + 'description' => 'Indicates whether the GA instance can be upgraded. Valid values:'."\n" + ."\n" + .'* **notUpgradable**: The GA instance does not need to be upgraded.'."\n" + .'* **upgradable**: The GA instance can be upgraded to the latest version.'."\n" + .'* **upgradeFailed**: The GA instance failed to be upgraded.'."\n", + 'type' => 'string', + 'example' => 'notUpgradable', + ], + 'ServiceId' => [ + 'title' => 'ga实例的升级状态', + 'description' => 'The ID of the service that manages the instance.'."\n" + ."\n" + .'> This parameter takes effect only if the value of **ServiceManaged** is **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + .'> * This parameter takes effect only if the value of **ServiceManaged** is **true**.'."\n" + .'> * Users can perform only specific actions on a managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action that is performed on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener.'."\n" + .'* **IpSet**: acceleration region.'."\n" + .'* **EndpointGroup**: endpoint group.'."\n" + .'* **ForwardingRule**: forwarding rule.'."\n" + .'* **Endpoint**: endpoint.'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter takes effect only if the value of **Action** is **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed. Valid values:'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + 'DdosConfigList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DdosId' => [ + 'type' => 'string', + ], + 'DdosRegionId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + 'PageNumber' => [ + 'title' => '当前实例的跨境网络类型,用于按量付费实例,显示其是用专线跨境还是精品公网跨境', + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 10,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"Accelerators\\": [\\n {\\n \\"DnsName\\": \\"ga-bp15u1i2hmtbk8c3i****.aliyunga0019.com\\",\\n \\"Type\\": \\"None\\",\\n \\"SecondDnsName\\": \\"ga-bp1f609c76zg6zuna****-1.aliyunga0047.com\\",\\n \\"Spec\\": \\"1\\",\\n \\"State\\": \\"active\\",\\n \\"CreateTime\\": 1650643200,\\n \\"CenId\\": \\"cen-hjfufhjfuwff****\\",\\n \\"DdosId\\": \\"ddoscoo-cn-zz11vq7j****\\",\\n \\"BasicBandwidthPackage\\": {\\n \\"Bandwidth\\": 2,\\n \\"BandwidthType\\": \\"Basic\\",\\n \\"InstanceId\\": \\"gbwp-bp1d8xk8bg139j0fw****\\"\\n },\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceChargeType\\": \\"PREPAY\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"Description\\": \\"Accelerator\\",\\n \\"Bandwidth\\": 5,\\n \\"BandwidthBillingType\\": \\"CDT\\",\\n \\"ExpiredTime\\": 1653235200,\\n \\"Name\\": \\"Accelerator\\",\\n \\"CrossDomainBandwidthPackage\\": {\\n \\"Bandwidth\\": 2,\\n \\"InstanceId\\": \\"gbwp-bp1d8xk8bg139j0fw****\\"\\n },\\n \\"IpSetConfig\\": {\\n \\"AccessMode\\": \\"UserDefine\\"\\n },\\n \\"ResourceGroupId\\": \\"rg-aekztkx4zwc****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"test-key\\",\\n \\"Value\\": \\"tast-value\\"\\n }\\n ],\\n \\"CrossBorderMode\\": \\"bpgPro\\",\\n \\"CrossBorderStatus\\": false,\\n \\"UpgradableStatus\\": \\"notUpgradable\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ],\\n \\"DdosConfigList\\": [\\n {\\n \\"DdosId\\": \\"ddoscoo-cn-a8w4ekcb**\\",\\n \\"DdosRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"<ListAcceleratorsResponse>\\n <TotalCount>10</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6</RequestId>\\n <Accelerators>\\n <DnsName>ga-bp15u1i2hmtbk8c3i****.aliyunga0019.com</DnsName>\\n <Type>无效参数</Type>\\n <SecondDnsName>ga-bp1f609c76zg6zuna****-1.aliyunga0047.com</SecondDnsName>\\n <Spec>1</Spec>\\n <State>active</State>\\n <CreateTime>1650643200</CreateTime>\\n <CenId>cen-hjfufhjfuwff****</CenId>\\n <DdosId>ddoscoo-cn-zz11vq7j****</DdosId>\\n <BasicBandwidthPackage>\\n <Bandwidth>2</Bandwidth>\\n <BandwidthType>Basic</BandwidthType>\\n <InstanceId>gbwp-bp1d8xk8bg139j0fw****</InstanceId>\\n </BasicBandwidthPackage>\\n <RegionId>cn-hangzhou</RegionId>\\n <InstanceChargeType>PREPAY</InstanceChargeType>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <Description>Accelerator</Description>\\n <Bandwidth>5</Bandwidth>\\n <BandwidthBillingType>CDT</BandwidthBillingType>\\n <ExpiredTime>1653235200</ExpiredTime>\\n <Name>Accelerator</Name>\\n <CrossDomainBandwidthPackage>\\n <Bandwidth>2</Bandwidth>\\n <InstanceId>gbwp-bp1d8xk8bg139j0fw****</InstanceId>\\n </CrossDomainBandwidthPackage>\\n <IpSetConfig>\\n <AccessMode>UserDefine</AccessMode>\\n </IpSetConfig>\\n <ResourceGroupId>rg-aekztkx4zwc****</ResourceGroupId>\\n <Tags>\\n <Key>test-key</Key>\\n <Value>tast-value</Value>\\n </Tags>\\n <CrossBorderMode>bpgPro</CrossBorderMode>\\n <CrossBorderStatus>false</CrossBorderStatus>\\n <UpgradableStatus>notUpgradable</UpgradableStatus>\\n </Accelerators>\\n <PageNumber>1</PageNumber>\\n</ListAcceleratorsResponse>","errorExample":""}]', + 'title' => 'ListAccelerators', + 'summary' => 'Queries Global Accelerator (GA) instances.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateAccelerator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8892', + 'abilityTreeNodes' => [ + 'FEATUREgaLOR9WO', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + 'deprecated' => true, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the GA instance.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Accelerator', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the GA instance. The description can be up to 200 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Accelerator', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'Spec', + 'in' => 'query', + 'schema' => [ + 'description' => 'The specification of the GA instance. Valid values:'."\n" + ."\n" + .'* **1**: Small Ⅰ'."\n" + .'* **2**: Small Ⅱ'."\n" + .'* **3**: Small Ⅲ'."\n" + .'* **5**: Medium Ⅰ'."\n" + .'* **8**: Medium Ⅱ'."\n" + .'* **10**: Medium Ⅲ'."\n" + .'* **20**: Large Ⅰ'."\n" + .'* **30**: Large Ⅱ'."\n" + .'* **40**: Large Ⅲ'."\n" + .'* **50**: Large Ⅳ'."\n" + .'* **60**: Large Ⅴ'."\n" + .'* **70**: Large Ⅵ'."\n" + .'* **80**: Large VⅡ'."\n" + .'* **90**: Large VⅢ'."\n" + .'* **100**: Super Large Ⅰ'."\n" + .'* **200**: Super Large Ⅱ'."\n" + ."\n" + .'> The Large Ⅲ specification and higher specifications are available only for accounts that are added to the whitelist. To use these specifications, contact your Alibaba Cloud account manager.'."\n" + ."\n" + .'Different specifications provide different capabilities. For more information, see [Instance specifications](~~153127~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" + ."\n" + .'* **false**: disables automatic payment. This is the default value. After an order is generated, you must go to the [Order Center](https://usercenter2-intl.aliyun.com/order/list) to complete the payment.'."\n" + .'* **true**: enables automatic payment. Payments are automatically completed.'."\n" + ."\n" + .'> This parameter takes effect only if you call the operation to upgrade a GA instance.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoUseCoupon', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to automatically pay bills by using coupons. Default value: false. Valid values:'."\n" + ."\n" + .'* **true**: automatically pays bills by using coupons.'."\n" + .'* **false**: does not automatically pay bills by using coupons.'."\n" + ."\n" + .'> This parameter takes effect only if the **AutoPay** parameter is set to **true**.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'IllegalParameter.Spec', + 'errorMessage' => 'The specified Spec is invalid.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateAcceleratorResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8\\t</RequestId>\\n</UpdateAcceleratorResponse>","errorExample":""}]', + 'title' => 'UpdateAccelerator', + 'summary' => 'Modifies a Global Accelerator (GA) instance.', + 'description' => '* **UpdateAccelerator** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeAccelerator](~~153235~~) operation to query the status of a GA instance.'."\n" + ."\n" + .' * If the GA instance is in the **configuring** state, the GA instance is being modified. In this case, you can perform only query operations.'."\n" + .' * If the GA instance is in the **active** state, the GA instance is modified.'."\n" + ."\n" + .'* The **UpdateAccelerator** operation cannot be repeatedly called for the same GA instance within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateAcceleratorConfirm' => [ + 'summary' => 'Confirms the updated specification of a Global Accelerator (GA) instance.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateAcceleratorConfirmResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n</UpdateAcceleratorConfirmResponse>","errorExample":""}]', + 'title' => 'UpdateAcceleratorConfirm', + 'description' => 'After you modify the specification of a GA instance, you must confirm the modification. The **UpdateAcceleratorConfirm** operation is used to confirm the specification of a GA instance that is modified. When you call this operation to confirm the specification of a GA instance, take note of the following items:'."\n" + ."\n" + .'* **UpdateAcceleratorConfirm** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeAccelerator](~~153235~~) operation to query the status of a GA instance.'."\n" + ."\n" + .' * If the GA instance is in the **configuring** state, it indicates that the specification of the instance is being modified. In this case, you can perform only query operations.'."\n" + .' * If the GA instance is in the **active** state, it indicates that the specification of the instance is modified.'."\n" + ."\n" + .'* The **UpdateAcceleratorConfirm** operation cannot be called repeatedly for the same GA instance within a specific period of time.'."\n", + ], + 'DeleteAccelerator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '7849', + 'abilityTreeNodes' => [ + 'FEATUREgaLOR9WO', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where your GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + 'deprecated' => true, + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'BindExist.Accelerator', + 'errorMessage' => 'The accelerated instance is already bound to a bandwidth package.', + ], + [ + 'errorCode' => 'Exist.IpSet', + 'errorMessage' => 'The IpSet already exists.', + ], + [ + 'errorCode' => 'Exist.Listener', + 'errorMessage' => 'The listener already exists.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\"\\n}","type":"json"}]', + 'title' => 'DeleteAccelerator', + 'summary' => 'Deletes a Global Accelerator (GA) instance.', + 'description' => '* You cannot delete subscription GA instances.'."\n" + ."\n" + .'* **DeleteAccelerator** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeAccelerator](~~153235~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the GA instance is in the **deleting** state, the GA instance is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the GA instance cannot be queried, the GA instance is deleted.'."\n", + ], + 'AttachDdosToAccelerator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7838', + 'abilityTreeNodes' => [ + 'FEATUREgaLOR9WO', + ], + ], + 'parameters' => [ + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance with which the Anti-DDoS Pro/Premium instance is associated.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'DdosId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the Anti-DDoS Pro/Premium instance to be associated with the GA instance.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'ddoscoo-cn-zz11vq7j****', + 'deprecated' => true, + ], + ], + [ + 'name' => 'DdosRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region where the Anti-DDoS Pro/Premium instance is deployed. Valid values:'."\n" + ."\n" + .'* **cn-hangzhou**: regions in the Chinese mainland'."\n" + .'* **ap-southeast-1**: regions outside the Chinese mainland'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + 'deprecated' => true, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DdosConfigList', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DdosRegionId' => [ + 'type' => 'string', + ], + 'DdosId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'DdosId' => [ + 'description' => 'The ID of the Anti-DDoS Pro/Premium instance that is associated with the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ddoscoo-cn-zz11vq7j****', + 'deprecated' => true, + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'GaId' => [ + 'description' => 'The ID of the GA instance that is associated with the Anti-DDoS Pro/Premium instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DdosId.Error', + 'errorMessage' => 'Failed to find the DDoS instance based on the DDoS ID.', + ], + [ + 'errorCode' => 'NoPermission.GaDdosRoleSession', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DdosId\\": \\"ddoscoo-cn-zz11vq7j****\\",\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"GaId\\": \\"ga-bp1odcab8tmno0hdq****\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachDdosToAcceleratorResponse>\\n <DdosId>ddoscoo-cn-zz11vq7j****</DdosId>\\n <RequestId>DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6</RequestId>\\n <GaId>ga-bp1odcab8tmno0hdq****</GaId>\\n</AttachDdosToAcceleratorResponse>","errorExample":""}]', + 'title' => 'AttachDdosToAccelerator', + 'summary' => 'Associates an Anti-DDoS Pro or Anti-DDoS Premium instance with a Global Accelerator (GA) instance.', + 'description' => 'When you call this operation, take note of the following items:'."\n" + ."\n" + .'* **AttachDdosToAccelerator** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeAccelerator](~~153235~~) or [ListAccelerators](~~153236~~) operation to query the status of the GA instance.'."\n" + ."\n" + .' * If the GA instance is in the **configuring** state, the Anti-DDoS Pro or Anti-DDoS Premium instance is being associated with the GA instance. In this case, you can perform only query operations.'."\n" + .' * If the GA instance is in the **active** state, the Anti-DDoS Pro or Anti-DDoS Premium instance is associated with the GA instance.'."\n" + ."\n" + .'* You cannot repeatedly call the **AttachDdosToAccelerator** operation for the same GA instance within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DetachDdosFromAccelerator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8880', + 'abilityTreeNodes' => [ + 'FEATUREgaLOR9WO', + ], + ], + 'parameters' => [ + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DdosConfigList', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DdosId' => [ + 'type' => 'string', + ], + 'DdosRegionId' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'DdosId' => [ + 'description' => 'The ID of the Anti-DDoS Pro/Premium instance that was disassociated from the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ddoscoo-cn-zz11vq7j****', + 'deprecated' => true, + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'accelerator %s is not exist', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'Accelerator.NotBindingDdos', + 'errorMessage' => 'The accelerator has not bound a DDoS instance.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DdosId\\": \\"ddoscoo-cn-zz11vq7j****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachDdosFromAcceleratorResponse>\\n <DdosId>ddoscoo-cn-zz11vq7j****</DdosId>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</DetachDdosFromAcceleratorResponse>","errorExample":""}]', + 'title' => 'DetachDdosFromAccelerator', + 'summary' => 'Disassociates a Global Accelerator (GA) instance from an Anti-DDoS Pro or Anti-DDoS Premium instance.', + 'description' => '* The **DetachDdosFromAccelerator** operation is asynchronous. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeAccelerator](~~153235~~) or [ListAccelerators](~~153236~~) operation to query the status of the GA instance.'."\n" + ."\n" + .' * If the GA instance is in the **configuring** state, the Anti-DDoS Pro/Premium instance is being disassociated from the GA instance. In this case, you can perform only query operations.'."\n" + .' * If the GA instance is in the **active** state, the Anti-DDoS Pro/Premium instance is disassociated from the GA instance.'."\n" + ."\n" + .'* **DetachDdosFromAccelerator** cannot be repeatedly called for the same GA instance within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateSpareIps' => [ + 'summary' => 'Creates secondary IP addresses for a CNAME that is assigned to a Global Accelerator (GA) instance. If an acceleration area of the GA instance becomes unavailable, access traffic is redirected to the secondary IP addresses.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true:** performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (defalut): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'SpareIps', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The secondary IP addresses to be created for the CNAME. If an acceleration area of the GA instance becomes unavailable, access traffic is redirected to the secondary IP addresses.'."\n" + ."\n" + .'You can specify up to two secondary IP addresses.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The secondary IP address to be created for the CNAME. If an acceleration area of the GA instance becomes unavailable, access traffic is redirected to the secondary IP address.'."\n" + ."\n" + .'You can specify up to two secondary IP addresses.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[\'127.0.XX.XX\', \'139.0.XX.XX\']', + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Duplicate.SpareIp', + 'errorMessage' => 'The spare IP address is duplicate.', + ], + [ + 'errorCode' => 'AlreadyExist.SpareIp', + 'errorMessage' => 'The spare ip %s already exists.', + ], + [ + 'errorCode' => 'IllegalParamFormat.SpareIp', + 'errorMessage' => 'The param format of spare ip is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded.SpareIp', + 'errorMessage' => 'The number of spare ip exceeds the limit.', + ], + [ + 'errorCode' => 'TooManySpareIp.Accelerator', + 'errorMessage' => 'Too many SpareIp accepted under the same Accelerator.', + ], + [ + 'errorCode' => 'NoPermission.CreateSpareIp', + 'errorMessage' => 'You do not have permission to create spareIp.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSpareIpsResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n</CreateSpareIpsResponse>","errorExample":""}]', + 'title' => 'CreateSpareIps', + 'description' => '* **CreateSpareIps** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeAccelerator](~~153235~~) operation to query the status of a GA instance.'."\n" + ."\n" + .' * If the GA instance is in the **configuring** state, it indicates that secondary IP addresses are being created for the CNAME that is assigned to the GA instance. In this case, you can only perform query operations.'."\n" + .' * If the GA instance is in the **active** state, it indicates that secondary IP addresses are created for the CNAME that is assigned to the GA instance.'."\n" + ."\n" + .'* The **CreateSpareIps** operation holds an exclusive lock on the GA instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + ], + 'ListSpareIps' => [ + 'summary' => 'Queries the information about the secondary IP addresses that are associated with a CNAME.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'SpareIps' => [ + 'description' => 'The secondary IP addresses that are associated with the CNAME.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SpareIp' => [ + 'description' => 'The secondary IP address that is associated with the CNAME. If the acceleration area becomes unavailable, GA redirects traffic to the secondary IP address.'."\n", + 'type' => 'string', + 'example' => '47.100.XX.XX', + ], + 'State' => [ + 'description' => 'The status of the secondary IP address. Valid values:'."\n" + ."\n" + .'* **active:** The secondary IP address is available.'."\n" + .'* **inuse:** The secondary IP address is in use.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"SpareIps\\": [\\n {\\n \\"SpareIp\\": \\"47.100.XX.XX\\",\\n \\"State\\": \\"active\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListSpareIpsResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <SpareIps>\\n <SpareIp>47.100.XX.XX</SpareIp>\\n <State>active</State>\\n </SpareIps>\\n</ListSpareIpsResponse>","errorExample":""}]', + 'title' => 'ListSpareIps', + ], + 'GetSpareIp' => [ + 'summary' => 'Queries the status of a secondary IP address that is associated with a CNAME.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '33855', + 'abilityTreeNodes' => [ + 'FEATUREgaLOR9WO', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request.'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'SpareIp', + 'in' => 'query', + 'schema' => [ + 'description' => 'The secondary IP address that is associated with the CNAME. If the acceleration area becomes unavailable, GA redirects traffic to the secondary IP address.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '47.100.XX.XX', + 'maxItems' => 2, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'State' => [ + 'description' => 'The status of the secondary IP address. Valid values:'."\n" + ."\n" + .'* **active:** The secondary IP address is available.'."\n" + .'* **inuse:** The secondary IP address is in use.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"State\\": \\"active\\"\\n}","errorExample":""},{"type":"xml","example":"<GetSpareIpResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <State>active</State>\\n</GetSpareIpResponse>","errorExample":""}]', + 'title' => 'GetSpareIp', + ], + 'DeleteSpareIps' => [ + 'summary' => 'Deletes the secondary IP addresses that are associated with a CNAME.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true:** performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (defalut): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'SpareIps', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The secondary IP addresses to be deleted for the CNAME. If an acceleration area of the GA instance becomes unavailable, GA redirects the access traffic to the secondary IP addresses.'."\n" + ."\n" + .'Separate the IP addresses with commas (,). You can specify up to two secondary IP addresses.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The secondary IP addresses to be deleted for the CNAME. If an acceleration area of the GA instance becomes unavailable, GA redirects the access traffic to the secondary IP addresses.'."\n" + ."\n" + .'Separate the IP addresses with commas (,). You can specify up to two secondary IP addresses.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '127.0.XX.XX', + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.SpareIp', + 'errorMessage' => 'The spare ip %s doesn\'t exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSpareIpsResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n</DeleteSpareIpsResponse>","errorExample":""}]', + 'title' => 'DeleteSpareIps', + 'description' => '* **DeleteSpareIps** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeAccelerator](~~153235~~) operation to query the status of a GA instance.'."\n" + ."\n" + .' * If the GA instance is in the **configuring** state, it indicates that the secondary IP addresses for the CNAME are being deleted. In this case, you can perform only query operations.'."\n" + .' * If the GA instance is in the **active** state and the secondary IP addresses for the CNAME cannot be queried by calling the [ListSpareIps](~~262121~~) operation, it indicates that the IP addresses are deleted.'."\n" + ."\n" + .'* The **DeleteSpareIps** operation holds an exclusive lock on the GA instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + ], + 'DescribeAcceleratorAutoRenewAttribute' => [ + 'summary' => 'Queries the auto-renewal status of a Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'AutoRenew' => [ + 'description' => 'Indicates whether auto-renewal is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'AutoRenewDuration' => [ + 'description' => 'The auto-renewal duration. Unit: month.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RenewalStatus' => [ + 'description' => 'Indicates how the GA instance is renewed. Valid values:'."\n" + ."\n" + .'* **AutoRenewal**: The GA instance is automatically renewed.'."\n" + .'* **Normal**: You must manually renew the GA instance.'."\n" + .'* **NotRenewal**: The GA instance is not renewed after it expires. The system sends only a non-renewal reminder three days before the expiration date. The system no longer sends notifications to remind you to renew the GA instance.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"AutoRenew\\": false,\\n \\"AutoRenewDuration\\": 1,\\n \\"RenewalStatus\\": \\"Normal\\",\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeAcceleratorAutoRenewAttributeResponse>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <AutoRenew>false</AutoRenew>\\n <AutoRenewDuration>1</AutoRenewDuration>\\n <RenewalStatus>Normal</RenewalStatus>\\n <RequestId>F591955F-5CB5-4CCE-A75D-17CF2085CE22</RequestId>\\n</DescribeAcceleratorAutoRenewAttributeResponse>","errorExample":""}]', + 'title' => 'DescribeAcceleratorAutoRenewAttribute', + ], + 'UpdateAcceleratorAutoRenewAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the GA instance.'."\n" + ."\n" + .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable auto-renewal for the GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> **AutoRenew** and **RenewalStatus** cannot be left empty at the same time.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RenewalStatus', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies how to renew the GA instance. Valid values:'."\n" + ."\n" + .'* **AutoRenewal**: The system automatically renews the GA instance.'."\n" + .'* **Normal**: You must manually renew the GA instance.'."\n" + .'* **NotRenewal**: The GA instance is not renewed after the instance expires. The system sends only a non-renewal reminder three days before the expiration date. The system no longer reminds you to renew the GA instance. To renew a GA instance whose RenewalStatus is set to NotRenewal, change the value of RenewalStatus from NotRenewal to **Normal**, and then manually renew the instance. You can also set RenewalStatus to **AutoRenewal**.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* **AutoRenew** and **RenewalStatus** cannot be left empty at the same time.'."\n" + ."\n" + .'* **RenewalStatus** takes precedence over **AutoRenew**. By default, if you do not specify **RenewalStatus**, **AutoRenew** is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'AutoRenewDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The auto-renewal duration. Unit: month.'."\n" + ."\n" + .'Valid values: **1** to **12**.'."\n" + ."\n" + .'> This parameter takes effect only if you set **AutoRenew** to **true**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateAcceleratorAutoRenewAttributeResponse>\\n <RequestId>F591955F-5CB5-4CCE-A75D-17CF2085CE22</RequestId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n</UpdateAcceleratorAutoRenewAttributeResponse>","errorExample":""}]', + 'title' => 'UpdateAcceleratorAutoRenewAttribute', + 'summary' => 'Modifies the auto-renewal settings of a Global Accelerator (GA) instance.', + 'description' => 'You cannot repeatedly call the **UpdateAcceleratorAutoRenewAttribute** operation for the same GA instance within a specific period of time.'."\n", + ], + 'CreateIpSets' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1yeeq8yfoyszmqy****', + ], + ], + [ + 'name' => 'AccelerateRegion', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the acceleration regions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the acceleration regions.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccelerateRegionId' => [ + 'description' => 'The ID of the acceleration region.'."\n" + ."\n" + .'The number of regions that you can add varies based on the specification of the GA instance. For more information, see [Overview](~~153127~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-huhehaote', + ], + 'IpVersion' => [ + 'description' => 'The IP version used to connect to the GA instance. Valid values:'."\n" + ."\n" + .'* **IPv4** (default)'."\n" + .'* **IPv6**'."\n" + .'* **DUAL_STACK**: IPv4 and IPv6'."\n" + ."\n" + .'> Only pay-as-you-go standard GA instances support DUAL_STACK.', + 'type' => 'string', + 'required' => false, + 'example' => 'IPv6', + ], + 'Bandwidth' => [ + 'description' => 'The bandwidth that you want to allocate to the acceleration region. Unit: **Mbit/s**.'."\n" + ."\n" + .'>* This parameter is required.'."\n" + .'>* You must allocate at least 2 Mbit/s of bandwidth to each acceleration region.'."\n" + .'>* The total bandwidth of all acceleration regions cannot exceed the bandwidth limit of your basic bandwidth plan.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + 'IspType' => [ + 'description' => 'The line type of the elastic IP address (EIP) in the acceleration region. Valid values:'."\n" + ."\n" + .'* **BGP**: BGP (Multi-ISP) lines.'."\n" + .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines'."\n" + ."\n" + .'> * This parameter is required only if the bandwidth metering method of the GA instance is **pay-by-data transfer**.'."\n" + .'>* Different acceleration regions support different line types of EIPs.', + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', + ], + 'IpSets' => [ + 'description' => 'The details about the acceleration regions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the acceleration regions.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccelerateRegionId' => [ + 'description' => 'The acceleration region ID.'."\n", + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + 'Bandwidth' => [ + 'description' => 'The bandwidth allocated to the acceleration region. Unit: **Mbit/s**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'IpSetId' => [ + 'description' => 'The acceleration region ID.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + 'IspType' => [ + 'description' => 'The line type of the EIP in the acceleration region.'."\n", + 'type' => 'string', + 'example' => 'BGP', + ], + ], + ], + ], + 'AcceleratorId' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1yeeq8yfoyszmq****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Domain.NotFit', + 'errorMessage' => 'The domain is not fit the rule', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'RegionRepeat.IpSet', + 'errorMessage' => 'An accelerator can only have one IpSet in one region. accelerator = %s, region = %s', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1F4B6A4A-C89E-489E-BAF1-52777EE148EF\\",\\n \\"IpSets\\": [\\n {\\n \\"AccelerateRegionId\\": \\"cn-qingdao\\",\\n \\"Bandwidth\\": 2,\\n \\"IpSetId\\": \\"ips-bp11r5jb8ogp122xl****\\",\\n \\"IspType\\": \\"BGP\\"\\n }\\n ],\\n \\"AcceleratorId\\": \\"ga-bp1yeeq8yfoyszmq****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateIpSetsResponse>\\n <RequestId>1F4B6A4A-C89E-489E-BAF1-52777EE148EF</RequestId>\\n <IpSets>\\n <AccelerateRegionId>cn-qingdao</AccelerateRegionId>\\n <Bandwidth>2</Bandwidth>\\n <IpSetId>ips-bp11r5jb8ogp122xl****</IpSetId>\\n <IspType>BGP</IspType>\\n </IpSets>\\n <AcceleratorId>ga-bp1yeeq8yfoyszmq****</AcceleratorId>\\n</CreateIpSetsResponse>","errorExample":""}]', + 'title' => 'CreateIpSets', + 'summary' => 'Creates acceleration regions.', + 'description' => '* **CreateIpSets** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeIpSet](~~153246~~) operation to query the status of the task.'."\n" + ."\n" + .' * If acceleration regions are in the **init** state, it indicates that the acceleration regions are being created. In this case, you can perform only query operations.'."\n" + .' * If acceleration regions are in the **active** state, it indicates that the acceleration regions are created.'."\n" + ."\n" + .'* You cannot call the **CreateIpSets** operation again on the same GA instance before the previous operation is completed.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeIpSet' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8877', + 'abilityTreeNodes' => [ + 'FEATUREgaC1Y0Y9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IpSetId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the acceleration region.'."\n" + ."\n" + .'You can call the [ListIpSets](~~2253273~~) operation to query the IDs of acceleration regions of a specific GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11ilwqjdkjeg9r7****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'IpSetId' => [ + 'description' => 'The ID of the acceleration region.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11ilwqjdkjeg9r7****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB', + ], + 'IpVersion' => [ + 'description' => 'The IP version. Valid values:'."\n" + ."\n" + .'* **IPv4**'."\n" + .'* **IPv6**'."\n" + .'* **DUAL_STACK**'."\n", + 'type' => 'string', + 'example' => 'IPv4', + ], + 'State' => [ + 'description' => 'The status of the acceleration region. Valid values:'."\n" + ."\n" + .'* **init**: The acceleration region is being initialized.'."\n" + .'* **active**: The acceleration region is in the running state.'."\n" + .'* **updating**: The acceleration region is being configured.'."\n" + .'* **deleting**: The GA instance is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'Bandwidth' => [ + 'description' => 'The bandwidth that is allocated to the acceleration region. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'IspType' => [ + 'description' => 'The line type of the elastic IP address (EIP) in the acceleration region. Valid values:'."\n" + ."\n" + .'* **BGP**: BGP (Multi-ISP) lines. This is the default value.'."\n" + .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines.'."\n", + 'type' => 'string', + 'example' => 'BGP', + ], + 'IpAddressList' => [ + 'description' => 'The list of accelerated IP addresses in the acceleration region.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of accelerated IP addresses in the acceleration region.', + 'type' => 'string', + 'example' => '121.43.XX.XX', + ], + ], + 'AccelerateRegionId' => [ + 'description' => 'The ID of the acceleration region.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1yeeq8yfoyszmqy****', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the instance.'."\n" + ."\n" + .'> This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + ."\n" + .'> * This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n" + .'>* Users can perform only specific actions on a managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener.'."\n" + .'* **IpSet**: acceleration region.'."\n" + .'* **EndpointGroup**: endpoint group.'."\n" + .'* **ForwardingRule**: forwarding rule.'."\n" + .'* **Endpoint**: endpoint.'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter takes effect only if **Action** is set to **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed.'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the actions on the managed instance.', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"IpSetId\\": \\"ips-bp11ilwqjdkjeg9r7****\\",\\n \\"RequestId\\": \\"6D2BFF54-6AF2-4679-88C4-2F2E187F16CB\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"State\\": \\"active\\",\\n \\"Bandwidth\\": 3,\\n \\"IspType\\": \\"BGP\\",\\n \\"IpAddressList\\": [\\n \\"121.43.XX.XX\\"\\n ],\\n \\"AccelerateRegionId\\": \\"cn-hangzhou\\",\\n \\"AcceleratorId\\": \\"ga-bp1yeeq8yfoyszmqy****\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeIpSetResponse>\\n <IpSetId>ips-bp11ilwqjdkjeg9r7****</IpSetId>\\n <RequestId>6D2BFF54-6AF2-4679-88C4-2F2E187F16CB</RequestId>\\n <IpVersion>IPv4</IpVersion>\\n <State>active</State>\\n <Bandwidth>3</Bandwidth>\\n <IspType>BGP</IspType>\\n <IpAddressList>121.43.XX.XX</IpAddressList>\\n <AccelerateRegionId>cn-hangzhou</AccelerateRegionId>\\n <AcceleratorId>ga-bp1yeeq8yfoyszmqy****</AcceleratorId>\\n</DescribeIpSetResponse>","errorExample":""}]', + 'title' => 'DescribeIpSet', + 'summary' => 'Queries information about an acceleration region.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListIpSets' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8889', + 'abilityTreeNodes' => [ + 'FEATUREgaC1Y0Y9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **100**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1yeeq8yfoyszmqy****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'A9B4E54C-9CCD-4002-91A9-D38C6C209192', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'IpSets' => [ + 'description' => 'The acceleration regions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the acceleration regions.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccelerateRegionId' => [ + 'description' => 'The ID of the acceleration region.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'IpVersion' => [ + 'description' => 'The IP version. Valid values:'."\n" + ."\n" + .'* **IPv4**'."\n" + .'* **IPv6**'."\n" + .'* **DUAL_STACK**'."\n", + 'type' => 'string', + 'example' => 'IPv4', + ], + 'Bandwidth' => [ + 'description' => 'The bandwidth that is allocated to the acceleration region. Unit: **Mbit/s**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'IspType' => [ + 'description' => 'The line type of the elastic IP address (EIP) in the acceleration region. Valid values:'."\n" + ."\n" + .'* **BGP**: BGP (Multi-ISP) lines. This is the default value.'."\n" + .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines.'."\n", + 'type' => 'string', + 'example' => 'BGP', + ], + 'State' => [ + 'description' => 'The status of the acceleration region. Valid values:'."\n" + ."\n" + .'* **init:** The acceleration region is being initialized.'."\n" + .'* **active:** The acceleration region is in the running state.'."\n" + .'* **updating:** The acceleration region is being configured.'."\n" + .'* **deleting:** The acceleration region is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'IpSetId' => [ + 'description' => 'The ID of the acceleration region.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + 'IpAddressList' => [ + 'description' => 'The accelerated IP addresses.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The accelerated IP address.'."\n", + 'type' => 'string', + 'example' => '121.43..XX.XX', + ], + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the instance.'."\n" + ."\n" + .'> This parameter takes effect only if **ServiceManaged** is set to **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + ."\n" + .'> * This parameter takes effect only if **ServiceManaged** is set to **true**.'."\n" + .'>* Users can perform only specific actions on a managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener.'."\n" + .'* **IpSet**: acceleration region.'."\n" + .'* **EndpointGroup**: endpoint group.'."\n" + .'* **ForwardingRule**: forwarding rule.'."\n" + .'* **Endpoint**: endpoint.'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter takes effect only if **Action** is set to **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed.'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the actions on the managed instance.****'."\n" + .'* **false**: The specified actions are not managed, and users can perform the actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"A9B4E54C-9CCD-4002-91A9-D38C6C209192\\",\\n \\"PageNumber\\": 1,\\n \\"IpSets\\": [\\n {\\n \\"AccelerateRegionId\\": \\"cn-hangzhou\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"Bandwidth\\": 2,\\n \\"IspType\\": \\"BGP\\",\\n \\"State\\": \\"active\\",\\n \\"IpSetId\\": \\"ips-bp11r5jb8ogp122xl****\\",\\n \\"IpAddressList\\": [\\n \\"121.43..XX.XX\\"\\n ],\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListIpSetsResponse>\\n <TotalCount>2</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>A9B4E54C-9CCD-4002-91A9-D38C6C209192</RequestId>\\n <PageNumber>1</PageNumber>\\n <IpSets>\\n <AccelerateRegionId>cn-hangzhou</AccelerateRegionId>\\n <IpVersion>IPv4</IpVersion>\\n <Bandwidth>2</Bandwidth>\\n <State>active</State>\\n <IpSetId>ips-bp11r5jb8ogp122xl****</IpSetId>\\n <IpAddressList>121.43..XX.XX</IpAddressList>\\n </IpSets>\\n</ListIpSetsResponse>","errorExample":""}]', + 'title' => 'ListIpSets', + 'summary' => 'Queries acceleration regions.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateIpSet' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8895', + 'abilityTreeNodes' => [ + 'FEATUREgaC1Y0Y9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '7D2F7E4E-B958-439C-9821-56D6213A31EC', + ], + ], + [ + 'name' => 'IpSetId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the acceleration region that you want to modify.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new bandwidth that you want to allocate to the acceleration region. Unit: Mbit/s.'."\n" + ."\n" + .'You must allocate at least 2 Mbit/s of bandwidth to each acceleration region.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '3', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '7D2F7E4E-B958-439C-9821-56D6213A31EC', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'NotExist.IpSet', + 'errorMessage' => 'The IpSet does not exist.', + ], + [ + 'errorCode' => 'StateError.IpSet', + 'errorMessage' => 'The state of IpSet is invalid.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'GreaterThanGa.IpSetBandwidth', + 'errorMessage' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7D2F7E4E-B958-439C-9821-56D6213A31EC\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateIpSetResponse>\\n <RequestId>7D2F7E4E-B958-439C-9821-56D6213A31EC</RequestId>\\n</UpdateIpSetResponse>","errorExample":""}]', + 'title' => 'UpdateIpSet', + 'summary' => 'Modifies the attributes of an acceleration region in an acceleration area for a Global Accelerator (GA) instance.', + 'description' => '* **UpdateIpSet** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeIpSet](~~153246~~) operation to query the status of an acceleration region.'."\n" + ."\n" + .' * If the acceleration region is in the **updating** state, it indicates that the acceleration region is being modified. In this case, you can continue to perform query operations on the acceleration regions.'."\n" + .' * If the acceleration region is in the **active** state, it indicates that the acceleration region is modified.'."\n" + ."\n" + .'* You cannot call the **UpdateIpSet** operation again on the same GA instance before the previous operation is complete.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateIpSets' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8896', + 'abilityTreeNodes' => [ + 'FEATUREgaC1Y0Y9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IpSets', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The acceleration regions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The acceleration region. You can specify up to 100 acceleration regions.'."\n", + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'description' => 'The new bandwidth that you want to allocate to the acceleration regions. Unit: Mbit/s.'."\n" + ."\n" + .'You must allocate at least 2 Mbit/s of bandwidth to each acceleration region. You can specify the bandwidth for up to 100 acceleration regions.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '4', + ], + 'IpSetId' => [ + 'description' => 'The IDs of the acceleration regions that you want to modify.'."\n" + ."\n" + .'You can specify the IDs of up to 100 acceleration regions.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11c9mpphtb1xkds****', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '685662FF-B1CE-4D5C-A4C8-2FF3C2146BFC', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Repeat.IpSets', + 'errorMessage' => 'The configuration of IpSet is duplicated.', + ], + [ + 'errorCode' => 'NotExist.IpSets', + 'errorMessage' => 'The IpSet does not exist.', + ], + [ + 'errorCode' => 'NotActive.IpSet', + 'errorMessage' => 'The state of IpSet is not active.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'GreaterThanGa.IpSetBandwidth', + 'errorMessage' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"685662FF-B1CE-4D5C-A4C8-2FF3C2146BFC\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateIpSetsResponse>\\n <RequestId>685662FF-B1CE-4D5C-A4C8-2FF3C2146BFC</RequestId>\\n</UpdateIpSetsResponse>","errorExample":""}]', + 'title' => 'UpdateIpSets', + 'summary' => 'Modifies the attributes of acceleration regions in an acceleration area for a Global Accelerator (GA) instance.', + 'description' => '* **UpdateIpSets** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeIpSet](~~153246~~) operation to query the status of the task.'."\n" + ."\n" + .' * If an acceleration region is in the **updating** state, the acceleration region is being modified. In this case, you can perform only query operations.'."\n" + .' * If an acceleration region is in the **active** state, the acceleration region is modified.'."\n" + ."\n" + .'* You cannot repeatedly call the **UpdateIpSets** operation for the same GA instance within a specific period of time.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteIpSet' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7852', + 'abilityTreeNodes' => [ + 'FEATUREgaC1Y0Y9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'DD61839A-5CC5-404B-8C6E-56066F0C432D', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance for which you want to delete an acceleration region.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1yeeq8yfoyszmqy****', + ], + ], + [ + 'name' => 'IpSetId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the acceleration region that you want to delete.'."\n" + ."\n" + .'You can call the [ListIpSets](~~2253273~~) operation to query the IDs of acceleration regions of a specified GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'DD61839A-5CC5-404B-8C6E-56066F0C432D', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'NotExist.IpSet', + 'errorMessage' => 'The IpSet does not exist.', + ], + [ + 'errorCode' => 'StateError.IpSet', + 'errorMessage' => 'The state of IpSet is invalid.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'ExplicitDeny', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DD61839A-5CC5-404B-8C6E-56066F0C432D\\"\\n}","type":"json"}]', + 'title' => 'DeleteIpSet', + 'summary' => 'Deletes an acceleration region.', + 'description' => '* **DeleteIpSet** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeIpSet](~~153246~~) operation to query the status of an acceleration region.'."\n" + ."\n" + .' * If the acceleration region is in the **deleting** state, it indicates that the acceleration region is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the acceleration region cannot be queried, it indicates that the acceleration region is deleted.'."\n" + ."\n" + .'* The **DeleteIpSet** operation holds an exclusive lock on the Global Accelerator (GA) instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteIpSets' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7853', + 'abilityTreeNodes' => [ + 'FEATUREgaC1Y0Y9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IpSetIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the acceleration regions that you want to delete.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the acceleration region that you want to delete.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + 'required' => true, + 'example' => 'ips-bp11c9mpphtb1xkds****', + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'B49B60F6-F6C8-49E5-B06B-E33E3A469A92', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.IpSets', + 'errorMessage' => 'The IpSet does not exist.', + ], + [ + 'errorCode' => 'NotActive.IpSet', + 'errorMessage' => 'The state of IpSet is not active.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B49B60F6-F6C8-49E5-B06B-E33E3A469A92\\"\\n}","type":"json"}]', + 'title' => 'DeleteIpSets', + 'summary' => 'Deletes acceleration regions.', + 'description' => '* **DeleteIpSets** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeIpSet](~~153246~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the acceleration region is in the **deleting** state, the acceleration region is being deleted. In this case, you can perform only query operations.'."\n" + .' * If you cannot query the acceleration region, the acceleration region is deleted.'."\n" + ."\n" + .'* You cannot repeatedly call the **DeleteIpSets** operation for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListAvailableAccelerateAreas' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8883', + 'abilityTreeNodes' => [ + 'FEATUREgaC1Y0Y9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1yeeq8yfoyszmqy****', + ], + ], + [ + 'name' => 'AccessMode', + 'in' => 'query', + 'schema' => [ + 'title' => '加速地域接入类型,取值如下:'."\n" + .'anycast:查询支持的anycast加速地域,空值:查询支持的非anycast加速地域', + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'A9B4E54C-9CCD-4002-91A9-D38C6C209192', + ], + 'Areas' => [ + 'description' => 'The information about acceleration areas.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about acceleration areas.', + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => 'The acceleration area name.'."\n", + 'type' => 'string', + 'example' => 'North China'."\n", + ], + 'AreaId' => [ + 'description' => 'The ID of the acceleration area.'."\n", + 'type' => 'string', + 'example' => 'cn-huabei', + ], + 'RegionList' => [ + 'description' => 'The information about acceleration regions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about acceleration regions.', + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => 'The acceleration region name.'."\n", + 'type' => 'string', + 'example' => 'China (Qingdao)'."\n", + ], + 'RegionId' => [ + 'description' => 'The ID of the acceleration region.'."\n", + 'type' => 'string', + 'example' => 'cn-qingdao', + ], + 'IspTypeList' => [ + 'description' => 'The line type of the elastic IP address (EIP) in the acceleration region. Valid values:'."\n" + ."\n" + .'* **BGP**: BGP (Multi-ISP) lines.'."\n" + .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The line type of the elastic IP address (EIP) in the acceleration region. Valid values:'."\n" + ."\n" + .'* **BGP**: BGP (Multi-ISP) lines.'."\n" + .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines.'."\n", + 'type' => 'string', + 'example' => '[\'BGP_PRO\', \'BGP\']', + ], + ], + 'ChinaMainland' => [ + 'description' => 'Indicates whether the region is in the Chinese mainland. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'SupportIpv6' => [ + 'description' => 'Indicates whether IPv6 is supported. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'MultiAz' => [ + 'description' => 'Indicates whether multiple zones are supported. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A9B4E54C-9CCD-4002-91A9-D38C6C209192\\",\\n \\"Areas\\": [\\n {\\n \\"LocalName\\": \\"China North\\",\\n \\"AreaId\\": \\"cn-huabei\\",\\n \\"RegionList\\": [\\n {\\n \\"LocalName\\": \\"China (Qingdao)\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"IspTypeList\\": [\\n \\"BGP\\"\\n ],\\n \\"ChinaMainland\\": true,\\n \\"SupportIpv6\\": true,\\n \\"MultiAz\\": true\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAvailableAccelerateAreasResponse>\\n <RequestId>A9B4E54C-9CCD-4002-91A9-D38C6C209192</RequestId>\\n <Areas>\\n <LocalName>华北</LocalName>\\n <AreaId>cn-huabei</AreaId>\\n <RegionList>\\n <LocalName>青岛</LocalName>\\n <RegionId>cn-qingdao</RegionId>\\n </RegionList>\\n </Areas>\\n</ListAvailableAccelerateAreasResponse>","errorExample":""}]', + 'title' => 'ListAvailableAccelerateAreas', + 'summary' => 'Queries available acceleration regions.', + ], + 'GetIpsetsBandwidthLimit' => [ + 'summary' => 'Queries the maximum bandwidth of an acceleration area.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance to be queried.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters of the operation.'."\n", + 'type' => 'object', + 'properties' => [ + 'BandwidthLimit' => [ + 'description' => 'The maximum bandwidth of the acceleration area. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'BandwidthAllocationType' => [ + 'description' => 'The type of the bandwidth that is allocated.'."\n" + ."\n" + .'* **ShareBandwidth:** shared bandwidth.'."\n" + .'* **ExclusiveBandwidth:** dedicated bandwidth.'."\n", + 'type' => 'string', + 'example' => 'ShareBandwidth', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"BandwidthLimit\\": 20,\\n \\"BandwidthAllocationType\\": \\"ShareBandwidth\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<GetIpsetsBandwidthLimitResponse>\\n <BandwidthLimit>20</BandwidthLimit>\\n <BandwidthAllocationType>ShareBandwidth</BandwidthAllocationType>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</GetIpsetsBandwidthLimitResponse>","errorExample":""}]', + 'title' => 'GetIpsetsBandwidthLimit', + ], + 'CreateListener' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7848', + 'abilityTreeNodes' => [ + 'FEATUREgaZW5ZHQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** is different for each API request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the listener.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Listener', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the listener.'."\n" + ."\n" + .'The description can be up to 200 characters in length and cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Listener', + ], + ], + [ + 'name' => 'ClientAffinity', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable client affinity for the listener.'."\n" + ."\n" + .'* If this parameter is left empty, client affinity is disabled. After client affinity is disabled, requests from a specific client IP address may be forwarded to different endpoints.'."\n" + .'* To enable client affinity, set this parameter to **SOURCE_IP**. In this case, when a client accesses stateful applications, requests from the same client are forwarded to the same endpoint regardless of the source port or protocol.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SOURCE_IP', + ], + ], + [ + 'name' => 'Protocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'The network transmission protocol that you want to use for the listener. Valid values:'."\n" + ."\n" + .'* **tcp**: TCP'."\n" + .'* **udp**: UDP'."\n" + .'* **http**: HTTP'."\n" + .'* **https**: HTTPS'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'PortRanges', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The listener ports. Valid values: **1** to **65499**. The maximum number of ports that can be configured depends on the routing type and protocol of the listener. For more information, see [Listener overview](~~153216~~).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The listener ports.'."\n" + ."\n" + .'Valid values: **1** to **65499**.'."\n" + ."\n" + .'The maximum number of ports that can be configured varies based on the routing type and protocol of the listener. For more information, see [Listener overview](~~153216~~).'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port of the listener port range that you want to use to receive and forward requests to endpoints.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The value of **FromPort** must be smaller than or equal to the value of **ToPort**.'."\n" + ."\n" + .'The maximum number of ports that can be configured varies based on the routing type and protocol of the listener. For more information, see [Listener overview](~~153216~~).'."\n" + ."\n" + .'> You can configure only one listener port for an HTTP or HTTPS listener. In this case, the first port is the same as the last port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '20', + ], + 'ToPort' => [ + 'description' => 'The last port of the listener port range that you want to use to receive and forward requests to endpoints.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The value of **FromPort** must be smaller than or equal to the value of **ToPort**.'."\n" + ."\n" + .'The maximum number of ports that can be configured varies based on the routing type and protocol of the listener. For more information, see [Listener overview](~~153216~~).'."\n" + ."\n" + .'> You can configure only one listener port for an HTTP or HTTPS listener. In this case, the first port is the same as the last port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '20', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Certificates', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The SSL certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The SSL certificates.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The ID of the SSL certificate.'."\n" + ."\n" + .'> This parameter is required only when you create an HTTPS listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '449****-cn-hangzhou', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'XForwardedForConfig', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The `XForward` headers.'."\n", + 'type' => 'object', + 'properties' => [ + 'XForwardedForGaIdEnabled' => [ + 'description' => 'Specifies whether to use the `GA-ID` header to retrieve the ID of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'XForwardedForGaApEnabled' => [ + 'description' => 'Specifies whether to use the `GA-AP` header to retrieve the information about acceleration regions. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'XForwardedForProtoEnabled' => [ + 'description' => 'Specifies whether to use the `GA-X-Forward-Proto` header to retrieve the listener protocol of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'XForwardedForPortEnabled' => [ + 'description' => 'Specifies whether to use the `GA-X-Forward-Port` header to retrieve the listener ports of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'XRealIpEnabled' => [ + 'description' => 'Specifies whether to use the `X-Real-IP` header to retrieve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'SecurityPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the security policy. Valid values:'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_0**'."\n" + ."\n" + .' * Supported Transport Layer Security (TLS) versions: TLS 1.0, TLS 1.1, and TLS 1.2'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_1**'."\n" + ."\n" + .' * Supported TLS versions: TLS 1.1 and TLS 1.2'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2**'."\n" + ."\n" + .' * Supported TLS version: TLS 1.2'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2\\_strict**'."\n" + ."\n" + .' * Supported TLS version: TLS 1.2'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2\\_strict_with\\_1\\_3**'."\n" + ."\n" + .' * Supported TLS versions: TLS 1.2 and TLS 1.3'."\n" + .' * Supported cipher suites: TLS_AES\\_128\\_GCM_SHA256, TLS_AES\\_256\\_GCM_SHA384, TLS_CHACHA20\\_POLY1305\\_SHA256, TLS_AES\\_128\\_CCM_SHA256, TLS_AES\\_128\\_CCM\\_8\\_SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES128-SHA256, ECDHE-ECDSA-AES256-SHA384, ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-ECDSA-AES128-SHA, ECDHE-ECDSA-AES256-SHA, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tls_cipher_policy_1_0', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The routing type of the listener. Valid values:'."\n" + ."\n" + .'* **Standard** (default): intelligent routing'."\n" + .'* **CustomRouting**: custom routing'."\n" + ."\n" + .'> * Custom routing listeners are in invitational preview. To use custom routing listeners, contact your account manager.'."\n" + .'> * You can create only listeners of the same routing type for a standard GA instance. You cannot change the routing types of listeners. For more information, see [Listener overview](~~153216~~).', + 'type' => 'string', + 'required' => false, + 'example' => 'Standard', + ], + ], + [ + 'name' => 'EndpointGroupConfigurations', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The endpoint groups that are associated with the intelligent routing listener.'."\n" + ."\n" + .'You can configure up to 10 endpoint groups for an intelligent routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group that is associated with the intelligent routing listener.'."\n" + ."\n" + .'You can configure up to 10 endpoint groups for an intelligent routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupName' => [ + 'description' => 'The name of the endpoint group that is associated with the intelligent routing listener.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n" + ."\n" + .'You can enter the names of up to 10 endpoint groups.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'EndpointGroupDescription' => [ + 'description' => 'The description of the endpoint group that is associated with the intelligent routing listener.'."\n" + ."\n" + .'The description can be up to 200 characters in length and cannot contain `http://` or `https://`.'."\n" + ."\n" + .'You can enter the descriptions of up to 10 endpoint groups.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'EndpointGroupRegion' => [ + 'description' => 'The region ID of the endpoint group that is associated with the intelligent routing listener.'."\n" + ."\n" + .'You can enter the IDs of up to 10 regions.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + 'TrafficPercentage' => [ + 'description' => 'The traffic distribution ratio. If an intelligent routing listener is associated with multiple endpoint groups, you can configure this parameter to specify the ratio of traffic distributed to each endpoint group.'."\n" + ."\n" + .'Valid values: **1** to **100**. Default value: **100**.'."\n" + ."\n" + .'You can specify traffic distribution ratios for up to 10 endpoint groups.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '100', + ], + 'HealthCheckEnabled' => [ + 'description' => 'Specifies whether to enable health checks for the endpoint group. Valid values:'."\n" + ."\n" + .'* **true**: enables the health check feature.'."\n" + .'* **false** (default): disables the health check feature.'."\n" + ."\n" + .'You can enable the health check feature for up to 10 endpoint groups.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'HealthCheckIntervalSeconds' => [ + 'description' => 'The interval at which health checks are performed. Unit: seconds.'."\n" + ."\n" + .'You can specify up to 10 health check intervals.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + 'HealthCheckPath' => [ + 'description' => 'The health check path.'."\n" + ."\n" + .'You can specify up to 10 health check paths.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/healthcheck', + ], + 'HealthCheckPort' => [ + 'description' => 'The port that you want to use for health checks. Valid values: **1** to **65535**.'."\n" + ."\n" + .'You can specify up to 10 ports for health checks.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + 'HealthCheckProtocol' => [ + 'description' => 'The protocol over which health check requests are sent. Valid values:'."\n" + ."\n" + .'* **tcp** or **TCP**'."\n" + .'* **http** or **HTTP**'."\n" + .'* **https** or **HTTPS**'."\n" + ."\n" + .'You can specify up to 10 health check protocols.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + 'ThresholdCount' => [ + 'description' => 'The number of failed consecutive health checks that must occur before a healthy endpoint group is considered unhealthy or the number of successful consecutive health checks that must occur before an unhealthy endpoint group is considered healthy. Valid values: **2** to **10**. Default value: **3**.'."\n" + ."\n" + .'You can specify up to 10 values (the number of consecutive health check successes or consecutive health check failures).'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints only if you set **Type** to **Standard**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + 'EndpointConfigurations' => [ + 'description' => 'The endpoints that are associated with the intelligent routing listener.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint that is associated with the intelligent routing listener.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the endpoint that is associated with the intelligent routing listener. Valid values:'."\n" + ."\n" + .'* **Domain**: a custom domain name.'."\n" + .'* **Ip**: a custom IP address.'."\n" + .'* **PublicIp**: a public IP address provided by Alibaba Cloud.'."\n" + .'* **ECS**: an Elastic Compute Service (ECS) instance.'."\n" + .'* **SLB**: a Server Load Balancer (SLB) instance.'."\n" + .'* **ALB**: an Application Load Balancer (ALB) instance.'."\n" + .'* **OSS**: an Object Storage Service (OSS) bucket.'."\n" + .'* **ENI**: an elastic network interface (ENI).'."\n" + .'* **NLB**: a Network Load Balancer (NLB) instance.'."\n" + .'* **IpTarget**: a custom private IP address.'."\n" + ."\n" + .'You can specify up to 100 endpoint types in the endpoint group that is associated with the intelligent routing listener.'."\n" + ."\n" + .'> * If you set **Type** to **Standard**, you can configure the endpoint group and endpoint that are associated with the intelligent routing listener. In addition, this parameter is required.'."\n" + .'>* If you set this parameter to **ECS**, **ENI**, **SLB**, **ALB**, **NLB**, or **IpTarget** and the AliyunServiceRoleForGaVpcEndpoint service-linked role does not exist, the system automatically creates the role.'."\n" + .'>* If you set this parameter to **ALB** and the AliyunServiceRoleForGaAlb service-linked role does not exist, the system automatically creates the role.'."\n" + .'>* If you set this parameter to **OSS** and the AliyunServiceRoleForGaOss service-linked role does not exist, the system automatically creates the role.'."\n" + .'>* If you set this parameter to **NLB** and the AliyunServiceRoleForGaNlb service-linked role does not exist, the system automatically creates the role.'."\n" + .'>>For more information, see [Service-linked roles](~~178360~~).', + 'type' => 'string', + 'required' => false, + 'example' => 'Ip', + ], + 'Weight' => [ + 'description' => 'The weight of the endpoint that is associated with the intelligent routing listener.'."\n" + ."\n" + .'Valid values: **0** to **255**.'."\n" + ."\n" + .'You can specify the weights of up to 100 endpoints for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'> * If you set **Type** to **Standard**, you can configure the endpoint group and endpoint that are associated with the intelligent routing listener. In addition, this parameter is required.'."\n" + .'>* If the weight of an endpoint is set to 0, GA stops distributing network traffic to the endpoint. Proceed with caution.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + 'Endpoint' => [ + 'description' => 'The IP address or domain name of the endpoint that is associated with the intelligent routing listener.'."\n" + ."\n" + .'You can enter the IP addresses or domain names of up to 100 endpoints in an endpoint group that is associated with the intelligent routing listener.'."\n" + ."\n" + .'> If you set **Type** to **Standard**, you can configure endpoint groups and endpoints, and this parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '47.0.XX.XX', + ], + 'SubAddress' => [ + 'description' => 'The private IP address of the ENI.'."\n" + ."\n" + .'> This parameter is available only when you set the endpoint type to **ENI**. If you leave this parameter empty, the primary private IP address of the ENI is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.168.XX.XX', + ], + 'EnableClientIPPreservation' => [ + 'description' => 'Specifies whether to automatically preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> * By default, client IP address preservation is disabled for an endpoint group that is associated with a UDP or TCP listener. You can configure this parameter based on your business requirements.'."\n" + .'>* By default, client IP address preservation is enabled for an endpoint group that is associated with a HTTP or HTTPS listener. Client IP addresses are obtained by using the X-Forwarded-For header. You cannot disable the feature.'."\n" + .'>* EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'>>For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + ], + 'EnableProxyProtocol' => [ + 'description' => 'Specifies whether to use the proxy protocol to preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'>* This parameter is supported only by endpoint groups associated with TCP listeners.'."\n" + .'>* EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'>>For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + ], + 'VpcId' => [ + 'description' => 'The virtual private cloud (VPC) ID.'."\n" + ."\n" + .'You can specify one VPC ID for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'> This parameter is valid and required only if Type is set to **IpTarget**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp13r1kpr2lel****', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of vSwitches that are deployed in the VPC.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch IDs.'."\n" + ."\n" + .'You can specify two vSwitch IDs for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'>* This parameter is valid and required only if Type is set to **IpTarget**.'."\n" + .'>* The vSwitch must belong to the VPC specified by **VpcId**.', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-0jlhcznhw5m7pz2fa****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'EndpointRequestProtocol' => [ + 'description' => 'The backend service protocol of the endpoint that is associated with the intelligent routing listener. Valid values:'."\n" + ."\n" + .'* **HTTP** (default)'."\n" + .'* **HTTPS**'."\n" + ."\n" + .'You can specify up to 10 backend service protocols.'."\n" + ."\n" + .'> * You can configure endpoint groups and endpoints for an intelligent routing listener only if you set **Type** to **Standard**.'."\n" + .'>* You can specify this parameter only for HTTP and HTTPS intelligent routing listeners.'."\n" + .'>* For an HTTP listener, the backend service protocol must be **HTTP**.', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + 'EndpointProtocolVersion' => [ + 'description' => 'The backend service protocol version of the endpoint that is associated with the intelligent routing listener. Valid values:'."\n" + ."\n" + .'* **HTTP1.1** (default)'."\n" + .'* **HTTP2**'."\n" + ."\n" + .'> You can specify this parameter only if EndpointRequestProtocol is set to HTTPS.'."\n", + 'type' => 'string', + 'required' => false, + ], + 'EndpointGroupType' => [ + 'description' => 'The type of the endpoint group associated with the intelligent routing listener. Valid values:'."\n" + ."\n" + .'* **default** (default): a default endpoint group.'."\n" + .'* **virtual**: a virtual endpoint group.'."\n" + ."\n" + .'You can specify up to 10 endpoint group types.'."\n" + ."\n" + .'> * You can configure endpoint groups and endpoints for an intelligent routing listener only if you set **Type** to **Standard**.'."\n" + .'>* Only HTTP and HTTPS intelligent routing listeners support virtual endpoint groups.', + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + 'PortOverrides' => [ + 'description' => 'The port mappings.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port mapping.'."\n", + 'type' => 'object', + 'properties' => [ + 'ListenerPort' => [ + 'description' => 'The listener port that is mapped to the endpoint port.'."\n" + ."\n" + .'You can specify listener ports in up to five port mappings.'."\n" + ."\n" + .'> * You can configure endpoint groups and endpoints for an intelligent routing listener only if you set **Type** to **Standard**.'."\n" + .'>* You cannot configure port mappings for virtual endpoint groups of TCP listeners. If a virtual endpoint group already exists on the listener, you cannot configure port mappings for the default endpoint group. If port mappings are configured for the default endpoint group, you cannot add a virtual endpoint group.'."\n" + .'>* If you configure port mappings for a listener, you cannot modify the listener protocol. You can only switch between HTTP and HTTPS.'."\n" + .'>* Listener port: When you modify the listener port range, make sure that the port range includes the ports configured in port mappings. For example, if you set the listener port range to 80 to 82 and map the listener ports to endpoint ports 100 to 102, you cannot change the listener port range to 80 to 81.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '443', + ], + 'EndpointPort' => [ + 'description' => 'The endpoint port that is mapped to the listener port.'."\n" + ."\n" + .'You can specify endpoint ports in up to five port mappings.'."\n" + ."\n" + .'> * You can configure endpoint groups and endpoints for an intelligent routing listener only if you set **Type** to **Standard**.'."\n" + .'>* You cannot configure port mappings for virtual endpoint groups of TCP listeners. If a virtual endpoint group already exists on the listener, you cannot configure port mappings for the default endpoint group. If port mappings are configured for the default endpoint group, you cannot add a virtual endpoint group.'."\n" + .'>* If you configure port mappings for a listener, you cannot modify the listener protocol. You can only switch between HTTP and HTTPS.'."\n" + .'>* Listener port: When you modify the listener port range, make sure that the port range includes the ports configured in port mappings. For example, if you set the listener port range to 80 to 82 and map the listener ports to endpoint ports 100 to 102, you cannot change the listener port range to 80 to 81.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'HealthCheckHost' => [ + 'type' => 'string', + ], + 'EndpointIpVersion' => [ + 'type' => 'string', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'CustomRoutingEndpointGroupConfigurations', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'The endpoint groups that are associated with the custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'You can configure up to five endpoint groups for a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupRegion' => [ + 'description' => 'The region ID of the endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'You can enter the region IDs of up to five endpoint groups.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + 'Name' => [ + 'description' => 'The name of the endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n" + ."\n" + .'You can specify up to five endpoint group names.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Description' => [ + 'description' => 'The description of the endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'The description can be up to 200 characters in length and cannot contain `http://` or `https://`.'."\n" + ."\n" + .'You can specify up to five endpoint group descriptions.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'DestinationConfigurations' => [ + 'description' => 'The mapping configurations of the endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'You need to specify the port ranges and protocols used by the endpoint group. The ports are mapped to listener ports.'."\n" + ."\n" + .'You can specify up to 20 mapping configurations for an endpoint group of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The mapping configurations of the endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'You need to specify the port ranges and protocols used by the endpoint group. The ports are mapped to listener ports.'."\n" + ."\n" + .'You can specify up to 20 mapping configurations for an endpoint group of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocols' => [ + 'description' => 'The protocol used by the endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'You can specify up to four protocol types for an endpoint group of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The backend service protocol of the endpoint group that is associated with the custom routing listener. Valid values:'."\n" + ."\n" + .'* **TCP**'."\n" + .'* **UDP**'."\n" + .'* **TCP,UDP**'."\n" + ."\n" + .'You can specify up to four protocol types for an endpoint group of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + 'required' => false, + ], + 'FromPort' => [ + 'description' => 'The start port used by the endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The value of **FromPort** must be equal to or smaller than the value of **ToPort**.'."\n" + ."\n" + .'You can specify up to 20 start ports for an endpoint group of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The end port used by the endpoint group that is associated with the custom routing listener.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The value of **FromPort** must be equal to or smaller than the value of **ToPort**.'."\n" + ."\n" + .'You can specify up to 20 end ports for an endpoint group of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'EndpointConfigurations' => [ + 'description' => 'The endpoints that are associated with the custom routing listener.'."\n" + ."\n" + .'You can configure up to 10 endpoints for an endpoint group of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint that is associated with the custom routing listener.'."\n" + ."\n" + .'You can configure up to 10 endpoints for an endpoint group of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The service type of the endpoint that is associated with the custom routing listener. Default value: PrivateSubNet. Set the value to'."\n" + ."\n" + .'**PrivateSubNet**, which specifies a private CIDR block.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PrivateSubNet', + ], + 'Endpoint' => [ + 'description' => 'The name of the vSwitch attached to the endpoint of the custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-test01', + ], + 'TrafficToEndpointPolicy' => [ + 'description' => 'The traffic policy for the endpoint that is associated with the custom routing listener. Default value: DenyAll. Valid values:'."\n" + ."\n" + .'* **DenyAll** (default): denies all traffic to the specified backend service.'."\n" + .'* **AllowAll**: allows all traffic to the specified backend service.'."\n" + .'* **AllowCustom**: allows traffic only to specified destinations in the endpoint. If you set this parameter to AllowCustom, you must specify IP addresses and port ranges as the destinations to which you want to distribute traffic. If you specify only IP addresses and do not specify port ranges, GA can forward traffic to the specified IP addresses over all destination ports.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'DenyAll', + ], + 'PolicyConfigurations' => [ + 'description' => 'The destinations in the endpoint that is associated with the custom routing listener.'."\n" + ."\n" + .'You can specify up to 20 traffic destinations for each endpoint of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The destination in the endpoint that is associated with the custom routing listener.'."\n" + ."\n" + .'You can specify up to 20 traffic destinations for each endpoint of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'object', + 'properties' => [ + 'Address' => [ + 'description' => 'The IP address of the destination.'."\n" + ."\n" + .'This parameter takes effect only if **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify up to 20 destination IP addresses for each endpoint of a custom routing listener.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX', + ], + 'PortRanges' => [ + 'description' => 'The port ranges of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you do not specify this parameter, traffic is forwarded over all ports.'."\n" + ."\n" + .'This parameter takes effect only if **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations in each endpoint of a custom routing listener. You can specify up to five port ranges for each destination.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you do not specify this parameter, traffic is forwarded over all ports.'."\n" + ."\n" + .'This parameter takes effect only if **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations in each endpoint of a custom routing listener. You can specify up to five port ranges for each destination.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The start port of the port range. The value of this parameter must fall within the port range of the backend service.'."\n" + ."\n" + .'This parameter takes effect only if **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations in each endpoint of a custom routing listener. You can specify up to five start ports for each destination.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The end port of the destination port range. The value of this parameter must fall within the port range of the backend service.'."\n" + ."\n" + .'This parameter takes effect only if **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations in each endpoint of a custom routing listener. You can specify up to five end ports for each destination.'."\n" + ."\n" + .'> You can configure endpoint groups and endpoints for a custom routing listener only if **Type** is set to **CustomRouting**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The timeout period of idle connections. Unit: seconds.'."\n" + ."\n" + .'* TCP: 10-900. Default value: 900. Unit: seconds.'."\n" + .'* UDP: 10-20. Default value: 20. Unit: seconds.'."\n" + .'* HTTP/HTTPS: 1-60. Default value: 15. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '900', + ], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The timeout period for HTTP or HTTPS requests. Unit: seconds.'."\n" + ."\n" + .'Valid values: 1 to 180. Default value: 60. Unit: seconds.'."\n" + ."\n" + .'> This parameter takes effect only for HTTP or HTTPS listeners. If the backend server does not respond within the timeout period, GA returns an HTTP 504 error code to the client.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '15', + ], + ], + [ + 'name' => 'HttpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum version of the HTTP protocol. Valid values:'."\n" + ."\n" + .'* **http3**'."\n" + .'* **http2** (default)'."\n" + .'* **http1.1**'."\n" + ."\n" + .'> Only HTTPS listeners support this parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'ProtocalIllegal.Listener', + 'errorMessage' => 'The specified listener protocol is invalid.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.Listener', + 'errorMessage' => 'The maximum number of listeners is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.ListenerPort', + 'errorMessage' => 'The maximum number of listener ports is exceeded.', + ], + [ + 'errorCode' => 'NotExist.ListenerPort', + 'errorMessage' => 'listener port %s is not exist', + ], + [ + 'errorCode' => 'PortRangeIllegal.Listener', + 'errorMessage' => 'The specified listener port range is invalid.', + ], + [ + 'errorCode' => 'PortRangeIllegal.Count', + 'errorMessage' => 'The hugePort listener only supports one port range.', + ], + [ + 'errorCode' => 'PortConflict.Listener', + 'errorMessage' => 'The listener port configuration is in conflict.', + ], + [ + 'errorCode' => 'PortRangeIllegal.ExceedGaAbility', + 'errorMessage' => 'The listener port range is invalid. For each accelerator instance, you can only create a listener with port range over 300 for each protocol (TCP and UDP).', + ], + [ + 'errorCode' => 'PortRangeIllegal.UDP', + 'errorMessage' => 'UDP ports 250, 4789, and 4790 are system reserved ports.', + ], + [ + 'errorCode' => 'SystemPort.Listener', + 'errorMessage' => 'Ports 65500-65535 are system reserved ports.', + ], + [ + 'errorCode' => 'PortRanges.MustOne', + 'errorMessage' => 'The portRanges must be one for HTTPS and HTTP type listener.', + ], + [ + 'errorCode' => 'SecurityPolicyId.NotNeed', + 'errorMessage' => 'No security policy ID is required for the listener.', + ], + [ + 'errorCode' => 'SecurityPolicyIdIllegal.Listener', + 'errorMessage' => 'The listener security policy ID %s is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateListenerResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n</CreateListenerResponse>","errorExample":""}]', + 'title' => 'CreateListener', + 'summary' => 'A listener checks connection requests and distributes the requests to endpoints based on forwarding rules that are defined by the scheduling algorithm. You can call the CreateListener operation to create a listener for a GA instance.', + 'description' => 'When you call this operation, take note of the following items:'."\n" + ."\n" + .'* **CreateListener** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeListener](~~153254~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the listener is in the **init** state, the listener is being created. In this state, you can perform only query operations.'."\n" + .' * If the listener is in the **active** state, the listener is created.'."\n" + ."\n" + .'* You cannot repeatedly call the **CreateListener** operation for the same GA instance within the specified period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeListener' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8878', + 'abilityTreeNodes' => [ + 'FEATUREgaZW5ZHQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener that you want to query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => 'The description of the listener.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', + ], + 'State' => [ + 'description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'* **configuring**: The listener is being configured.'."\n" + .'* **init**: The listener is being initialized.'."\n" + .'* **updating**: The listener is being updated.'."\n" + .'* **deleting:** The listener is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'CreateTime' => [ + 'description' => 'The time when the listener was created. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. Unit: milliseconds.'."\n", + 'type' => 'string', + 'example' => '1577786252000', + ], + 'PortRanges' => [ + 'description' => 'The information about the listener ports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the listener ports.', + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port in the range of listener ports that are used to receive and forward requests to endpoints.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'ToPort' => [ + 'description' => 'The last port in the range of listener ports that are used to receive and forward requests to endpoints.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + 'BackendPorts' => [ + 'description' => 'The information about the backend ports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the backend ports.', + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port in the range of ports that are used by the backend server to receive requests.'."\n" + ."\n" + .'This parameter is returned only if an HTTPS listener is configured and the listener port is the same as the service port of the backend server.'."\n", + 'type' => 'string', + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port in the range of ports that are used by the backend server to receive requests.'."\n", + 'type' => 'string', + 'example' => '80', + ], + ], + ], + ], + 'Certificates' => [ + 'description' => 'The SSL certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The SSL certificates.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the SSL certificate.'."\n" + ."\n" + .'Only **Server** may be returned, which indicates a server certificate.'."\n", + 'type' => 'string', + 'example' => 'Server', + ], + 'Id' => [ + 'description' => 'The ID of the SSL certificate.'."\n", + 'type' => 'string', + 'example' => '449****-cn-hangzhou', + ], + ], + ], + ], + 'Protocol' => [ + 'description' => 'The network transmission protocol that is used by the listener. Valid values:'."\n" + ."\n" + .'* **tcp**: TCP.'."\n" + .'* **udp**: UDP.'."\n" + .'* **http**: HTTP.'."\n" + .'* **https**: HTTPS.'."\n", + 'type' => 'string', + 'example' => 'tcp', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'ClientAffinity' => [ + 'description' => 'Indicates whether client affinity is enabled for the listener.'."\n" + ."\n" + .'* If **NONE** is returned, client affinity is disabled. Requests from the same client may be forwarded to different endpoints.'."\n" + .'* If **SOURCE_IP** is returned, client affinity is enabled. When a client accesses stateful applications, requests from the same client are forwarded to the same endpoint regardless of the source port or protocol.'."\n", + 'type' => 'string', + 'example' => 'SOURCE_IP', + ], + 'Name' => [ + 'description' => 'The name of the listener.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'RelatedAcls' => [ + 'description' => 'The information about the access control list (ACL) that is associated with the listener.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AclId' => [ + 'description' => 'The ID of the ACL that is associated with the listener.'."\n", + 'type' => 'string', + 'example' => '123', + ], + 'Status' => [ + 'description' => 'Indicates whether the access control feature is enabled. Valid values:'."\n" + ."\n" + .'* **on**: enabled.'."\n" + .'* **off**: disabled.'."\n", + 'type' => 'string', + 'example' => 'off', + ], + ], + ], + ], + 'AclType' => [ + 'description' => 'The type of the ACL. Valid values:'."\n" + ."\n" + .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the ACL are forwarded. Whitelists are suitable for scenarios in which you want to allow only specific IP addresses to access an application. If a whitelist is improperly configured, risks may arise. After a whitelist is configured for a listener, only requests from the IP addresses that are added to the whitelist are distributed by the listener. If the whitelist is enabled but no IP addresses are added to the ACL, the listener does not forward requests.'."\n" + .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the ACL are blocked. Blacklists are suitable for scenarios in which you want to deny access from specific IP addresses to an application. If the blacklist is enabled but no IP addresses are added to the ACL, the listener forwards all requests.'."\n" + ."\n" + .'This parameter is returned only if the value of **Status** is **on**.'."\n", + 'type' => 'string', + 'example' => 'white', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ProxyProtocol' => [ + 'description' => 'Indicates whether the client IP address preservation feature is enabled. Valid values:'."\n" + ."\n" + .'* **true** You can view the source IP addresses of clients over the backend service.'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + 'deprecated' => true, + ], + 'XForwardedForConfig' => [ + 'description' => 'The configurations of the `XForward` headers.'."\n", + 'type' => 'object', + 'properties' => [ + 'XForwardedForGaIdEnabled' => [ + 'description' => 'Indicates whether the `GA-ID` header is used to retrieve the ID of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'XForwardedForGaApEnabled' => [ + 'description' => 'Indicates whether the `GA-AP` header is used to retrieve information about acceleration regions. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'XForwardedForProtoEnabled' => [ + 'description' => 'Indicates whether the `GA-X-Forward-Proto` header is used to retrieve the listener protocol of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'XForwardedForPortEnabled' => [ + 'description' => 'Indicates whether the `GA-X-Forward-Port` header is used to retrieve the listener ports of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'XRealIpEnabled' => [ + 'description' => 'Indicates whether the `X-Real-IP` header is used to retrieve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'SecurityPolicyId' => [ + 'description' => 'The ID of the security policy.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_0**'."\n" + ."\n" + .' * Supported Transport Layer Security (TLS) versions: TLS 1.0, TLS 1.1, and TLS 1.2.'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_1**'."\n" + ."\n" + .' * Supported TLS versions: TLS 1.1 and TLS 1.2.'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2**'."\n" + ."\n" + .' * Supported TLS version: TLS 1.2.'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2\\_strict**'."\n" + ."\n" + .' * Supported TLS version: TLS 1.2.'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2\\_strict_with\\_1\\_3**'."\n" + ."\n" + .' * Supported TLS versions: TLS 1.2 and TLS 1.3.'."\n" + .' * Supported cipher suites: TLS_AES\\_128\\_GCM_SHA256, TLS_AES\\_256\\_GCM_SHA384, TLS_CHACHA20\\_POLY1305\\_SHA256, TLS_AES\\_128\\_CCM_SHA256, TLS_AES\\_128\\_CCM\\_8\\_SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES128-SHA256, ECDHE-ECDSA-AES256-SHA384, ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-ECDSA-AES128-SHA, ECDHE-ECDSA-AES256-SHA, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA.'."\n" + ."\n" + .'> This parameter is returned only for HTTPS listeners.'."\n", + 'type' => 'string', + 'example' => 'tls_cipher_policy_1_0', + ], + 'Type' => [ + 'description' => 'The routing type of the listener. Valid values:'."\n" + ."\n" + .'* **Standard**: intelligent routing.'."\n" + .'* **CustomRouting**: custom routing.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the instance.'."\n" + ."\n" + .'> This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + .'>* This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n" + .'>* Users can perform only specific actions on a managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: a listener.'."\n" + .'* **IpSet**: an acceleration region.'."\n" + .'* **EndpointGroup**: an endpoint group.'."\n" + .'* **ForwardingRule**: a forwarding rule.'."\n" + .'* **Endpoint**: an endpoint.'."\n" + .'* **EndpointGroupDestination**: a protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: a traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter is returned only if the value of **Action** is **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed.'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + 'IdleTimeout' => [ + 'description' => 'The timeout period of idle connections. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '900', + ], + 'RequestTimeout' => [ + 'description' => 'The timeout period of HTTP or HTTPS requests. Unit: seconds.'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners. If no responses are received from the backend server within the specified timeout period, GA returns the HTTP 504 error code to the client.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + 'HttpVersion' => [ + 'description' => 'The maximum version of the HTTP protocol. Valid values:'."\n" + ."\n" + .'* **http3**'."\n" + .'* **http2**'."\n" + .'* **http1.1**'."\n" + ."\n" + .'> This parameter is returned only for HTTPS listeners.'."\n", + 'type' => 'string', + 'example' => 'http2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'listener %s is not exist', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Description\\": \\"Listener\\",\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\",\\n \\"State\\": \\"active\\",\\n \\"CreateTime\\": \\"1577786252000\\",\\n \\"PortRanges\\": [\\n {\\n \\"FromPort\\": 20,\\n \\"ToPort\\": 20\\n }\\n ],\\n \\"BackendPorts\\": [\\n {\\n \\"FromPort\\": \\"80\\",\\n \\"ToPort\\": \\"80\\"\\n }\\n ],\\n \\"Certificates\\": [\\n {\\n \\"Type\\": \\"Server\\",\\n \\"Id\\": \\"449****-cn-hangzhou\\"\\n }\\n ],\\n \\"Protocol\\": \\"TCP\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"ClientAffinity\\": \\"SOURCE_IP\\",\\n \\"Name\\": \\"Listener\\",\\n \\"RelatedAcls\\": [\\n {\\n \\"AclId\\": \\"123\\",\\n \\"Status\\": \\"Associated\\"\\n }\\n ],\\n \\"AclType\\": \\"white\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ProxyProtocol\\": false,\\n \\"XForwardedForConfig\\": {\\n \\"XForwardedForGaIdEnabled\\": false,\\n \\"XForwardedForGaApEnabled\\": false,\\n \\"XForwardedForProtoEnabled\\": false,\\n \\"XForwardedForPortEnabled\\": false,\\n \\"XRealIpEnabled\\": false\\n },\\n \\"SecurityPolicyId\\": \\"tls_cipher_policy_1_0\\",\\n \\"Type\\": \\"Standard\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ],\\n \\"IdleTimeout\\": 900,\\n \\"RequestTimeout\\": 60,\\n \\"HttpVersion\\": \\"http2\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeListenerResponse>\\n <Description>Listener</Description>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8\\t</RequestId>\\n <State>active</State>\\n <CreateTime>1577786252000</CreateTime>\\n <PortRanges>\\n <FromPort>20</FromPort>\\n <ToPort>20</ToPort>\\n </PortRanges>\\n <BackendPorts>\\n <FromPort>80</FromPort>\\n <ToPort>80</ToPort>\\n </BackendPorts>\\n <Certificates>\\n <Type>Server</Type>\\n <Id>449****-cn-hangzhou</Id>\\n </Certificates>\\n <Protocol>TCP</Protocol>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <ClientAffinity>SOURCE_IP</ClientAffinity>\\n <Name>Listener</Name>\\n <RelatedAcls>\\n <AclId>123</AclId>\\n <Status>off</Status>\\n </RelatedAcls>\\n <AclType>white</AclType>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ProxyProtocol>false</ProxyProtocol>\\n <XForwardedForConfig>\\n <XForwardedForGaIdEnabled>false</XForwardedForGaIdEnabled>\\n <XForwardedForGaApEnabled>false</XForwardedForGaApEnabled>\\n <XForwardedForProtoEnabled>false</XForwardedForProtoEnabled>\\n <XForwardedForPortEnabled>false</XForwardedForPortEnabled>\\n <XRealIpEnabled>false</XRealIpEnabled>\\n </XForwardedForConfig>\\n <SecurityPolicyId>tls_cipher_policy_1_0</SecurityPolicyId>\\n <Type>Standard</Type>\\n</DescribeListenerResponse>","errorExample":""}]', + 'title' => 'DescribeListener', + 'summary' => 'Queries configuration information about a listener of a Global Accelerator (GA) instance.', + 'description' => 'This operation is used to query configuration information about a listener of a GA instance. The information includes the routing type of the listener, the status of the listener, the timestamp that indicates when the listener was created, and the listener ports.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListListeners' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8890', + 'abilityTreeNodes' => [ + 'FEATUREgaZW5ZHQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: 1 to **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'Protocol', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Listeners' => [ + 'description' => 'The information about the listeners.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the listeners.', + 'type' => 'object', + 'properties' => [ + 'Certificates' => [ + 'description' => 'The information about the SSL certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the SSL certificates.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the SSL certificate.'."\n" + ."\n" + .'Only **Server** may be returned, which indicates a server certificate.'."\n", + 'type' => 'string', + 'example' => 'Server', + ], + 'Id' => [ + 'description' => 'The ID of the SSL certificate.'."\n", + 'type' => 'string', + 'example' => '44983xxxx-cn-hangzhou', + ], + ], + ], + ], + 'BackendPorts' => [ + 'description' => 'The range of ports that are used by backend servers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the ports that can be used by the backend server.', + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port in the range of ports that are used by backend servers.'."\n", + 'type' => 'string', + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port in the range of ports that are used by backend servers.'."\n", + 'type' => 'string', + 'example' => '80', + ], + ], + ], + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'Description' => [ + 'description' => 'The description of the listener.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'State' => [ + 'description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'* **active**'."\n" + .'* **init**'."\n" + .'* **updating**'."\n" + .'* **deleting**'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'ClientAffinity' => [ + 'description' => 'Indicates whether client affinity is enabled for the listener.'."\n" + ."\n" + .'* If **NONE** is returned, client affinity is disabled. When client affinity is disabled, requests from the same client may be forwarded to different endpoints.'."\n" + .'* If **SOURCE_IP** is returned, client affinity is enabled. When a client accesses stateful applications, requests from the same client are forwarded to the same endpoint regardless of the source port or protocol.'."\n", + 'type' => 'string', + 'example' => 'SOURCE_IP', + ], + 'Protocol' => [ + 'description' => 'The network transmission protocol that is used by the listener. Valid values:'."\n" + ."\n" + .'* **tcp**'."\n" + .'* **udp**'."\n" + .'* **http**'."\n" + .'* **https**'."\n", + 'type' => 'string', + 'example' => 'tcp', + ], + 'CreateTime' => [ + 'description' => 'The timestamp that indicates when the listener was created. Unit: milliseconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1577786252000', + ], + 'PortRanges' => [ + 'description' => 'The information about the listener ports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the listener ports.', + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port in the listener port range that is used to receive and forward requests to endpoints.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'ToPort' => [ + 'description' => 'The last port in the listener port range that is used to receive and forward requests to endpoints.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + 'Name' => [ + 'description' => 'The name of the listener.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'ProxyProtocol' => [ + 'description' => 'Indicates whether client IP address preservation is enabled. Valid values:'."\n" + ."\n" + .'* **true**: Client IP address preservation is enabled. This feature allows you to view client IP addresses on backend servers.'."\n" + .'* **false**: Client IP address preservation is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'deprecated' => true, + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'XForwardedForConfig' => [ + 'description' => 'The configurations of the `XForward` headers.'."\n", + 'type' => 'object', + 'properties' => [ + 'XForwardedForGaIdEnabled' => [ + 'description' => 'Indicates whether the `GA-ID` header is used to retrieve the ID of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'XRealIpEnabled' => [ + 'description' => 'Indicates whether the `X-Real-IP` header is used to retrieve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'XForwardedForGaApEnabled' => [ + 'description' => 'Indicates whether the `GA-AP` header is used to retrieve the information about acceleration regions. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'XForwardedForProtoEnabled' => [ + 'description' => 'Indicates whether the `GA-X-Forward-Proto` header is used to retrieve the listener protocol of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'XForwardedForPortEnabled' => [ + 'description' => 'Indicates whether the `GA-X-Forward-Port` header is used to retrieve the listener ports of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'SecurityPolicyId' => [ + 'description' => 'The ID of the security policy.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_0**'."\n" + ."\n" + .' * Supported Transport Layer Security (TLS) versions: TLS 1.0, TLS 1.1, and TLS 1.2.'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_1**'."\n" + ."\n" + .' * Supported TLS versions: TLS 1.1 and TLS 1.2.'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2**'."\n" + ."\n" + .' * Supported TLS version: TLS 1.2.'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2\\_strict**'."\n" + ."\n" + .' * Supported TLS version: TLS 1.2.'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA.'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2\\_strict_with\\_1\\_3**'."\n" + ."\n" + .' * Supported TLS versions: TLS 1.2 and TLS 1.3.'."\n" + .' * Supported cipher suites: TLS_AES\\_128\\_GCM_SHA256, TLS_AES\\_256\\_GCM_SHA384, TLS_CHACHA20\\_POLY1305\\_SHA256, TLS_AES\\_128\\_CCM_SHA256, TLS_AES\\_128\\_CCM\\_8\\_SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES128-SHA256, ECDHE-ECDSA-AES256-SHA384, ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-ECDSA-AES128-SHA, ECDHE-ECDSA-AES256-SHA, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA.'."\n" + ."\n" + .'> This parameter is returned only for HTTPS listeners.'."\n", + 'type' => 'string', + 'example' => 'tls_cipher_policy_1_0', + ], + 'Type' => [ + 'description' => 'The routing type of the listener. Valid values:'."\n" + ."\n" + .'* **Standard**: intelligent routing.'."\n" + .'* **CustomRouting**: custom routing.'."\n", + 'type' => 'string', + 'example' => 'Standard', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the instance.'."\n" + ."\n" + .'> This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + .'> * This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n" + .'> * Users can perform only specific actions on a managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener.'."\n" + .'* **IpSet**: acceleration region.'."\n" + .'* **EndpointGroup**: endpoint group.'."\n" + .'* **ForwardingRule**: forwarding rule.'."\n" + .'* **Endpoint**: endpoint.'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter takes effect only if the value of **Action** is **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed.'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + 'IdleTimeout' => [ + 'description' => 'The timeout period of idle connections. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '900', + ], + 'RequestTimeout' => [ + 'description' => 'The timeout period of HTTP or HTTPS requests. Unit: seconds.'."\n" + ."\n" + .'> This parameter is returned only for HTTP and HTTPS listeners. If no responses are received from the backend server within the timeout period, GA returns an HTTP 504 error code to the client.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + ], + 'HttpVersion' => [ + 'description' => 'The maximum version of the HTTP protocol. Valid values:'."\n" + ."\n" + .'* **http3**'."\n" + .'* **http2**'."\n" + .'* **http1.1**'."\n" + ."\n" + .'> This parameter is returned only for HTTPS listeners.'."\n", + 'type' => 'string', + 'example' => 'http2', + ], + ], + ], + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"Listeners\\": [\\n {\\n \\"Certificates\\": [\\n {\\n \\"Type\\": \\"Server\\",\\n \\"Id\\": \\"44983xxxx-cn-hangzhou\\"\\n }\\n ],\\n \\"BackendPorts\\": [\\n {\\n \\"FromPort\\": \\"80\\",\\n \\"ToPort\\": \\"80\\"\\n }\\n ],\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"Description\\": \\"Listener\\",\\n \\"State\\": \\"active\\",\\n \\"ClientAffinity\\": \\"SOURCE_IP\\",\\n \\"Protocol\\": \\"TCP\\",\\n \\"CreateTime\\": 1577786252000,\\n \\"PortRanges\\": [\\n {\\n \\"FromPort\\": 20,\\n \\"ToPort\\": 20\\n }\\n ],\\n \\"Name\\": \\"Listener\\",\\n \\"ProxyProtocol\\": true,\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"XForwardedForConfig\\": {\\n \\"XForwardedForGaIdEnabled\\": false,\\n \\"XRealIpEnabled\\": false,\\n \\"XForwardedForGaApEnabled\\": false,\\n \\"XForwardedForProtoEnabled\\": false,\\n \\"XForwardedForPortEnabled\\": false\\n },\\n \\"SecurityPolicyId\\": \\"tls_cipher_policy_1_0\\",\\n \\"Type\\": \\"Standard\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ],\\n \\"IdleTimeout\\": 900,\\n \\"RequestTimeout\\": 60,\\n \\"HttpVersion\\": \\"http2\\"\\n }\\n ],\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"<ListListenersResponse>\\n <TotalCount>1</TotalCount>\\n <Listeners>\\n <Certificates>\\n <Type>Server</Type>\\n <Id>44983xxxx-cn-hangzhou</Id>\\n </Certificates>\\n <BackendPorts>\\n <FromPort>80</FromPort>\\n <ToPort>80</ToPort>\\n </BackendPorts>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <Description>Listener</Description>\\n <State>active</State>\\n <ClientAffinity>SOURCE_IP</ClientAffinity>\\n <Protocol>TCP</Protocol>\\n <CreateTime>1577786252000</CreateTime>\\n <PortRanges>\\n <FromPort>20</FromPort>\\n <ToPort>20</ToPort>\\n </PortRanges>\\n <Name>Listener</Name>\\n <ProxyProtocol>true</ProxyProtocol>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <XForwardedForConfig>\\n <XForwardedForGaIdEnabled>false</XForwardedForGaIdEnabled>\\n <XRealIpEnabled>false</XRealIpEnabled>\\n <XForwardedForGaApEnabled>false</XForwardedForGaApEnabled>\\n <XForwardedForProtoEnabled>false</XForwardedForProtoEnabled>\\n <XForwardedForPortEnabled>false</XForwardedForPortEnabled>\\n </XForwardedForConfig>\\n <SecurityPolicyId>tls_cipher_policy_1_0</SecurityPolicyId>\\n </Listeners>\\n <PageSize>10</PageSize>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <PageNumber>1</PageNumber>\\n</ListListenersResponse>","errorExample":""}]', + 'title' => 'ListListeners', + 'summary' => 'Queries the listeners of a Global Accelerator (GA) instance.', + 'description' => 'This operation is used to query information about the listeners of a GA instance, including the status of each listener, the timestamp that indicates when each listener was created, and the listener ports.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateListener' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8897', + 'abilityTreeNodes' => [ + 'FEATUREgaZW5ZHQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the listener.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Listener', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the listener.'."\n" + ."\n" + .'The description can be up to 200 characters in length and cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Listener', + ], + ], + [ + 'name' => 'ClientAffinity', + 'in' => 'query', + 'schema' => [ + 'description' => 'Indicates whether client affinity is enabled for the listener. Valid values:'."\n" + ."\n" + .'* **NONE**: Client affinity is disabled. Requests from the same client may be forwarded to different endpoints.'."\n" + .'* **SOURCE_IP**: Client affinity is enabled. When a client accesses stateful applications, requests from the same client are forwarded to the same endpoint regardless of the source port or protocol.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SOURCE_IP', + ], + ], + [ + 'name' => 'Protocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'The network transmission protocol that is used by the listener. Valid values:'."\n" + ."\n" + .'* **tcp**: TCP'."\n" + .'* **udp**: UDP'."\n" + .'* **http**: HTTP'."\n" + .'* **https**: HTTPS'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'ProxyProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to preserve source IP addresses of clients.'."\n" + ."\n" + .'* **true** This feature allows you to view client IP addresses on backend servers.'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> This parameter will be discontinued in the API operations that are used to configure listeners. We recommend that you set this parameter when you call API operations to configure endpoint groups. For more information about the **ProxyProtocol** parameter, see [CreateEndpointGroup](~~153259~~) and [UpdateEndpointGroup](~~153262~~).'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PortRanges', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The listener ports that are used to receive requests and forward the requests to endpoints.'."\n" + ."\n" + .'Valid values: **1** to **65499**.'."\n" + ."\n" + .'The maximum number of ports that can be configured varies based on the routing type and protocol of the listener. For more information, see [Listener overview](~~153216~~).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The listener ports that are used to receive requests and forward the requests to endpoints.'."\n" + ."\n" + .'Valid values: **1** to **65499**.'."\n" + ."\n" + .'The maximum number of ports that can be configured varies based on the routing type and protocol of the listener. For more information, see [Listener overview](~~153216~~).'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port of the listener port range that is used to receive and forward requests to endpoints.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The **FromPort** value must be smaller than or equal to the **ToPort** value.'."\n" + ."\n" + .'The maximum number of ports that can be configured varies based on the routing type and protocol of the listener. For more information, see [Listener overview](~~153216~~).'."\n" + ."\n" + .'> You can configure only one listener port for an HTTP or HTTPS listener. In this case, the first port is the same as the last port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '20', + ], + 'ToPort' => [ + 'description' => 'The last port of the listener port range that is used to receive and forward requests to endpoints.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The **FromPort** value must be smaller than or equal to the **ToPort** value.'."\n" + ."\n" + .'The maximum number of ports that can be configured varies based on the routing type and protocol of the listener. For more information, see [Listener overview](~~153216~~).'."\n" + ."\n" + .'> You can configure only one listener port for an HTTP or HTTPS listener. In this case, the first port is the same as the last port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '21', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Certificates', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The SSL certificate.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The SSL certificate.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The ID of the SSL certificate.'."\n" + ."\n" + .'> This parameter is required only when you configure an HTTPS listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '449****-cn-hangzhou', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'BackendPorts', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The range of ports that are used by backend servers to receive requests.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The range of ports that are used by backend servers to receive requests.'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port in the range of ports that are used by backend servers to receive requests.'."\n" + ."\n" + .'> This parameter is required only when you configure an HTTPS or HTTP listener and the listener port is different from the service port of the backend servers. In this case, the first port that is used by the backend servers to receive requests must be the same as the last port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port in the range of ports that are used by backend servers to receive requests.'."\n" + ."\n" + .'> This parameter is required only when you configure an HTTPS or HTTP listener and the listener port is different from the service port of the backend servers. In this case, the first port that is used by the backend servers to receive requests must be the same as the last port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'XForwardedForConfig', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The `XForward` headers.'."\n", + 'type' => 'object', + 'properties' => [ + 'XForwardedForGaIdEnabled' => [ + 'description' => 'Specifies whether to use the `GA-ID` header to retrieve the ID of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'XForwardedForProtoEnabled' => [ + 'description' => 'Specifies whether to use the `GA-X-Forward-Proto` header to retrieve the listener protocol of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'XForwardedForPortEnabled' => [ + 'description' => 'Specifies whether to use the `GA-X-Forward-Port` header to retrieve the listener ports of the GA instance. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'XRealIpEnabled' => [ + 'description' => 'Specifies whether to use the `X-Real-IP` header to retrieve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'XForwardedForGaApEnabled' => [ + 'description' => 'Specifies whether to use the `GA-AP` header to retrieve information about acceleration regions. Valid values:'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false** (default): no'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS or HTTP listener.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'SecurityPolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the security policy. Valid values:'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_0**'."\n" + ."\n" + .' * Supported Transport Layer Security (TLS) versions: TLS 1.0, TLS 1.1, and TLS 1.2'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_1**'."\n" + ."\n" + .' * Supported TLS versions: TLS 1.1 and TLS 1.2'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2**'."\n" + ."\n" + .' * Supported TLS version: TLS 1.2'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-SHA, AES128-SHA, AES256-SHA, and DES-CBC3-SHA'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2\\_strict**'."\n" + ."\n" + .' * Supported TLS version: TLS 1.2'."\n" + .' * Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'* **tls_cipher_policy\\_1\\_2\\_strict_with\\_1\\_3**'."\n" + ."\n" + .' * Supported TLS versions: TLS 1.2 and TLS 1.3'."\n" + .' * Supported cipher suites: TLS_AES\\_128\\_GCM_SHA256, TLS_AES\\_256\\_GCM_SHA384, TLS_CHACHA20\\_POLY1305\\_SHA256, TLS_AES\\_128\\_CCM_SHA256, TLS_AES\\_128\\_CCM\\_8\\_SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES128-SHA256, ECDHE-ECDSA-AES256-SHA384, ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-ECDSA-AES128-SHA, ECDHE-ECDSA-AES256-SHA, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'> This parameter is available only when you create an HTTPS listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tls_cipher_policy_1_0', + ], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The timeout period for idle connections. Unit: seconds.'."\n" + ."\n" + .'* TCP: 10-900. Default value: 900. Unit: seconds.'."\n" + .'* UDP: 10-20. Default value: 20. Unit: seconds.'."\n" + .'* HTTP/HTTPS: 1-60. Default value: 15. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '900', + ], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'The timeout period for HTTP or HTTPS requests.'."\n" + ."\n" + .'Valid values: 1 to 180. Default value: 60. Unit: seconds.'."\n" + ."\n" + .'> This parameter takes effect only for HTTP or HTTPS listeners. If the backend server does not respond within the timeout period, GA returns an HTTP 504 error code to the client.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'HttpVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum version of the HTTP protocol. Valid values:'."\n" + ."\n" + .'* **http3**'."\n" + .'* **http2**'."\n" + .'* **http1.1**'."\n" + ."\n" + .'> Only HTTPS listeners support this parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'PortRangeIllegal.Listener', + 'errorMessage' => 'The specified listener port range is invalid.', + ], + [ + 'errorCode' => 'PortConflict.Listener', + 'errorMessage' => 'The listener port configuration is in conflict.', + ], + [ + 'errorCode' => 'QuotaExceeded.ListenerPort', + 'errorMessage' => 'The maximum number of listener ports is exceeded.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'Exist.PortOverride', + 'errorMessage' => 'Port override exists.', + ], + [ + 'errorCode' => 'RegionNotSupportHugePort.Listener', + 'errorMessage' => 'The current ipSet or listener region does not support hugePort.', + ], + [ + 'errorCode' => 'PortRanges.MustOne', + 'errorMessage' => 'The portRanges must be one for HTTPS and HTTP type listener.', + ], + [ + 'errorCode' => 'SecurityPolicyIdIllegal.Listener', + 'errorMessage' => 'The listener security policy ID %s is illegal.', + ], + [ + 'errorCode' => 'SecurityPolicyId.NotNeed', + 'errorMessage' => 'No security policy ID is required for the listener.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateListenerResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8\\t</RequestId>\\n</UpdateListenerResponse>","errorExample":""}]', + 'title' => 'UpdateListener', + 'summary' => 'Modifies the configurations of a listener for a Global Accelerator (GA) instance.', + 'description' => 'This operation can be called to modify the configurations such as the protocol and ports of a listener to meet your business requirements.'."\n" + ."\n" + .'When you call this operation, take note of the following items:'."\n" + ."\n" + .'* **UpdateListener** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeListener](~~153254~~) operation to query the status of a listener.'."\n" + ."\n" + .' * If the listener is in the **updating** state, it indicates that its configurations are being modified. In this case, you can perform only query operations.'."\n" + .' * If the listener is in the **active** state, it indicates that its configurations are modified.'."\n" + ."\n" + .'* The **UpdateListener** operation cannot be repeatedly called to modify listener configurations for the same GA instance within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteListener' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7854', + 'abilityTreeNodes' => [ + 'FEATUREgaZW5ZHQ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance for which you want to delete a listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","type":"json"}]', + 'title' => 'DeleteListener', + 'summary' => 'Deletes a listener.', + 'description' => '* Before you call the **DeleteListener** operation, make sure that no endpoint groups are associated with the listener that you want to delete. For information about how to delete an endpoint group, see the following topics:'."\n" + ."\n" + .' * [DeleteEndpointGroup](~~2253305~~): deletes an endpoint group that is associated with an intelligent routing listener.'."\n" + .' * [DeleteEndpointGroups](~~2253311~~): deletes multiple endpoint groups that are associated with intelligent routing listeners at the same time.'."\n" + .' * [DeleteCustomRoutingEndpointGroups](~~2303183~~): deletes multiple endpoint groups that are associated with custom routing listeners at the same time.'."\n" + ."\n" + .'* **DeleteListener** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeListener](~~153254~~) operation to query the status of the listener.'."\n" + ."\n" + .' * If the listener is in the **deleting** state, the listener is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the listener cannot be queried, the listener is deleted.'."\n" + ."\n" + .'* You cannot repeatedly call the **DeleteListener** operation to delete the listeners of the same Global Accelerator (GA) instance within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetHealthStatus' => [ + 'summary' => 'Queries the health status of the endpoints and endpoint groups of a listener.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '35853', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether only to precheck the request. Valid values:'."\n" + ."\n" + .'* **true**: prechecks the request only. The health status of the listener is not queried. The system prechecks the required parameters, request syntax, and limits. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (default): sends a normal request. If the request passes the precheck, a 2xx HTTP status code is returned and the health status of the listener is obtained.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance that you want to query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'HealthStatus' => [ + 'description' => 'The health status of endpoints and endpoint groups. Valid values:'."\n" + ."\n" + .'* **normal**'."\n" + .'* **abnormal**'."\n" + .'* **partiallyAbnormal**'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'EndpointGroups' => [ + 'description' => 'The information about the endpoint groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the endpoint group.', + 'type' => 'object', + 'properties' => [ + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + 'EndpointGroupType' => [ + 'description' => 'The type of the endpoint group. Valid values:'."\n" + ."\n" + .'* **default:** the default endpoint group.'."\n" + .'* **virtual:** a virtual endpoint group.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'HealthStatus' => [ + 'description' => 'The health status of the endpoint group. Valid values:'."\n" + ."\n" + .'* **init:** The endpoint group is being initialized.'."\n" + .'* **normal:** The endpoint group is normal.'."\n" + .'* **abnormal:** The endpoint group is abnormal.'."\n" + .'* **partiallyAbnormal:** The endpoint group is partially abnormal.'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'ForwardingRuleIds' => [ + 'description' => 'The IDs of the forwarding rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the forwarding rule.'."\n", + 'type' => 'string', + 'example' => 'frule-bp134k63nmtwmnwee****', + ], + ], + 'Endpoints' => [ + 'description' => 'The information about the endpoints.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the endpoints.', + 'type' => 'object', + 'properties' => [ + 'EndpointId' => [ + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-hp33b2e43fays7s8****', + ], + 'Address' => [ + 'description' => 'The IP address of the endpoint.'."\n", + 'type' => 'string', + 'example' => '47.0.XX.XX', + ], + 'HealthStatus' => [ + 'description' => 'The health status of the endpoint. Valid values:'."\n" + ."\n" + .'* **init:** The endpoint is being initialized.'."\n" + .'* **normal:** The endpoint is normal.'."\n" + .'* **abnormal:** The endpoint is abnormal.'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'HealthDetail' => [ + 'description' => 'The health check details of the endpoint.'."\n" + ."\n" + .'> This parameter is unavailable.'."\n", + 'type' => 'string', + 'example' => 'null', + ], + 'Port' => [ + 'description' => 'The port that is used to connect to the endpoint.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '80', + ], + 'Type' => [ + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **Domain:** a custom domain name.'."\n" + .'* **Ip:** a custom IP address.'."\n" + .'* **PublicIp:** a public IP address provided by Alibaba Cloud.'."\n" + .'* **ECS:** an Elastic Compute Service (ECS) instance.'."\n" + .'* **SLB:** a Classic Load Balancer (CLB) instance.'."\n" + .'* **ALB:** an Application Load Balancer (ALB) instance.'."\n" + .'* **OSS:** an Object Storage Service (OSS) bucket.'."\n" + .'* **ENI:** an elastic network interface (ENI).'."\n" + .'* **NLB:** a Network Load Balancer (NLB) instance.'."\n", + 'type' => 'string', + 'example' => 'Ip', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"HealthStatus\\": \\"normal\\",\\n \\"EndpointGroups\\": [\\n {\\n \\"EndpointGroupId\\": \\"epg-bp14sz7ftcwwjgrdm****\\",\\n \\"EndpointGroupType\\": \\"default\\",\\n \\"HealthStatus\\": \\"normal\\",\\n \\"ForwardingRuleIds\\": [\\n \\"frule-bp134k63nmtwmnwee****\\"\\n ],\\n \\"Endpoints\\": [\\n {\\n \\"EndpointId\\": \\"ep-hp33b2e43fays7s8****\\",\\n \\"Address\\": \\"47.0.XX.XX\\",\\n \\"HealthStatus\\": \\"normal\\",\\n \\"HealthDetail\\": \\"无\\",\\n \\"Port\\": 80,\\n \\"Type\\": \\"Ip\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetHealthStatusResponse>\\n <RequestId>64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF</RequestId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <HealthStatus>normal</HealthStatus>\\n <EndpointGroups>\\n <EndpointGroupId>epg-bp14sz7ftcwwjgrdm****</EndpointGroupId>\\n <EndpointGroupType>default</EndpointGroupType>\\n <HealthStatus>normal</HealthStatus>\\n <ForwardingRuleIds>frule-bp134k63nmtwmnwee****</ForwardingRuleIds>\\n <Endpoints>\\n <EndpointId>ep-hp33b2e43fays7s8****</EndpointId>\\n <Address>47.0.XX.XX</Address>\\n <HealthStatus>normal</HealthStatus>\\n <HealthDetail>无</HealthDetail>\\n <Port>80</Port>\\n <Type>Ip</Type>\\n </Endpoints>\\n </EndpointGroups>\\n</GetHealthStatusResponse>","errorExample":""}]', + 'title' => 'GetHealthStatus', + ], + 'AssociateAdditionalCertificatesWithListener' => [ + 'summary' => 'Associates additional certificates with an HTTPS listener. You can associate multiple certificates with an HTTPS listener and configure virtual endpoint groups and forwarding rules to accelerate access to multiple HTTPS-capable domain names.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '42918', + 'abilityTreeNodes' => [ + 'FEATUREga38GCGA', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The listener ID. Only HTTPS listeners are supported.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'Certificates', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The additional certificates.'."\n" + ."\n" + .'You can specify up to 10 certificates in each request.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The additional certificates.'."\n" + ."\n" + .'You can specify up to 10 certificate IDs in each request.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The ID of the certificate. Only server certificates are supported.'."\n" + ."\n" + .'You can specify up to 10 certificate IDs in each request.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '6092**-cn-hangzhou', + ], + 'Domain' => [ + 'description' => 'The domain name that is specified by the certificate. You can associate each domain name with only one additional certificate.'."\n" + ."\n" + .'You can specify up to 10 domain names in each request.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + 'required' => true, + ], + 'required' => true, + 'maxItems' => 10, + 'minItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'ListenerId' => [ + 'description' => 'The listener ID.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'ProtocalIllegal.Listener', + 'errorMessage' => 'The specified listener protocol is invalid.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.Listener', + 'errorMessage' => 'The maximum number of listeners is exceeded.', + ], + [ + 'errorCode' => 'PortRangeIllegal.Listener', + 'errorMessage' => 'The specified listener port range is invalid.', + ], + [ + 'errorCode' => 'PortConflict.Listener', + 'errorMessage' => 'The listener port configuration is in conflict.', + ], + [ + 'errorCode' => 'QuotaExceeded.ListenerPort', + 'errorMessage' => 'The maximum number of listener ports is exceeded.', + ], + [ + 'errorCode' => 'PortRangeIllegal.ExceedGaAbility', + 'errorMessage' => 'The listener port range is invalid. For each accelerator instance, you can only create a listener with port range over 300 for each protocol (TCP and UDP).', + ], + [ + 'errorCode' => 'PortRangeIllegal.UDP', + 'errorMessage' => 'UDP ports 250, 4789, and 4790 are system reserved ports.', + ], + [ + 'errorCode' => 'SystemPort.Listener', + 'errorMessage' => 'Ports 65500-65535 are system reserved ports.', + ], + [ + 'errorCode' => 'PortRanges.MustOne', + 'errorMessage' => 'The portRanges must be one for HTTPS and HTTP type listener.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\"\\n}","errorExample":""},{"type":"xml","example":"<AssociateAdditionalCertificatesWithListenerResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n</AssociateAdditionalCertificatesWithListenerResponse>","errorExample":""}]', + 'title' => 'AssociateAdditionalCertificatesWithListener', + 'description' => '* Only HTTPS listeners can be associated with additional certificates.'."\n" + ."\n" + .'* **AssociateAdditionalCertificatesWithListener** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeListener](~~153254~~) operation to query the status of the listener with which you want to associate an additional certificate.'."\n" + ."\n" + .' * If the listener is in the **updating** state, it indicates that the additional certificate is being associated. In this case, you can perform only query operations.'."\n" + .' * If the listener is in the **active** state, it indicates that the additional certificate is associated.'."\n" + ."\n" + .'* The **AssociateAdditionalCertificatesWithListener** operation holds an exclusive lock on the Global Accelerator (GA) instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + ], + 'DissociateAdditionalCertificatesFromListener' => [ + 'summary' => 'Disassociates an additional certificate from an HTTPS listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '43184', + 'abilityTreeNodes' => [ + 'FEATUREga38GCGA', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the value, but you must make sure that it is unique among all requests. ClientToken can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** may be different for each API request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'Domains', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The domain name associated with the additional certificate.'."\n" + ."\n" + .'You can specify up to 10 domain names in each request.', + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name associated with the additional certificate.'."\n" + ."\n" + .'You can specify up to 10 domain names in each request.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + 'required' => true, + 'maxItems' => 10, + 'minItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'AlreadyInBandwidthPackage.Accelerator', + 'errorMessage' => 'The accelerated instance is already in the bandwidth package.', + ], + [ + 'errorCode' => 'BandwidthIllegal.BandwidthPackage', + 'errorMessage' => 'The bandwidth of the basic bandwidth package must be lower than or equal to the bandwidth of the cross-domain bandwidth package.', + ], + [ + 'errorCode' => 'BindExist.Accelerator', + 'errorMessage' => 'The accelerated instance is already bound to a bandwidth package.', + ], + [ + 'errorCode' => 'BindExist.BandwidthPackage', + 'errorMessage' => 'The bandwidth package is already bound.', + ], + [ + 'errorCode' => 'BindExist.EndPointGroup', + 'errorMessage' => 'The endpoint group %s contains binding.', + ], + [ + 'errorCode' => 'EndPointGroupTypeIllegal.EndpointGroup', + 'errorMessage' => 'The endpoint group type is illegal.', + ], + [ + 'errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', + 'errorMessage' => 'The endpoint group request protocol is illegal.', + ], + [ + 'errorCode' => 'Exist.EndpointGroup', + 'errorMessage' => 'The endpoint group already exists.', + ], + [ + 'errorCode' => 'Exist.ForwardingRule', + 'errorMessage' => 'The forwarding rule already exists.', + ], + [ + 'errorCode' => 'Exist.IpSet', + 'errorMessage' => 'The IpSet already exists.', + ], + [ + 'errorCode' => 'Exist.Listener', + 'errorMessage' => 'The listener already exists.', + ], + [ + 'errorCode' => 'Exist.VirtualEndpointGroup', + 'errorMessage' => 'A virtual endpoint group already exists.', + ], + [ + 'errorCode' => 'GaSpecExceeded.IpSet', + 'errorMessage' => 'The number of IpSet exceeds the specification of the GA instance.', + ], + [ + 'errorCode' => 'GreaterThanGa.IpSetBandwidth', + 'errorMessage' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.', + ], + [ + 'errorCode' => 'IllegalBandwidth.IpSet', + 'errorMessage' => 'The bandwidth of IpSet is invalid.', + ], + [ + 'errorCode' => 'IllegalParameter.BandwidthType', + 'errorMessage' => 'The parameter BandwidthType is illegal.', + ], + [ + 'errorCode' => 'IllegalParameter.Spec', + 'errorMessage' => 'The specified Spec is invalid.', + ], + [ + 'errorCode' => 'IllegalParameter.Type', + 'errorMessage' => 'The specified Type is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.BandwidthType', + 'errorMessage' => 'You must specify BandwidthType.', + ], + [ + 'errorCode' => 'NoPermission.EnableHealthCheck', + 'errorMessage' => 'You do not have permission to enable health check.', + ], + [ + 'errorCode' => 'NoPermission.GaDdosRoleSession', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + [ + 'errorCode' => 'NoPermission.VpcEndpoint', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + [ + 'errorCode' => 'NotActive.IpSet', + 'errorMessage' => 'The state of IpSet is not active.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'NotExist.BandwidthPackage', + 'errorMessage' => 'The bandwidth package does not exist.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'NotExist.BusinessRegion', + 'errorMessage' => 'The business region does not exist.', + ], + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'The endpoint group does not exist.', + ], + [ + 'errorCode' => 'NotExist.IpSet', + 'errorMessage' => 'The IpSet does not exist.', + ], + [ + 'errorCode' => 'NotExist.IpSets', + 'errorMessage' => 'The IpSet does not exist.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotExist.ListenerPort', + 'errorMessage' => 'The listening port %s does not exist.', + ], + [ + 'errorCode' => 'NotInBandwidthPackage.Accelerator', + 'errorMessage' => 'The accelerated instance is not in the bandwidth package.', + ], + [ + 'errorCode' => 'PortConflict.Listener', + 'errorMessage' => 'The listener port configuration is in conflict.', + ], + [ + 'errorCode' => 'PortRangeIllegal.Count', + 'errorMessage' => 'The hugePort listener only supports one port range.', + ], + [ + 'errorCode' => 'PortRangeIllegal.Listener', + 'errorMessage' => 'The specified listener port range is invalid.', + ], + [ + 'errorCode' => 'PortRanges.MustOne', + 'errorMessage' => 'The portRanges must be one for HTTPS and HTTP type listener.', + ], + [ + 'errorCode' => 'ProtocalIllegal.Listener', + 'errorMessage' => 'The specified listener protocol is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndPoint', + 'errorMessage' => 'The maximum number of endpoints is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.ForwardingRule', + 'errorMessage' => 'The number of forwarding rule exceeds the limit.', + ], + [ + 'errorCode' => 'QuotaExceeded.Listener', + 'errorMessage' => 'The maximum number of listeners is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.ListenerPort', + 'errorMessage' => 'The maximum number of listener ports is exceeded.', + ], + [ + 'errorCode' => 'QuotaExceeded.PortOverride', + 'errorMessage' => 'The number of port override exceeds the limit.', + ], + [ + 'errorCode' => 'QuotaExceeded.RuleConditionConfig', + 'errorMessage' => 'The number of path and host exceeds the limit.', + ], + [ + 'errorCode' => 'RegionRepeat.IpSet', + 'errorMessage' => 'Only one IpSet can be created in an accelerated region.', + ], + [ + 'errorCode' => 'Repeat.IpSets', + 'errorMessage' => 'The configuration of IpSet is duplicated.', + ], + [ + 'errorCode' => 'RepeatPathAndHost.ForwardingRule', + 'errorMessage' => 'The path and host %s are duplicated.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'StateError.BandwidthPackage', + 'errorMessage' => 'The state of bandwidth package is invalid.', + ], + [ + 'errorCode' => 'StateError.BandwidthPackageBind', + 'errorMessage' => 'The state of binding for the bandwidth package is invalid.', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'The specified state of endpoint group is invalid.', + ], + [ + 'errorCode' => 'StateError.ForwardingRule', + 'errorMessage' => 'The forwarding rule state %s is illegal.', + ], + [ + 'errorCode' => 'StateError.IpSet', + 'errorMessage' => 'The state of IpSet is invalid.', + ], + [ + 'errorCode' => 'TooManySpareIp.Accelerator', + 'errorMessage' => 'Too many SpareIp accepted under the same Accelerator', + ], + [ + 'errorCode' => 'UpgradeError.BandwidthPackage', + 'errorMessage' => 'The bandwidth package configurations should be either all upgrades or all downgrades.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","errorExample":""},{"type":"xml","example":"<DissociateAdditionalCertificatesFromListenerResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n</DissociateAdditionalCertificatesFromListenerResponse>","errorExample":""}]', + 'title' => 'DissociateAdditionalCertificatesFromListener', + 'description' => '## Description'."\n" + ."\n" + .'* **DissociateAdditionalCertificatesFromListener** is an asynchronous operation. After you send a request, the system returns a request ID, but this operation is still being performed in the system background. You can call the [DescribeListener](~~153254~~) operation to query the state of an HTTPS listener.'."\n" + ."\n" + .' * If the listener is in the **updating** state, it indicates that the additional certificate is being dissociated from the listener. In this case, you can perform only query operations.'."\n" + .' * If the listener is in the **active** state, it indicates that the additional certificate is dissociated from the listener.'."\n" + ."\n" + .'* The **DissociateAdditionalCertificatesFromListener** operation cannot be repeatedly called for the same Global Accelerator (GA) instance with a specific period of time.'."\n", + ], + 'UpdateAdditionalCertificateWithListener' => [ + 'summary' => 'Replaces an expired additional certificate for an HTTPS listener.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '157568', + 'abilityTreeNodes' => [ + 'FEATUREga38GCGA', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" + ."\n" + .'* **true**: performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false:** performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. This is the default value.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener. Only HTTPS listeners are supported.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The domain name associated with the additional certificate that you want to replace.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'CertificateId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the replacement certificate.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '6092**-cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters of the operation.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'ResourceNotFound.CertificateDomain', + 'errorMessage' => 'The specified domain is not found.', + ], + [ + 'errorCode' => 'CertificateNotSupportDomain', + 'errorMessage' => 'The certificate does not support the current domain, please check.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateAdditionalCertificateWithListenerResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n</UpdateAdditionalCertificateWithListenerResponse>","errorExample":""}]', + 'title' => 'UpdateAdditionalCertificateWithListener', + 'description' => 'The UpdateAdditionalCertificateWithListener operation is used to replace an additional certificate. This operation is suitable for scenarios in which the original certificate expires and needs to be replaced with a new certificate and the associated domain name remains unchanged.'."\n" + ."\n" + .'* **UpdateAdditionalCertificateWithListener** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [ListListenerCertificates](~~307743~~) to query the status of the task:'."\n" + ."\n" + .' * If the certificate to be replaced is in the **updating** state, the certificate is being replaced. In this case, you can only query the certificate.'."\n" + .' * If the new certificate is in the **active** state, the new certificate is in effect.'."\n" + ."\n" + .'* You cannot repeatedly call the **UpdateAdditionalCertificateWithListener** operation for the same GA instance within a specific period of time.'."\n", + ], + 'ListListenerCertificates' => [ + 'summary' => 'Queries the certificates associated with a listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'Role', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The type of the certificate. Valid values:'."\n" + ."\n" + .'* **default**'."\n" + .'* **additional**'."\n" + ."\n" + .'If you do not specify this parameter, default and additional certificates are returned by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + 'enum' => [ + 'additional', + 'default', + ], + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* You do not need to specify this parameter for the first request.'."\n" + .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of entries to return. Valid values: **1** to **50**. Default value: **20**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '50', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'TotalCount' => [ + 'description' => 'The number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If **NextToken** is empty, no next page exists.'."\n" + .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', + ], + 'MaxResults' => [ + 'description' => 'The maximum number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'Certificates' => [ + 'description' => 'The certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'CertificateId' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => '6092**-cn-hangzhou', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the certificate is a default one.'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Domain' => [ + 'description' => 'The domain name associated with the additional certificate.'."\n" + ."\n" + .'This parameter is not returned if the certificate is a default one.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'State' => [ + 'description' => 'The status of the certificate.'."\n" + ."\n" + .'* **active**: The certificate is associated with a listener and in effect.'."\n" + .'* **updating**: The additional certificate is being replaced.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"MaxResults\\": 20,\\n \\"Certificates\\": [\\n {\\n \\"CertificateId\\": \\"6092**-cn-hangzhou\\",\\n \\"IsDefault\\": true,\\n \\"Domain\\": \\"example.com\\",\\n \\"State\\": \\"active\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListListenerCertificatesResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <TotalCount>1</TotalCount>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a4883</NextToken>\\n <MaxResults>20</MaxResults>\\n <Certificates>\\n <CertificateId>6092**-cn-hangzhou</CertificateId>\\n <IsDefault>true</IsDefault>\\n <Domain>example.com</Domain>\\n <State>active</State>\\n </Certificates>\\n</ListListenerCertificatesResponse>","errorExample":""}]', + 'title' => 'ListListenerCertificates', + ], + 'ListSystemSecurityPolicies' => [ + 'summary' => 'Queries the TLS security policies that are supported by HTTPS listeners.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '90922', + 'abilityTreeNodes' => [ + 'FEATUREgaVX8KJ1', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: **1 to 100**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'A9B4E54C-9CCD-4002-91A9-D38C6C209192', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SecurityPolicies' => [ + 'description' => 'The list of TLS security policies.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'SecurityPolicyId' => [ + 'description' => 'The ID of the TLS security policy.'."\n", + 'type' => 'string', + 'example' => 'tls_cipher_policy_1_1', + ], + 'TlsVersions' => [ + 'description' => 'The supported TLS versions. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The supported TLS versions. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**.'."\n", + 'type' => 'string', + 'example' => '["TLSv1.0","TLSv1.2"]', + ], + ], + 'Ciphers' => [ + 'description' => 'The supported cipher suites. The value of this parameter is determined by the value of **TLSVersions**.'."\n" + ."\n" + .'The specified cipher suites must be supported by at least one value of **TLSVersions**. For example, if you set TLSVersions to **TLSv1.3**, you must specify cipher suites that are supported by **TLSv1.3**.'."\n" + ."\n" + .'* Valid values when TLSVersions is set to **TLSv1.0** or **TLSv1.1**:'."\n" + ."\n" + .' * ECDHE-ECDSA-AES128-SHA'."\n" + .' * ECDHE-ECDSA-AES256-SHA'."\n" + .' * ECDHE-RSA-AES128-SHA'."\n" + .' * ECDHE-RSA-AES256-SHA'."\n" + .' * AES128-SHA'."\n" + .' * AES256-SHA'."\n" + .' * DES-CBC3-SHA'."\n" + ."\n" + .'* Valid values when TLSVersions is set to **TLSv1.2**:'."\n" + ."\n" + .' * ECDHE-ECDSA-AES128-SHA'."\n" + .' * ECDHE-ECDSA-AES256-SHA'."\n" + .' * ECDHE-RSA-AES128-SHA'."\n" + .' * ECDHE-RSA-AES256-SHA'."\n" + .' * AES128-SHA'."\n" + .' * AES256-SHA'."\n" + .' * DES-CBC3-SHA'."\n" + .' * ECDHE-ECDSA-AES128-GCM-SHA256'."\n" + .' * ECDHE-ECDSA-AES256-GCM-SHA384'."\n" + .' * ECDHE-ECDSA-AES128-SHA256'."\n" + .' * ECDHE-ECDSA-AES256-SHA384'."\n" + .' * ECDHE-RSA-AES128-GCM-SHA256'."\n" + .' * ECDHE-RSA-AES256-GCM-SHA384'."\n" + .' * ECDHE-RSA-AES128-SHA256'."\n" + .' * ECDHE-RSA-AES256-SHA384'."\n" + .' * AES128-GCM-SHA256'."\n" + .' * AES256-GCM-SHA384'."\n" + .' * AES128-SHA256'."\n" + .' * AES256-SHA256'."\n" + ."\n" + .'* Valid values when TLSVersions is set to **TLSv1.3**:'."\n" + ."\n" + .' * TLS_AES\\_128\\_GCM_SHA256'."\n" + .' * TLS_AES\\_256\\_GCM_SHA384'."\n" + .' * TLS_CHACHA20\\_POLY1305\\_SHA256'."\n" + .' * TLS_AES\\_128\\_CCM_SHA256'."\n" + .' * TLS_AES\\_128\\_CCM\\_8\\_SHA256'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The supported cipher suites. The value of this parameter is determined by the value of **TLSVersions**.'."\n" + ."\n" + .'The specified cipher suites must be supported by at least one value of **TLSVersions**. For example, if you set TLSVersions to **TLSv1.3**, you must specify cipher suites that are supported by **TLSv1.3**.'."\n" + ."\n" + .'* The cipher suites that are supported by **TLSv1.0** and **TLSv1.1**:'."\n" + ."\n" + .' * **ECDHE-ECDSA-AES128-SHA**'."\n" + .' * **ECDHE-ECDSA-AES256-SHA**'."\n" + .' * **ECDHE-RSA-AES128-SHA**'."\n" + .' * **ECDHE-RSA-AES256-SHA**'."\n" + .' * **AES128-SHA**'."\n" + .' * **AES256-SHA**'."\n" + .' * **DES-CBC3-SHA**'."\n" + ."\n" + .'* The cipher suites that are supported by **TLSv1.2**:'."\n" + ."\n" + .' * **ECDHE-ECDSA-AES128-SHA**'."\n" + .' * **ECDHE-ECDSA-AES256-SHA**'."\n" + .' * **ECDHE-RSA-AES128-SHA**'."\n" + .' * **ECDHE-RSA-AES256-SHA**'."\n" + .' * **AES128-SHA**'."\n" + .' * **AES256-SHA**'."\n" + .' * **DES-CBC3-SHA**'."\n" + .' * **ECDHE-ECDSA-AES128-GCM-SHA256**'."\n" + .' * **ECDHE-ECDSA-AES256-GCM-SHA384**'."\n" + .' * **ECDHE-ECDSA-AES128-SHA256**'."\n" + .' * **ECDHE-ECDSA-AES256-SHA384**'."\n" + .' * **ECDHE-RSA-AES128-GCM-SHA256**'."\n" + .' * **ECDHE-RSA-AES256-GCM-SHA384**'."\n" + .' * **ECDHE-RSA-AES128-SHA256**'."\n" + .' * **ECDHE-RSA-AES256-SHA384**'."\n" + .' * **AES128-GCM-SHA256**'."\n" + .' * **AES256-GCM-SHA384**'."\n" + .' * **AES128-SHA256**'."\n" + .' * **AES256-SHA256**'."\n" + ."\n" + .'* The cipher suites that are supported by **TLSv1.3**:'."\n" + ."\n" + .' * **TLS_AES\\_128\\_GCM_SHA256**'."\n" + .' * **TLS_AES\\_256\\_GCM_SHA384**'."\n" + .' * **TLS_CHACHA20\\_POLY1305\\_SHA256**'."\n" + .' * **TLS_AES\\_128\\_CCM_SHA256**'."\n" + .' * **TLS_AES\\_128\\_CCM\\_8\\_SHA256**'."\n", + 'type' => 'string', + 'example' => '["ECDHE-ECDSA-AES128-SHA","ECDHE-RSA-AES128-GCM-SHA256"]', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A9B4E54C-9CCD-4002-91A9-D38C6C209192\\",\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"SecurityPolicies\\": [\\n {\\n \\"SecurityPolicyId\\": \\"tls_cipher_policy_1_1\\",\\n \\"TlsVersions\\": [\\n \\"[\\\\\\"TLSv1.0\\\\\\",\\\\\\"TLSv1.2\\\\\\"]\\"\\n ],\\n \\"Ciphers\\": [\\n \\"[\\\\\\"ECDHE-ECDSA-AES128-SHA\\\\\\",\\\\\\"ECDHE-RSA-AES128-GCM-SHA256\\\\\\"]\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListSystemSecurityPoliciesResponse>\\n <RequestId>A9B4E54C-9CCD-4002-91A9-D38C6C209192</RequestId>\\n <TotalCount>2</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <SecurityPolicies>\\n <SecurityPolicyId>tls_cipher_policy_1_1</SecurityPolicyId>\\n <TlsVersions>[\\"TLSv1.0\\",\\"TLSv1.2\\"]</TlsVersions>\\n <Ciphers>[\\"ECDHE-ECDSA-AES128-SHA\\",\\"ECDHE-RSA-AES128-GCM-SHA256\\"]</Ciphers>\\n </SecurityPolicies>\\n</ListSystemSecurityPoliciesResponse>","errorExample":""}]', + 'title' => 'ListSystemSecurityPolicies', + 'description' => 'You can select a TLS security policy when you create an HTTPS listener. This API operation is used to query the TLS security policies that are supported by HTTPS listeners.'."\n", + ], + 'CreateEndpointGroup' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7846', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the endpoint group.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the endpoint group.'."\n" + ."\n" + .'The description can be up to 200 characters in length and cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'EndpointGroup', + ], + ], + [ + 'name' => 'EndpointGroupRegion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region in which to create the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'TrafficPercentage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The traffic ratio for the endpoint group when the specified listener is associated with multiple endpoint groups.'."\n" + ."\n" + .'Valid values: **1** to **100**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'HealthCheckIntervalSeconds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The interval at which health checks are performed. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'HealthCheckPath', + 'in' => 'query', + 'schema' => [ + 'description' => 'The path to which to send health check requests.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/healthcheck', + ], + ], + [ + 'name' => 'HealthCheckPort', + 'in' => 'query', + 'schema' => [ + 'description' => 'The port that is used for health checks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'HealthCheckProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'The protocol over which to send health check requests. Valid values:'."\n" + ."\n" + .'* **tcp** or **TCP**'."\n" + .'* **http** or **HTTP**'."\n" + .'* **https** or **HTTPS**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'ThresholdCount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of consecutive health check failures that must occur before a healthy endpoint group is considered unhealthy, or the number of consecutive health check successes that must occur before an unhealthy endpoint group is considered healthy.'."\n" + ."\n" + .'Valid values: **2** to **10**. Default value: **3**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'EndpointConfigurations', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The configurations of the endpoints in the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of the endpoint in the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **Domain**: a custom domain name.'."\n" + .'* **Ip**: a custom IP address.'."\n" + .'* **IpTarget**: a custom private IP address.'."\n" + .'* **PublicIp**: a public IP address provided by Alibaba Cloud.'."\n" + .'* **ECS**: an Elastic Compute Service (ECS) instance.'."\n" + .'* **SLB**: a Server Load Balancer (SLB) instance.'."\n" + .'* **ALB**: an Application Load Balancer (ALB) instance.'."\n" + .'* **OSS**: an Object Storage Service (OSS) bucket.'."\n" + .'* **ENI**: an elastic network interface (ENI).'."\n" + .'* **NLB**: a Network Load Balancer (NLB) instance.'."\n" + ."\n" + .'> * If you set this parameter to **ECS**, **ENI**, **SLB**, **ALB**, **NLB**, or **IpTarget** and the AliyunServiceRoleForGaVpcEndpoint service-linked role does not exist, the system automatically creates the role.'."\n" + .'> * If you set this parameter to **ALB** and the AliyunServiceRoleForGaAlb service-linked role does not exist, the system automatically creates the role.'."\n" + .'> * If you set this parameter to **OSS** and the AliyunServiceRoleForGaOss service-linked role does not exist, the system automatically creates the role.'."\n" + .'> * If you set this parameter to **NLB** and the AliyunServiceRoleForGaNlb service-linked role does not exist, the system automatically creates the role.'."\n" + .'> > For more information, see [Service-linked roles](~~178360~~).', + 'type' => 'string', + 'required' => true, + 'example' => 'Ip', + ], + 'EnableClientIPPreservation' => [ + 'description' => 'Specifies whether to automatically preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> * By default, client IP address preservation is disabled for an endpoint group of a UDP or TCP listener. You can configure this parameter based on your business requirements.'."\n" + .'> * By default, client IP address preservation is enabled for an endpoint group of an HTTP or HTTP listener. You can obtain client IP addresses by using the X-Forwarded-For header. You cannot disable the feature.'."\n" + .'> * EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'> > For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'Weight' => [ + 'description' => 'The weight of the endpoint.'."\n" + ."\n" + .'Valid values: **0** to **255**.'."\n" + ."\n" + .'> If you set the weight of an endpoint to 0, GA stops distributing traffic to the endpoint. Proceed with caution.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '20', + ], + 'EnableProxyProtocol' => [ + 'description' => 'Specifies whether to use the proxy protocol to preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> * This parameter is available only to endpoint groups of TCP listeners.'."\n" + .'> * EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'> > For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'Endpoint' => [ + 'description' => 'The IP address, domain name, or instance ID based on the value of Type.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '120.1.XX.XX', + ], + 'SubAddress' => [ + 'description' => 'The private IP address of the ENI.'."\n" + ."\n" + .'> This parameter is available only when you set the endpoint type to **ENI**. If you leave this parameter empty, the primary private IP address of the ENI is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.168.XX.XX', + ], + 'VpcId' => [ + 'description' => 'The virtual private cloud (VPC) ID.'."\n" + ."\n" + .'You can specify one VPC ID for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'> This parameter is valid and required only if Type is set to **IpTarget**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1quce3451z5b2hv****', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of vSwitches that are deployed in the VPC.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch IDs.'."\n" + ."\n" + .'You can specify two vSwitch IDs for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'> * This parameter is valid and required only if Type is set to **IpTarget**.'."\n" + .'> * The vSwitch must belong to the VPC specified by **VpcId**.', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp12mho4ze51ezagm****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'EndpointRequestProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'The protocol that is used by the backend service. Default value: HTTP. Valid values:'."\n" + ."\n" + .'* **HTTP**'."\n" + .'* **HTTPS**'."\n" + ."\n" + .'> * You can set this parameter only when the listener that is associated with the endpoint group uses **HTTP** or **HTTPS**.'."\n" + .'>* For an **HTTP** listener, the backend service protocol must be **HTTP**.', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + ], + [ + 'name' => 'EndpointProtocolVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The backend service protocol. Valid values:'."\n" + ."\n" + .'* **HTTP1.1** (default)'."\n" + .'* **HTTP2**'."\n" + ."\n" + .'> This parameter is required only when you set the EndpointRequestProtocol parameter to HTTPS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP1.1', + ], + ], + [ + 'name' => 'EndpointGroupType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the endpoint group. Valid values:'."\n" + ."\n" + .'* **default** (default): a default endpoint group.'."\n" + .'* **virtual**: a virtual endpoint group.'."\n" + ."\n" + .'> When you call this operation to create a virtual endpoint group for a Layer 4 listener, make sure that a default endpoint group is created.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + 'default' => 'default', + 'enum' => [ + 'default', + 'virtual', + ], + ], + ], + [ + 'name' => 'PortOverrides', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The port mappings.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port mapping.'."\n", + 'type' => 'object', + 'properties' => [ + 'ListenerPort' => [ + 'description' => 'The listener port that is mapped to the endpoint port.'."\n" + ."\n" + .'> * You cannot configure port mappings for virtual endpoint groups of TCP listeners. If a virtual endpoint group already exists on the listener, you cannot configure port mappings for the default endpoint group. If port mappings are configured for the default endpoint group, you cannot add a virtual endpoint group.'."\n" + .'> * If you configure port mappings for a listener, you cannot modify the listener protocol. You can only switch between HTTP and HTTPS.'."\n" + .'> * Listener port: When you modify the listener port range, make sure that the port range includes the ports configured in port mappings. For example, if you set the listener port range to 80 to 82 and map the listener ports to endpoint ports 100 to 102, you cannot change the listener port range to 80 to 81.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '443', + ], + 'EndpointPort' => [ + 'description' => 'The endpoint port that is mapped to the listener port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'HealthCheckEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'Tags of GA instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the GA instance.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the GA instance. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.', + 'type' => 'string', + 'required' => false, + 'example' => 'test-key', + ], + 'Value' => [ + 'description' => 'The tag value of the GA instance. The tag value cannot be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag values.', + 'type' => 'string', + 'required' => false, + 'example' => 'test-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform a dry run, without sending the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, a 2xx HTTP status code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'HealthCheckHost', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + ], + ], + [ + 'name' => 'EndpointIpVersion', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Domain.NotFit', + 'errorMessage' => 'The domain is not fit the rule', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'NotExist.ListenerPort', + 'errorMessage' => 'The listening port %s does not exist.', + ], + [ + 'errorCode' => 'NoPermission.EnableHealthCheck', + 'errorMessage' => 'You do not have permission to enable health check.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BusinessRegion', + 'errorMessage' => 'The business region does not exist.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndPoint', + 'errorMessage' => 'The maximum number of endpoints is exceeded.', + ], + [ + 'errorCode' => 'Exist.EndpointGroup', + 'errorMessage' => 'The endpoint group already exists.', + ], + [ + 'errorCode' => 'NoPermission.VpcEndpoint', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + [ + 'errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', + 'errorMessage' => 'endpoint group request protoco is illegal', + ], + [ + 'errorCode' => 'QuotaExceeded.PortOverride', + 'errorMessage' => 'The number of port override exceeds the limit.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateEndpointGroupResponse>\\n <EndpointGroupId>epg-bp1dmlohjjz4kqaun****</EndpointGroupId>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</CreateEndpointGroupResponse>","errorExample":""}]', + 'title' => 'CreateEndpointGroup', + 'summary' => 'Creates an endpoint group.', + 'description' => '* When you call this operation to create a virtual endpoint group for a Layer 4 listener, make sure that a default endpoint group is created.'."\n" + ."\n" + .'* **CreateEndpointGroup** is an asynchronous operation. After you send a request, the system returns the ID of an endpoint group, but the endpoint group is still being created in the system background. You can call the [DescribeEndpointGroup](~~153260~~) operation to query the state of the endpoint group.'."\n" + ."\n" + .' * If the endpoint group is in the **init** state, it indicates that the endpoint group is being created. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state, it indicates that the endpoint group is created.'."\n" + ."\n" + .'* The **CreateEndpointGroup** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeEndpointGroup' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7857', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where your Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group that you want to query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'HealthCheckIntervalSeconds' => [ + 'description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'TrafficPercentage' => [ + 'description' => 'The traffic ratio of the endpoint group when the specified listener is associated with multiple endpoint groups.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + 'Description' => [ + 'description' => 'The description of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'group1', + ], + 'EndpointGroupIpList' => [ + 'description' => 'The active endpoint IP addresses of the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The active endpoint IP addresses of the endpoint group.'."\n", + 'type' => 'string', + 'example' => '101.XX.XX.22', + ], + ], + 'EndpointGroupUnconfirmedIpList' => [ + 'description' => 'The endpoint group IP addresses to be confirmed. After the GA instance is upgraded, the IP addresses that are added to the endpoint group need to be confirmed.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group IP addresses to be confirmed after the GA instance is upgraded.'."\n", + 'type' => 'string', + 'example' => '101.XX.XX.22', + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', + ], + 'HealthCheckPath' => [ + 'description' => 'The path to which health check probes are sent.'."\n", + 'type' => 'string', + 'example' => '/healthcheck', + ], + 'ThresholdCount' => [ + 'description' => 'The number of consecutive failed health checks that must occur before an endpoint is considered unhealthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'Name' => [ + 'description' => 'The name of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'group1', + ], + 'EndpointGroupRegion' => [ + 'description' => 'The ID of the region where the endpoint group is deployed.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'State' => [ + 'description' => 'The status of the endpoint group. Valid values:'."\n" + ."\n" + .'* **init**: The endpoint group is being initialized.'."\n" + .'* **active**: The endpoint group is running as expected.'."\n" + .'* **updating**: The endpoint group is being updated.'."\n" + .'* **deleting**: The endpoint group is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'HealthCheckProtocol' => [ + 'description' => 'The protocol over which health check requests are sent. Valid values:'."\n" + ."\n" + .'* **tcp** or **TCP**'."\n" + .'* **http** or **HTTP**'."\n" + .'* **https** or **HTTPS**'."\n", + 'type' => 'string', + 'example' => 'tcp', + ], + 'HealthCheckPort' => [ + 'description' => 'The port that is used for health checks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'EndpointConfigurations' => [ + 'description' => 'The configurations of endpoints in the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of endpoints in the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **Domain**: a custom domain name.'."\n" + .'* **Ip**: a custom IP address.'."\n" + .'* **IpTarget**: a custom private IP address.'."\n" + .'* **PublicIp**: a public IP address provided by Alibaba Cloud.'."\n" + .'* **ECS**: an Elastic Compute Service (ECS) instance.'."\n" + .'* **SLB**: a Server Load Balancer (SLB) instance.'."\n" + .'* **ALB** an Application Load Balancer (ALB) instance.'."\n" + .'* **OSS**: an Object Storage Service (OSS) bucket.'."\n" + .'* **ENI**: an elastic network interface (ENI).'."\n" + .'* **NLB**: a Network Load Balancer (NLB) instance.'."\n", + 'type' => 'string', + 'example' => 'Ip', + ], + 'EnableClientIPPreservation' => [ + 'description' => 'Indicates whether the client IP address preservation feature is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Weight' => [ + 'description' => 'The weight of the endpoint.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'ProbeProtocol' => [ + 'description' => 'The protocol that is used to monitor latency. Valid values:'."\n" + ."\n" + .'* **tcp**'."\n" + .'* **icmp**'."\n", + 'type' => 'string', + 'example' => 'tcp', + ], + 'Endpoint' => [ + 'description' => 'The IP address, domain name, or ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => '120.XX.XX.21', + ], + 'EnableProxyProtocol' => [ + 'description' => 'Indicates whether the proxy protocol is used to preserve client IP addresses.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'ProbePort' => [ + 'description' => 'The port that is used to monitor latency.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'SubAddress' => [ + 'description' => 'The private IP address of the ENI.'."\n", + 'type' => 'string', + 'example' => '172.168.XX.XX', + ], + 'VpcId' => [ + 'description' => 'The VPC ID.'."\n", + 'type' => 'string', + 'example' => 'vpc-hp30gtnxkfxj1l2xt****', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of vSwitches that are deployed in the VPC.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of vSwitches.'."\n", + 'type' => 'string', + 'example' => 'vsw-bp1nx4sxxe1nnr1ja****', + ], + 'maxItems' => 10, + ], + ], + ], + ], + 'PortOverrides' => [ + 'description' => 'The mappings between ports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The mappings between ports.'."\n", + 'type' => 'object', + 'properties' => [ + 'ListenerPort' => [ + 'description' => 'The listener port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '443', + ], + 'EndpointPort' => [ + 'description' => 'The endpoint port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + ], + ], + ], + 'EndpointRequestProtocol' => [ + 'description' => 'The protocol that is used by the backend service.'."\n" + ."\n" + .'* **HTTP**'."\n" + .'* **HTTPS**'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'EndpointProtocolVersion' => [ + 'description' => 'The version of the protocol that is used by the backend service.'."\n" + ."\n" + .'* **HTTP1.1**'."\n" + .'* **HTTP2**'."\n", + 'type' => 'string', + ], + 'EndpointGroupType' => [ + 'description' => 'The type of endpoint group. Valid values:'."\n" + ."\n" + .'* **default**: a default endpoint group'."\n" + .'* **virtual**: a virtual endpoint group'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'ForwardingRuleIds' => [ + 'description' => 'The ID of the forwarding rule that is associated with the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the forwarding rule that is associated with the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'frule-bp19a3t3yzr21q3****', + ], + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'SlsRegion' => [ + 'description' => 'The region of the Log Service project.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'SlsProjectName' => [ + 'description' => 'The name of the Log Service project.'."\n", + 'type' => 'string', + 'example' => 'pn-01', + ], + 'SlsLogStoreName' => [ + 'description' => 'The name of the Logstore.'."\n", + 'type' => 'string', + 'example' => 'lsn-01', + ], + 'AccessLogSwitch' => [ + 'description' => 'Indicates the binding status between the Simple Log Service project and the endpoint group. Valid values:'."\n" + ."\n" + .'* **on:** The endpoint group is bound to the Simple Log Service project.'."\n" + .'* **off:** The endpoint group is not bound to the Simple Log Service project.'."\n" + .'* **binding:** The endpoint group is being bound to the Simple Log Service project.'."\n" + .'* **unbinding:** The endpoint group is being unbound from the Simple Log Service project.'."\n", + 'type' => 'string', + 'example' => 'on', + ], + 'EnableAccessLog' => [ + 'description' => 'Indicates whether the access log feature is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'HealthCheckEnabled' => [ + 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" + ."\n" + .'* **true**: enabled'."\n" + .'* **false**: disabled'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the GA instance.'."\n" + ."\n" + .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the instance is managed.'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + .'>* This parameter takes effect only if the value of **ServiceManaged** is **true**.'."\n" + .'>* Users can perform only specific actions on a managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action on the managed instance.'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource.'."\n" + ."\n" + .'* **Listener:** listener.'."\n" + .'* **IpSet:** acceleration region.'."\n" + .'* **EndpointGroup:** endpoint group.'."\n" + .'* **ForwardingRule:** forwarding rule.'."\n" + .'* **Endpoint:** endpoint.'."\n" + .'* **EndpointGroupDestination:** protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy:** traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter takes effect only if the value of **Action** is **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed.'."\n" + ."\n" + .'* **true:** The specified actions are managed. Users cannot perform the specified actions on the managed instance.****'."\n" + .'* **false:** The specified actions are not managed. Users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + 'Tags' => [ + 'description' => 'The tag of the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Tag objects.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'test-key', + ], + 'Value' => [ + 'description' => 'The tag value of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'test-value', + ], + ], + ], + ], + 'HealthCheckHost' => [ + 'type' => 'string', + ], + 'AccessLogRecordCustomizedHeadersEnabled' => [ + 'type' => 'boolean', + ], + 'AccessLogRecordCustomizedHeaderList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + 'EndpointIpVersion' => [ + 'type' => 'string', + ], + 'EndpointPrivateIpList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PrivateIp' => [ + 'type' => 'string', + ], + 'VSwitchId' => [ + 'type' => 'string', + ], + 'CIDR' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"HealthCheckIntervalSeconds\\": 3,\\n \\"TrafficPercentage\\": 100,\\n \\"EndpointGroupId\\": \\"epg-bp14sz7ftcwwjgrdm****\\",\\n \\"Description\\": \\"group1\\",\\n \\"EndpointGroupIpList\\": [\\n \\"101.XX.XX.22\\"\\n ],\\n \\"EndpointGroupUnconfirmedIpList\\": [\\n \\"101.XX.XX.22\\"\\n ],\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\",\\n \\"HealthCheckPath\\": \\"/healthcheck\\",\\n \\"ThresholdCount\\": 3,\\n \\"Name\\": \\"group1\\",\\n \\"EndpointGroupRegion\\": \\"cn-hangzhou\\",\\n \\"State\\": \\"active\\",\\n \\"HealthCheckProtocol\\": \\"tcp\\",\\n \\"HealthCheckPort\\": 20,\\n \\"EndpointConfigurations\\": [\\n {\\n \\"Type\\": \\"Ip\\",\\n \\"EnableClientIPPreservation\\": false,\\n \\"Weight\\": 255,\\n \\"ProbeProtocol\\": \\"tcp\\",\\n \\"Endpoint\\": \\"120.XX.XX.21\\",\\n \\"EnableProxyProtocol\\": false,\\n \\"ProbePort\\": 80,\\n \\"SubAddress\\": \\"172.168.XX.XX\\",\\n \\"VpcId\\": \\"vpc-hp30gtnxkfxj1l2xt****\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1nx4sxxe1nnr1ja****\\"\\n ]\\n }\\n ],\\n \\"PortOverrides\\": [\\n {\\n \\"ListenerPort\\": 443,\\n \\"EndpointPort\\": 80\\n }\\n ],\\n \\"EndpointRequestProtocol\\": \\"HTTP\\",\\n \\"EndpointProtocolVersion\\": \\"HTTP2\\",\\n \\"EndpointGroupType\\": \\"default\\",\\n \\"ForwardingRuleIds\\": [\\n \\"frule-bp19a3t3yzr21q3****\\"\\n ],\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"SlsRegion\\": \\"cn-hangzhou\\",\\n \\"SlsProjectName\\": \\"pn-01\\",\\n \\"SlsLogStoreName\\": \\"lsn-01\\",\\n \\"AccessLogSwitch\\": \\"on\\",\\n \\"EnableAccessLog\\": true,\\n \\"HealthCheckEnabled\\": true,\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"test-key\\",\\n \\"Value\\": \\"test-value\\"\\n }\\n ],\\n \\"HealthCheckHost\\": \\"www.taobao.com\\",\\n \\"AccessLogRecordCustomizedHeadersEnabled\\": true,\\n \\"AccessLogRecordCustomizedHeaderList\\": [\\n \\"[\'sda\', \'dsaasdd\', \'dsada\']\\"\\n ],\\n \\"EndpointIpVersion\\": \\"IPv4\\",\\n \\"EndpointPrivateIpList\\": [\\n {\\n \\"PrivateIp\\": \\"172.16.49.***\\",\\n \\"VSwitchId\\": \\"gsw-bp1rsfd2frym**\\",\\n \\"CIDR\\": \\"\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeEndpointGroupResponse>\\n <HealthCheckIntervalSeconds>3</HealthCheckIntervalSeconds>\\n <TrafficPercentage>20</TrafficPercentage>\\n <EndpointGroupId>epg-bp14sz7ftcwwjgrdm****</EndpointGroupId>\\n <Description>group1</Description>\\n <EndpointGroupIpList>101.XX.XX.22</EndpointGroupIpList>\\n <EndpointGroupUnconfirmedIpList>101.XX.XX.22</EndpointGroupUnconfirmedIpList>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8\\t</RequestId>\\n <HealthCheckPath>/healthcheck</HealthCheckPath>\\n <ThresholdCount>3</ThresholdCount>\\n <Name>group1</Name>\\n <EndpointGroupRegion>cn-hangzhou</EndpointGroupRegion>\\n <State>active</State>\\n <HealthCheckProtocol>tcp</HealthCheckProtocol>\\n <HealthCheckPort>20</HealthCheckPort>\\n <EndpointConfigurations>\\n <Type>Ip</Type>\\n <EnableClientIPPreservation>false</EnableClientIPPreservation>\\n <Weight>20</Weight>\\n <ProbeProtocol>tcp</ProbeProtocol>\\n <Endpoint>120.XX.XX.21</Endpoint>\\n <EnableProxyProtocol>false</EnableProxyProtocol>\\n <ProbePort>80</ProbePort>\\n </EndpointConfigurations>\\n <PortOverrides>\\n <ListenerPort>443</ListenerPort>\\n <EndpointPort>80</EndpointPort>\\n </PortOverrides>\\n <EndpointRequestProtocol>HTTP</EndpointRequestProtocol>\\n <EndpointGroupType>default</EndpointGroupType>\\n <ForwardingRuleIds>frule-bp19a3t3yzr21q3****</ForwardingRuleIds>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <SlsRegion>cn-hangzhou</SlsRegion>\\n <SlsProjectName>pn-01</SlsProjectName>\\n <SlsLogStoreName>lsn-01</SlsLogStoreName>\\n <AccessLogSwitch>on</AccessLogSwitch>\\n <EnableAccessLog>false</EnableAccessLog>\\n <HealthCheckEnabled>true</HealthCheckEnabled>\\n <Tags>\\n <Key>test-key</Key>\\n <Value>test-value</Value>\\n </Tags>\\n</DescribeEndpointGroupResponse>","errorExample":""}]', + 'title' => 'DescribeEndpointGroup', + 'summary' => 'Queries information about an endpoint group.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListEndpointGroups' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8508', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointGroupType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the endpoint group. Valid values: Valid values:'."\n" + ."\n" + .'* **default**'."\n" + .'* **virtual**'."\n" + .'* If you leave this parameter empty, all default and virtual endpoint groups are queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'virtual', + 'enum' => [ + 'default', + 'virtual', + ], + ], + ], + [ + 'name' => 'AccessLogSwitch', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether the access logging feature is enabled. Default value: off. Valid values:'."\n" + ."\n" + .'* **on**: The access logging feature is enabled.'."\n" + .'* **off**: The access logging feature is disabled.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'epg-bp16jdc00bhe97sr5****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'repeatList', + 'schema' => [ + 'title' => '标签列表,最多包含20个子项', + 'description' => 'The tag of the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the endpoint group.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '标签键', + 'description' => 'The tag key of the endpoint group. It cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test-key', + ], + 'Value' => [ + 'title' => '标签值', + 'description' => 'The tag value of the endpoint group. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag values.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 0, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'A052D49E-CCC2-41DB-816C-DC3381503194 ', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'EndpointGroups' => [ + 'description' => 'The configurations of the endpoint groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp16jdc00bhe97sr5****', + ], + 'EndpointGroupIpList' => [ + 'description' => 'The endpoint group IP addresses.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group IP address.'."\n", + 'type' => 'string', + 'example' => '47.1.XX.XX', + ], + ], + 'EndpointGroupUnconfirmedIpList' => [ + 'description' => 'The endpoint group IP addresses to be confirmed after the GA instance is upgraded.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group IP address to be confirmed after the GA instance is upgraded.'."\n", + 'type' => 'string', + 'example' => '47.1.XX.XX', + ], + ], + 'State' => [ + 'description' => 'The status of the endpoint group. Valid values:'."\n" + ."\n" + .'* **init:** The endpoint group is being initialized.'."\n" + .'* **active:** The endpoint group is running normally.'."\n" + .'* **updating:**The endpoint group is being updated.'."\n" + .'* **deleteing:** The endpoint group is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'HealthCheckPath' => [ + 'description' => 'The path that is used for health checks.'."\n", + 'type' => 'string', + 'example' => '/healthcheck', + ], + 'EndpointGroupRegion' => [ + 'description' => 'The ID of the region where the endpoint group is created.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'HealthCheckIntervalSeconds' => [ + 'description' => 'The interval at which you want to perform health checks. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'TrafficPercentage' => [ + 'description' => 'The value of the traffic distribution ratio. If a listener is associated with multiple endpoint groups, you can set this parameter to distribute different percentages of traffic to the endpoint groups.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'HealthCheckProtocol' => [ + 'description' => 'The protocol over which health check requests are sent. Valid values:'."\n" + ."\n" + .'* **tcp** or **TCP**'."\n" + .'* **http** or **HTTP**'."\n" + .'* **https** or **HTTPS**'."\n", + 'type' => 'string', + 'example' => 'tcp', + ], + 'ThresholdCount' => [ + 'description' => 'The number of consecutive failed health checks that must occur before an endpoint is considered unhealthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'EndpointConfigurations' => [ + 'description' => 'The configurations of the endpoints in the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the endpoint in the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **Domain**: a custom domain name.'."\n" + .'* **Ip**: a custom IP address.'."\n" + .'* **IpTarget**: a custom private IP address.'."\n" + .'* **PublicIp**: a public IP address provided by Alibaba Cloud.'."\n" + .'* **ECS**: an Elastic Compute Service (ECS) instance.'."\n" + .'* **SLB**: a Server Load Balancer (SLB) instance.'."\n" + .'* **ALB**: an Application Load Balancer (ALB) instance.'."\n" + .'* **OSS**: an Object Storage Service (OSS) bucket.'."\n" + .'* **ENI**: an elastic network interface (ENI).'."\n" + .'* **NLB**: a Network Load Balancer (NLB) instance.'."\n", + 'type' => 'string', + 'example' => 'Ip', + ], + 'EnableClientIPPreservation' => [ + 'description' => 'Indicates whether the client IP address preservation feature is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Weight' => [ + 'description' => 'The weight of the endpoint.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'ProbeProtocol' => [ + 'description' => 'The protocol that is used to monitor latency.'."\n" + ."\n" + .'* **icmp**'."\n" + .'* **tcp**'."\n", + 'type' => 'string', + 'example' => 'tcp', + ], + 'Endpoint' => [ + 'description' => 'The IP address or domain name of the endpoint.'."\n", + 'type' => 'string', + 'example' => '47.1.XX.XX', + ], + 'EnableProxyProtocol' => [ + 'description' => 'Indicates whether the proxy protocol is used to preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + ], + 'ProbePort' => [ + 'description' => 'The port that is used to monitor latency.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'EndpointId' => [ + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp1d2utp8qqe2a44t****', + ], + 'SubAddress' => [ + 'description' => 'The private IP address of the ENI.'."\n", + 'type' => 'string', + 'example' => '172.168.XX.XX', + ], + 'VpcId' => [ + 'description' => 'The VPC ID.'."\n", + 'type' => 'string', + 'example' => 'vpc-8vbhucmd5b2q2fpqqu****', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of vSwitches that are deployed in the VPC.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of vSwitches.'."\n", + 'type' => 'string', + 'example' => 'vsw-hp3xwc2aebg2u30ln****', + ], + 'maxItems' => 10, + ], + ], + ], + ], + 'PortOverrides' => [ + 'description' => 'The port mapping.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The mappings between ports.', + 'type' => 'object', + 'properties' => [ + 'ListenerPort' => [ + 'description' => 'The listener port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '443', + ], + 'EndpointPort' => [ + 'description' => 'The endpoint port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + ], + ], + ], + 'ForwardingRuleIds' => [ + 'description' => 'The IDs of the forwarding rules that are associated with the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the forwarding rule that is associated with the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'frule-bp19a3t3yzr21q3****', + ], + ], + 'EndpointGroupType' => [ + 'description' => 'The type of the endpoint group. Valid values:'."\n" + ."\n" + .'* **default**: a default endpoint group'."\n" + .'* **virtual:** a virtual endpoint group.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'EndpointRequestProtocol' => [ + 'description' => 'The protocol that is used by the backend server.'."\n" + ."\n" + .'* **HTTP**'."\n" + .'* **HTTPS**'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'EndpointProtocolVersion' => [ + 'description' => 'The protocol version that is used by the backend service. Valid values:'."\n" + ."\n" + .'* **HTTP1.1**'."\n" + .'* **HTTP2**'."\n", + 'type' => 'string', + ], + 'Description' => [ + 'description' => 'The description of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'group1', + ], + 'Name' => [ + 'description' => 'The name of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'group1', + ], + 'HealthCheckPort' => [ + 'description' => 'The port that is used for health checks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'HealthCheckEnabled' => [ + 'description' => 'Indicates whether the health check feature is enabled.'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceId' => [ + 'description' => 'The service that manages the instance.'."\n" + ."\n" + .'> This parameter takes effect only if the value of **Service managed** is **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + ."\n" + .'> - This parameter takes effect only if the value of **ServiceManaged** is **true**.'."\n" + .'> - Users can perform only specific actions on a managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action that was performed on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create:** Create an instance.'."\n" + .'* **Update:** Update the current instance.'."\n" + .'* **Delete:** Delete the current instance.'."\n" + .'* **Associate:** Reference the current instance.'."\n" + .'* **UserUnmanaged:** Unmanage the instance.'."\n" + .'* **CreateChild:** Create a child resource in the current instance.'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener:** listener.'."\n" + .'* **IpSet:** acceleration region.'."\n" + .'* **EndpointGroup:** endpoint group.'."\n" + .'* **ForwardingRule:** forwarding rule.'."\n" + .'* **Endpoint:** endpoint.'."\n" + .'* **EndpointGroupDestination:** the protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy:** the traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter takes effect only if you set **Action** to **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed. Valid values:'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + 'Tags' => [ + 'description' => 'The tag of the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the endpoint groups.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'test-key', + ], + 'Value' => [ + 'description' => 'The tag value of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'test-value', + ], + ], + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + 'HealthCheckHost' => [ + 'type' => 'string', + ], + 'EndpointIpVersion' => [ + 'type' => 'string', + ], + 'EndpointPrivateIpList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PrivateIp' => [ + 'type' => 'string', + ], + 'VSwitchId' => [ + 'type' => 'string', + ], + 'CIDR' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"A052D49E-CCC2-41DB-816C-DC3381503194\\\\t\\",\\n \\"PageNumber\\": 1,\\n \\"EndpointGroups\\": [\\n {\\n \\"EndpointGroupId\\": \\"epg-bp16jdc00bhe97sr5****\\",\\n \\"EndpointGroupIpList\\": [\\n \\"47.1.XX.XX\\"\\n ],\\n \\"EndpointGroupUnconfirmedIpList\\": [\\n \\"47.1.XX.XX\\"\\n ],\\n \\"State\\": \\"active\\",\\n \\"HealthCheckPath\\": \\"/healthcheck\\",\\n \\"EndpointGroupRegion\\": \\"cn-hangzhou\\",\\n \\"HealthCheckIntervalSeconds\\": 3,\\n \\"TrafficPercentage\\": 100,\\n \\"HealthCheckProtocol\\": \\"tcp\\",\\n \\"ThresholdCount\\": 3,\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"EndpointConfigurations\\": [\\n {\\n \\"Type\\": \\"Ip\\",\\n \\"EnableClientIPPreservation\\": false,\\n \\"Weight\\": 20,\\n \\"ProbeProtocol\\": \\"tcp\\",\\n \\"Endpoint\\": \\"47.1.XX.XX\\",\\n \\"EnableProxyProtocol\\": true,\\n \\"ProbePort\\": 80,\\n \\"EndpointId\\": \\"ep-bp1d2utp8qqe2a44t****\\",\\n \\"SubAddress\\": \\"172.168.XX.XX\\",\\n \\"VpcId\\": \\"vpc-8vbhucmd5b2q2fpqqu****\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-hp3xwc2aebg2u30ln****\\"\\n ]\\n }\\n ],\\n \\"PortOverrides\\": [\\n {\\n \\"ListenerPort\\": 443,\\n \\"EndpointPort\\": 80\\n }\\n ],\\n \\"ForwardingRuleIds\\": [\\n \\"frule-bp19a3t3yzr21q3****\\"\\n ],\\n \\"EndpointGroupType\\": \\"default\\",\\n \\"EndpointRequestProtocol\\": \\"HTTP\\",\\n \\"EndpointProtocolVersion\\": \\"HTTP1.1\\",\\n \\"Description\\": \\"group1\\",\\n \\"Name\\": \\"group1\\",\\n \\"HealthCheckPort\\": 10,\\n \\"HealthCheckEnabled\\": true,\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"test-key\\",\\n \\"Value\\": \\"test-value\\"\\n }\\n ],\\n \\"HealthCheckHost\\": \\"www.taobao.com\\",\\n \\"EndpointIpVersion\\": \\"IPv4\\",\\n \\"EndpointPrivateIpList\\": [\\n {\\n \\"PrivateIp\\": \\"172.19.115.37\\",\\n \\"VSwitchId\\": \\"gsw-0jl6tmriqep1ga***\\",\\n \\"CIDR\\": \\"\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListEndpointGroupsResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>A052D49E-CCC2-41DB-816C-DC3381503194\\t</RequestId>\\n <PageNumber>1</PageNumber>\\n <EndpointGroups>\\n <EndpointGroupId>epg-bp16jdc00bhe97sr5****</EndpointGroupId>\\n <EndpointGroupIpList>47.1.XX.XX</EndpointGroupIpList>\\n <EndpointGroupUnconfirmedIpList>47.1.XX.XX</EndpointGroupUnconfirmedIpList>\\n <State>active</State>\\n <HealthCheckPath>/healthcheck</HealthCheckPath>\\n <EndpointGroupRegion>cn-hangzhou</EndpointGroupRegion>\\n <HealthCheckIntervalSeconds>3</HealthCheckIntervalSeconds>\\n <TrafficPercentage>20</TrafficPercentage>\\n <HealthCheckProtocol>tcp</HealthCheckProtocol>\\n <ThresholdCount>3</ThresholdCount>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <EndpointConfigurations>\\n <Type>Ip</Type>\\n <EnableClientIPPreservation>false</EnableClientIPPreservation>\\n <Weight>20</Weight>\\n <ProbeProtocol>tcp</ProbeProtocol>\\n <Endpoint>47.1.XX.XX</Endpoint>\\n <ProbePort>80</ProbePort>\\n <EndpointId>ep-bp1d2utp8qqe2a44t****</EndpointId>\\n </EndpointConfigurations>\\n <PortOverrides>\\n <ListenerPort>443</ListenerPort>\\n <EndpointPort>80</EndpointPort>\\n </PortOverrides>\\n <ForwardingRuleIds>frule-bp19a3t3yzr21q3****</ForwardingRuleIds>\\n <EndpointGroupType>default</EndpointGroupType>\\n <EndpointRequestProtocol>HTTP</EndpointRequestProtocol>\\n <Description>group1</Description>\\n <Name>group1</Name>\\n <HealthCheckPort>10</HealthCheckPort>\\n <HealthCheckEnabled>true</HealthCheckEnabled>\\n <Tags>\\n <Key>test-key</Key>\\n <Value>test-value</Value>\\n </Tags>\\n </EndpointGroups>\\n</ListEndpointGroupsResponse>","errorExample":""}]', + 'title' => 'ListEndpointGroups', + 'summary' => 'Queries a list of endpoint groups.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateEndpointGroup' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8509', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the endpoint group.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the endpoint group.'."\n" + ."\n" + .'The description can be up to 200 characters in length and cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'EndpointGroup', + ], + ], + [ + 'name' => 'EndpointGroupRegion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the endpoint group is created.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TrafficPercentage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The weight of the endpoint group when the listener is associated with multiple endpoint groups.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'HealthCheckIntervalSeconds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The interval between two consecutive health checks. Unit: seconds. Valid values: **1** to **50**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'HealthCheckPath', + 'in' => 'query', + 'schema' => [ + 'description' => 'The path to which health check requests are sent.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/healthcheck', + ], + ], + [ + 'name' => 'HealthCheckPort', + 'in' => 'query', + 'schema' => [ + 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'HealthCheckProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'The protocol over which to send health check requests. Valid values:'."\n" + ."\n" + .'* **tcp** or **TCP**'."\n" + .'* **http** or **HTTP**'."\n" + .'* **https** or **HTTPS**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'ThresholdCount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of consecutive health check failures that must occur before a healthy endpoint group is considered unhealthy, or the number of consecutive health check successes that must occur before an unhealthy endpoint group is considered healthy.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'EndpointConfigurations', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The configurations of the endpoints in the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of the endpoint in the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **Domain**: a custom domain name.'."\n" + .'* **Ip**: a custom IP address.'."\n" + .'* **IpTarget**: a custom private IP address.'."\n" + .'* **PublicIp**: a public IP address provided by Alibaba Cloud.'."\n" + .'* **ECS**: an Elastic Compute Service (ECS) instance.'."\n" + .'* **SLB**: a Server Load Balancer (SLB) instance.'."\n" + .'* **ALB**: an Application Load Balancer (ALB) instance.'."\n" + .'* **OSS**: an Object Storage Service (OSS) bucket.'."\n" + .'* **ENI**: an elastic network interface (ENI).'."\n" + .'* **NLB**: a Network Load Balancer (NLB) instance.'."\n" + ."\n" + .'> * If you set this parameter to **ECS**, **ENI**, **SLB**, **ALB**, **NLB**, or **IpTarget**, and the AliyunServiceRoleForGaVpcEndpoint service-linked role does not exist, the system automatically creates the role.'."\n" + .'>* If you set this parameter to **ALB** and the AliyunServiceRoleForGaAlb service-linked role does not exist, the system automatically creates the role.'."\n" + .'>* If you set this parameter to **OSS** and the AliyunServiceRoleForGaOss service-linked role does not exist, the system automatically creates the role.'."\n" + .'>* If you set this parameter to **NLB** and the AliyunServiceRoleForGaNlb service-linked role does not exist, the system automatically creates the role.'."\n" + .'>>For more information, see [Service-linked roles](~~178360~~).', + 'type' => 'string', + 'required' => true, + 'example' => 'Ip', + ], + 'EnableClientIPPreservation' => [ + 'description' => 'Specifies whether to automatically preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> * By default, client IP address preservation is disabled for an endpoint group of a UDP or TCP listener. You can configure this parameter based on your business requirements.'."\n" + .'>* By default, client IP address preservation is enabled for an endpoint group of an HTTP or HTTP listener. You can obtain client IP addresses by using the X-Forwarded-For header. You cannot disable the feature.'."\n" + .'>* EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'>>For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'Weight' => [ + 'description' => 'The weight of the endpoint.'."\n" + ."\n" + .'Valid values: **0** to **255**.'."\n" + ."\n" + .'> If you set the weight of an endpoint to 0, GA stops distributing traffic to the endpoint. Proceed with caution.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '20', + ], + 'EnableProxyProtocol' => [ + 'description' => 'Specifies whether to use the proxy protocol to preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> * This parameter is available only to endpoint groups of TCP listeners.'."\n" + .'>* EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'>>For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'Endpoint' => [ + 'description' => 'Enter the IP address, domain name, or instance ID based on the value of the Type parameter.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '120.XX.XX.21', + ], + 'SubAddress' => [ + 'description' => 'The private IP address of the ENI.'."\n" + ."\n" + .'> This parameter is available only when you set the endpoint type to **ENI**. If you leave this parameter empty, the primary private IP address of the ENI is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.168.XX.XX', + ], + 'VpcId' => [ + 'description' => 'The virtual private cloud (VPC) ID.'."\n" + ."\n" + .'You can specify one VPC ID for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'> This parameter is valid and required only if Type is set to **IpTarget**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-2zen6t0u7xhm0k5iz****', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of vSwitches that are deployed in the VPC.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch IDs.'."\n" + ."\n" + .'You can specify up to two vSwitch IDs for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'>* This parameter is valid and required only if Type is set to IpTarget.'."\n" + .'>* The vSwitch must belong to the VPC specified by VpcId.', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-2ze2dbtkxabpvpqxc****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'EndpointRequestProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'The protocol that is used by the backend service. Valid values:'."\n" + ."\n" + .'* **HTTP**'."\n" + .'* **HTTPS**'."\n" + ."\n" + .'> * You can set this parameter only when the listener that is associated with the endpoint group uses the HTTP or HTTPS protocol.'."\n" + .'> * For an HTTP listener, the backend service protocol must be HTTP.', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + ], + [ + 'name' => 'EndpointProtocolVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The protocol version that is used by the backend service. Valid values:'."\n" + ."\n" + .'* **HTTP1.1**'."\n" + .'* **HTTP2**'."\n" + ."\n" + .'> This parameter takes effect only when you set EndpointRequestProtocol to HTTPS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP1.1', + ], + ], + [ + 'name' => 'PortOverrides', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The port mapping.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port mapping.'."\n", + 'type' => 'object', + 'properties' => [ + 'ListenerPort' => [ + 'description' => 'The listener port that is mapped to the endpoint port.'."\n" + ."\n" + .'> * You cannot configure port mappings for virtual endpoint groups of TCP listeners. If a virtual endpoint group already exists on the listener, you cannot configure port mappings for the default endpoint group. If port mappings are configured for the default endpoint group, you cannot add a virtual endpoint group.'."\n" + .'>* If you configure port mappings for a listener, you cannot modify the listener protocol. You can only switch between HTTP and HTTPS.'."\n" + .'>* Listener port: When you modify the listener port range, make sure that the port range includes the ports configured in port mappings. For example, if you set the listener port range to 80 to 82 and map the listener ports to endpoint ports 100 to 102, you cannot change the listener port range to 80 to 81.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '443', + ], + 'EndpointPort' => [ + 'description' => 'The endpoint port that is mapped to the listener port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 200, + ], + ], + [ + 'name' => 'HealthCheckEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the health check feature. Valid values: Valid values:'."\n" + ."\n" + .'* **true**: The health check feature is enabled.'."\n" + .'* **false** (default)'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'HealthCheckHost', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + ], + ], + [ + 'name' => 'EndpointIpVersion', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission.EnableHealthCheck', + 'errorMessage' => 'You do not have permission to enable health check.', + ], + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'The endpoint group does not exist.', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'The specified state of endpoint group is invalid.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndPoint', + 'errorMessage' => 'The maximum number of endpoints is exceeded.', + ], + [ + 'errorCode' => 'NoPermission.VpcEndpoint', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + [ + 'errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', + 'errorMessage' => 'endpoint group request protoco is illegal', + ], + [ + 'errorCode' => 'QuotaExceeded.PortOverride', + 'errorMessage' => 'The number of port override exceeds the limit.', + ], + [ + 'errorCode' => 'NotExist.ListenerPort', + 'errorMessage' => 'listener port %s is not exist', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateEndpointGroupResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8\\t</RequestId>\\n</UpdateEndpointGroupResponse>","errorExample":""}]', + 'title' => 'UpdateEndpointGroup', + 'summary' => 'Modifies the configurations of an endpoint group.', + 'description' => '* **UpdateEndpointGroup** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [DescribeEndpointGroup](~~153260~~) operation to query the state of an endpoint group.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, it indicates that the configurations of the endpoint group are being modified. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state, it indicates that the configurations of the endpoint group are modified.'."\n" + ."\n" + .'* The **UpdateEndpointGroup** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateEndpointGroupAttribute' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8894', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the value, but make sure that the value is unique among different requests. The token can only contain ASCII characters and cannot exceed 64 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1ple63864a5hyj5****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the endpoint group that you want to modify.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the endpoint group that you want to modify. The description can be up to 200 characters in length and cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'testEndpointGroup', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'The endpoint group does not exist.', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'The specified state of endpoint group is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateEndpointGroupAttributeResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n</UpdateEndpointGroupAttributeResponse>","errorExample":""}]', + 'title' => 'UpdateEndpointGroupAttribute', + 'summary' => 'Modifies the name and description of an endpoint group.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteEndpointGroup' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7851', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000 ', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'The endpoint group does not exist.', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'The specified state of endpoint group is invalid.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","type":"json"}]', + 'title' => 'DeleteEndpointGroup', + 'summary' => 'Deletes an endpoint group.', + 'description' => '* **DeleteEndpointGroup** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeEndpointGroup](~~153260~~) operation to query the status of the endpoint group.'."\n" + ."\n" + .' * If the endpoint group is in the **deleting** state, it indicates that the endpoint group is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group cannot be queried, it indicates that the endpoint group is deleted.'."\n" + ."\n" + .'* The **DeleteEndpointGroup** operation holds an exclusive lock on the Global Accelerator (GA) instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeLogStoreOfEndpointGroup' => [ + 'summary' => 'Queries the Simple Log Service project and Logstore associated with an endpoint group.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '153954', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-xxxxxxxxxxxxx', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-xxxxxxxxxxxxxxx', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-xxxxxxxxxxxxxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The response parameters.'."\n", + 'type' => 'string', + 'example' => '1777E713-8456-55F1-9A69-9AD9EAE2B3B6', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-xxxxxxxxxxxxx', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-xxxxxxxxxxxxxxx', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-xxxxxxxxxxxxxxx', + ], + 'SlsRegionId' => [ + 'description' => 'The region ID of the Simple Log Service project.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'SlsProjectName' => [ + 'description' => 'The name of the Simple Log Service project.'."\n", + 'type' => 'string', + 'example' => 'ga_project_name', + ], + 'SlsLogStoreName' => [ + 'description' => 'The name of the Logstore.'."\n", + 'type' => 'string', + 'example' => 'ga_log', + ], + 'Status' => [ + 'description' => 'Indicates whether the endpoint group is bound to the Simple Log Service project.'."\n" + ."\n" + .'* **on:** The endpoint group is bound to the Simple Log Service project.'."\n" + .'* **off:** The endpoint group is not bound to the Simple Log Service project.'."\n", + 'type' => 'string', + 'example' => 'on - binding'."\n" + .'off - unbinding', + ], + 'AccessLogRecordCustomizedHeadersEnabled' => [ + 'type' => 'boolean', + ], + 'AccessLogRecordCustomizedHeaderList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1777E713-8456-55F1-9A69-9AD9EAE2B3B6\\",\\n \\"AcceleratorId\\": \\"ga-xxxxxxxxxxxxx\\",\\n \\"ListenerId\\": \\"lsr-xxxxxxxxxxxxxxx\\",\\n \\"EndpointGroupId\\": \\"epg-xxxxxxxxxxxxxxx\\",\\n \\"SlsRegionId\\": \\"cn-hangzhou\\",\\n \\"SlsProjectName\\": \\"ga_project_name\\",\\n \\"SlsLogStoreName\\": \\"ga_log\\",\\n \\"Status\\": \\"on\\",\\n \\"AccessLogRecordCustomizedHeadersEnabled\\": true,\\n \\"AccessLogRecordCustomizedHeaderList\\": [\\n \\"\\"\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeLogStoreOfEndpointGroup', + ], + 'AttachLogStoreToEndpointGroup' => [ + 'summary' => 'Associates a Log Service Logstore with an endpoint group.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17771', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SlsProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Log Service project.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'pn-01', + ], + ], + [ + 'name' => 'SlsLogStoreName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the Logstore.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'lsn-01', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'SlsRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Log Service project.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EndpointGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the endpoint groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the endpoint groups.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '[\'epg-bp1dmlohjjz4kqaun****\',\'epg-bp1v1u72cx35ogofe****\', ...]', + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 10, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the value, but you must make sure that it is unique among different requests. ClientToken can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AccessLogRecordCustomizedHeaderList', + 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'string', + ], + 'maxItems' => 100, + ], + ], + [ + 'name' => 'AccessLogRecordCustomizedHeadersEnabled', + 'in' => 'query', + 'schema' => [ + 'type' => 'boolean', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'NotSupportAccessLog.Accelerator', + 'errorMessage' => 'Currently Accelerator does not support access log feature', + ], + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachLogStoreToEndpointGroupResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n</AttachLogStoreToEndpointGroupResponse>","errorExample":""}]', + 'title' => 'AttachLogStoreToEndpointGroup', + 'description' => '* **AttachLogStoreToEndpointGroup** is an asynchronous operation. After you send a request, the system returns a request ID, but this operation is still being performed in the system background. You can call the [DescribeEndpointGroup](~~153260~~) operation to query the state of an endpoint group.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, it indicates that a Logstore is being associated with the group. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state, it indicates that a Logstore is associated with the group.'."\n" + ."\n" + .'* The **AttachLogStoreToEndpointGroup** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.', + ], + 'DetachLogStoreFromEndpointGroup' => [ + 'summary' => 'Disassociates a Log Service Logstore from an endpoint group.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of endpoint groups.', + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of endpoint groups.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '[\'epg-bp1dmlohjjz4kqaun****\',\'epg-bp1v1u72cx35ogofe****\', ...]', + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 10, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'accelerator %s is not exist', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachLogStoreFromEndpointGroupResponse>\\n <RequestId>64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF</RequestId>\\n</DetachLogStoreFromEndpointGroupResponse>","errorExample":""}]', + 'title' => 'DetachLogStoreFromEndpointGroup', + 'description' => '## Description'."\n" + ."\n" + .'* **DetachLogStoreFromEndpointGroup** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [DescribeEndpointGroup](~~153260~~) operation to query the state of an endpoint group.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, the Log Service Logstore is being disassociated from the endpoint group. In this case, you can perform only query operations.'."\n" + ."\n" + .' <!---->'."\n" + ."\n" + .' * If the endpoint group is in the **active** state, the Log Service Logstore is disassociated from the endpoint group.'."\n" + ."\n" + .'* The **DetachLogStoreFromEndpointGroup** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'CreateEndpointGroups' => [ + 'summary' => 'Creates multiple endpoint groups at a time.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '35744', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, a 2xx HTTP status code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n" + ."\n" + .'> If the listener protocol is **HTTP** or **HTTPS**, you can call the **CreateEndpointGroups** operation to create only one endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointGroupConfigurations', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The information about the endpoint groups.'."\n" + ."\n" + .'You can enter the information about up to 10 endpoint groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the endpoint group.'."\n" + ."\n" + .'You can enter the information about up to 10 endpoint groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupName' => [ + 'description' => 'The name of the endpoint group.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group1', + ], + 'EndpointGroupDescription' => [ + 'description' => 'The description of the endpoint group.'."\n" + ."\n" + .'The description must be up to 200 characters in length, and cannot start with http:// or https://.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group1', + ], + 'EndpointGroupRegion' => [ + 'description' => 'The ID of the region where the endpoint group is created.'."\n" + ."\n" + .'You can enter the IDs of up to 10 regions.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + 'TrafficPercentage' => [ + 'description' => 'The traffic distribution ratio. If an intelligent routing listener is associated with multiple endpoint groups, you can configure this parameter to specify the ratio of traffic distributed to each endpoint group.'."\n" + ."\n" + .'Valid values: **1** to **100**. Default value: **100**.'."\n" + ."\n" + .'You can specify the traffic distribution ratios for up to 10 endpoint groups.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + 'HealthCheckEnabled' => [ + 'description' => 'Specifies whether to enable health checks for the endpoint group. Valid values:'."\n" + ."\n" + .'* **true**: enables the health check feature.'."\n" + .'* **false** (default): disables the health check feature.'."\n" + ."\n" + .'You can enable the health check feature for up to 10 endpoint groups.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'HealthCheckIntervalSeconds' => [ + 'description' => 'The interval at which health checks are performed. Unit: seconds.'."\n" + ."\n" + .'You can specify up to 10 health check intervals.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + 'HealthCheckPath' => [ + 'description' => 'The health check path.'."\n" + ."\n" + .'You can specify up to 10 health check paths.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/healthcheck', + ], + 'HealthCheckPort' => [ + 'description' => 'The port that you want to use for health checks. Valid values: **1** to **65535**.'."\n" + ."\n" + .'You can specify up to 10 ports for health checks.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + 'HealthCheckProtocol' => [ + 'description' => 'The protocol over which health check requests are sent. Valid values:'."\n" + ."\n" + .'* **tcp** or **TCP**'."\n" + .'* **http** or **HTTP**'."\n" + .'* **https** or **HTTPS**'."\n" + ."\n" + .'You can specify up to 10 health check protocols.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + 'ThresholdCount' => [ + 'description' => 'The number of consecutive health check failures that must occur before a healthy endpoint group is considered unhealthy, or the number of consecutive health check successes that must occur before an unhealthy endpoint group is considered healthy. Valid values: **2** to **10**. Default value: **3**.'."\n" + ."\n" + .'You can specify up to 10 values (the number of consecutive health check successes or consecutive health check failures).'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + 'EndpointConfigurations' => [ + 'description' => 'The endpoints that are associated with the intelligent routing listener.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint that is associated with the intelligent routing listener.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the endpoint that is associated with the intelligent routing listener. Valid values:'."\n" + ."\n" + .'* **Domain**: a custom domain name.'."\n" + .'* **Ip**: a custom IP address.'."\n" + .'* **IpTarget**: a custom private IP address.'."\n" + .'* **PublicIp**: a public IP address provided by Alibaba Cloud.'."\n" + .'* **ECS**: an Elastic Compute Service (ECS) instance.'."\n" + .'* **SLB**: a Server Load Balancer (SLB) instance.'."\n" + .'* **ALB**: an Application Load Balancer (ALB) instance.'."\n" + .'* **OSS**: an Object Storage Service (OSS) bucket.'."\n" + .'* **ENI**: an elastic network interface (ENI).'."\n" + .'* **NLB**: a Network Load Balancer (NLB) instance.'."\n" + ."\n" + .'You can specify up to 100 endpoint types in the endpoint group that is associated with the intelligent routing listener.'."\n" + ."\n" + .'> * If you set **Type** to **Standard**, you can configure the endpoint group and endpoint that are associated with the intelligent routing listener. In addition, this parameter is required.'."\n" + .'> * If you set this parameter to **ECS**, **ENI**, **SLB**, **ALB**, **NLB**, or **IpTarget** and the AliyunServiceRoleForGaVpcEndpoint service-linked role does not exist, the system automatically creates the role.'."\n" + .'> * If you set this parameter to **ALB** and the AliyunServiceRoleForGaAlb service-linked role does not exist, the system automatically creates the role.'."\n" + .'> * If you set this parameter to **OSS** and the AliyunServiceRoleForGaOss service-linked role does not exist, the system automatically creates the role.'."\n" + .'> * If you set this parameter to **NLB** and the AliyunServiceRoleForGaNlb service-linked role does not exist, the system automatically creates the role.'."\n" + .'>> For more information, see [Service-linked roles](~~178360~~).', + 'type' => 'string', + 'required' => false, + 'example' => 'Ip', + ], + 'Weight' => [ + 'description' => 'The weight of the endpoint.'."\n" + ."\n" + .'Valid values: **0** to **255**.'."\n" + ."\n" + .'> If you set the weight of an endpoint to 0, GA stops distributing traffic to the endpoint. Proceed with caution.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + 'Endpoint' => [ + 'description' => 'The IP address or domain name of the endpoint that is associated with the intelligent routing listener.'."\n" + ."\n" + .'You can enter the IP addresses or domain names of up to 100 endpoints in an endpoint group that is associated with the intelligent routing listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '47.0.XX.XX', + ], + 'SubAddress' => [ + 'description' => 'The private IP address of the ENI.'."\n" + ."\n" + .'> This parameter is available only when you set the endpoint type to **ENI**. If you leave this parameter empty, the primary private IP address of the ENI is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.168.XX.XX', + ], + 'EnableClientIPPreservation' => [ + 'description' => 'Specifies whether to automatically preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> * By default, client IP address preservation is disabled for an endpoint group of a UDP or TCP listener. You can configure this parameter based on your business requirements.'."\n" + .'> * By default, client IP address preservation is enabled for an endpoint group of an HTTP or HTTP listener. You can obtain client IP addresses by using the X-Forwarded-For header. You cannot disable the feature.'."\n" + .'> * EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'> > For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'EnableProxyProtocol' => [ + 'description' => 'Specifies whether to use the proxy protocol to preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> * This parameter is available only to endpoint groups of TCP listeners.'."\n" + .'> * EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'> > For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'VpcId' => [ + 'description' => 'The virtual private cloud (VPC) ID.'."\n" + ."\n" + .'You can specify one VPC ID for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'> This parameter is valid and required only if Type is set to **IpTarget**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-2zekzii824szm3hps****', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of vSwitches that are deployed in the VPC.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch IDs.'."\n" + ."\n" + .'You can specify two vSwitch IDs for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'> * This parameter is valid and required only if the endpoint type is IpTarget.'."\n" + .'> * The vSwitch must belong to the VPC specified by VpcId.', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp1b2qx7y2qqnbkan****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + 'EndpointRequestProtocol' => [ + 'description' => 'The backend service protocol. Valid values:'."\n" + ."\n" + .'* **HTTP**'."\n" + .'* **HTTPS**'."\n" + ."\n" + .'> * You can specify this parameter only if the listener that is associated with the endpoint group uses HTTP or HTTPS.'."\n" + .'>* The backend service protocol of an HTTP listener must be HTTP.', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + 'EndpointProtocolVersion' => [ + 'description' => 'The backend service protocol of the endpoint that is associated with the intelligent routing listener. Valid values:'."\n" + ."\n" + .'* **HTTP1.1** (default)'."\n" + .'* **HTTP2**'."\n" + ."\n" + .'> You can specify this parameter only if the EndpointRequestProtocol parameter is set to HTTPS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP1.1', + ], + 'EndpointGroupType' => [ + 'description' => 'The type of the endpoint group associated with the intelligent routing listener. Valid values:'."\n" + ."\n" + .'* **default** (default)'."\n" + .'* **virtual**: a virtual endpoint group.'."\n" + ."\n" + .'You can specify up to 10 endpoint group types.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + 'PortOverrides' => [ + 'description' => 'The port mappings.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port mapping.'."\n", + 'type' => 'object', + 'properties' => [ + 'ListenerPort' => [ + 'description' => 'The listener port.'."\n" + ."\n" + .'Valid values: **1** to **65499**.'."\n" + ."\n" + .'> * You cannot configure port mappings for virtual endpoint groups of TCP listeners. If a virtual endpoint group already exists on the listener, you cannot configure port mappings for the default endpoint group. If port mappings are configured for the default endpoint group, you cannot add a virtual endpoint group.'."\n" + .'>* If you configure port mappings for a listener, you cannot modify the listener protocol. You can only switch between HTTP and HTTPS.'."\n" + .'>* Listener port: When you modify the listener port range, make sure that the port range includes the ports configured in port mappings. For example, if you set the listener port range to 80 to 82 and map the listener ports to endpoint ports 100 to 102, you cannot change the listener port range to 80 to 81.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '443', + ], + 'EndpointPort' => [ + 'description' => 'The endpoint port that is mapped to the listener port.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + 'Tag' => [ + 'description' => 'The tags of the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the endpoint group. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key must be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can enter up to 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The tag value of the endpoint group. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can enter up to 20 tag values.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + 'SystemTag' => [ + 'description' => 'This parameter is not in use. Ignore this parameter.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'This parameter is not in use. Ignore this parameter.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'This parameter is not in use. Ignore this parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'system-tag-key', + ], + 'Value' => [ + 'description' => 'This parameter is not in use. Ignore this parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'system-tag-value', + ], + 'Scope' => [ + 'description' => 'This parameter is not in use. Ignore this parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'public', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + 'HealthCheckHost' => [ + 'type' => 'string', + ], + 'EndpointIpVersion' => [ + 'type' => 'string', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 200, + ], + ], + ], + '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 the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'EndpointGroupIds' => [ + 'description' => 'The IDs of the endpoint groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Domain.NotFit', + 'errorMessage' => 'The domain is not fit the rule', + ], + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'NoPermission.EnableHealthCheck', + 'errorMessage' => 'You do not have permission to enable health check.', + ], + [ + 'errorCode' => 'NotSupportHealthCheck.Accelerator', + 'errorMessage' => 'Currently Accelerator does not support health check.', + ], + [ + 'errorCode' => 'EndpointGroupExclusive.Listener', + 'errorMessage' => 'All endpoint group must under the same listener.', + ], + [ + 'errorCode' => 'RegionConflict.EndpointGroup', + 'errorMessage' => 'Endpoint group under the same listener must have different region.', + ], + [ + 'errorCode' => 'ListenerProtocolIllegal.EndpointGroup', + 'errorMessage' => 'Listener protocol is illegal, the https/http listener instance is only allowed to have one default endpoint group.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndpointGroup', + 'errorMessage' => 'The number of endpoint group exceeds the limit.', + ], + [ + 'errorCode' => 'ParamExclusive.EndpointGroupType', + 'errorMessage' => 'All endpoint group type group must be consistent.', + ], + [ + 'errorCode' => 'HealthCheckPath.Illegal', + 'errorMessage' => 'Health check path illegal.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BusinessRegion', + 'errorMessage' => 'The business region does not exist.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndPoint', + 'errorMessage' => 'The maximum number of endpoints is exceeded.', + ], + [ + 'errorCode' => 'NoPermission.VpcEndpoint', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + [ + 'errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', + 'errorMessage' => 'endpoint group request protoco is illegal', + ], + [ + 'errorCode' => 'QuotaExceeded.PortOverride', + 'errorMessage' => 'The number of port override exceeds the limit.', + ], + [ + 'errorCode' => 'NotExist.ListenerPort', + 'errorMessage' => 'listener port %s is not exist', + ], + [ + 'errorCode' => 'MixedVpc.EndPoint', + 'errorMessage' => 'VPC Endpoint cannot be mixed with other types of Endpoints.', + ], + [ + 'errorCode' => 'IllegalPublicIp.EndPoint', + 'errorMessage' => 'The public IP address configured for the endpoint is invalid. Only an Alibaba Cloud public IP address in the region of the endpoint can be configured.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"EndpointGroupIds\\": [\\n \\"epg-bp1dmlohjjz4kqaun****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<CreateEndpointGroupsResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <EndpointGroupIds>epg-bp1dmlohjjz4kqaun****</EndpointGroupIds>\\n</CreateEndpointGroupsResponse>","errorExample":""}]', + 'title' => 'CreateEndpointGroups', + 'description' => '* You can call this operation to create multiple endpoint groups at a time. However, you cannot create a default endpoint group and a virtual endpoint group at the same time.'."\n" + ."\n" + .'* You cannot create a virtual endpoint group for a Layer 4 listener. To create a virtual endpoint group for a Layer 4 listener, call the [CreateEndpointGroup](~~2302394~~) operation.'."\n" + ."\n" + .'* **CreateEndpointGroups** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeEndpointGroup](~~153260~~) or [ListEndpointGroups](~~153261~~) operation to query the status of endpoint groups.'."\n" + ."\n" + .' * If the endpoint groups are in the **init** state, the endpoint groups are being created. In this case, you can perform only query operations.'."\n" + .' * If all endpoint groups are in the **active** state, the endpoint groups are created.'."\n" + ."\n" + .'* The **CreateEndpointGroups** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'UpdateEndpointGroups' => [ + 'summary' => 'Modifies the endpoint groups that are associated with a listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '35764', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true:** performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EndpointGroupConfigurations', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The configurations of the endpoint groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupName' => [ + 'description' => 'The name of the endpoint group.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group1', + ], + 'EndpointGroupDescription' => [ + 'description' => 'The description of the endpoint group.'."\n" + ."\n" + .'The description cannot exceed 200 characters in length and cannot start with http:// or https://.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group1', + ], + 'TrafficPercentage' => [ + 'description' => 'The traffic ratio of the endpoint group when the specified listener is associated with multiple endpoint groups.'."\n" + ."\n" + .'Valid values: **1** to **100**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + 'HealthCheckEnabled' => [ + 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'* **true**: enables the health check feature.'."\n" + .'* **false** (default): disables the health check feature.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'HealthCheckIntervalSeconds' => [ + 'description' => 'The interval at which health checks are performed. Unit: seconds. Valid values: **1** to **50**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + 'HealthCheckPath' => [ + 'description' => 'The health check path.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/healthcheck', + ], + 'HealthCheckPort' => [ + 'description' => 'The port that you want to use for health checks.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + 'HealthCheckProtocol' => [ + 'description' => 'The protocol over which health check requests are sent. Valid values:'."\n" + ."\n" + .'* **tcp** or **TCP**'."\n" + .'* **http** or **HTTP**'."\n" + .'* **https** or **HTTPS**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + 'ThresholdCount' => [ + 'description' => 'The number of failed consecutive health checks that must occur before a healthy endpoint group is considered unhealthy or the number of successful consecutive health checks that must occur before an unhealthy endpoint group is considered healthy.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + ], + 'EndpointConfigurations' => [ + 'description' => 'The configurations of the endpoints in the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of the endpoint in the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **Domain**: a custom domain name.'."\n" + .'* **Ip**: a custom IP address.'."\n" + .'* **IpTarget**: a custom private IP address.'."\n" + .'* **PublicIp**: a public IP address provided by Alibaba Cloud.'."\n" + .'* **ECS**: an Elastic Compute Service (ECS) instance.'."\n" + .'* **SLB**: a Server Load Balancer (SLB) instance.'."\n" + .'* **ALB**: an Application Load Balancer (ALB) instance.'."\n" + .'* **OSS**: an Object Storage Service (OSS) bucket.'."\n" + .'* **ENI**: an elastic network interface (ENI).'."\n" + .'* **NLB**: a Network Load Balancer (NLB) instance.'."\n" + ."\n" + .'> * If you set this parameter to **ECS**, **ENI**, **SLB**, **ALB**, **NLB**, or **IpTarget** and the AliyunServiceRoleForGaVpcEndpoint service-linked role does not exist, the system automatically creates the role.'."\n" + .'> * If you set this parameter to **ALB** and the AliyunServiceRoleForGaAlb service-linked role does not exist, the system automatically creates the role.'."\n" + .'> * If you set this parameter to **OSS** and the AliyunServiceRoleForGaOss service-linked role does not exist, the system automatically creates the role.'."\n" + .'> > For more information, see [Service-linked roles](~~178360~~).', + 'type' => 'string', + 'required' => true, + 'example' => 'Ip', + ], + 'Weight' => [ + 'description' => 'The weight of the endpoint.'."\n" + ."\n" + .'Valid values: **0** to **255**.'."\n" + ."\n" + .'> If you set the weight of an endpoint to 0, GA stops distributing traffic to the endpoint. Proceed with caution.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '20', + ], + 'Endpoint' => [ + 'description' => 'The IP address, domain name, or instance ID based on the value of Type.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '47.0.XX.XX', + ], + 'SubAddress' => [ + 'description' => 'The private IP address of the ENI.'."\n" + ."\n" + .'> If you set the endpoint type to ENI, you can specify this parameter. '."\n" + .'>If you leave this parameter empty, the primary private IP address of the ENI is used.', + 'type' => 'string', + 'required' => false, + 'example' => '172.168.XX.XX', + ], + 'EnableClientIPPreservation' => [ + 'description' => 'Specifies whether to automatically preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> * By default, client IP address preservation is disabled for an endpoint group of a UDP or TCP listener. You can configure this parameter based on your business requirements.'."\n" + .'>* By default, client IP address preservation is enabled for an endpoint group of an HTTP or HTTP listener. You can obtain client IP addresses by using the X-Forwarded-For header. You cannot disable the feature.'."\n" + .'>* EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'>> For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + ], + 'EnableProxyProtocol' => [ + 'description' => 'Specifies whether to use the proxy protocol to preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> * This parameter is available only to endpoint groups of TCP listeners.'."\n" + .'>* EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n" + .'>>For more information, see [Preserve client IP addresses](~~158080~~).', + 'type' => 'boolean', + 'required' => false, + ], + 'VpcId' => [ + 'description' => 'The virtual private cloud (VPC) ID.'."\n" + ."\n" + .'You can specify one VPC ID for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'> This parameter is valid and required only if Type is set to **IpTarget**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-uf66oesmrqge1t2gs****', + ], + 'VSwitchIds' => [ + 'description' => 'The IDs of vSwitches that are deployed in the VPC.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of vSwitches.'."\n" + ."\n" + .'You can specify up to two vSwitch IDs for an endpoint group of an intelligent routing listener.'."\n" + ."\n" + .'>* This parameter is valid and required only if Type is set to IpTarget.'."\n" + .'>* The vSwitch must belong to the VPC specified by VpcId.', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-uf6r0due94mypz1i9****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => true, + ], + 'required' => false, + 'maxItems' => 100, + ], + 'EndpointRequestProtocol' => [ + 'description' => 'The backend service protocol. Valid values:'."\n" + ."\n" + .'* **HTTP**'."\n" + .'* **HTTPS**'."\n" + ."\n" + .'> * You can specify this parameter only if the listener that is associated with the endpoint group uses HTTP or HTTPS.'."\n" + .'> * The backend service protocol of an HTTP listener must be HTTP.', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + 'EndpointProtocolVersion' => [ + 'description' => 'The backend service protocol of the endpoint that is associated with the intelligent routing listener. Valid values:'."\n" + ."\n" + .'* **HTTP1.1** (default)'."\n" + .'* **HTTP2**'."\n" + ."\n" + .'> You can specify this parameter only if EndpointRequestProtocol is set to HTTPS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP1.1', + ], + 'PortOverrides' => [ + 'description' => 'The port mappings.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port mapping.'."\n", + 'type' => 'object', + 'properties' => [ + 'ListenerPort' => [ + 'description' => 'The listener port.'."\n" + ."\n" + .'Valid values: **1** to **65499**.'."\n" + ."\n" + .'> * You cannot configure port mappings for virtual endpoint groups of TCP listeners. If a virtual endpoint group already exists on the listener, you cannot configure port mappings for the default endpoint group. If port mappings are configured for the default endpoint group, you cannot add a virtual endpoint group.'."\n" + .'>* If you configure port mappings for a listener, you cannot modify the listener protocol. You can only switch between HTTP and HTTPS.'."\n" + .'>* Listener port: When you modify the listener port range, make sure that the port range includes the ports configured in port mappings. For example, if you set the listener port range to 80 to 82 and map the listener ports to endpoint ports 100 to 102, you cannot change the listener port range to 80 to 81.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '443', + ], + 'EndpointPort' => [ + 'description' => 'The endpoint port.'."\n" + ."\n" + .'Valid values: **1** to **65499**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 200, + ], + 'EnableClientIPPreservationToa' => [ + 'description' => 'Specifies whether to use the TCP Option Address (TOA) module to preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'EnableClientIPPreservationProxyProtocol' => [ + 'description' => 'Specifies whether to use the proxy protocol to preserve client IP addresses. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'EndpointGroupId' => [ + 'description' => 'The endpoint ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-bp1d2utp8qqe2a44t****', + ], + 'HealthCheckHost' => [ + 'type' => 'string', + ], + 'EndpointIpVersion' => [ + 'type' => 'string', + ], + ], + 'required' => false, + ], + 'required' => true, + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The listener ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'EndpointGroupIds' => [ + 'description' => 'The IDs of the endpoint groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group ID.'."\n", + 'type' => 'string', + 'example' => '[\'epg-bp1dmlohjjz4kqaun****\',\'epg-bp1v1u72cx35ogofe****\', ...]', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission.EnableHealthCheck', + 'errorMessage' => 'You do not have permission to enable health check.', + ], + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'The endpoint group does not exist.', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'The specified state of endpoint group is invalid.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndPoint', + 'errorMessage' => 'The maximum number of endpoints is exceeded.', + ], + [ + 'errorCode' => 'NoPermission.VpcEndpoint', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + [ + 'errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', + 'errorMessage' => 'endpoint group request protoco is illegal', + ], + [ + 'errorCode' => 'QuotaExceeded.PortOverride', + 'errorMessage' => 'The number of port override exceeds the limit.', + ], + [ + 'errorCode' => 'NotExist.ListenerPort', + 'errorMessage' => 'listener port %s is not exist', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"EndpointGroupIds\\": [\\n \\"epg-bp1dmlohjjz4kqaun****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<UpdateEndpointGroupsResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <EndpointGroupIds>[\'epg-bp1dmlohjjz4kqaun****\',\'epg-bp1v1u72cx35ogofe****\', ...]</EndpointGroupIds>\\n</UpdateEndpointGroupsResponse>","errorExample":""}]', + 'title' => 'UpdateEndpointGroups', + 'description' => '### Description'."\n" + ."\n" + .'* **UpdateEndpointGroups** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeEndpointGroup](~~153260~~) or [ListEndpointGroups](~~153261~~) operation to query the status of an endpoint group.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, it indicates that the configuration of the endpoint group is being modified. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state, it indicates that the configuration of the endpoint group is modified.'."\n" + ."\n" + .'* The **UpdateEndpointGroups** operation holds an exclusive lock on the Global Accelerator (GA) instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + ], + 'ConfigEndpointProbe' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '7843', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The endpoint group ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'EndpointType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **Ip:** a custom IP address.'."\n" + .'* **Domain:** a custom domain name.'."\n" + .'* **EIP:** an Alibaba Cloud elastic IP address (EIP).'."\n" + .'* **PublicIp:** an Alibaba Cloud public IP address.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Ip', + ], + ], + [ + 'name' => 'Endpoint', + 'in' => 'query', + 'schema' => [ + 'description' => 'The endpoint.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '127.0.XX.XX', + ], + ], + [ + 'name' => 'ProbeProtocol', + 'in' => 'query', + 'schema' => [ + 'description' => 'The protocol that is used to monitor latency. Valid values:'."\n" + ."\n" + .'* **tcp:** TCP.'."\n" + .'* **icmp:** ICMP.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + ], + [ + 'name' => 'ProbePort', + 'in' => 'query', + 'schema' => [ + 'description' => 'The port that is used to monitor latency. Valid values: **0** to **65535**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable latency monitoring. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","errorExample":""},{"type":"xml","example":"<ConfigEndpointProbeResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n</ConfigEndpointProbeResponse>","errorExample":""}]', + 'title' => 'ConfigEndpointProbe', + 'summary' => 'Configures latency monitoring for an endpoint.', + 'description' => '* **ConfigEndpointProbe** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeEndpointGroup](~~153260~~) operation to query the status of the endpoint group to which an endpoint belongs and determine whether latency monitoring is configured for the endpoint.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, it indicates that latency monitoring is being configured for the endpoint. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state, it indicates that latency monitoring is configured for the endpoint.'."\n" + ."\n" + .'* The **ConfigEndpointProbe** operation holds an exclusive lock on the Global Accelerator (GA) instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + ], + 'DeleteEndpointGroups' => [ + 'summary' => 'Deletes endpoint groups.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '35765', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EndpointGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of endpoint groups.'."\n" + ."\n" + .'You can specify up to 10 endpoint group IDs in each request.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the endpoint group.'."\n" + ."\n" + .'You can specify up to 10 endpoint group IDs in each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[\'epg-bp1dmlohjjz4kqaun****\',\'epg-bp1v1u72cx35ogofe****\', ...]', + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'BindExist.EndPointGroup', + 'errorMessage' => 'EndPointGroup %s exist bind.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","type":"json"}]', + 'title' => 'DeleteEndpointGroups', + 'description' => '* **DeleteEndpointGroups** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeEndpointGroup](~~153260~~) operation to query the status of the task.'."\n" + ."\n" + .' * If an endpoint group is in the **deleting** state, the endpoint group is being deleted. In this case, you can perform only query operations.'."\n" + .' * If an endpoint group cannot be queried, the endpoint group is deleted.'."\n" + ."\n" + .'* The **DeleteEndpointGroups** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'CreateCustomRoutingEndpointGroups' => [ + 'summary' => 'Creates endpoint groups for a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146731', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request is different.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" + ."\n" + .'* **true**: performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the custom routing listener.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointGroupConfigurations', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the endpoint groups.'."\n" + ."\n" + .'You can specify at most five endpoint groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the endpoint groups.'."\n" + ."\n" + .'You can specify at most five endpoint groups.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupRegion' => [ + 'description' => 'The ID of the region in which the endpoint group resides.'."\n" + ."\n" + .'You can specify at most five region IDs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + 'Name' => [ + 'description' => 'The name of the endpoint group.'."\n" + ."\n" + .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n" + ."\n" + .'You can specify at most five endpoint group names.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Description' => [ + 'description' => 'The description of the endpoint group.'."\n" + ."\n" + .'The description cannot exceed 256 characters in length and cannot contain `http://` or `https://`.'."\n" + ."\n" + .'You can specify at most five endpoint group descriptions.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'DestinationConfigurations' => [ + 'description' => 'The mapping configuration of the endpoint group.'."\n" + ."\n" + .'You need to specify the backend service ports and protocols for the endpoint group. The ports are mapped to listener ports.'."\n" + ."\n" + .'You can specify at most 20 mapping configurations for each endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The mapping configuration of the endpoint group.'."\n" + ."\n" + .'You need to specify the backend service ports and protocols for the endpoint group. The ports are mapped to listener ports.'."\n" + ."\n" + .'You can specify at most 20 mapping configurations for each endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocols' => [ + 'description' => 'The backend service protocol.'."\n" + ."\n" + .'You can specify up to four backend service protocols in each mapping configuration.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The backend service protocol. Valid values:'."\n" + ."\n" + .'* **TCP**: TCP'."\n" + .'* **UDP**: UDP'."\n" + .'* **TCP,UDP**: TCP and UDP'."\n" + ."\n" + .'You can specify up to four backend service protocols in each mapping configuration.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + 'required' => false, + 'maxItems' => 4, + ], + 'FromPort' => [ + 'description' => 'The first backend service port for the endpoint group.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The value of **FromPort** must be smaller than or equal to the value of **ToPort**.'."\n" + ."\n" + .'You can specify at most 20 first backend service ports for each endpoint group.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last backend service port for the endpoint group.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The value of **FromPort** must be smaller than or equal to the value of **ToPort**.'."\n" + ."\n" + .'You can specify at most 20 last backend service ports for each endpoint group.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + 'EndpointConfigurations' => [ + 'description' => 'The information about the endpoints.'."\n" + ."\n" + .'You can specify at most 10 endpoints for each endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the endpoints.'."\n" + ."\n" + .'You can specify at most 10 endpoints for each endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of endpoint.'."\n" + ."\n" + .'Set the value to **PrivateSubNet**, which specifies a private CIDR block. This is the default value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PrivateSubNet', + ], + 'Endpoint' => [ + 'description' => 'The name of the vSwitch that is specified as an endpoint.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-test01', + ], + 'TrafficToEndpointPolicy' => [ + 'description' => 'The traffic policy that is used to process traffic to the endpoint. Valid values:'."\n" + ."\n" + .'* **AllowAll**: allows all traffic to the endpoint.'."\n" + .'* **DenyAll** (default): denies all traffic to the endpoint.'."\n" + .'* **AllowCustom**: allows traffic only to specified destinations in the endpoint.'."\n" + ."\n" + .'If you set this parameter to AllowCustom, you must specify IP addresses and port ranges as the destinations to which traffic is distributed. If you specify only IP addresses and do not specify port ranges, GA can forward traffic to the specified IP addresses over all destination ports.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'DenyAll', + ], + 'PolicyConfigurations' => [ + 'description' => 'The destination to which traffic is forwarded.'."\n" + ."\n" + .'You can specify at most 20 destinations for each endpoint.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The destination to which traffic is forwarded.'."\n" + ."\n" + .'You can specify at most 20 destinations for each endpoint.'."\n", + 'type' => 'object', + 'properties' => [ + 'Address' => [ + 'description' => 'The IP address of the destination to which traffic is forwarded.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify at most 20 destination IP addresses for each endpoint.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX', + ], + 'PortRanges' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you leave this parameter empty, traffic is forwarded to all destination ports.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for at most 20 destinations in each endpoint and specify at most five port ranges for each destination.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you leave this parameter empty, traffic is forwarded to all destination ports.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for at most 20 destinations in each endpoint and specify at most five port ranges for each destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port of the destination port range. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for at most 20 destinations in each endpoint and specify at most five first ports for each destination.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port of the destination port range. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for at most 20 destinations in each endpoint and specify at most five last ports for each destination.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 5, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 5, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'EndpointGroupIds' => [ + 'description' => 'The IDs of the endpoint groups.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the endpoint groups.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaua****', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'accelerator %s is not exist', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EndpointGroupIds\\": [\\n \\"epg-bp1dmlohjjz4kqaua****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<CreateCustomRoutingEndpointGroupsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <EndpointGroupIds>epg-bp1dmlohjjz4kqaua****</EndpointGroupIds>\\n</CreateCustomRoutingEndpointGroupsResponse>","errorExample":""}]', + 'title' => 'CreateCustomRoutingEndpointGroups', + 'description' => 'Global Accelerator (GA) forwards client requests to endpoints in an endpoint group based on the routing type of the listener that is associated with the endpoint group.'."\n" + ."\n" + .'* After you configure an intelligent routing listener for a GA instance, the GA instance selects a nearby and healthy endpoint group and forwards client requests to a healthy endpoint in the endpoint group.'."\n" + .'* After you configure a custom routing listener for a GA instance, the instance generates a port mapping table based on the listener port range, protocols and port ranges of the associated endpoint groups, and IP addresses of endpoints (vSwitches), and forwards client requests to specified IP addresses and ports in the vSwitches.'."\n" + ."\n" + .'You can call this operation to create endpoint groups for custom routing listeners. For information about how to create endpoint groups for intelligent routing listeners, see [CreateEndpointGroup](~~153259~~).'."\n" + ."\n" + .'When you call this operation, take note of the following items:'."\n" + ."\n" + .'* **CreateCustomRoutingEndpointGroups** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) or [ListCustomRoutingEndpointGroups](~~449374~~) operation to query the status of the endpoint groups that are associated with custom routing listeners.'."\n" + ."\n" + .' * If one or more endpoint groups are in the **init** state, it indicates that the endpoint groups are being created. In this case, you can perform only query operations.'."\n" + .' * If all endpoint groups are in the **active** state, it indicates that the endpoint groups are created.'."\n" + ."\n" + .'* The **CreateCustomRoutingEndpointGroups** operation cannot be called repeatedly for the same GA instance within a specific period of time.'."\n" + ."\n" + .'### Prerequisites'."\n" + ."\n" + .'Make sure that the following requirements are met before you call this operation:'."\n" + ."\n" + .'* A standard GA instance is created. For more information, see [CreateAccelerator](~~206786~~).'."\n" + .'* A bandwidth plan is associated with the standard GA instance. For more information, see [BandwidthPackageAddAccelerator](~~153239~~).'."\n" + .'* An application is deployed to receive requests that are forwarded from GA. You can specify only vSwitches as endpoints for custom routing listeners.'."\n" + .'* The permissions to use custom routing listeners are acquired and a custom routing listener is created for the GA instance. Custom routing listeners are in invitational preview. To use custom routing listeners, contact your account manager. For more information about how to create a custom routing listener, see [CreateListener](~~153253~~).'."\n", + ], + 'UpdateCustomRoutingEndpointGroupAttribute' => [ + 'summary' => 'Modifies the name and description of an endpoint group that is associated with a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '147875', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The endpoint group ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The endpoint group name.'."\n" + ."\n" + .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The endpoint group description.'."\n" + ."\n" + .'The description can be up to 256 characters in length and cannot contain `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'EndpointGroup', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateCustomRoutingEndpointGroupAttributeResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</UpdateCustomRoutingEndpointGroupAttributeResponse>","errorExample":""}]', + 'title' => 'UpdateCustomRoutingEndpointGroupAttribute', + ], + 'DescribeCustomRoutingEndpointGroup' => [ + 'summary' => 'Queries the information about a specific endpoint group that is associated with a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaua****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The custom routing listener ID.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointGroupId' => [ + 'description' => 'The endpoint group ID.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaua****', + ], + 'Name' => [ + 'description' => 'The name of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'group1', + ], + 'Description' => [ + 'description' => 'The description of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'EndpointGroup', + ], + 'EndpointGroupIpList' => [ + 'description' => 'The endpoint group IP addresses.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group IP addresses.'."\n", + 'type' => 'string', + 'example' => '203.0.XX.XX', + ], + ], + 'EndpointGroupUnconfirmedIpList' => [ + 'description' => 'The endpoint group IP addresses that need to be confirmed after the GA instance is upgraded.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group IP addresses that need to be confirmed after the GA instance is upgraded.'."\n", + 'type' => 'string', + 'example' => '203.0.XX.XX', + ], + ], + 'EndpointGroupRegion' => [ + 'description' => 'The region ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'State' => [ + 'description' => 'The status of the endpoint group. Valid values:'."\n" + ."\n" + .'* **init:** The endpoint group is being initialized.'."\n" + .'* **active:** The endpoint group is running normally.'."\n" + .'* **updating:** The endpoint group is being updated.'."\n" + .'* **deleting:** The ACL is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'SlsRegion' => [ + 'description' => 'The region of the logs that are created in Log Service.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'SlsProjectName' => [ + 'description' => 'The name of the Log Service project.'."\n", + 'type' => 'string', + 'example' => 'pn-01', + ], + 'SlsLogStoreName' => [ + 'description' => 'The name of the Logstore.'."\n", + 'type' => 'string', + 'example' => 'lsn-01', + ], + 'AccessLogSwitch' => [ + 'description' => 'Indicates the status of the binding between the Log Service project and the endpoint group. Valid values:'."\n" + ."\n" + .'* **on:** The endpoint group is bound to the Log Service project.'."\n" + .'* **off:** The endpoint group is not bound to the Log Service project.'."\n" + .'* **binding:** The endpoint group is being bound to the Log Service project.'."\n" + .'* **unbinding:** The endpoint group is being unbound from the Log Service project.'."\n", + 'type' => 'string', + 'example' => 'on', + ], + 'EnableAccessLog' => [ + 'description' => 'Indicates whether the access log feature is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the GA instance.'."\n" + ."\n" + .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + ."\n" + .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n" + ."\n" + .'* Users can perform only specific actions on a managed instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener'."\n" + .'* **IpSet**: acceleration region'."\n" + .'* **EndpointGroup**: endpoint group'."\n" + .'* **ForwardingRule**: forwarding rule'."\n" + .'* **Endpoint**: endpoint'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener'."\n" + ."\n" + .'> This parameter takes effect only if **Action** is set to **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed. Valid values:'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaua****\\",\\n \\"Name\\": \\"group1\\",\\n \\"Description\\": \\"EndpointGroup\\",\\n \\"EndpointGroupIpList\\": [\\n \\"203.0.XX.XX\\"\\n ],\\n \\"EndpointGroupUnconfirmedIpList\\": [\\n \\"203.0.XX.XX\\"\\n ],\\n \\"EndpointGroupRegion\\": \\"cn-hangzhou\\",\\n \\"State\\": \\"active\\",\\n \\"SlsRegion\\": \\"cn-hangzhou\\",\\n \\"SlsProjectName\\": \\"pn-01\\",\\n \\"SlsLogStoreName\\": \\"lsn-01\\",\\n \\"AccessLogSwitch\\": \\"on\\",\\n \\"EnableAccessLog\\": true,\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCustomRoutingEndpointGroupResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <EndpointGroupId>epg-bp1dmlohjjz4kqaua****</EndpointGroupId>\\n <Name>group1</Name>\\n <Description>EndpointGroup</Description>\\n <EndpointGroupIpList>203.0.XX.XX</EndpointGroupIpList>\\n <EndpointGroupUnconfirmedIpList>203.0.XX.XX</EndpointGroupUnconfirmedIpList>\\n <EndpointGroupRegion>cn-hangzhou</EndpointGroupRegion>\\n <State>active</State>\\n <SlsRegion>cn-hangzhou</SlsRegion>\\n <SlsProjectName>pn-01</SlsProjectName>\\n <SlsLogStoreName>lsn-01</SlsLogStoreName>\\n <AccessLogSwitch>on</AccessLogSwitch>\\n <EnableAccessLog>false</EnableAccessLog>\\n</DescribeCustomRoutingEndpointGroupResponse>","errorExample":""}]', + 'title' => 'DescribeCustomRoutingEndpointGroup', + ], + 'ListCustomRoutingEndpointGroups' => [ + 'summary' => 'Queries the endpoint groups that are associated with a custom routing listener.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '147622', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the custom routing listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + ], + [ + 'name' => 'AccessLogSwitch', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether the access log feature is enabled.'."\n" + ."\n" + .'You can set the parameter to **on**.'."\n" + ."\n" + .'If you leave the parameter empty, all endpoint groups are returned.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned on each page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'EndpointGroups' => [ + 'description' => 'The configuration information about the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration information about the endpoint groups.', + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the custom routing listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + 'Name' => [ + 'description' => 'The name of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'group1', + ], + 'Description' => [ + 'description' => 'The description of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'EndpointGroup', + ], + 'EndpointGroupIpList' => [ + 'description' => 'The endpoint group IP addresses.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group IP address.'."\n", + 'type' => 'string', + 'example' => '203.0.XX.XX', + ], + ], + 'EndpointGroupUnconfirmedIpList' => [ + 'description' => 'The endpoint group IP addresses to be confirmed after the GA instance is upgraded.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint group IP address to be confirmed after the GA instance is upgraded.'."\n", + 'type' => 'string', + 'example' => '203.0.XX.XX', + ], + ], + 'EndpointGroupRegion' => [ + 'description' => 'The ID of the region where the endpoint group is created.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'State' => [ + 'description' => 'The status of the endpoint group. Valid values:'."\n" + ."\n" + .'* **init**'."\n" + .'* **active**'."\n" + .'* **updating**'."\n" + .'* **deleting**'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the instance.'."\n" + ."\n" + .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n" + ."\n" + .'* Users can perform only specific actions on a managed instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener'."\n" + .'* **IpSet**: acceleration region'."\n" + .'* **EndpointGroup**: endpoint group'."\n" + .'* **ForwardingRule**: forwarding rule'."\n" + .'* **Endpoint**: endpoint'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener'."\n" + ."\n" + .'> This parameter takes effect only if **Action** is set to **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed.'."\n" + ."\n" + .'* **true**: Users cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: Users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"EndpointGroups\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointGroupId\\": \\"epg-bp14sz7ftcwwjgrdm****\\",\\n \\"Name\\": \\"group1\\",\\n \\"Description\\": \\"EndpointGroup\\",\\n \\"EndpointGroupIpList\\": [\\n \\"203.0.XX.XX\\"\\n ],\\n \\"EndpointGroupUnconfirmedIpList\\": [\\n \\"203.0.XX.XX\\"\\n ],\\n \\"EndpointGroupRegion\\": \\"cn-hangzhou\\",\\n \\"State\\": \\"active\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": true\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListCustomRoutingEndpointGroupsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <EndpointGroups>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <EndpointGroupId>epg-bp14sz7ftcwwjgrdm****</EndpointGroupId>\\n <Name>group1</Name>\\n <Description>EndpointGroup</Description>\\n <EndpointGroupIpList>203.0.XX.XX</EndpointGroupIpList>\\n <EndpointGroupUnconfirmedIpList>203.0.XX.XX</EndpointGroupUnconfirmedIpList>\\n <EndpointGroupRegion>cn-hangzhou</EndpointGroupRegion>\\n <State>active</State>\\n </EndpointGroups>\\n</ListCustomRoutingEndpointGroupsResponse>","errorExample":""}]', + 'title' => 'ListCustomRoutingEndpointGroups', + 'description' => '## Debugging'."\n" + ."\n" + .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code for different SDKs.](https://api.aliyun.com/#product=Ga\\&api=ListCustomRoutingEndpointGroups\\&type=RPC\\&version=2019-11-20)'."\n", + ], + 'DeleteCustomRoutingEndpointGroups' => [ + 'summary' => 'Deletes multiple endpoint groups that are associated with a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146781', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" + ."\n" + .'* **true:** performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false:** performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'EndpointGroupIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the endpoint groups that you want to delete.'."\n" + ."\n" + .'You can specify up to 10 endpoint group IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the endpoint groups that you want to delete.'."\n" + ."\n" + .'You can specify up to 10 endpoint group IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'epg-bp1dmlohjjz4kqaua****', + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCustomRoutingEndpointGroupsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteCustomRoutingEndpointGroupsResponse>","errorExample":""}]', + 'title' => 'DeleteCustomRoutingEndpointGroups', + 'description' => '* **DeleteCustomRoutingEndpointGroups** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) operation to query the state of the endpoint groups associated with a custom routing listener that you attempt to delete.'."\n" + ."\n" + .' * If the endpoint groups are in the **deleting** state, the endpoint groups are being deleted. In this case, you can perform only query operations.'."\n" + .' * If the endpoint groups cannot be queried, the endpoint groups are deleted.'."\n" + ."\n" + .'* You cannot use the **DeleteCustomRoutingEndpointGroups** operation on the same Global Accelerator (GA) instance before the previous operation is complete.'."\n", + ], + 'CreateCustomRoutingEndpointGroupDestinations' => [ + 'summary' => 'Creates mappings for an endpoint group that is associated with a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146833', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false**: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'The endpoint group ID.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mappings of the endpoint group.'."\n" + ."\n" + .'You need to specify the backend service ports and protocols for the endpoint group. The ports are mapped to listener ports.'."\n" + ."\n" + .'You can specify up to 20 mappings in each call.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + ], + [ + 'name' => 'DestinationConfigurations', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The mapping configuration of the endpoint group.'."\n" + ."\n" + .'You need to specify the backend service ports and protocols for the endpoint group. The ports are mapped to listener ports.'."\n" + ."\n" + .'You can specify up to 20 mappings in each call.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The backend service protocol of the endpoint group. Valid values:'."\n" + ."\n" + .'* **TCP**'."\n" + .'* **UDP**'."\n" + .'* **TCP+UDP: the TCP and UDP protocols.**'."\n" + ."\n" + .'You can specify up to four protocols for each mapping configuration.', + 'type' => 'object', + 'properties' => [ + 'Protocols' => [ + 'description' => 'The backend service protocol of the endpoint group. Valid values:'."\n" + ."\n" + .'* **TCP**'."\n" + .'* **UDP**'."\n" + .'* **TCP+UDP: the TCP and UDP protocols.**'."\n" + ."\n" + .'You can specify up to four backend service protocols for each endpoint group mapping.', + 'type' => 'array', + 'items' => [ + 'description' => 'The first port of the backend service port range.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The value of **FromPort** must be smaller than or equal to the value of **ToPort**.'."\n" + ."\n" + .'You can specify up to 20 first ports in each call.', + 'type' => 'string', + 'required' => true, + 'example' => 'TCP', + ], + 'required' => true, + 'maxItems' => 2, + ], + 'FromPort' => [ + 'description' => 'The last port of the backend service port range.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The value of **FromPort** must be equal to or smaller than the value of **ToPort**.'."\n" + ."\n" + .'You can specify up to 20 last ports in each call.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 2000, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The request ID.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The IDs of the endpoint group mappings.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'DestinationIds' => [ + 'description' => 'The IDs of the endpoint group mappings.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'dst-abc123****', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"DestinationIds\\": [\\n \\"dst-abc123****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<CreateCustomRoutingEndpointGroupDestinationsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <DestinationIds>dst-abc123****</DestinationIds>\\n</CreateCustomRoutingEndpointGroupDestinationsResponse>","errorExample":""}]', + 'title' => 'CreateCustomRoutingEndpointGroupDestinations', + 'description' => 'readAndWrite', + ], + 'UpdateCustomRoutingEndpointGroupDestinations' => [ + 'summary' => 'Modifies the mapping configurations of an endpoint group that is associated with a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146981', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the value, but you must ensure that it is unique among all requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the value of **RequestId** as the value of **ClientToken**. The value of **RequestId** for each API request may be different.', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" + ."\n" + .'* **true**: performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false**: performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'DestinationConfigurations', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The mapping configurations of endpoint group.'."\n" + ."\n" + .'You must specify the backend service port range and protocol of the endpoint group. The specified information is used to map the port range of the associated listener.'."\n" + ."\n" + .'You can specify at most 20 mapping configurations, which include port ranges and protocol types.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The mapping configuration of endpoint group.'."\n" + ."\n" + .'You must specify the backend service port range and protocol of the endpoint group. The specified information is used to map the port range of the associated listener.'."\n" + ."\n" + .'You can specify at most 20 mapping configurations, which include port ranges and protocol types.'."\n", + 'type' => 'object', + 'properties' => [ + 'Protocols' => [ + 'description' => 'The backend service protocol of the endpoint group. Valid values:'."\n" + ."\n" + .'* **tcp**: TCP'."\n" + .'* **udp**: UDP'."\n" + .'* **tcp,udp**: TCP and UDP'."\n" + ."\n" + .'You can specify up to four backend service protocols in each configuration.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The backend service protocol of the endpoint group. Valid values:'."\n" + ."\n" + .'* **tcp**: TCP'."\n" + .'* **udp**: UDP'."\n" + .'* **tcp,udp**: TCP and UDP'."\n" + ."\n" + .'You can specify up to four backend service protocols in each configuration.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tcp', + ], + 'required' => false, + 'maxItems' => 4, + ], + 'FromPort' => [ + 'description' => 'The start port of the backend service port range of the endpoint group.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The **FromPort** value must be smaller than or equal to the **ToPort** value.'."\n" + ."\n" + .'You can specify up to 20 start ports in each request.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The end port of the backend service port range of the endpoint group.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The **FromPort** value must be smaller than or equal to the **ToPort** value.'."\n" + ."\n" + .'You can specify up to 20 end ports in each request.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'DestinationId' => [ + 'description' => 'The ID of the mapping configuration of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dst-abc123****', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 2000, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'listener %s is not exist', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'listener %s is not active', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'accelerator %s is not exist', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateCustomRoutingEndpointGroupDestinationsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</UpdateCustomRoutingEndpointGroupDestinationsResponse>","errorExample":""}]', + 'title' => ' UpdateCustomRoutingEndpointGroupDestinations', + 'description' => '* **UpdateCustomRoutingEndpointGroupDestinations** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) operation to query the status of an endpoint group associated with a custom routing listener to check whether the mapping configurations of the endpoint group are modified.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, the mapping configurations of the endpoint group are being modified. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state, the mapping configurations of the endpoint group are modified.'."\n" + ."\n" + .'* The **UpdateCustomRoutingEndpointGroupDestinations** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'DescribeCustomRoutingEndpointGroupDestinations' => [ + 'summary' => 'Queries the mapping configuration of a specified endpoint group that is associated with a custom routing listener.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DestinationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group mapping configuration.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dst-123abc****', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'epg-bp1j184jhb9i9ubwf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the Global Accelerator (GA) instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + 'DestinationId' => [ + 'description' => 'The ID of the endpoint group mapping configuration.'."\n", + 'type' => 'string', + 'example' => 'dst-123abc****', + ], + 'Protocols' => [ + 'description' => 'The backend service protocol of the endpoint group.'."\n" + ."\n" + .'* **TCP**: TCP'."\n" + .'* **UDP**: UDP'."\n" + .'* **TCP,UDP**: TCP and UDP', + 'type' => 'array', + 'items' => [ + 'description' => 'The backend service protocol of the endpoint group.'."\n" + ."\n" + .'* **TCP**: TCP'."\n" + .'* **UDP**: UDP'."\n" + .'* **TCP,UDP**: TCP and UDP', + 'type' => 'string', + 'example' => 'TCP', + ], + ], + 'FromPort' => [ + 'description' => 'The start port of the backend service port range of the endpoint group.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The end port of the backend service port range of the endpoint group.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'State' => [ + 'description' => 'The status of the endpoint group mapping configuration.'."\n" + ."\n" + .'* **init**: being initialized.'."\n" + .'* **active**: normal.'."\n" + .'* **updating**: being updated.'."\n" + .'* **deleting**: being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'ServiceId' => [ + 'description' => 'The service ID to which the managed instance belongs.'."\n" + ."\n" + .'> Valid only when the ServiceManaged parameter is True.', + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Is it a managed instance. Valid values:'."\n" + ."\n" + .'- true'."\n" + .'- false', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'Managed policy action name, Valid values:'."\n" + ."\n" + .'- Create'."\n" + .'- Update'."\n" + .'- Delete'."\n" + .'- Associate'."\n" + .'- UserUnmanaged'."\n" + .'- CreateChild', + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'Sub resource type, Valid values:'."\n" + ."\n" + .'- Listener'."\n" + .'- IpSet'."\n" + .'- EndpointGroup'."\n" + .'- ForwardingRule'."\n" + .'- Endpoint'."\n" + .'- EndpointGroupDestination'."\n" + .'- EndpointPolicy'."\n" + ."\n" + .'>Only valid when the Action parameter is CreateChild.', + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Is the managed policy action managed, Valid values:'."\n" + ."\n" + .'- true: The managed policy action is managed, and users do not have permission to perform the operation specified in the Action on the managed instance.'."\n" + ."\n" + .'- false: The managed policy action is not managed, and users have permission to perform the operation specified in the Action on the managed instance.', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointGroupId\\": \\"epg-bp14sz7ftcwwjgrdm****\\",\\n \\"DestinationId\\": \\"dst-123abc****\\",\\n \\"Protocols\\": [\\n \\"TCP\\"\\n ],\\n \\"FromPort\\": 80,\\n \\"ToPort\\": 80,\\n \\"State\\": \\"active\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCustomRoutingEndpointGroupDestinationsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <EndpointGroupId>epg-bp14sz7ftcwwjgrdm****</EndpointGroupId>\\n <DestinationId>dst-123abc****</DestinationId>\\n <Protocols>TCP</Protocols>\\n <FromPort>80</FromPort>\\n <ToPort>80</ToPort>\\n <State>active</State>\\n</DescribeCustomRoutingEndpointGroupDestinationsResponse>","errorExample":""}]', + 'title' => 'DescribeCustomRoutingEndpointGroupDestinations', + ], + 'ListCustomRoutingEndpointGroupDestinations' => [ + 'summary' => 'Queries endpoint group mapping configurations of a custom routing listener of a Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '147631', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'epg-bp16jdc00bhe97sr5****', + ], + ], + [ + 'name' => 'Protocols', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The backend service protocols of the endpoint group. Valid values:'."\n" + ."\n" + .'- **TCP**: TCP.'."\n" + .'- **UDP**: UDP.'."\n" + .'- **TCP,UDP**: TCP and UDP.'."\n" + ."\n" + .'If this parameter is empty, all types of protocols are queried.'."\n" + ."\n" + .'You can specify up to 10 protocols.', + 'type' => 'array', + 'items' => [ + 'description' => 'The backend service protocol of the endpoint group. Valid values:'."\n" + ."\n" + .'* **TCP**: TCP'."\n" + .'* **UDP**: UDP'."\n" + .'* **TCP,UDP**: TCP and UDP'."\n" + ."\n" + .'If this parameter is left empty, all protocols are queried.'."\n" + ."\n" + .'You can specify up to 10 protocols.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'FromPort', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start port of the backend service port range of the endpoint group.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The **FromPort** value must be smaller than or equal to the **ToPort** value.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + [ + 'name' => 'ToPort', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end port of the backend service port range of the endpoint group.'."\n" + ."\n" + .'Valid values: **1** to **65499**. The **FromPort** value must be smaller than or equal to the **ToPort** value.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Destinations' => [ + 'description' => 'The details about the endpoint group mappings.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the endpoint group mappings.'."\n", + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The listener ID.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointGroupId' => [ + 'description' => 'The endpoint group ID.'."\n", + 'type' => 'string', + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + 'DestinationId' => [ + 'description' => 'The ID of the endpoint group mapping.'."\n", + 'type' => 'string', + 'example' => 'dst-123abc****', + ], + 'Protocols' => [ + 'description' => 'The backend service protocols of the endpoint group. Valid values:'."\n" + ."\n" + .'* **TCP**'."\n" + .'* **UDP**'."\n" + .'* **TCP,UDP**'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The backend service protocol of the endpoint group. Valid values:'."\n" + ."\n" + .'* **TCP**'."\n" + .'* **UDP**'."\n" + .'* **TCP,UDP**'."\n", + 'type' => 'string', + 'example' => 'TCP', + ], + ], + 'FromPort' => [ + 'description' => 'The first port of the backend service port range.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port of the backend service port range.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the GA instance.'."\n" + ."\n" + .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that you can perform on the managed instance.'."\n" + ."\n" + .'> - This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n" + .'> - You can perform only specific actions on the managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details about the action that you can perform on the managed instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action that you can perform on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**: Create an instance.'."\n" + .'* **Update**: Update the current instance.'."\n" + .'* **Delete**: Delete the current instance.'."\n" + .'* **Associate**: Reference the current instance.'."\n" + .'* **UserUnmanaged**: Unmanage the instance.'."\n" + .'* **CreateChild**: Create a child resource in the current instance.'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener.'."\n" + .'* **IpSet**: acceleration region.'."\n" + .'* **EndpointGroup**: endpoint group.'."\n" + .'* **ForwardingRule**: forwarding rule.'."\n" + .'* **Endpoint**: endpoint.'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter takes effect only if **Action** is set to **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed. Valid values:'."\n" + ."\n" + .'* **true**: The specified actions are managed, and you cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and you can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Destinations\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointGroupId\\": \\"epg-bp14sz7ftcwwjgrdm****\\",\\n \\"DestinationId\\": \\"dst-123abc****\\",\\n \\"Protocols\\": [\\n \\"TCP\\"\\n ],\\n \\"FromPort\\": 80,\\n \\"ToPort\\": 80,\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Create\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListCustomRoutingEndpointGroupDestinationsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <Destinations>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <EndpointGroupId>epg-bp14sz7ftcwwjgrdm****</EndpointGroupId>\\n <DestinationId>dst-123abc****</DestinationId>\\n <Protocols>TCP</Protocols>\\n <FromPort>80</FromPort>\\n <ToPort>80</ToPort>\\n </Destinations>\\n</ListCustomRoutingEndpointGroupDestinationsResponse>","errorExample":""}]', + 'title' => 'ListCustomRoutingEndpointGroupDestinations', + ], + 'DeleteCustomRoutingEndpointGroupDestinations' => [ + 'summary' => 'Deletes mappings from an endpoint group that is associated with a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146983', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'example' => 'cn-hangzhou', + 'required' => true, + 'type' => 'string', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'example' => '123e4567-e89b-12d3-a456-426655440000', + 'required' => false, + 'type' => 'string', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false**: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'example' => 'false', + 'required' => false, + 'type' => 'boolean', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The endpoint group ID.'."\n" + ."\n" + .'**'."\n" + ."\n" + .'****'."\n", + 'example' => 'epg-bp1dmlohjjz4kqaun****', + 'required' => true, + 'type' => 'string', + ], + ], + [ + 'name' => 'DestinationIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the endpoint group mappings.'."\n", + 'items' => [ + 'description' => 'The ID of the endpoint group mapping.'."\n" + ."\n" + .'If this parameter is left empty, all mappings are deleted from in the endpoint group specified by **EndpointGroupId**.'."\n" + ."\n" + .'You can specify at most 100 endpoint group mapping IDs.'."\n", + 'example' => 'dst-abc123****', + 'required' => false, + 'type' => 'string', + ], + 'maxItems' => 4000, + 'required' => false, + 'type' => 'array', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'title' => 'Id of the request', + 'type' => 'string', + ], + ], + 'title' => 'Schema of Response', + 'type' => 'object', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCustomRoutingEndpointGroupDestinationsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteCustomRoutingEndpointGroupDestinationsResponse>","errorExample":""}]', + 'description' => '* **DeleteCustomRoutingEndpointGroupDestinations** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) to query the status of the task.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, it indicates that mappings are being deleted from the endpoint group. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state and no information about the mappings that you want to delete is found in the response when you call the [DescribeCustomRoutingEndpointGroupDestinations](~~449378~~) operation, it indicates the mappings are deleted from the endpoint group.'."\n" + ."\n" + .'* You cannot call the **DeleteCustomRoutingEndpointGroupDestinations** operation again on the same Global Accelerator (GA) instance before the previous request is completed.'."\n", + 'title' => 'DeleteCustomRoutingEndpointGroupDestinations', + ], + 'CreateCustomRoutingEndpoints' => [ + 'summary' => 'Creates endpoints for a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146857', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request is different.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group in which to create endpoints.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1bpn0kn908w4nb****', + ], + ], + [ + 'name' => 'EndpointConfigurations', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the endpoints.'."\n" + ."\n" + .'You can specify information for up to 20 endpoints.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the endpoints.'."\n" + ."\n" + .'You can specify information for up to 20 endpoints.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of endpoint.'."\n" + ."\n" + .'Set the value to **PrivateSubNet**, which specifies a private CIDR block. This is the default value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PrivateSubNet', + ], + 'Endpoint' => [ + 'description' => 'The ID of the vSwitch that is specified as an endpoint.', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-test01', + ], + 'TrafficToEndpointPolicy' => [ + 'description' => 'The traffic policy that is used to process traffic to the endpoint. Valid values:'."\n" + ."\n" + .'* **DenyAll** (default): denies all traffic to the endpoint.'."\n" + .'* **AllowAll**: allows all traffic to the endpoint.'."\n" + .'* **AllowCustom**: allows traffic only to specified destinations in the endpoint.'."\n" + ."\n" + .'If you set this parameter to AllowCustom, you must specify IP addresses and port ranges as the destinations to which traffic is distributed. If you specify only IP addresses and do not specify port ranges, GA can forward traffic to the specified IP addresses over all destination ports.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'DenyAll', + ], + 'PolicyConfigurations' => [ + 'description' => 'The destination to which traffic is forwarded.'."\n" + ."\n" + .'You can specify up to 20 destinations for each endpoint.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The destination to which traffic is forwarded.'."\n" + ."\n" + .'You can specify up to 20 destinations for each endpoint.'."\n", + 'type' => 'object', + 'properties' => [ + 'Address' => [ + 'description' => 'The IP address of the destination to which traffic is forwarded.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify up to 20 destination IP addresses for each endpoint.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '10.0.XX.XX', + ], + 'PortRanges' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you leave this parameter empty, traffic is forwarded to all destination ports.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations for each endpoint and specify up to 20 port ranges for each destination.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you leave this parameter empty, traffic is forwarded to all destination ports.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations for each endpoint and specify up to 20 port ranges for each destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port of the destination port range. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations for each endpoint and specify up to 20 first ports for each destination.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port of the destination port range. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations for each endpoint and specify up to 20 last ports for each destination.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + 'required' => true, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'EndpointIds' => [ + 'description' => 'The IDs of the endpoints.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the endpoints.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EndpointIds\\": [\\n \\"epg-bp1dmlohjjz4kqaun****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<CreateCustomRoutingEndpointsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <EndpointIds>epg-bp1dmlohjjz4kqaun****</EndpointIds>\\n</CreateCustomRoutingEndpointsResponse>","errorExample":""}]', + 'title' => 'CreateCustomRoutingEndpoints', + 'description' => 'After you configure a custom routing listener for a Global Accelerator (GA) instance, the instance generates a port mapping table based on the listener port range, the protocols and port ranges of the associated endpoint groups, and the IP addresses of endpoints (vSwitches), and forwards client requests to specified IP addresses and ports in the vSwitches.'."\n" + ."\n" + .'This operation is used to create endpoints for custom routing listeners. When you call this operation, take note of the following items:'."\n" + ."\n" + .'* **CreateCustomRoutingEndpoints** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) operation to query the status of an endpoint group and determine whether endpoints are created in the endpoint group.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, it indicates that endpoints are being created. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state, it indicates that endpoints are created.'."\n" + ."\n" + .'* The **CreateCustomRoutingEndpoints** operation cannot be called repeatedly for the same GA instance within a specific period of time.'."\n" + ."\n" + .'### Prerequisites'."\n" + ."\n" + .'The following operations are complete before you call this operation:'."\n" + ."\n" + .'* Create a standard GA instance. For more information, see [CreateAccelerator](~~206786~~).'."\n" + .'* Associate a bandwidth plan with the standard GA instance. For more information, see [BandwidthPackageAddAccelerator](~~153239~~).'."\n" + .'* Deploy an application that serves as the endpoint of the GA instance. The application is used to receive requests that are forwarded from GA. You can specify only vSwitches as endpoints for custom routing listeners.'."\n" + .'* Apply for permissions to use custom routing listeners and create a custom routing listener for the standard GA instance. Custom routing listeners are in invitational preview. To use custom routing listeners, contact your account manager. For more information about how to create a custom routing listener, see [CreateListener](~~153253~~).'."\n" + .'* Create an endpoint group for the custom routing listener. For more information, see [CreateCustomRoutingEndpointGroups](~~449363~~).'."\n", + ], + 'UpdateCustomRoutingEndpoints' => [ + 'summary' => 'Modifies the endpoints of a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146862', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** may be different for each API request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group to which the endpoints that you want to modify belong.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1bpn0kn908w4nb****', + ], + ], + [ + 'name' => 'EndpointConfigurations', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The configurations of the endpoint.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the endpoint.'."\n", + 'type' => 'object', + 'properties' => [ + 'TrafficToEndpointPolicy' => [ + 'description' => 'The access policy of traffic for the specified endpoint. Default value: DenyAll. Valid values:'."\n" + ."\n" + .'* **DenyAll**: denies all traffic to the endpoint.'."\n" + ."\n" + .'* **AllowAll**: allows all traffic to the endpoint.'."\n" + ."\n" + .'* **AllowCustom**: allows traffic only to specified destinations.'."\n" + ."\n" + .' If you set this parameter to AllowCustom, you must specify IP addresses and port ranges of destinations to which to allow traffic. If you specify only IP addresses and do not specify port ranges, GA can forward traffic to all ports and the specified IP addresses in the destinations.'."\n" + ."\n" + .'You can specify up to 20 access policies of traffic for the specified endpoint.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'DenyAll', + ], + 'EndpointId' => [ + 'description' => 'The ID of the endpoint.'."\n" + ."\n" + .'You can specify up to 20 endpoint IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep-bp1dmlohjjz4kqaun****', + ], + 'PolicyConfigurations' => [ + 'description' => 'The configurations of the policy.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the policy.', + 'type' => 'object', + 'properties' => [ + 'Address' => [ + 'description' => 'The IP address of the destination to which to allow traffic.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify up to 20 destination IP addresses for each endpoint.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX', + ], + 'PortRanges' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you leave this parameter empty, traffic is forwarded to all destination ports.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations for each endpoint and specify up to 20 port ranges for each destination.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you leave this parameter empty, traffic is forwarded to all destination ports.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations for each endpoint and specify up to 20 port ranges for each destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The start port of the port range in the destination to which to allow traffic. The specified port must fall within the port range of the specified endpoint group.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations for each endpoint and specify up to 20 start ports for each destination.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The end port of the port range in the destination to which to allow traffic. The specified port must fall within the port range of the specified endpoint group.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 destinations for each endpoint and specify up to 20 end ports for each destination.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'EndpointIds' => [ + 'description' => 'The IDs of the endpoints.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the endpoints.'."\n", + 'type' => 'string', + 'example' => 'ep-bp1dmlohjjz4kqaun****', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'listener %s is not exist', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'listener %s is not active', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EndpointIds\\": [\\n \\"ep-bp1dmlohjjz4kqaun****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<UpdateCustomRoutingEndpointsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <EndpointIds>ep-bp1dmlohjjz4kqaun****</EndpointIds>\\n</UpdateCustomRoutingEndpointsResponse>","errorExample":""}]', + 'title' => 'UpdateCustomRoutingEndpoints', + 'description' => '## Description'."\n" + ."\n" + .'* **UpdateCustomRoutingEndpoints** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) operation to query the state of the endpoint groups associated with a custom routing listener to check whether the endpoints in the endpoint groups are modified.'."\n" + ."\n" + .' * If an endpoint group is in the **updating** state, the endpoints in the endpoint group are being modified. In this case, you can perform only query operations.'."\n" + .' * If an endpoint group is in the **active** state, the endpoints in the endpoint group are modified.'."\n" + ."\n" + .'* The **UpdateCustomRoutingEndpoints** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'DescribeCustomRoutingEndpoint' => [ + 'summary' => 'Queries a specified endpoint that is associated with a custom routing listener.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'EndpointGroup', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.', + 'type' => 'string', + 'required' => false, + 'example' => 'epg-bp1j184jhb9i9ubwf****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'String 04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance with which the endpoint is associated.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener with which the endpoint is associated.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + 'EndpointId' => [ + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp1dmlohjjz4kqaun****', + ], + 'Type' => [ + 'description' => 'The backend service type of the endpoint.'."\n" + ."\n" + .'Set the value to **PrivateSubNet**, which indicates private CIDR blocks.'."\n", + 'type' => 'string', + 'example' => 'PrivateSubNet', + ], + 'Endpoint' => [ + 'description' => 'The name of the endpoint (vSwitch).'."\n", + 'type' => 'string', + 'example' => 'vsw-test01', + ], + 'TrafficToEndpointPolicy' => [ + 'description' => 'The access policy of traffic for the specified endpoint. Valid values:'."\n" + ."\n" + .'* **AllowAll**: allows all traffic to the endpoint.'."\n" + .'* **DenyAll**: denies all traffic to the endpoint.'."\n" + .'* **AllowCustom**: allows traffic only to specified destinations.'."\n", + 'type' => 'string', + 'example' => 'DenyAll', + ], + 'State' => [ + 'description' => 'The status of the endpoint.', + 'type' => 'string', + 'example' => 'active', + ], + 'ServiceId' => [ + 'description' => 'The service ID to which the managed instance belongs.'."\n" + ."\n" + .'> Valid only when the ServiceManaged parameter is True.', + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Is it a managed instance. Valid values:'."\n" + ."\n" + .'- true'."\n" + .'- false', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'Managed policy action name, Valid values:'."\n" + ."\n" + .'- Create'."\n" + .'- Update'."\n" + .'- Delete'."\n" + .'- Associate'."\n" + .'- UserUnmanaged'."\n" + .'- CreateChild', + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'Sub resource type, Valid values:'."\n" + ."\n" + .'- Listener'."\n" + .'- IpSet'."\n" + .'- EndpointGroup'."\n" + .'- ForwardingRule'."\n" + .'- Endpoint'."\n" + .'- EndpointGroupDestination'."\n" + .'- EndpointPolicy'."\n" + ."\n" + .'>Only valid when the Action parameter is CreateChild.', + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Is the managed policy action managed, Valid values:'."\n" + ."\n" + .'- true: The managed policy action is managed, and users do not have permission to perform the operation specified in the Action on the managed instance.'."\n" + ."\n" + .'- false: The managed policy action is not managed, and users have permission to perform the operation specified in the Action on the managed instance.', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"String\\\\t04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointGroupId\\": \\"epg-bp14sz7ftcwwjgrdm****\\",\\n \\"EndpointId\\": \\"ep-bp1dmlohjjz4kqaun****\\",\\n \\"Type\\": \\"PrivateSubNet\\",\\n \\"Endpoint\\": \\"vsw-test01\\",\\n \\"TrafficToEndpointPolicy\\": \\"DenyAll\\",\\n \\"State\\": \\"active\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCustomRoutingEndpointResponse>\\n <RequestId>String\\t04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <EndpointGroupId>epg-bp14sz7ftcwwjgrdm****</EndpointGroupId>\\n <EndpointId>ep-bp1dmlohjjz4kqaun****</EndpointId>\\n <Type>PrivateSubNet</Type>\\n <Endpoint>vsw-test01</Endpoint>\\n <TrafficToEndpointPolicy>DenyAll</TrafficToEndpointPolicy>\\n</DescribeCustomRoutingEndpointResponse>","errorExample":""}]', + 'title' => 'DescribeCustomRoutingEndpoint', + ], + 'ListCustomRoutingEndpoints' => [ + 'summary' => 'Queries the configurations of an endpoint.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '147625', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: **1 to 50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The listener ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The endpoint group ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'epg-bp16jdc00bhe97sr5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Endpoints' => [ + 'description' => 'The information about the endpoints.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance with which the endpoint is associated.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'epg-bp16jdc00bhe97sr5****', + ], + 'EndpointId' => [ + 'description' => 'The endpoint ID.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'Type' => [ + 'description' => 'The backend service type of the endpoint.'."\n" + ."\n" + .'Only **PrivateSubNet** may be returned, which indicates a private CIDR block.'."\n", + 'type' => 'string', + 'example' => 'PrivateSubNet', + ], + 'Endpoint' => [ + 'description' => 'The name of the vSwitch that is specified as an endpoint.'."\n", + 'type' => 'string', + 'example' => 'vsw-test01', + ], + 'TrafficToEndpointPolicy' => [ + 'description' => 'The access policy of traffic that is destined for the endpoint. Valid values:'."\n" + ."\n" + .'* **AllowAll**: allows all traffic to the endpoint.'."\n" + .'* **DenyAll**: denies all traffic to the endpoint.'."\n" + .'* **AllowCustom**: allows traffic only to specified destinations.'."\n", + 'type' => 'string', + 'example' => 'DenyAll', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the GA instance.'."\n" + ."\n" + .'> This parameter is valid only if **ServiceManaged** is set to **True**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + ."\n" + .'> This parameter is valid only if **ServiceManaged** is set to **True**.'."\n" + ."\n" + .'* Users can perform only specific actions on a managed instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action performed on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener'."\n" + .'* **IpSet**: acceleration region'."\n" + .'* **EndpointGroup**: endpoint group'."\n" + .'* **ForwardingRule**: forwarding rule'."\n" + .'* **Endpoint**: endpoint'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener'."\n" + ."\n" + .'> This parameter is valid only if **Action** is set to **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed. Valid values:'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the specified actions on the managed resource.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the specified actions on the managed resource.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 10,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Endpoints\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointGroupId\\": \\"epg-bp16jdc00bhe97sr5****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"Type\\": \\"PrivateSubNet\\",\\n \\"Endpoint\\": \\"vsw-test01\\",\\n \\"TrafficToEndpointPolicy\\": \\"DenyAll\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListCustomRoutingEndpointsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>10</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <Endpoints>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <EndpointGroupId>epg-bp16jdc00bhe97sr5****</EndpointGroupId>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <Type>PrivateSubNet</Type>\\n <Endpoint>vsw-test01</Endpoint>\\n <TrafficToEndpointPolicy>DenyAll</TrafficToEndpointPolicy>\\n </Endpoints>\\n</ListCustomRoutingEndpointsResponse>","errorExample":""}]', + 'title' => 'ListCustomRoutingEndpoints', + ], + 'DeleteCustomRoutingEndpoints' => [ + 'summary' => 'Deletes endpoints from a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '146953', + 'abilityTreeNodes' => [ + 'FEATUREgaNBCRGX', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group to which the endpoint that you want to delete belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1bpn0kn908w4nb****', + ], + ], + [ + 'name' => 'EndpointIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of endpoints to be deleted.'."\n" + ."\n" + .'If you do not set this parameter, all the endpoints in the specified endpoint group are deleted.'."\n" + ."\n" + .'You can specify at most 10 endpoint IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of endpoints to be deleted.'."\n" + ."\n" + .'If you do not set this parameter, all the endpoints in the specified endpoint group are deleted.'."\n" + ."\n" + .'You can specify at most 10 endpoint IDs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-bp1dmlohjjz4kqaun****', + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'listener %s is not exist', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'listener %s is not active', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCustomRoutingEndpointsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteCustomRoutingEndpointsResponse>","errorExample":""}]', + 'title' => 'DeleteCustomRoutingEndpoints', + 'description' => '* **DeleteCustomRoutingEndpoints** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) to query the status of the task.'."\n" + ."\n" + .' * If an endpoint group is in the **updating** state, the endpoint is being deleted. In this case, you can perform only query operations.'."\n" + .' * If an endpoint group is in the **active** state and the endpoint cannot be found after you call the [DescribeCustomRoutingEndpoint](~~449386~~) operation, the endpoint is deleted.'."\n" + ."\n" + .'* You cannot call the **DeleteCustomRoutingEndpoints** operation again on the same Global Accelerator (GA) instance before the previous task is completed.'."\n", + ], + 'CreateCustomRoutingEndpointTrafficPolicies' => [ + 'summary' => 'Creates traffic destinations for an endpoint that is associated with a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146955', + 'abilityTreeNodes' => [ + 'FEATUREgaYJ70J9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request is different.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint for which you want to create traffic destinations.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-2zewuzypq5e6r3pfh****', + ], + ], + [ + 'name' => 'PolicyConfigurations', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The configurations of the traffic destinations.'."\n" + ."\n" + .'You can specify up to 500 traffic destinations for each endpoint.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the traffic destinations.'."\n" + ."\n" + .'You can specify up to 500 traffic destinations for each endpoint.'."\n", + 'type' => 'object', + 'properties' => [ + 'Address' => [ + 'description' => 'The IP address of the destination to which traffic is forwarded.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify up to 500 destination IP addresses for each endpoint.'."\n" + ."\n" + .'> This parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX', + ], + 'PortRanges' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you leave this parameter empty, traffic is forwarded to all destination ports.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 500 traffic destinations in each endpoint and specify up to 10 port ranges for each traffic destination.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you leave this parameter empty, traffic is forwarded to all destination ports.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'You can specify port ranges for up to 20 traffic destinations in each endpoint and specify up to 20 port ranges for each traffic destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port of the destination port range. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'If the first port and the last port are not specified, traffic on all ports of the destination is allowed.'."\n" + ."\n" + .'You can specify port ranges for up to 500 destinations in each endpoint and specify up to 10 first ports for each destination.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port of the destination port range. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n" + ."\n" + .'If the first port and the last port are not specified, traffic on all ports of the destination is allowed.'."\n" + ."\n" + .'You can specify port ranges for up to 500 destinations in each endpoint and specify up to 10 last ports for each destination.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 500, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'PolicyIds' => [ + 'description' => 'The IDs of the traffic destinations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the traffic destinations.'."\n", + 'type' => 'string', + 'example' => 'ply-bptest2****', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PolicyIds\\": [\\n \\"ply-bptest2****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<CreateCustomRoutingEndpointTrafficPoliciesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <PolicyIds>ply-bptest2****</PolicyIds>\\n</CreateCustomRoutingEndpointTrafficPoliciesResponse>","errorExample":""}]', + 'title' => 'CreateCustomRoutingEndpointTrafficPolicies', + 'description' => 'This operation takes effect only when the traffic access policy of an endpoint allows traffic to specified destinations. You can call the [DescribeCustomRoutingEndpoint](~~449386~~) operation to query the traffic access policy of an endpoint. This operation takes effect only if the value of **TrafficToEndpointPolicy** is set to **AllowCustom**, which allows traffic to specific destinations.'."\n" + ."\n" + .'When you call this operation, take note of the following items:'."\n" + ."\n" + .'* **CreateCustomRoutingEndpointTrafficPolicies** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, the traffic destinations are being created. In this state, you can only query the traffic destinations.'."\n" + .' * If the endpoint group is in the **active** state, the traffic destinations are created.'."\n" + ."\n" + .'* You cannot call the **CreateCustomRoutingEndpointTrafficPolicies** operation repeatedly for the same GA instance in a specific period of time.'."\n" + ."\n" + .'### [](#)Prerequisites'."\n" + ."\n" + .'Before you call this operation, make sure that the following requirements are met:'."\n" + ."\n" + .'* A standard GA instance is created. For more information, see [CreateAccelerator](~~206786~~).'."\n" + .'* If the bandwidth metering method of the standard GA instance is **pay-by-bandwidth**, a bandwidth plan must be associated with the standard GA instance. For more information, see [BandwidthPackageAddAccelerator](~~153239~~).'."\n" + .'* An application that serves as the endpoint of the standard GA instance is deployed to receive requests that are forwarded from GA. You can specify only vSwitches as endpoints for custom routing listeners.'."\n" + .'* The permissions to use custom routing listeners are acquired, and a custom routing listener is created. Custom routing listeners are in invitational preview. To use custom routing listeners, contact your account manager. For more information about how to create a custom routing listener, see [CreateListener](~~153253~~).'."\n" + .'* Endpoint groups are created for the custom routing listener. For more information, see [CreateCustomRoutingEndpointGroups](~~449363~~).'."\n" + .'* Endpoints are created for the custom routing listener. For more information, see [CreateCustomRoutingEndpoints](~~449382~~).'."\n", + ], + 'UpdateCustomRoutingEndpointTrafficPolicies' => [ + 'summary' => 'Modifies the traffic policies for an endpoint that is associated with a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146967', + 'abilityTreeNodes' => [ + 'FEATUREgaYJ70J9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint for which you want to modify the traffic policies.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-2zewuzypq5e6r3pfh****', + ], + ], + [ + 'name' => 'PolicyConfigurations', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The access policies.'."\n" + ."\n" + .'You can specify a maximum of 500 traffic policies for each endpoint.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The traffic policies.'."\n" + ."\n" + .'You can specify up to 500 destination IP addresses for each endpoint.'."\n", + 'type' => 'object', + 'properties' => [ + 'PolicyId' => [ + 'description' => 'The ID of the traffic policy that you want to modify.'."\n" + ."\n" + .'> This parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ply-bptest2****', + ], + 'Address' => [ + 'description' => 'The IP address of the destination which to allow traffic.'."\n" + ."\n" + .'This parameter takes effect only when you set the **TrafficToEndpointPolicy** parameter to **AllowCustom**. You can call the [DescribeCustomRoutingEndpoint](~~449386~~) operation to query the traffic policy of an endpoint.'."\n" + ."\n" + .'You can specify a maximum of 500 traffic policies for each endpoint.'."\n" + ."\n" + .'> This parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX', + ], + 'PortRanges' => [ + 'description' => 'The port range of the destination to which traffic is forwarded. The value of this parameter must fall within the port range of the endpoint group.'."\n" + ."\n" + .'If you do not specify object, traffic is forwarded to all ports.'."\n" + ."\n" + .'This parameter takes effect only when you set the **TrafficToEndpointPolicy** parameter to **AllowCustom**. You can call the [DescribeCustomRoutingEndpoint](~~449386~~) operation to query the traffic policy of an endpoint.'."\n" + ."\n" + .'You can specify a maximum of 500 port ranges for each endpoint and a maximum of 10 port ranges for each traffic policy.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port range of the destination to which traffic is allowed. The value of this parameter must fall within the port range of the backend service.'."\n" + ."\n" + .'If you do not specify object, traffic is forwarded to all ports.'."\n" + ."\n" + .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**. You can call the [DescribeCustomRoutingEndpoint](~~449386~~) operation to query the traffic policy for the specified endpoint.'."\n" + ."\n" + .'You can specify port ranges for up to 500 traffic destinations in each endpoint and specify up to 10 port ranges for each traffic destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port of the destination port range. The value of this parameter must fall within the port range of the backend service.'."\n" + ."\n" + .'This parameter takes effect only when you set the **TrafficToEndpointPolicy** parameter to **AllowCustom**. You can call the [DescribeCustomRoutingEndpoint](~~449386~~) operation to query the traffic policy of an endpoint.'."\n" + ."\n" + .'If the start port and end port values are empty, traffic on all ports of the destination is allowed.'."\n" + ."\n" + .'You can specify a maximum of 500 port ranges for each endpoint and a maximum of 10 port ranges for each traffic policy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port of the destination port range. The value of this parameter must fall within the port range of the backend service.'."\n" + ."\n" + .'This parameter takes effect only when you set the **TrafficToEndpointPolicy** parameter to **AllowCustom**. You can call the [DescribeCustomRoutingEndpoint](~~449386~~) operation to query the traffic policy of an endpoint.'."\n" + ."\n" + .'If the start port and end port values are empty, traffic on all ports of the destination is allowed.'."\n" + ."\n" + .'You can specify a maximum of 500 port ranges for each endpoint and a maximum of 10 port ranges for each traffic policy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 500, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'PolicyIds' => [ + 'description' => 'The IDs of the traffic destinations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the traffic destinations.'."\n", + 'type' => 'string', + 'example' => 'ply-bptest2****', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPoints', + 'errorMessage' => 'endpoint %s not exist.', + ], + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'endpoint group %s is not exist', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'endpoint group state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'listener %s is not exist', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'listener %s is not active', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'accelerator %s is not exist', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PolicyIds\\": [\\n \\"ply-bptest2****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<UpdateCustomRoutingEndpointTrafficPoliciesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <PolicyIds>ply-bptest2****</PolicyIds>\\n</UpdateCustomRoutingEndpointTrafficPoliciesResponse>","errorExample":""}]', + 'title' => 'UpdateCustomRoutingEndpointTrafficPolicies', + 'description' => '* **UpdateCustomRoutingEndpointTrafficPolicies** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, traffic policies are being modified for endpoints in the endpoint group. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state, traffic policies are modified for endpoints in the endpoint group.'."\n" + ."\n" + .'* The **UpdateCustomRoutingEndpointTrafficPolicies** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'DescribeCustomRoutingEndPointTrafficPolicy' => [ + 'summary' => 'Queries a traffic destination of an endpoint.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The operation that you want to perform. Set the value to **DescribeCustomRoutingEndPointTrafficPolicy**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ply-bptest2****', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the traffic policy to be queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep-bp1d2utp8qqe2a44t****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the endpoint to which the traffic destination belongs.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the GA instance to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the listener to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1bpn0kn908w4nb****', + ], + 'EndpointId' => [ + 'description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'ep-2zewuzypq5e6r3pfh****', + ], + 'Endpoint' => [ + 'description' => 'The ID of the endpoint to which the traffic policy belongs.'."\n", + 'type' => 'string', + 'example' => 'vsw-test01', + ], + 'PolicyId' => [ + 'description' => 'The name of the vSwitch to which the traffic policy belongs.'."\n", + 'type' => 'string', + 'example' => 'ply-bptest2****', + ], + 'Address' => [ + 'description' => 'The ID of the traffic policy.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'PortRanges' => [ + 'description' => 'The IP address of the traffic policy.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The port range of the traffic policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port of the port range used by the traffic destination to process requests.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port of the port range used by the traffic destination to process requests.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + ], + ], + ], + 'State' => [ + 'description' => 'The status of the traffic destination.'."\n" + ."\n" + .'- init: being initialized.'."\n" + .'- active: running as expected.'."\n" + .'- updating: being updated.'."\n" + .'- deleting: being deleted.', + 'type' => 'string', + 'example' => 'active', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the instance.'."\n" + ."\n" + .'> This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the instance is managed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + .'> * This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n" + .'> * Users can perform only specific actions on a managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of action policies that users can execute on this managed instance.', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action performed on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**'."\n" + .'* **Update**'."\n" + .'* **Delete**'."\n" + .'* **Associate**'."\n" + .'* **UserUnmanaged**'."\n" + .'* **CreateChild**'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener.'."\n" + .'* **IpSet**: acceleration region.'."\n" + .'* **EndpointGroup**: endpoint group.'."\n" + .'* **ForwardingRule**: forwarding rule.'."\n" + .'* **Endpoint**: endpoint.'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group that is associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint that is associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter takes effect only if the value of **Action** is **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed.'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointGroupId\\": \\"epg-bp1bpn0kn908w4nb****\\",\\n \\"EndpointId\\": \\"ep-2zewuzypq5e6r3pfh****\\",\\n \\"Endpoint\\": \\"vsw-test01\\",\\n \\"PolicyId\\": \\"ply-bptest2****\\",\\n \\"Address\\": \\"10.0.XX.XX\\",\\n \\"PortRanges\\": [\\n {\\n \\"FromPort\\": 80,\\n \\"ToPort\\": 80\\n }\\n ],\\n \\"State\\": \\"active\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCustomRoutingEndPointTrafficPolicyResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <EndpointGroupId>epg-bp1bpn0kn908w4nb****</EndpointGroupId>\\n <EndpointId>ep-2zewuzypq5e6r3pfh****</EndpointId>\\n <Endpoint>vsw-test01</Endpoint>\\n <PolicyId>ply-bptest2****</PolicyId>\\n <Address>10.0.XX.XX</Address>\\n <PortRanges>\\n <FromPort>80</FromPort>\\n <ToPort>80</ToPort>\\n </PortRanges>\\n</DescribeCustomRoutingEndPointTrafficPolicyResponse>","errorExample":""}]', + 'title' => 'DescribeCustomRoutingEndPointTrafficPolicy', + ], + 'ListCustomRoutingEndpointTrafficPolicies' => [ + 'summary' => 'Queries the traffic policies of an endpoint that belongs to a custom routing listener.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '147629', + 'abilityTreeNodes' => [ + 'FEATUREgaYJ70J9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: **1 to 50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance to which the traffic policies belong.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener to which the traffic policies belong.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group to which the traffic policies belong.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint to which the traffic policies belong.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep-bp16jdc00bhe97sr5****', + ], + ], + [ + 'name' => 'Address', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IP address of the traffic destination.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Policies' => [ + 'description' => 'A list of traffic policies.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the custom routing listener to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointId' => [ + 'description' => 'The ID of the endpoint to which the traffic policy belongs.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'PolicyId' => [ + 'description' => 'The ID of the traffic policy.'."\n", + 'type' => 'string', + 'example' => 'ply-bp1dmlohjjz4kqaun****', + ], + 'Address' => [ + 'description' => 'The IP addresses of the traffic policies.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'PortRanges' => [ + 'description' => 'The port range of the traffic policy.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'FromPort' => [ + 'description' => 'The first port of the port range used by the traffic destination to process requests.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'ToPort' => [ + 'description' => 'The last port of the port range used by the traffic destination to process requests.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + ], + ], + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the instance.'."\n" + ."\n" + .'> This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the instance is managed. Valid values:'."\n" + ."\n" + .'* **true**: The GA instance is managed.'."\n" + .'* **false**: The GA instance is not managed.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that users can perform on the managed instance.'."\n" + ."\n" + .'> * This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n" + .'>* Users can perform only specific actions on a managed instance.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**: Create an instance.'."\n" + .'* **Update**: Update the current instance.'."\n" + .'* **Delete**: Delete the current instance.'."\n" + .'* **Associate**: Reference the current instance.'."\n" + .'* **UserUnmanaged**: Unmanage the instance.'."\n" + .'* **CreateChild**: Create a child resource in the current instance.'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener.'."\n" + .'* **IpSet**: acceleration region.'."\n" + .'* **EndpointGroup**: endpoint group.'."\n" + .'* **ForwardingRule**: forwarding rule.'."\n" + .'* **Endpoint**: endpoint.'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter is returned only if the value of **Action** is **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed. Valid values:'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Policies\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointGroupId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"PolicyId\\": \\"ply-bp1dmlohjjz4kqaun****\\",\\n \\"Address\\": \\"10.0.XX.XX\\",\\n \\"PortRanges\\": [\\n {\\n \\"FromPort\\": 80,\\n \\"ToPort\\": 80\\n }\\n ],\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListCustomRoutingEndpointTrafficPoliciesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <Policies>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <EndpointGroupId>lsr-bp1bpn0kn908w4nbw****</EndpointGroupId>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <PolicyId>ply-bp1dmlohjjz4kqaun****</PolicyId>\\n <Address>10.0.XX.XX</Address>\\n <PortRanges>\\n <FromPort>80</FromPort>\\n <ToPort>80</ToPort>\\n </PortRanges>\\n </Policies>\\n</ListCustomRoutingEndpointTrafficPoliciesResponse>","errorExample":""}]', + 'title' => 'ListCustomRoutingEndpointTrafficPolicies', + ], + 'DeleteCustomRoutingEndpointTrafficPolicies' => [ + 'summary' => 'Deletes traffic destinations from an endpoint.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '146971', + 'abilityTreeNodes' => [ + 'FEATUREgaYJ70J9', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint for which you want to delete traffic destinations.'."\n" + ."\n" + .'> This parameter is required.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-2zewuzypq5e6r3pfh****', + ], + ], + [ + 'name' => 'PolicyIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the traffic destinations.'."\n" + ."\n" + .'You can specify the IDs of up to 9,000 traffic destinations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the traffic destinations.'."\n" + ."\n" + .'You can specify the IDs of up to 9,000 traffic destinations.'."\n" + ."\n" + .'> This parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ply-bptest2****', + ], + 'required' => true, + 'maxItems' => 9000, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPoints', + 'errorMessage' => 'endpoint %s not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCustomRoutingEndpointTrafficPoliciesResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteCustomRoutingEndpointTrafficPoliciesResponse>","errorExample":""}]', + 'title' => 'DeleteCustomRoutingEndpointTrafficPolicies', + 'description' => '* **DeleteCustomRoutingEndpointTrafficPolicies** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [DescribeCustomRoutingEndpointGroup](~~449373~~) operation to query the status of an endpoint group to check whether the traffic destinations are deleted.'."\n" + ."\n" + .' * If the endpoint group is in the **updating** state, the traffic destinations are being deleted. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state and the traffic destinations that you want to delete cannot be queried by calling the [DescribeCustomRoutingEndPointTrafficPolicy](~~449392~~) operation, the traffic destinations are deleted.'."\n" + ."\n" + .'* The **DeleteCustomRoutingEndpointTrafficPolicies** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'ListCustomRoutingPortMappings' => [ + 'summary' => 'Queries the port mapping table of a custom routing listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '147538', + 'abilityTreeNodes' => [ + 'FEATUREga3XB3RZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. Default value: **1**.'."\n", + 'type' => 'integer', + 'required' => false, + 'example' => '1', + 'format' => 'int32', + 'minimum' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'required' => false, + 'example' => '10', + 'format' => 'int32', + 'maximum' => '50', + 'minimum' => '1', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'epg-bp16jdc00bhe97sr5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned on each page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PortMappings' => [ + 'description' => 'Details about the port mapping table.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + 'EndpointId' => [ + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'EndpointGroupRegion' => [ + 'description' => 'The ID of the region in which the endpoint group resides.'."\n", + 'type' => 'string', + 'example' => 'us-west-1', + ], + 'Vswitch' => [ + 'description' => 'The name of the endpoint (vSwitch).'."\n", + 'type' => 'string', + 'example' => 'vsw-test01', + ], + 'AcceleratorPort' => [ + 'description' => 'The acceleration port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3000', + ], + 'Protocols' => [ + 'description' => 'The protocol of the backend service.'."\n" + ."\n" + .'* **tcp**: TCP'."\n" + .'* **udp**: UDP'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'tcp', + ], + ], + 'DestinationTrafficState' => [ + 'description' => 'The access policy of traffic for the backend instance. Valid values:'."\n" + ."\n" + .'* **allow**: allows traffic to the backend instance.'."\n" + .'* **deny**: denies traffic to the backend instance.'."\n", + 'type' => 'string', + 'example' => 'allow', + ], + 'DestinationSocketAddress' => [ + 'description' => 'The service IP address and port of the backend instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'IpAddress' => [ + 'description' => 'The service IP address of the backend instance.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'Port' => [ + 'description' => 'The service port of the backend instance.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '443', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"PortMappings\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"EndpointGroupId\\": \\"epg-bp14sz7ftcwwjgrdm****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"EndpointGroupRegion\\": \\"us-west-1\\",\\n \\"Vswitch\\": \\"vsw-test01\\",\\n \\"AcceleratorPort\\": 3000,\\n \\"Protocols\\": [\\n \\"TCP\\"\\n ],\\n \\"DestinationTrafficState\\": \\"allow\\",\\n \\"DestinationSocketAddress\\": {\\n \\"IpAddress\\": \\"10.0.XX.XX\\",\\n \\"Port\\": 443\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListCustomRoutingPortMappingsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <PortMappings>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <EndpointGroupId>epg-bp14sz7ftcwwjgrdm****</EndpointGroupId>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <EndpointGroupRegion>us-west-1</EndpointGroupRegion>\\n <Vswitch>vsw-test01</Vswitch>\\n <AcceleratorPort>3000</AcceleratorPort>\\n <Protocols>TCP</Protocols>\\n <DestinationTrafficState>allow</DestinationTrafficState>\\n <DestinationSocketAddress>\\n <IpAddress>10.0.XX.XX</IpAddress>\\n <Port>443</Port>\\n </DestinationSocketAddress>\\n </PortMappings>\\n</ListCustomRoutingPortMappingsResponse>","errorExample":""}]', + 'title' => 'ListCustomRoutingPortMappings', + 'description' => 'After you configure a custom routing listener for a Global Accelerator (GA) instance, the instance generates a port mapping table based on the listener port range, backend service protocols and port ranges of the associated endpoint groups, and IP addresses of endpoints (vSwitches). The custom routing listener forwards client requests to specified IP addresses and ports in the vSwitches based on the port mapping table. This operation is used to query the generated port mapping table.', + ], + 'ListCustomRoutingPortMappingsByDestination' => [ + 'summary' => 'Queries the port mapping table of a specified backend instance that is associated with a custom routing listener.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '147617', + 'abilityTreeNodes' => [ + 'FEATUREga3XB3RZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return. Default value: **1**.'."\n", + 'type' => 'integer', + 'required' => false, + 'example' => '1', + 'default' => '1', + 'format' => 'int32', + 'minimum' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'required' => false, + 'example' => '10', + 'default' => '10', + 'format' => 'int32', + 'maximum' => '50', + 'minimum' => '1', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the endpoint to which the backend instance belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-bp16jdc00bhe97sr5****', + ], + ], + [ + 'name' => 'DestinationAddress', + 'in' => 'query', + 'schema' => [ + 'description' => 'The service IP address of the backend instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '10.0.XX.XX', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'String 04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PortMappings' => [ + 'description' => 'Details about the port mapping table.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp14sz7ftcwwjgrdm****', + ], + 'EndpointId' => [ + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'EndpointGroupRegion' => [ + 'description' => 'The ID of the region in which the endpoint group resides.'."\n", + 'type' => 'string', + 'example' => 'us-west-1', + ], + 'Vswitch' => [ + 'description' => 'The name of the endpoint (vSwitch).'."\n", + 'type' => 'string', + 'example' => 'vsw-test01', + ], + 'AcceleratorPort' => [ + 'description' => 'The acceleration port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3000', + ], + 'Protocols' => [ + 'description' => 'The protocol of the backend service.'."\n" + ."\n" + .'* **tcp**: TCP'."\n" + .'* **udp**: UDP'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'tcp', + ], + ], + 'DestinationTrafficState' => [ + 'description' => 'The access policy of traffic for the backend instance.'."\n" + ."\n" + .'* **allow**: allows traffic to the backend instance.'."\n" + .'* **deny**: denies all traffic to the backend instance.'."\n", + 'type' => 'string', + 'example' => 'allow', + ], + 'DestinationSocketAddress' => [ + 'description' => 'The service IP address and port of the backend instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'IpAddress' => [ + 'description' => 'The service IP address of the backend instance.'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX', + ], + 'Port' => [ + 'description' => 'The service port of the backend instance.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '443', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"String\\\\t04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"PortMappings\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"EndpointGroupId\\": \\"epg-bp14sz7ftcwwjgrdm****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"EndpointGroupRegion\\": \\"us-west-1\\",\\n \\"Vswitch\\": \\"vsw-test01\\",\\n \\"AcceleratorPort\\": 3000,\\n \\"Protocols\\": [\\n \\"TCP\\"\\n ],\\n \\"DestinationTrafficState\\": \\"allow\\",\\n \\"DestinationSocketAddress\\": {\\n \\"IpAddress\\": \\"10.0.XX.XX\\",\\n \\"Port\\": 443\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListCustomRoutingPortMappingsByDestinationResponse>\\n <RequestId>String\\t04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <PortMappings>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>ga-bp1odcab8tmno0hdq****</ListenerId>\\n <EndpointGroupId>epg-bp14sz7ftcwwjgrdm****</EndpointGroupId>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <EndpointGroupRegion>us-west-1</EndpointGroupRegion>\\n <Vswitch>vsw-test01</Vswitch>\\n <AcceleratorPort>3000</AcceleratorPort>\\n <Protocols>TCP</Protocols>\\n <DestinationTrafficState>allow</DestinationTrafficState>\\n <DestinationSocketAddress>\\n <IpAddress>10.0.XX.XX</IpAddress>\\n <Port>443</Port>\\n </DestinationSocketAddress>\\n </PortMappings>\\n</ListCustomRoutingPortMappingsByDestinationResponse>","errorExample":""}]', + 'title' => 'ListCustomRoutingPortMappingsByDestination', + ], + 'CreateForwardingRules' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8510', + 'abilityTreeNodes' => [ + 'FEATUREgaRQQP6R', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4q****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1s0vzbi5bxlx5****', + ], + ], + [ + 'name' => 'ForwardingRules', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The configurations of the forwarding rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of the forwarding rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'Priority' => [ + 'description' => 'The priority of the forwarding rule. Valid values: **1** to **10000**. A lower value specifies a higher priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1000', + ], + 'RuleConditions' => [ + 'description' => 'The forwarding conditions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The forwarding conditions.'."\n", + 'type' => 'object', + 'properties' => [ + 'RuleConditionType' => [ + 'description' => 'The type of the forwarding condition. Valid values:'."\n" + ."\n" + .'* **Host**: Requests are forwarded based on domain names.'."\n" + .'* **Path**: Requests are forwarded based on paths.'."\n" + .'* **RequestHeader**: Requests are forwarded based on HTTP headers.'."\n" + .'* **Query**: Requests are forwarded based on query strings.'."\n" + .'* **Method**: Requests are forwarded based on HTTP request methods.'."\n" + .'* **Cookie**: Requests are forwarded based on cookies.'."\n" + .'* **SourceIP**: Requests are forwarded based on source IP addresses.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Host', + 'enum' => [ + 'Host', + 'Path', + 'Method', + 'RequestHeader', + 'Query', + 'Cookie', + 'SourceIP', + ], + ], + 'RuleConditionValue' => [ + 'description' => 'The value of the forwarding condition. You must specify different JSON strings based on **RuleConditionType**.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Host**, RuleConditionValue specifies a domain name condition. A forwarding rule can contain only one forwarding condition of the Host type. You can specify multiple domain names in a forwarding condition. The relationship between multiple domain names is OR. The domain name must be 3 to 128 characters in length, and can contain letters, digits, hyphens (-), and periods (.). You can use asterisks (\\*) and question marks (?) as wildcard characters. Example: `["www.example.com", "www.aliyun.com"]`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Path**, RuleConditionValue specifies a path condition. A forwarding rule can contain multiple forwarding conditions of the Path type. The relationship between multiple path conditions is OR. You can specify multiple paths in a forwarding condition. The relationship between multiple paths is OR. The path must be 1 to 128 characters in length, and must start with a forward slash (/). The path can contain letters, digits, and the following special characters: $ - \\_ . + / & ~ @ : \'. Supported wildcard characters are asterisks (\\*) and question marks (?). Example: `["/a", "/b/"]`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **RequestHeader**, RuleConditionValue specifies an HTTP header condition. An HTTP header consists of a key and a value. The header values in a forwarding condition must be unique. Example: `[{"header1":["value1","value2"]}]`.'."\n" + ."\n" + .' * Key: The key of an HTTP header must be 1 to 40 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" + .' * Value: The value of an HTTP header must be 1 to 128 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`. The value cannot start or end with a space.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Query**, RuleConditionValue specifies a query string condition. A query string consists of a key and a value. Example: `[{"query1":["value1"]}, {"query2":["value2"]}]`.'."\n" + ."\n" + .' * Key: The key must be 1 to 100 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`, excluding uppercase letters, spaces, and the following special characters: `[ ] { } < > \\ ; / ? : @ & = + , $ % " ^ ~`.'."\n" + .' * Value: The value must be 1 to 128 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`, excluding uppercase letters, spaces, and the following special characters: `[ ] { } < > \\ ; / ? : @ & = + , $ % " ^ ~`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Method**, RuleConditionValue specifies an HTTP method condition. Valid values: **HEAD**, **GET**, **POST**, **OPTIONS**, **PUT**, **PATCH**, and **DELETE**. Example: `["GET", "OPTIONS", "POST"]`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Cookie**, RuleConditionValue specifies a cookie condition. A cookie consists of a key and a value. Example: `[{"cookie1":["value1"]}, {"cookie2":["value2"]}]`.'."\n" + ."\n" + .' * Key: The key of a cookie must be 1 to 100 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`, excluding uppercase letters, spaces, and the following special characters: `# [ ] { } \\ < > &`.'."\n" + .' * Value: The value of a cookie must be 1 to 128 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`, excluding uppercase letters, spaces, and the following special characters: `# [ ] { } \\ < > &`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **SourceIP**, RuleConditionValue specifies a source IP address condition. IP addresses, such as 1.1.XX.XX/32, and CIDR blocks, such as 2.2.XX.XX/24, are supported. A forwarding rule can contain only one forwarding condition of the SourceIP type. You can specify multiple source IP addresses or CIDR blocks in a forwarding condition. The relationship between multiple IP addresses or CIDR blocks is OR. Example: `["1.1.XX.XX/32", "2.2.XX.XX/24"]`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["www.example.com", "www.aliyun.com"]', + ], + 'PathConfig' => [ + 'description' => 'The configuration of the path.'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'object', + 'properties' => [ + 'Values' => [ + 'description' => 'The path.'."\n" + ."\n" + .'The path must be 1 to 128 characters in length, and must start with a forward slash (/). The path can contain letters, digits, and the following special characters: $ - \\_ . + / & ~ @ : \'. Supported wildcard characters are asterisks (\\*) and question marks (?).'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The path.'."\n" + ."\n" + .'The path must be 1 to 128 characters in length, and must start with a forward slash (/). The path can contain letters, digits, and the following special characters: $ - \\_ . + / & ~ @ : \'. Supported wildcard characters are asterisks (\\*) and question marks (?).'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/test', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'HostConfig' => [ + 'description' => 'The configuration of the domain name.'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'object', + 'properties' => [ + 'Values' => [ + 'description' => 'The domain name.'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name. The domain name must be 3 to 128 characters in length, and can contain letters, digits, hyphens (-), and periods (.). You can use asterisks (\\*) and question marks (?) as wildcard characters.'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + 'minItems' => 1, + ], + 'RuleActions' => [ + 'description' => 'The configurations of the forwarding action.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the forwarding action.'."\n", + 'type' => 'object', + 'properties' => [ + 'Order' => [ + 'description' => 'The forwarding priority.'."\n" + ."\n" + .'> This parameter does not take effect. Ignore this parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '20', + ], + 'RuleActionType' => [ + 'description' => 'The type of the forwarding action. Valid values:'."\n" + ."\n" + .'* **ForwardGroup**: forwards a request.'."\n" + .'* **Redirect**: redirects a request.'."\n" + .'* **FixResponse**: returns a fixed response.'."\n" + .'* **Rewrite**: rewrites a request.'."\n" + .'* **AddHeader**: adds a header to a request.'."\n" + .'* **RemoveHeaderConfig**: deletes the header from a request.'."\n" + .'* **Drop**: drops a request.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ForwardGroup', + ], + 'RuleActionValue' => [ + 'description' => 'The value of the forwarding action.'."\n" + ."\n" + .'You must specify different JSON strings based on the **RuleActionType** parameter.'."\n" + ."\n" + .'A forwarding rule can contain only one forwarding action whose type is **ForwardGroup**, **Redirect**, or **FixResponse**. You must specify a forwarding action whose type is **Rewrite**, **AddHeader**, or **RemoveHeader** before a forwarding action whose type is **ForwardGroup**.'."\n" + ."\n" + .'* If **RuleActionType** is set to **ForwardGroup**, this parameter specifies the information of a virtual endpoint group. You can forward requests to only one virtual endpoint group. Example: `{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}`.'."\n" + ."\n" + .' * `type`: Set this parameter to `endpointgroup`.'."\n" + .' * `value`: Set this parameter to the ID of a virtual endpoint group.'."\n" + ."\n" + .'* If **RuleActionType** is set to **Redirect**, this parameter specifies redirecting configurations. You cannot leave all the following parameters empty or use the default values for all the following parameters for a forwarding action whose type is **Redirect**: `protocol`, `domain`, `port`, `path`, and `query`. Example: `{"protocol":"HTTP", "domain":"www.example.com", "port":"80", "path":"/a","query":"value1", "code":"301" }`.'."\n" + ."\n" + .' * `protocol`: the protocol of requests after the requests are redirected. Valid values: `${protocol}` (default), `HTTP`, and `HTTPS`.'."\n" + .' * `domain`: the domain name to which requests are redirected. Default value: `${host}`. You can also enter a domain name. The domain name must be 3 to 128 characters in length, and can contain only letters, digits, and the following special characters: `. - ? = ~ _ - + / ^ * ! $ & | ( ) [ ]`.'."\n" + .' * `port`: the port to which requests are redirected. Default value: `${port}`. You can enter a port number that ranges from 1 to 63335.'."\n" + .' * `path`: the path to which requests are redirected. Default value: `${path}`. The path must be 1 to 128 characters in length. To use a regular expression, the path can contain letters, digits, and the following special characters: `. - _ / = ? ~ ^ * $ : ( ) [ ] +`. The path must start with a tilde (~). If you do not want to use a regular expression, the path can contain letters, digits, and the following special characters: `. - _ / = ? :`. The path must start with a forward slash (/).'."\n" + .' * `query`: the query string to which requests are redirected. Default value: `${query}`. You can also specify a query string. The query string must be 1 to 128 characters in length, and can contain printable characters whose ASCII values are `greater than or equal to 32 and smaller than 127`. The query string cannot contain uppercase letters, space characters, or the following special characters: `[ ] { } < > # &`.'."\n" + .' * `code`: the redirect code. Valid values: `301`, `302`, `303`, `307`, and `308`.'."\n" + ."\n" + .'* If **RuleActionType** is set to **FixResponse**, this parameter specifies a fixed response. Example: `{"code":"200", "type":"text/plain", "content":"dssacav" }`.'."\n" + ."\n" + .' * `code`: the HTTP response status code. The response status code must be one of the following numeric strings: `2xx`, `4xx`, and `5xx`. The letter `x` is a digit.'."\n" + .' * `type`: the type of the response content. Valid values: **text/plain**, **text/css**, **text/html**, **application/javascript**, and **application/json**.'."\n" + .' * `content`: the response content. The response content cannot exceed 1,000 characters in length, and does not support Chinese characters.'."\n" + ."\n" + .'* If **RuleActionType** is set to **AddHeader**, this parameter specifies an HTTP header to be added. If a forwarding rule contains a forwarding action whose type is **AddHeader**, you must specify another forwarding action whose type is **ForwardGroup**. Example: `[{"name":"header1","type":"userdefined", "value":"value"}]`.'."\n" + ."\n" + .' * `name`: the name of the HTTP header. The name must be 1 to 40 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_). The name of the HTTP header specified by **AddHeader** must be unique and cannot be the same as the name of the HTTP header specified by **RemoveHeader**.'."\n" + .' * `type`: the content type of the HTTP header. Valid values: `user-defined`, `ref`, and `system-defined`.'."\n" + .' * `value`: the content of the HTTP header. You cannot leave this parameter empty. If you set `type` to `user-defined`, the content must be 1 to 128 characters in length, and can contain printable characters whose ASCII values are `greater than or equal to 32 and smaller than 127`. The content can contain letters, digits, hyphens (-), and underscores (\\_*). The content cannot start or end with a space character. If you set `type` to `ref`, the content must be 1 to 128 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_*). The content cannot start or end with a space character. If you set `type` to `system-defined`, only `ClientSrcIp` is supported.'."\n" + ."\n" + .'* If **RuleActionType** is set to **RemoveHeader**, this parameter specifies an HTTP header to be removed. If a forwarding rule contains a forwarding action whose type is **RemoveHeader**, you must specify another forwarding action whose type is **ForwardGroup**. The header must be 1 to 40 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_). Example: `["header1"]`.'."\n" + ."\n" + .'* If **RuleActionType** is set to **Rewrite**, this parameter specifies the rewriting configuration. If a forwarding rule contains a forwarding action whose type is **Rewrite**, you must specify another forwarding action whose type is **ForwardGroup**. Example: `{"domain":"value1", "path":"value2", "query":"value3"}`.'."\n" + ."\n" + .' * `domain`: the domain name to which requests are redirected. Default value: `${host}`. You can also enter a domain name. The domain name must be 3 to 128 characters in length, and can contain only lowercase letters, digits, and the following special characters: `. - ? = ~ _ - + / ^ * ! $ & | ( ) [ ]`.'."\n" + .' * `path`: the path to which requests are redirected. Default value: `${path}`. The path must be 1 to 128 characters in length. To use a regular expression, the path can contain letters, digits, and the following special characters: `. - _ / = ? ~ ^ * $ : ( ) [ ] +`. The path must start with a tilde (~). If you do not want to use a regular expression, the path can contain letters, digits, and the following special characters: `. - _ / = ? :`. The path must start with a forward slash (/).'."\n" + .' * `query`: the query string to which requests are redirected. Default value: `${query}`. You can also specify a query string. The query string must be 1 to 128 characters in length, and can contain printable characters whose ASCII values are `greater than or equal to 32 and smaller than 127`. The query string cannot contain uppercase letters, space characters, or the following special characters: `[ ] { } < > # &`.'."\n" + ."\n" + .'* If **RuleActionType** is set to **Drop**, you do not need to specify this parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}]', + ], + 'ForwardGroupConfig' => [ + 'description' => 'The forwarding configurations.'."\n" + ."\n" + .'> We recommend that you use **RuleActionType** and **RuleActionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupTuples' => [ + 'description' => 'The configurations of an endpoint group.'."\n" + ."\n" + .'> We recommend that you use **RuleActionType** and **RuleActionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of an endpoint group.'."\n" + ."\n" + .'> We recommend that you use **RuleActionType** and **RuleActionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n" + ."\n" + .'> We recommend that you use **RuleActionType** and **RuleActionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1ieei9664r5nv****', + ], + ], + 'required' => true, + ], + 'required' => true, + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + 'minItems' => 1, + ], + 'ForwardingRuleName' => [ + 'description' => 'The name of the forwarding rule. The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'RuleDirection' => [ + 'description' => 'The direction in which the rule takes effect. You do not need to specify this parameter.'."\n" + ."\n" + .'By default, this parameter is set to **request**, which specifies that the rule takes effect on requests.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'request', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 200, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', + ], + 'ForwardingRules' => [ + 'description' => 'The forwarding rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The forwarding rules.'."\n", + 'type' => 'object', + 'properties' => [ + 'ForwardingRuleId' => [ + 'description' => 'The ID of the forwarding rule.'."\n", + 'type' => 'string', + 'example' => 'frule-bp1dii16gu9qdvb34****', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BusinessRegion', + 'errorMessage' => 'The business region does not exist.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndPoint', + 'errorMessage' => 'The maximum number of endpoints is exceeded.', + ], + [ + 'errorCode' => 'Exist.EndpointGroup', + 'errorMessage' => 'The endpoint group already exists.', + ], + [ + 'errorCode' => 'NoPermission.VpcEndpoint', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + [ + 'errorCode' => 'QuotaExceeded.ForwardingRule', + 'errorMessage' => 'The number of forwarding rule exceeds the limit.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System busy, please try again later.', + ], + [ + 'errorCode' => 'RepeatPathAndHost.ForwardingRule', + 'errorMessage' => 'The path and host %s are duplicated.', + ], + [ + 'errorCode' => 'QuotaExceeded.RuleConditionConfig', + 'errorMessage' => 'The number of paths and hosts exceeds the limit.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\",\\n \\"ForwardingRules\\": [\\n {\\n \\"ForwardingRuleId\\": \\"frule-bp1dii16gu9qdvb34****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<CreateForwardingRulesResponse>\\n <RequestId>64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF</RequestId>\\n <ForwardingRules>\\n <ForwardingRuleId>frule-bp1dii16gu9qdvb34****</ForwardingRuleId>\\n </ForwardingRules>\\n</CreateForwardingRulesResponse>","errorExample":""}]', + 'title' => 'CreateForwardingRules', + 'summary' => 'If you want to distribute and process traffic based on request attributes, such as domain names and paths, or information in requests, such as HTTP headers and cookies, you can create custom forwarding rules for a listener. The listener forwards requests based on the forwarding rules. You can call the CreateForwardingRules operation to create forwarding rules.', + 'description' => 'Before you call this operation to create forwarding rules, we recommend that you learn how forwarding rules work and how requests are matched against forwarding rules. For more information, see [Configure forwarding rules](~~204224~~).'."\n" + ."\n" + .'When you call this operation, take note of the following items:'."\n" + ."\n" + .'* **CreateForwardingRules** is an asynchronous operation. After you send a request, the system returns a forwarding rule ID and runs the task in the background. You can call the [ListForwardingRules](~~205817~~) operation to query the status of a forwarding rule.'."\n" + ."\n" + .' * If the forwarding rule is in the **configuring** state, the rule is being created. In this case, you can only perform query operations.'."\n" + .' * If the forwarding rule is in the **active** state, the rule is created.'."\n" + ."\n" + .'* The **CreateForwardingRules** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateForwardingRules' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8512', + 'abilityTreeNodes' => [ + 'FEATUREgaRQQP6R', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4q****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The listener ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1s0vzbi5bxlx5****', + ], + ], + [ + 'name' => 'ForwardingRules', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The configurations of the forwarding rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the forwarding rules.'."\n", + 'type' => 'object', + 'properties' => [ + 'Priority' => [ + 'description' => 'The priority of the forwarding rule. Valid values: **1** to **10000**. A smaller value specifies a higher priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '1000', + ], + 'RuleConditions' => [ + 'description' => 'The conditions that trigger the forwarding rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The conditions that trigger the forwarding rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'RuleConditionType' => [ + 'description' => 'The type of the forwarding condition. Valid values:'."\n" + ."\n" + .'* **Host**: Requests are forwarded based on domain names.'."\n" + .'* **Path**: Requests are forwarded based on paths.'."\n" + .'* **RequestHeader**: Requests are forwarded based on HTTP headers.'."\n" + .'* **Query**: Requests are forwarded based on query strings.'."\n" + .'* **Method**: Requests are forwarded based on HTTP request methods.'."\n" + .'* **Cookie**: Requests are forwarded based on cookies.'."\n" + .'* **SourceIp**: Requests are forwarded based on source IP addresses.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Host', + ], + 'RuleConditionValue' => [ + 'description' => 'The value of the forwarding condition. You must specify different JSON strings based on **RuleConditionType**.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Host**, RuleConditionValue specifies a domain name condition. A forwarding rule can contain only one forwarding condition of the host type. You can specify multiple domain names in a forwarding condition. The relationship between multiple domain names is OR. The domain name must be 3 to 128 characters in length, and can contain letters, digits, hyphens (-), and periods (.). You can use asterisks (\\*) and question marks (?) as wildcard characters. Example: `["www.example.com", "www.aliyun.com"]`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Path**, RuleConditionValue specifies a path condition. A forwarding rule can contain multiple forwarding conditions of the path type. The relationship between multiple path conditions is OR. You can specify multiple paths in a forwarding condition. The relationship between multiple paths is OR. The path must be 1 to 128 characters in length, and must start with a forward slash (/). The path can contain letters, digits, and the following special characters: $ - \\_ . + / & ~ @ : \'. Supported wildcard characters are asterisks (\\*) and question marks (?). Example: `["/a", "/b/"]`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **RequestHeader**, RuleConditionValue specifies an HTTP header condition. An HTTP header consists of a key and a value. The header values in a forwarding condition must be unique. Example: `[{"header1":["value1","value2"]}]`.'."\n" + ."\n" + .' * Key: The key of an HTTP header must be 1 to 40 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n" + .' * Value: The value of an HTTP header must be 1 to 128 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`. The value cannot start or end with a space.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Query**, RuleConditionValue specifies a query string condition. A query string consists of a key and a value. Example: `[{"query1":["value1"]}, {"query2":["value2"]}]`.'."\n" + ."\n" + .' * Key: The key must be 1 to 100 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`, excluding uppercase letters, spaces, and the following special characters: `[ ] { } < > \\ ; / ? : @ & = + , $ % " ^ ~`.'."\n" + .' * Value: The value must be 1 to 128 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`, excluding uppercase letters, spaces, and the following special characters: `[ ] { } < > \\ ; / ? : @ & = + , $ % " ^ ~`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Method**, RuleConditionValue specifies an HTTP method condition. Valid values: **HEAD**, **GET**, **POST**, **OPTIONS**, **PUT**, **PATCH**, and **DELETE**. Example: `["GET", "OPTIONS", "POST"]`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **Cookie**, RuleConditionValue specifies a cookie condition. A cookie consists of a key and a value. Example: `[{"cookie1":["value1"]}, {"cookie2":["value2"]}]`.'."\n" + ."\n" + .' * Key: The key of a cookie must be 1 to 100 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`, excluding uppercase letters, spaces, and the following special characters: `# [ ] { } \\ < > &`.'."\n" + .' * Value: The value of a cookie must be 1 to 128 characters in length and can contain printable characters whose ASCII values `are larger than or equal to 32 and smaller than 127`, excluding uppercase letters, spaces, and the following special characters: `# [ ] { } \\ < > &`.'."\n" + ."\n" + .'* If **RuleConditionType** is set to **SourceIP**, RuleConditionValue specifies a source IP address condition. IP addresses, such as 1.1.XX.XX/32, and CIDR blocks, such as 2.2.XX.XX/24, are supported. A forwarding rule can contain only one forwarding condition of the SourceIP type. You can specify multiple source IP addresses or CIDR blocks in a forwarding condition. The relationship between multiple IP addresses or CIDR blocks is OR. Example: `["1.1.XX.XX/32", "2.2.XX.XX/24"]`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["www.example.com", "www.aliyun.com"]', + ], + 'PathConfig' => [ + 'description' => 'The path configuration.'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'object', + 'properties' => [ + 'Values' => [ + 'description' => 'The path configuration.'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The path.'."\n" + ."\n" + .'The path must be 1 to 128 characters in length, and must start with a forward slash (/). The path can contain letters, digits, and the following special characters: $ - \\_ . + / & ~ @ : \'. Supported wildcard characters are asterisks (\\*) and question marks (?).'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/test', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'HostConfig' => [ + 'description' => 'The domain name configuration.'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'object', + 'properties' => [ + 'Values' => [ + 'description' => 'The domain name configuration.'."\n" + ."\n" + .'> We recommend that you use **RuleConditionType** and **RuleConditionValue** rather than this parameter to configure forwarding conditions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n" + ."\n" + .'The domain name must be 3 to 128 characters in length, and can contain letters, digits, hyphens (-), and periods (.). You can use asterisks (\\*) and question marks (?) as wildcard characters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + 'minItems' => 1, + ], + 'RuleActions' => [ + 'description' => 'The configurations of the forwarding actions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the forwarding actions.'."\n", + 'type' => 'object', + 'properties' => [ + 'Order' => [ + 'description' => 'The forwarding priority.'."\n" + ."\n" + .'> This parameter does not take effect. Ignore this parameter.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '20', + ], + 'RuleActionType' => [ + 'description' => 'The type of the forwarding action. Valid values:'."\n" + ."\n" + .'* **ForwardGroup**: forwards a request.'."\n" + .'* **Redirect**: redirects a request.'."\n" + .'* **FixResponse**: returns a fixed response.'."\n" + .'* **Rewrite**: rewrites a request.'."\n" + .'* **AddHeader**: adds a header to a request.'."\n" + .'* **RemoveHeaderConfig**: deletes the header of a request.'."\n" + .'* **Drop**: drops a request.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ForwardGroup', + 'default' => 'ForwardGroup', + 'enum' => [ + 'ForwardGroup', + 'Redirect', + 'FixResponse', + 'AddHeader', + 'RemoveHeader', + 'Rewrite', + 'Drop', + ], + ], + 'RuleActionValue' => [ + 'description' => 'The value of the forwarding action.'."\n" + ."\n" + .'You must specify different JSON strings based on **RuleActionType**.'."\n" + ."\n" + .'A forwarding rule can contain only one forwarding action whose type is **ForwardGroup**, **Redirect**, or **FixResponse**. You must specify a forwarding action whose type is **Rewrite**, **AddHeader**, or **RemoveHeader** before a forwarding action whose type is **ForwardGroup**.'."\n" + ."\n" + .'* If **RuleActionType** is set to **ForwardGroup**, this parameter specifies the information of a virtual endpoint group. You can forward requests to only one virtual endpoint group. Example: `{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}`.'."\n" + ."\n" + .' * `type`: Set this parameter to `endpointgroup`.'."\n" + .' * `value`: Set this parameter to the ID of a virtual endpoint group.'."\n" + ."\n" + .'* If **RuleActionType** is set to **Redirect**, this parameter specifies redirecting configurations. You cannot leave the following parameters empty or use the default values for the following parameters for a forwarding action whose type is **Redirect**: `protocol`, `domain`, `port`, `path`, and `query`. Example: `{"protocol":"HTTP", "domain":"www.example.com", "port":"80", "path":"/a","query":"value1", "code":"301" }`.'."\n" + ."\n" + .' * `protocol`: the protocol of requests after the requests are redirected. Valid values: `${protocol}` (default), `HTTP`, and `HTTPS`.'."\n" + .' * `domain`: the domain name to which requests are redirected. Default value: `${host}`. You can also enter a domain name. The domain name must be 3 to 128 characters in length, and can contain only letters, digits, and the following special characters: `. - ? = ~ _ - + / ^ * ! $ & | ( ) [ ]`.'."\n" + .' * `port`: the port to which requests are redirected. Default value: `${port}`. You can enter a port number from 1 to 63335.'."\n" + .' * `path`: the path to which requests are redirected. Default value: `${path}`. The path must be 1 to 128 characters in length. To use a regular expression, the path can contain letters, digits, and the following special characters: `. - _ / = ? ~ ^ * $ : ( ) [ ] + |`. The path must start with a tilde (~). If you do not want to use a regular expression, the path can contain letters, digits, and the following special characters: `. - _ / = ? :`. The path must start with a forward slash (/).'."\n" + .' * `query`: the query string of the requests that are redirected. Default value: `${query}`. You can also specify a query string. The query string must be 1 to 128 characters in length, and can contain printable characters whose ASCII values are `greater than or equal to 32 and smaller than 127`. The query string cannot contain uppercase letters, space characters, or the following special characters: `[ ] { } < > # | &`.'."\n" + .' * `code`: the redirect code. Valid values: `301`, `302`, `303`, `307`, and `308`.'."\n" + ."\n" + .'* If **RuleActionType** is set to **FixResponse**, this parameter specifies a fixed response. Example: `{"code":"200", "type":"text/plain", "content":"dssacav" }`.'."\n" + ."\n" + .' * `code`: the HTTP response status code. The response status code must be one of the following numeric strings: `2xx`, `4xx`, and `5xx`. The letter `x` indicates a number from 0 to 9.'."\n" + .' * `type`: the type of the response content. Valid values: **text/plain**, **text/css**, **text/html**, **application/javascript**, and **application/json**.'."\n" + .' * `content`: the response content. The response content cannot exceed 1,000 characters in length, and does not support Chinese characters.'."\n" + ."\n" + .'* If **RuleActionType** is set to **AddHeader**, this parameter specifies an HTTP header to be added. If a forwarding rule contains a forwarding action whose type is **AddHeader**, you must specify another forwarding action whose type is **ForwardGroup**. Example: `[{"name":"header1","type":"userdefined", "value":"value"}]`.'."\n" + ."\n" + .' * `name`: the name of the HTTP header. The name must be 1 to 40 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_). The name of the HTTP header specified by **AddHeader** must be unique and cannot be the same as the name of the HTTP header specified by **RemoveHeader**.'."\n" + .' * `type`: the content type of the HTTP header. Valid values: `user-defined`, `ref`, and `system-defined`.'."\n" + .' * `value`: the content of the HTTP header. You cannot leave this parameter empty. If you set `type` to `user-defined`, the content must be 1 to 128 characters in length, and can contain printable characters whose ASCII values are `greater than or equal to 32 and smaller than 127`. The content can contain letters, digits, hyphens (-), and underscores (\\_*). The content cannot start or end with a space character. If you set `type` to `ref`, the content must be 1 to 128 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_*). The content cannot start or end with a space character. If you set `type` to `system-defined`, only `ClientSrcIp` is supported.'."\n" + ."\n" + .'* If **RuleActionType** is set to **RemoveHeader**, this parameter specifies an HTTP header to be removed. If a forwarding rule contains a forwarding action whose type is **RemoveHeader**, you must specify another forwarding action whose type is **ForwardGroup**. The header must be 1 to 40 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_). Example: `["header1"]`.'."\n" + ."\n" + .'* If **RuleActionType** is set to **Rewrite**, this parameter specifies the rewriting configuration. If a forwarding rule contains a forwarding action whose type is **Rewrite**, you must specify another forwarding action whose type is **ForwardGroup**. Example: `{"domain":"value1", "path":"value2", "query":"value3"}`.'."\n" + ."\n" + .' * `domain`: the domain name to which requests are redirected. Default value: `${host}`. You can also enter a domain name. The domain name must be 3 to 128 characters in length, and can contain only lowercase letters, digits, and the following special characters: `. - ? = ~ _ - + / ^ * ! $ & | ( ) [ ]`.'."\n" + .' * `path`: the path to which requests are redirected. Default value: `${path}`. The path must be 1 to 128 characters in length. To use a regular expression, the path can contain letters, digits, and the following special characters: `. - _ / = ? ~ ^ * $ : ( ) [ ] + |`. The path must start with a tilde (~). If you do not want to use a regular expression, the path can contain letters, digits, and the following special characters: `. - _ / = ? :`. The path must start with a forward slash (/).'."\n" + .' * `query`: the query string of the requests that are redirected. Default value: `${query}`. You can also specify a query string. The query string must be 1 to 128 characters in length, and can contain printable characters whose ASCII values are `greater than or equal to 32 and smaller than 127`. The query string cannot contain uppercase letters, space characters, or the following special characters: `[ ] { } < > # | &`.'."\n" + ."\n" + .'* If **RuleActionType** is set to **Drop**, you do not need to specify this parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}]', + ], + 'ForwardGroupConfig' => [ + 'description' => 'The forwarding configuration.'."\n" + ."\n" + .'> We recommend that you use **RuleActionType** and **RuleActionValue** rather than this parameter to configure forwarding actions.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupTuples' => [ + 'description' => 'The configuration of an endpoint group.'."\n" + ."\n" + .'> We recommend that you use **RuleActionType** and **RuleActionValue** rather than this parameter to configure forwarding actions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of an endpoint group.'."\n" + ."\n" + .'> We recommend that you use **RuleActionType** and **RuleActionValue** rather than this parameter to configure forwarding actions.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group.'."\n" + ."\n" + .'> We recommend that you use **RuleActionType** and **RuleActionValue** rather than this parameter to configure forwarding actions.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1ieei9664r5nv****', + ], + ], + 'required' => true, + ], + 'required' => true, + ], + ], + 'required' => false, + ], + ], + 'required' => true, + ], + 'required' => true, + 'maxItems' => 100, + 'minItems' => 1, + ], + 'ForwardingRuleId' => [ + 'description' => 'The forwarding rule ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'frule-bp1dii16gu9qdvb34****', + ], + 'ForwardingRuleName' => [ + 'description' => 'The forwarding rule name.'."\n" + ."\n" + .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'RuleDirection' => [ + 'description' => 'The direction in which the rule takes effect. You do not need to specify this parameter.'."\n" + ."\n" + .'By default, this parameter is set to **request**, which specifies that the rule takes effect on requests.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'request', + ], + ], + 'required' => false, + ], + 'required' => true, + 'example' => 'test', + 'maxItems' => 100, + 'minItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'ForwardingRules' => [ + 'description' => 'Details about the forwarding rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ForwardingRuleId' => [ + 'description' => 'The forwarding rule ID.'."\n", + 'type' => 'string', + 'example' => 'frule-bp1dii16gu9qdvb34****', + ], + ], + ], + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndPoint', + 'errorMessage' => 'The maximum number of endpoints is exceeded.', + ], + [ + 'errorCode' => 'Exist.EndpointGroup', + 'errorMessage' => 'The endpoint group already exists.', + ], + [ + 'errorCode' => 'NoPermission.VpcEndpoint', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System busy, please try again later.', + ], + [ + 'errorCode' => 'RepeatPathAndHost.ForwardingRule', + 'errorMessage' => 'The path and host %s are duplicated.', + ], + [ + 'errorCode' => 'QuotaExceeded.RuleConditionConfig', + 'errorMessage' => 'The number of paths and hosts exceeds the limit.', + ], + [ + 'errorCode' => 'NotExist.BusinessRegion', + 'errorMessage' => 'The business region does not exist.', + ], + [ + 'errorCode' => 'NotExist.ForwardingRule', + 'errorMessage' => 'The forwarding rule %s does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ForwardingRules\\": [\\n {\\n \\"ForwardingRuleId\\": \\"frule-bp1dii16gu9qdvb34****\\"\\n }\\n ],\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateForwardingRulesResponse>\\n <ForwardingRules>\\n <ForwardingRuleId>frule-bp1dii16gu9qdvb34****</ForwardingRuleId>\\n </ForwardingRules>\\n <RequestId>64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF</RequestId>\\n</UpdateForwardingRulesResponse>","errorExample":""}]', + 'title' => 'UpdateForwardingRules', + 'summary' => 'Updates a forwarding rule.', + 'description' => '* **UpdateForwardingRules** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [ListForwardingRules](~~205817~~) operation to query the status of a forwarding rule.'."\n" + ."\n" + .' * If the forwarding rule is in the **configuring** state, it indicates that the forwarding rule is being modified. In this case, you can perform only query operations.'."\n" + .' * If the forwarding rule is in the **active** state, it indicates that the forwarding rule is modified.'."\n" + ."\n" + .'* The **UpdateForwardingRules** operation holds an exclusive lock on the Global Accelerator (GA) instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListForwardingRules' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8514', + 'abilityTreeNodes' => [ + 'FEATUREgaRQQP6R', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1s0vzbi5bxlx5pw****', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qzk****', + ], + ], + [ + 'name' => 'ForwardingRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the forwarding rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'frule-bp19a3t3yzr21q3****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The token that is used for the next query. Valid values:'."\n" + ."\n" + .'* If this is your first query or no subsequent query is to be sent, ignore this parameter.'."\n" + .'* If a next query is to be sent, set the value to the value of **NextToken** that is returned from the last call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'CFC67ED9-4AB1-431F-B6E3-A752B7B8CCD4', + ], + 'TotalCount' => [ + 'description' => 'The number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => 'The token that is used for the next query. Valid values:'."\n" + ."\n" + .'* If **NextToken** is not returned, it indicates that no additional results exist.'."\n" + .'* If **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'ForwardingRules' => [ + 'description' => 'The forwarding rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The forwarding rules.'."\n", + 'type' => 'object', + 'properties' => [ + 'Priority' => [ + 'description' => 'The priority of the forwarding rule.'."\n" + ."\n" + .'A value between **1** and **10000** is returned. A smaller value indicates a higher priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1000', + ], + 'ForwardingRuleId' => [ + 'description' => 'The forwarding rule ID.'."\n", + 'type' => 'string', + 'example' => 'frule-bp19a3t3yzr21q3****', + ], + 'ForwardingRuleName' => [ + 'description' => 'The forwarding rule name.'."\n", + 'type' => 'string', + 'example' => 'auto_named_rule', + ], + 'ForwardingRuleDirection' => [ + 'description' => 'The direction in which the forwarding rule takes effect.'."\n" + ."\n" + .'By default, **request** is returned, which indicates that the forwarding rule takes effect on requests.'."\n", + 'type' => 'string', + 'example' => 'request', + ], + 'ForwardingRuleStatus' => [ + 'description' => 'The state of the forwarding rule. Valid values:'."\n" + ."\n" + .'* **active:** The forwarding rule is normal.'."\n" + .'* **configuring:** The forwarding rule is being modified.'."\n" + .'* **deleting:** The forwarding rule is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'RuleConditions' => [ + 'description' => 'The conditions that trigger the forwarding rule.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The forwarding conditions.', + 'type' => 'object', + 'properties' => [ + 'RuleConditionType' => [ + 'description' => 'The type of the forwarding condition. Valid values:'."\n" + ."\n" + .'* **Host:** domain name.'."\n" + .'* **Path:** path.'."\n" + .'* **RequestHeader:** HTTP header.'."\n" + .'* **Query:** query string.'."\n" + .'* **Method:** HTTP method.'."\n" + .'* **Cookie:** cookie.'."\n" + .'* **SourceIP:** source IP address.'."\n", + 'type' => 'string', + 'example' => 'Host', + ], + 'RuleConditionValue' => [ + 'description' => 'The value of the forwarding condition type.'."\n" + ."\n" + .'Different JSON strings are returned based on the value of the **RuleConditionType** parameter.'."\n" + ."\n" + .'* If you set **RuleConditionType** to **Host**, a domain name condition is returned. If multiple domain names are returned in a forwarding condition, the relationship between the domain names is OR.'."\n" + .'* If you set **RuleConditionType** to **Path**, a path condition is returned. If multiple forwarding conditions of the path type are returned in a forwarding rule, the relationship between the forwarding conditions is OR. If multiple paths are returned in a forwarding condition, the relationship between the paths is OR.'."\n" + .'* If you set **RuleConditionType** to **RequestHeader**, an HTTP header condition that consists of key-value pairs is returned.'."\n" + .'* If you set **RuleConditionType** to **Query**, a query string condition that consists of key-value pairs is returned.'."\n" + .'* If you set **RuleConditionType** to **Method**, an HTTP method condition is returned.'."\n" + .'* If you set **RuleConditionType** to **Cookie**, a cookie condition that consists of key-value pairs is returned.'."\n" + .'* If you set **RuleConditionType** to **SourceIP**, a source IP address condition is returned. If multiple source IP addresses are returned in a forwarding condition, the relationship between the source IP addresses is OR.'."\n", + 'type' => 'string', + 'example' => '["www.example.com", "www.aliyun.com"]', + ], + 'PathConfig' => [ + 'description' => 'The path configuration.'."\n" + ."\n" + .'> GA instances created after July 12, 2022 support all forwarding condition types and action types. We recommend that you query forwarding conditions and actions by calling the **RuleActionType** and **RuleActionValue** operations.'."\n", + 'type' => 'object', + 'properties' => [ + 'Values' => [ + 'description' => 'The path configuration.'."\n" + ."\n" + .'> GA instances created after July 12, 2022 support all forwarding condition types and action types. We recommend that you query forwarding conditions and actions by calling the **RuleActionType** and **RuleActionValue** operations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The path.'."\n" + ."\n" + .'The path must be 1 to 128 characters in length and must start with a forward slash (/). The path can contain only letters, digits, and the following special characters: $ - \\_ . + / & ~ @ : \'. Supported wildcard characters are asterisks (\\*) and question marks (?).'."\n" + ."\n" + .'> GA instances created after July 12, 2022 support all forwarding condition types and action types. We recommend that you query forwarding conditions and actions by calling the **RuleActionType** and **RuleActionValue** operations.'."\n", + 'type' => 'string', + 'example' => '/test', + ], + ], + ], + ], + 'HostConfig' => [ + 'description' => 'The domain name configuration.'."\n" + ."\n" + .'> GA instances created after July 12, 2022 support all forwarding condition types and action types. We recommend that you query forwarding conditions and actions by calling the **RuleActionType** and **RuleActionValue** operations.'."\n", + 'type' => 'object', + 'properties' => [ + 'Values' => [ + 'description' => 'The domain name configuration.'."\n" + ."\n" + .'> GA instances created after July 12, 2022 support all forwarding condition types and action types. We recommend that you query forwarding conditions and actions by calling the **RuleActionType** and **RuleActionValue** operations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n" + ."\n" + .'The domain name must be 3 to 128 characters in length, and can contain letters, digits, hyphens (-), and periods (.). Supported wildcard characters are asterisks (\\*) and question marks (?).'."\n" + ."\n" + .'> GA instances created after July 12, 2022 support all forwarding condition types and action types. We recommend that you query forwarding conditions and actions by calling the **RuleActionType** and **RuleActionValue** operations.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + ], + ], + ], + ], + ], + ], + ], + 'RuleActions' => [ + 'description' => 'The forwarding actions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The forwarding actions.'."\n", + 'type' => 'object', + 'properties' => [ + 'Order' => [ + 'description' => 'The forwarding priority.'."\n" + ."\n" + .'> This parameter does not take effect.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RuleActionType' => [ + 'description' => 'The type of the forwarding action. Valid values:'."\n" + ."\n" + .'* **ForwardGroup**: forwards a request.'."\n" + .'* **Redirect**: redirects a request.'."\n" + .'* **FixResponse**: returns a fixed response.'."\n" + .'* **Rewrite**: rewrites a request.'."\n" + .'* **AddHeader**: adds a header to a request.'."\n" + .'* **RemoveHeaderConfig**: deletes the header from a request.'."\n" + .'* **Drop**: drops a request.'."\n", + 'type' => 'string', + 'example' => 'ForwardGroup', + ], + 'RuleActionValue' => [ + 'description' => 'The value of the forwarding action.'."\n" + ."\n" + .'Different JSON strings are returned based on the value of **RuleActionType**.'."\n" + ."\n" + .'* If you set **RuleActionType** to **ForwardGroup**, the information about a virtual endpoint group is returned. The following section describes the parameters:'."\n" + ."\n" + .' * `type`: `endpointgroup` is returned.'."\n" + .' * `value`: the ID of the virtual endpoint group.'."\n" + ."\n" + .'* If you set **RuleActionType** to **Redirect**, the redirecting configuration is returned. The following section describes the parameters:'."\n" + ."\n" + .' * `protocol`: the protocol of requests after the requests are redirected.'."\n" + .' * `domain`: the domain name to which requests are redirected.'."\n" + .' * `port`: the port to which requests are redirected.'."\n" + .' * `path`: the path to which requests are redirected.'."\n" + .' * `query`: the query string of the requests that are redirected.'."\n" + .' * `code`: the redirecting code.'."\n" + ."\n" + .'* If you set **RuleActionType** to **FixResponse**, the information about the fixed response that you configured is returned. The following section describes the parameters:'."\n" + ."\n" + .' * `code`: the HTTP status code.'."\n" + .' * `type`: the content type of the response.'."\n" + .' * `content`: the content of the response.'."\n" + ."\n" + .'* If **RuleActionType** is set to **AddHeader**, the information about the HTTP header that is added is returned. The following section describes the parameters:'."\n" + ."\n" + .' * `name`: the name of the HTTP header.'."\n" + .' * `type`: the content type of the HTTP header.'."\n" + .' * `value`: the content of the HTTP header.'."\n" + ."\n" + .'* If you set **RuleActionType** to **RemoveHeader**, the information about the HTTP header that is deleted is returned.'."\n" + ."\n" + .'* If you set **RuleActionType** to **Rewrite**, the rewriting configuration is returned. The following section describes the parameters:'."\n" + ."\n" + .' * `domain`: the domain name to which requests are redirected.'."\n" + .' * `path`: the path to which requests are redirected.'."\n" + .' * `query`: the query string of the requests that are redirected.'."\n" + ."\n" + .'* If you set **RuleActionType** to **Drop**, an empty string is returned.'."\n", + 'type' => 'string', + 'example' => '[{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}]', + ], + 'ForwardGroupConfig' => [ + 'description' => 'The forwarding action configuration.'."\n" + ."\n" + .'> GA instances created after July 12, 2022 support all forwarding condition types and action types. We recommend that you query forwarding conditions and actions by calling the **RuleActionType** and **RuleActionValue** operations.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServerGroupTuples' => [ + 'description' => 'The information about the endpoint groups.'."\n" + ."\n" + .'> GA instances created after July 12, 2022 support all forwarding condition types and action types. We recommend that you query forwarding conditions and actions by calling the **RuleActionType** and **RuleActionValue** operations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the endpoint group.'."\n" + ."\n" + .'> For GA instances created after July 12, 2022, all forwarding condition types and forwarding action types are supported. We recommend that you call **RuleActionType** and **RuleActionValue** to query forwarding actions.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupId' => [ + 'description' => 'The endpoint group ID.'."\n" + ."\n" + .'> GA instances created after July 12, 2022 support all forwarding condition types and action types. We recommend that you query forwarding conditions and actions by calling the **RuleActionType** and **RuleActionValue** operations.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1enpdcrqhl78g6r****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'ListenerId' => [ + 'description' => 'The listener ID.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1s0vzbi5bxlx5****', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the instance.'."\n" + ."\n" + .'> This parameter is returned only if the value of **ServiceManaged** is **true**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* **true**: The GA instance is managed.'."\n" + .'* **false**: The GA instance is not managed.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that you can perform on the managed instance.'."\n" + ."\n" + .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n" + ."\n" + .'* You can perform only specific actions on the managed instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The actions that you can perform on the managed instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action that you can perform on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**: Create an instance.'."\n" + .'* **Update**: Update the current instance.'."\n" + .'* **Delete**: Delete the current instance.'."\n" + .'* **Associate**: Reference the current instance.'."\n" + .'* **UserUnmanaged**: Unmanage the instance.'."\n" + .'* **CreateChild**: Create a child resource on the current instance.'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener.'."\n" + .'* **IpSet**: acceleration region.'."\n" + .'* **EndpointGroup**: endpoint group.'."\n" + .'* **ForwardingRule**: forwarding rule.'."\n" + .'* **Endpoint**: endpoint.'."\n" + .'* **EndpointGroupDestination**: the protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: the traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter is returned only if the value of **Action** is **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed. Valid values:'."\n" + ."\n" + .'* **true**: The specified actions are managed, and users cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and users can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BusinessRegion', + 'errorMessage' => 'The business region does not exist.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndPoint', + 'errorMessage' => 'The maximum number of endpoints is exceeded.', + ], + [ + 'errorCode' => 'Exist.EndpointGroup', + 'errorMessage' => 'The endpoint group already exists.', + ], + [ + 'errorCode' => 'NoPermission.VpcEndpoint', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CFC67ED9-4AB1-431F-B6E3-A752B7B8CCD4\\",\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20,\\n \\"ForwardingRules\\": [\\n {\\n \\"Priority\\": 1000,\\n \\"ForwardingRuleId\\": \\"frule-bp19a3t3yzr21q3****\\",\\n \\"ForwardingRuleName\\": \\"auto_named_rule\\",\\n \\"ForwardingRuleDirection\\": \\"request\\",\\n \\"ForwardingRuleStatus\\": \\"active\\",\\n \\"RuleConditions\\": [\\n {\\n \\"RuleConditionType\\": \\"Host\\",\\n \\"RuleConditionValue\\": \\"[\\\\\\"www.example.com\\\\\\", \\\\\\"www.aliyun.com\\\\\\"]\\",\\n \\"PathConfig\\": {\\n \\"Values\\": [\\n \\"/test\\"\\n ]\\n },\\n \\"HostConfig\\": {\\n \\"Values\\": [\\n \\"www.example.com\\"\\n ]\\n }\\n }\\n ],\\n \\"RuleActions\\": [\\n {\\n \\"Order\\": 1,\\n \\"RuleActionType\\": \\"ForwardGroup\\",\\n \\"RuleActionValue\\": \\"[{\\\\\\"type\\\\\\":\\\\\\"endpointgroup\\\\\\", \\\\\\"value\\\\\\":\\\\\\"epg-bp1enpdcrqhl78g6r****\\\\\\"}]\\",\\n \\"ForwardGroupConfig\\": {\\n \\"ServerGroupTuples\\": [\\n {\\n \\"EndpointGroupId\\": \\"epg-bp1enpdcrqhl78g6r****\\"\\n }\\n ]\\n }\\n }\\n ],\\n \\"ListenerId\\": \\"lsr-bp1s0vzbi5bxlx5****\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListForwardingRulesResponse>\\n <RequestId>CFC67ED9-4AB1-431F-B6E3-A752B7B8CCD4</RequestId>\\n <TotalCount>1</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>20</MaxResults>\\n <ForwardingRules>\\n <Priority>1000</Priority>\\n <ForwardingRuleId>frule-bp19a3t3yzr21q3****</ForwardingRuleId>\\n <ForwardingRuleName>auto_named_rule</ForwardingRuleName>\\n <ForwardingRuleDirection>request</ForwardingRuleDirection>\\n <ForwardingRuleStatus>active</ForwardingRuleStatus>\\n <RuleConditions>\\n <RuleConditionType>Host</RuleConditionType>\\n <RuleConditionValue>[\\"www.example.com\\", \\"www.aliyun.com\\"]</RuleConditionValue>\\n <PathConfig>\\n <Values>/test</Values>\\n </PathConfig>\\n <HostConfig>\\n <Values>www.example.com</Values>\\n </HostConfig>\\n </RuleConditions>\\n <RuleActions>\\n <Order>1</Order>\\n <RuleActionType>ForwardGroup</RuleActionType>\\n <RuleActionValue>[{\\"type\\":\\"endpointgroup\\", \\"value\\":\\"epg-bp1enpdcrqhl78g6r****\\"}]</RuleActionValue>\\n <ForwardGroupConfig>\\n <ServerGroupTuples>\\n <EndpointGroupId>epg-bp1enpdcrqhl78g6r****</EndpointGroupId>\\n </ServerGroupTuples>\\n </ForwardGroupConfig>\\n </RuleActions>\\n <ListenerId>lsr-bp1s0vzbi5bxlx5****</ListenerId>\\n </ForwardingRules>\\n</ListForwardingRulesResponse>","errorExample":""}]', + 'title' => 'ListForwardingRules', + 'summary' => 'Queries forwarding rules.', + 'description' => '> This operation is used to query only custom forwarding rules, not the default forwarding rule.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteForwardingRules' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '8513', + 'abilityTreeNodes' => [ + 'FEATUREgaRQQP6R', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'ForwardingRuleIds', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The forwarding rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The forwarding rule ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'frule-bp19a3t3yzr21q3****', + ], + 'required' => true, + 'example' => 'frule-bp19a3t3yzr21q3****', + 'maxItems' => 100, + 'minItems' => 1, + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The GA instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4q****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The listener ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1s0vzbi5bxlx5****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'ForwardingRules' => [ + 'description' => 'The forwarding rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The forwarding rule ID.'."\n", + 'type' => 'object', + 'properties' => [ + 'ForwardingRuleId' => [ + 'description' => 'The forwarding rule ID.'."\n", + 'type' => 'string', + 'example' => 'frule-bp19a3t3yzr21q3****', + ], + ], + ], + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CFC67ED9-4AB1-431F-B6E3-A752B7B8CCD4', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'The state of the listener is not active.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BusinessRegion', + 'errorMessage' => 'The business region does not exist.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndPoint', + 'errorMessage' => 'The maximum number of endpoints is exceeded.', + ], + [ + 'errorCode' => 'Exist.EndpointGroup', + 'errorMessage' => 'The endpoint group already exists.', + ], + [ + 'errorCode' => 'NoPermission.VpcEndpoint', + 'errorMessage' => 'You are not authorized to perform the operation.', + ], + [ + 'errorCode' => 'NotExist.ForwardingRule', + 'errorMessage' => 'forwarding rule %s is not exist', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ForwardingRules\\": [\\n {\\n \\"ForwardingRuleId\\": \\"frule-bp19a3t3yzr21q3****\\"\\n }\\n ],\\n \\"RequestId\\": \\"CFC67ED9-4AB1-431F-B6E3-A752B7B8CCD4\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteForwardingRulesResponse>\\n <ForwardingRules>\\n <ForwardingRuleId>frule-bp19a3t3yzr21q3****</ForwardingRuleId>\\n </ForwardingRules>\\n <RequestId>CFC67ED9-4AB1-431F-B6E3-A752B7B8CCD4</RequestId>\\n</DeleteForwardingRulesResponse>","errorExample":""}]', + 'title' => 'DeleteForwardingRules', + 'summary' => 'Deletes forwarding rules.', + 'description' => '* **DeleteForwardingRules** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [ListForwardingRules](~~205817~~) operation to query the status of the task.'."\n" + ."\n" + .' * If a forwarding rule is in the **deleting** state, the forwarding rule is being deleted. In this case, you can perform only query operations.'."\n" + .' * If a forwarding rule cannot be queried, the forwarding rule is deleted.'."\n" + ."\n" + .'* The **DeleteForwardingRules** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateAcl' => [ + 'summary' => 'Creates an access control list (ACL).', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '21653', + 'abilityTreeNodes' => [ + 'FEATUREgaUP4965', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ACL name.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test-acl', + ], + ], + [ + 'name' => 'AddressIPVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IP version of the ACL. Valid values:'."\n" + ."\n" + .'* **IPv4**'."\n" + .'* **IPv6**'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'IPv4', + 'enum' => [ + 'IPv4', + 'IPv6', + ], + ], + ], + [ + 'name' => 'AclEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The entries of IP addresses or CIDR blocks to add to the ACL.'."\n" + ."\n" + .'You can add a maximum of 50 entries at a time.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ACL entries.'."\n", + 'type' => 'object', + 'properties' => [ + 'Entry' => [ + 'description' => 'The IP addresses (192.168.XX.XX) or CIDR blocks (10.0.XX.XX/24) that you want to add to the ACL.'."\n" + ."\n" + .'You can add a maximum of 50 entries at a time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX/24', + ], + 'EntryDescription' => [ + 'description' => 'The description of the entry that you want to add to the ACL.'."\n" + ."\n" + .'You can add a maximum of 50 entries at a time.'."\n" + ."\n" + .'The description must be 1 to 256 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test-entry', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to only precheck the request. Default value: false. Valid values:'."\n" + ."\n" + .'* **true**: prechecks the request without performing the operation. The system checks the required parameters, request syntax, and limits. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" + .'* **false**: sends the request. If the request passes the precheck, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmwj7wvng3jbi', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags of the ACL.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the ACL.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the ACL. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.', + 'type' => 'string', + 'required' => false, + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The tag value of the ACL. The tag value cannot be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag values.', + 'type' => 'string', + 'required' => false, + 'example' => 'tag-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'AclId' => [ + 'description' => 'The ID of the ACL.'."\n", + 'type' => 'string', + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IsExist.AclEntriesIsExist', + 'errorMessage' => 'acl entries %s is exist', + ], + [ + 'errorCode' => 'QuotaExceeded.AclEntries', + 'errorMessage' => 'The number of acl entries exceeds the limit', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateAclResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <AclId>nacl-hp34s2h0xx1ht4nwo****</AclId>\\n</CreateAclResponse>","errorExample":""}]', + 'title' => 'CreateAcl', + 'description' => '**CreateAcl** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [GetAcl](~~258292~~) or [ListAcls](~~258291~~) operation to query the state of an ACL.'."\n" + ."\n" + .'* If the ACL is in the **init** state, the ACL is being created. In this case, you can only perform only query operations.'."\n" + .'* If the ACL is in the **active** state, the ACL is created.', + ], + 'UpdateAclAttribute' => [ + 'summary' => 'Modifies the attributes of an access control list (ACL) of a Global Accelerator (GA) instance.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '21726', + 'abilityTreeNodes' => [ + 'FEATUREga7ASVBS', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ACL ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + [ + 'name' => 'AclName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ACL name.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'test-acl', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true:** performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false**(default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', + ], + 'AclId' => [ + 'description' => 'The ACL ID.'."\n", + 'type' => 'string', + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'NotExist.Acl', + 'errorMessage' => 'acl is not exist', + ], + [ + 'errorCode' => 'StateError.Acl', + 'errorMessage' => 'acl state is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\",\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateAclAttributeResponse>\\n <RequestId>64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF</RequestId>\\n <AclId>nacl-hp34s2h0xx1ht4nwo****</AclId>\\n</UpdateAclAttributeResponse>","errorExample":""}]', + 'title' => 'UpdateAclAttribute', + ], + 'AddEntriesToAcl' => [ + 'summary' => 'Adds IP addresses or CIDR blocks to an access control list (ACL). You can add IP addresses or CIDR blocks to an ACL and configure a whitelist or blacklist to allow or deny requests from clients.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '22289', + 'abilityTreeNodes' => [ + 'FEATUREga7ASVBS', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ACL ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + [ + 'name' => 'AclEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The entries (IP addresses or CIDR blocks) that you want to add to the ACL.'."\n" + ."\n" + .'You can add at most 50 entries at a time.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The entries (IP addresses or CIDR blocks) that you want to add to the ACL. You can add at most 50 entries at a time.'."\n", + 'type' => 'object', + 'properties' => [ + 'Entry' => [ + 'description' => 'The entry (IP address or CIDR block) that you want to add. You can add at most 50 entries at a time.'."\n" + ."\n" + .'> This parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX/24', + ], + 'EntryDescription' => [ + 'description' => 'The description of the entry that you want to add to the ACL.'."\n" + ."\n" + .'You can add at most 50 descriptions in each request.'."\n" + ."\n" + .'The description must be 1 to 256 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test-entry', + ], + ], + 'required' => false, + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 50, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false**(default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + ], + 'AclId' => [ + 'description' => 'The ACL ID.'."\n", + 'type' => 'string', + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Acl', + 'errorMessage' => 'acl %s is not exist', + ], + [ + 'errorCode' => 'StateError.Acl', + 'errorMessage' => 'acl state %s is illegal', + ], + [ + 'errorCode' => 'IsExist.AclEntriesIsExist', + 'errorMessage' => 'acl entries %s is exist', + ], + [ + 'errorCode' => 'QuotaExceeded.AclEntries', + 'errorMessage' => 'The number of acl entries exceeds the limit', + ], + [ + 'errorCode' => 'Repeat.AclEntries', + 'errorMessage' => 'acl entries repeat', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddEntriesToAclResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <AclId>nacl-hp34s2h0xx1ht4nwo****</AclId>\\n</AddEntriesToAclResponse>","errorExample":""}]', + 'title' => 'AddEntriesToAcl', + 'description' => '* **AddEntriesToAcl** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [GetAcl](~~258292~~) or [ListAcls](~~258291~~) operation to query the status of the ACL to which you want to add IP entries.'."\n" + ."\n" + .' * If the ACL is in the **configuring** state, it indicates that IP entries are added to the ACL. In this case, you can perform only query operations.'."\n" + .' * If the ACL is in the **active** state, it indicates that IP entries are added to the ACL.'."\n" + ."\n" + .'* The **AddEntriesToAcl** operation holds an exclusive lock on the Global Accelerator (GA) instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + ], + 'RemoveEntriesFromAcl' => [ + 'summary' => 'Deletes IP entries from an access control list (ACL).', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '22290', + 'abilityTreeNodes' => [ + 'FEATUREga7ASVBS', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ACL ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + [ + 'name' => 'AclEntries', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The entries that you want to delete. You can delete up to 50 entries at a time.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The entries that you want to delete. You can delete up to 50 entries at a time.'."\n", + 'type' => 'object', + 'properties' => [ + 'Entry' => [ + 'description' => 'The entry (IP address or CIDR block) that you want to delete. You can delete up to 50 entries at a time.'."\n" + ."\n" + .'> This parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.0.XX.XX/24', + ], + ], + 'required' => false, + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 50, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '593B0448-D13E-4C56-AC0D-FDF0FDE0E9A3', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false**(default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', + ], + 'AclId' => [ + 'description' => 'The ACL ID.'."\n", + 'type' => 'string', + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Acl', + 'errorMessage' => 'acl %s is not exist', + ], + [ + 'errorCode' => 'StateError.Acl', + 'errorMessage' => 'acl state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.AclEntries', + 'errorMessage' => 'acl entries is not exist', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\",\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveEntriesFromAclResponse>\\n <RequestId>64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF</RequestId>\\n <AclId>nacl-hp34s2h0xx1ht4nwo****</AclId>\\n</RemoveEntriesFromAclResponse>","errorExample":""}]', + 'title' => 'RemoveEntriesFromAcl', + 'description' => '* **RemoveEntriesFromAcl** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [GetAcl](~~258292~~) or [ListAcls](~~258291~~) operation to query the status of the ACL from which you want to delete IP entries.'."\n" + ."\n" + .' * If the ACL is in the **configuring** state, it indicates that the IP entries are being deleted. In this case, you can perform only query operations.'."\n" + .' * If the ACL is in the **active** state, it indicates that the IP entries are deleted.'."\n" + ."\n" + .'* The **RemoveEntriesFromAcl** operation holds an exclusive lock on the Global Accelerator (GA) instance. While the operation is in progress, you cannot call the same operation in the same Alibaba Cloud account.'."\n", + ], + 'ListAcls' => [ + 'summary' => 'Queries a list of access control lists (ACLs).', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '21718', + 'abilityTreeNodes' => [ + 'FEATUREgaUP4965', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AclIds', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The ACL IDs. You can specify a maximum of 20 ACL IDs in each request.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ACL ID. You can specify a maximum of 20 ACL IDs in each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'AclName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ACL name. You can specify a maximum of ACL names in each request.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test-acl', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The token that is used for the next query. Valid values:'."\n" + ."\n" + .'* If this is your first and only query, ignore this parameter.'."\n" + .'* If a subsequent query is to be performed, set the parameter to the value of NextToken that is returned from the last call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: **1** to **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek2lgw4evw****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '标签列表,最多包含20个子项', + 'description' => 'The tag of the ACL.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the resource.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '标签键', + 'description' => 'The tag key of the ACL. The value of this parameter cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify a maximum of 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-key', + ], + 'Value' => [ + 'title' => '标签值', + 'description' => 'The tag value of the ACL. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify a maximum of 20 tag values.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => 'The token that is used for the next query. Valid values:'."\n" + ."\n" + .'* If **NextToken** is not returned, it indicates that no additional results exist.'."\n" + .'* If **NextToken** is returned, the value is the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'FFmyTO70t****', + ], + 'MaxResults' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'Acls' => [ + 'description' => 'The network ACLs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The network ACLs.'."\n", + 'type' => 'object', + 'properties' => [ + 'AclId' => [ + 'description' => 'The ID of the network ACL.'."\n", + 'type' => 'string', + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + 'AclName' => [ + 'description' => 'The name of the network ACL.'."\n", + 'type' => 'string', + 'example' => 'test-acl', + ], + 'AddressIPVersion' => [ + 'description' => 'The IP version of the network ACL. Valid values:'."\n" + ."\n" + .'* **IPv4**'."\n" + .'* **IPv6**'."\n", + 'type' => 'string', + 'example' => 'IPv4', + ], + 'AclStatus' => [ + 'description' => 'The status of the network ACL. Valid values:'."\n" + ."\n" + .'* **init**: The network ACL is being initialized.'."\n" + .'* **active**: The network ACL is available.'."\n" + .'* **configuring**: The network ACL is being configured.'."\n" + .'* **updating**: The network ACL is being updated.'."\n" + .'* **deleting:** The network ACL is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-aek2lgw4evw****', + ], + 'Tags' => [ + 'description' => 'The tags of the network ACL.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the network ACL'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the network ACL.'."\n", + 'type' => 'string', + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The tag value of the network ACL.'."\n", + 'type' => 'string', + 'example' => 'tag-value', + ], + ], + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\",\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"FFmyTO70t****\\",\\n \\"MaxResults\\": 10,\\n \\"Acls\\": [\\n {\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\",\\n \\"AclName\\": \\"test-acl\\",\\n \\"AddressIPVersion\\": \\"IPv4\\",\\n \\"AclStatus\\": \\"active\\",\\n \\"ResourceGroupId\\": \\"rg-aek2lgw4evw****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tag-key\\",\\n \\"Value\\": \\"tag-value\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAclsResponse>\\n <RequestId>64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF</RequestId>\\n <TotalCount>1</TotalCount>\\n <NextToken>FFmyTO70t****</NextToken>\\n <MaxResults>10</MaxResults>\\n <Acls>\\n <AclId>nacl-hp34s2h0xx1ht4nwo****</AclId>\\n <AclName>test-acl</AclName>\\n <AddressIPVersion>IPv4</AddressIPVersion>\\n <AclStatus>active</AclStatus>\\n <ResourceGroupId>rg-aek2lgw4evw****</ResourceGroupId>\\n <Tags>\\n <Key>tag-key</Key>\\n <Value>tag-value</Value>\\n </Tags>\\n </Acls>\\n</ListAclsResponse>","errorExample":""}]', + 'title' => 'ListAcls', + ], + 'GetAcl' => [ + 'summary' => 'Queries an access control list (ACL).', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '21724', + 'abilityTreeNodes' => [ + 'FEATUREgaUP4965', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The operation that you want to perform. Set the value to **GetAcl**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the network ACL.'."\n", + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'AclId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + 'AddressIPVersion' => [ + 'description' => 'The ID of the network ACL.'."\n", + 'type' => 'string', + 'example' => 'IPv4', + ], + 'AclStatus' => [ + 'description' => 'The IP version of the network ACL. Valid values:'."\n" + ."\n" + .'* **IPv4**'."\n" + .'* **IPv6**'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'AclEntries' => [ + 'description' => 'The entries of the ACL.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of network ACL entries that are returned. A maximum of 20 network ACL entries can be returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'Entry' => [ + 'description' => 'An IP address entry (192.168.XX.XX) or a CIDR block entry (10.0.XX.XX/24).'."\n", + 'type' => 'string', + 'example' => '10.0.XX.XX/24', + ], + 'EntryDescription' => [ + 'description' => 'The description of the ACL entry.'."\n", + 'type' => 'string', + 'example' => 'test-entry', + ], + ], + ], + ], + 'RelatedListeners' => [ + 'description' => 'The listeners that are associated with the ACL.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The listeners that are associated with the network ACL.'."\n", + 'type' => 'object', + 'properties' => [ + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'AclType' => [ + 'description' => 'The type of the ACL. Valid values:'."\n" + ."\n" + .'* **white**: Only requests from the IP addresses or CIDR blocks in the ACL are forwarded. Whitelists are suitable for scenarios in which you want to allow access from specific IP addresses to an application. If a whitelist is improperly configured, risks may arise. After a whitelist is configured for a listener, only requests from the IP addresses that are added to the whitelist are distributed by the listener. If a whitelist is enabled but no IP address is added to the whitelist, the listener forwards all requests.'."\n" + .'* **black**: All requests from the IP addresses or CIDR blocks in the ACL are rejected. Blacklists are suitable for scenarios in which you want to deny access from specific IP addresses to an application. If a blacklist is enabled but no IP address is added to the blacklist, the listener forwards all requests.'."\n", + 'type' => 'string', + 'example' => 'White', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + ], + 'AclName' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'test-acl', + ], + 'ResourceGroupId' => [ + 'description' => 'The name of the network ACL.'."\n", + 'type' => 'string', + 'example' => 'rg-acfmx7itmygzsza', + ], + 'Tags' => [ + 'description' => 'The tag of the ACL.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of tag N that is add to the ACL.'."\n", + 'type' => 'string', + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The value of tag N that is add to the ACL.'."\n", + 'type' => 'string', + 'example' => 'tag-value', + ], + ], + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\",\\n \\"AddressIPVersion\\": \\"IPv4\\",\\n \\"AclStatus\\": \\"active\\",\\n \\"AclEntries\\": [\\n {\\n \\"Entry\\": \\"10.0.XX.XX/24\\",\\n \\"EntryDescription\\": \\"test-entry\\"\\n }\\n ],\\n \\"RelatedListeners\\": [\\n {\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"AclType\\": \\"white\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\"\\n }\\n ],\\n \\"AclName\\": \\"test-acl\\",\\n \\"ResourceGroupId\\": \\"rg-acfmx7itmygzsza\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tag-key\\",\\n \\"Value\\": \\"tag-value\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetAclResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <AclId>nacl-hp34s2h0xx1ht4nwo****</AclId>\\n <AddressIPVersion>IPv4</AddressIPVersion>\\n <AclStatus>active</AclStatus>\\n <AclEntries>\\n <Entry>10.0.XX.XX/24</Entry>\\n <EntryDescription>test-entry</EntryDescription>\\n </AclEntries>\\n <RelatedListeners>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <AclType>White</AclType>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n </RelatedListeners>\\n <AclName>test-acl</AclName>\\n</GetAclResponse>","errorExample":""}]', + 'title' => 'GetAcl', + ], + 'DeleteAcl' => [ + 'summary' => 'Deletes a access control list (ACL) of a Global Accelerator (GA) instance.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '21659', + 'abilityTreeNodes' => [ + 'FEATUREgaUP4965', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the ACL.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + ], + 'AclId' => [ + 'description' => 'The ID of the ACL.'."\n", + 'type' => 'string', + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Acl', + 'errorMessage' => 'acl %s is not exist', + ], + [ + 'errorCode' => 'StateError.Acl', + 'errorMessage' => 'acl state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAclResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <AclId>nacl-hp34s2h0xx1ht4nwo****</AclId>\\n</DeleteAclResponse>","errorExample":""}]', + 'title' => 'DeleteAcl', + 'description' => '**DeleteAcl** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [GetAcl](~~258292~~) operation to query the status of an ACL.'."\n" + ."\n" + .'* If the ACL is in the **deleting** state, it indicates that the ACL is being deleted. In this case, you can perform only query operations.'."\n" + .'* If the ACL cannot be queried, it indicates that the ACL is deleted.'."\n", + ], + 'AssociateAclsWithListener' => [ + 'summary' => 'Associates access control lists (ACLs) with a listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '22291', + 'abilityTreeNodes' => [ + 'FEATUREgaZ38IM8', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the ACL. You can associate up to two ACL IDs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ACL. You can associate up to two ACL IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 2, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The listener ID.'."\n" + ."\n" + .'Only intelligent routing listeners support ACLs.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the ACL. Valid values:'."\n" + ."\n" + .'* **white**: Only requests from the IP addresses or CIDR blocks in the ACL are forwarded. Whitelists are suitable for scenarios in which you want to allow access from specific IP addresses to an application. If a whitelist is improperly configured, risks may arise. After a whitelist is configured for a listener, only requests from the IP addresses that are added to the whitelist are distributed by the listener. If a whitelist is enabled but no IP address is added to the whitelist, the listener forwards all requests.'."\n" + .'* **black**: All requests from the IP addresses or CIDR blocks in the ACL are rejected. Blacklists are suitable for scenarios in which you want to deny access from specific IP addresses to an application. If the blacklist is enabled but no IP addresses are added to the ACL, the listener forwards all requests.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'White', + 'enum' => [ + 'white', + 'black', + ], + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to only precheck the request. Default value: false. Valid values:'."\n" + ."\n" + .'* **true**: prechecks the request without performing the operation. The system checks the required parameters, request syntax, and limits. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" + .'* **false**: sends the request. If the request passes the precheck, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', + ], + 'AclIds' => [ + 'description' => 'The ID of the ACL.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ACL.'."\n", + 'type' => 'string', + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'listener %s is not exist', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'listener %s is not active', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'accelerator %s is not exist', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.Acl', + 'errorMessage' => 'acl %s is not exist', + ], + [ + 'errorCode' => 'StateError.Acl', + 'errorMessage' => 'acl state %s is illegal', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\",\\n \\"AclIds\\": [\\n \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n ],\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\"\\n}","errorExample":""},{"type":"xml","example":"<AssociateAclsWithListenerResponse>\\n <RequestId>64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF</RequestId>\\n <AclIds>nacl-hp34s2h0xx1ht4nwo****</AclIds>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n</AssociateAclsWithListenerResponse>","errorExample":""}]', + 'title' => 'AssociateAclsWithListener', + 'description' => '## Description'."\n" + ."\n" + .'* **AssociateAclsWithListener** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [DescribeListener](~~153254~~) operation to query the state of the listener with which you attempt to associate an ACL.'."\n" + ."\n" + .' * If the listener is in the **updating** state, it indicates that the ACL is being associated. In this case, you can perform only query operations.'."\n" + .' * If the listener is in the **active** state, it indicates that the ACL is associated.'."\n" + ."\n" + .'* The **AssociateAclsWithListener** operation cannot be called repeatedly for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'DissociateAclsFromListener' => [ + 'summary' => 'Disassociates access control lists (ACLs) from a listener.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '22292', + 'abilityTreeNodes' => [ + 'FEATUREgaZ38IM8', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AclIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the ACL. You can disassociate up to two ACLs from a listener.', + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ACL. You can disassociate up to two ACLs from a listener.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + 'required' => true, + 'docRequired' => true, + 'maxItems' => 10, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to only precheck the request. Default value: false. Valid values:'."\n" + ."\n" + .'* **true**: prechecks the request without performing the operation. The system prechecks the required parameters, request syntax, and limits. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n" + .'* **false**: sends the request. If the request passes the precheck, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'AclIds' => [ + 'description' => 'The IDs of the ACL.', + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ACL.', + 'type' => 'string', + 'example' => 'nacl-hp34s2h0xx1ht4nwo****', + ], + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'listener %s is not exist', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'listener %s is not active', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'accelerator %s is not exist', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.Acl', + 'errorMessage' => 'acl %s is not exist', + ], + [ + 'errorCode' => 'StateError.Acl', + 'errorMessage' => 'acl state %s is illegal', + ], + [ + 'errorCode' => 'AclNotBindListener', + 'errorMessage' => 'acl %s not bind listener', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"AclIds\\": [\\n \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n ],\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\"\\n}","errorExample":""},{"type":"xml","example":"<DissociateAclsFromListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <AclIds>nacl-hp34s2h0xx1ht4nwo****</AclIds>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n</DissociateAclsFromListenerResponse>","errorExample":""}]', + 'title' => 'DissociateAclsFromListener', + 'description' => '## Description'."\n" + ."\n" + .'* **DissociateAclsFromListener** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [DescribeListener](~~153254~~) operation to query the state of a listener:'."\n" + ."\n" + .' * If the listener is in the **updating** state, ACLs are being disassociated from the listener. In this case, you can perform only query operations.'."\n" + .' * If the listener is in the **active** state, ACLs are disassociated from the listener.'."\n" + ."\n" + .'* The **DissociateAclsFromListener** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'CreateApplicationMonitor' => [ + 'summary' => 'Creates an origin probing task.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance on which you want to perform the origin probing task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener on which you want to perform the origin probing task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'TaskName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the origin probing task.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'task1', + ], + ], + [ + 'name' => 'Address', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL or IP address that you want to probe.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'https://www.aliyun.com', + ], + ], + [ + 'name' => 'OptionsJson', + 'in' => 'query', + 'schema' => [ + 'description' => 'The extended options of the listener protocol that is used by the origin probing task. The options vary based on the listener protocol.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{ "http_method": "get","header": "key:asd","acceptable_response_code": "500","cert_verify": true }', + ], + ], + [ + 'name' => 'DetectEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the automatic diagnostics feature. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DetectThreshold', + 'in' => 'query', + 'schema' => [ + 'description' => 'The threshold that is used to trigger the automatic diagnostics feature. Unit: percentage.'."\n" + ."\n" + .'Valid values: **0** to **100**.'."\n" + ."\n" + .'The default value is **0**, which indicates that the automatic diagnostics feature is not triggered.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '0', + 'default' => '0', + ], + ], + [ + 'name' => 'DetectTimes', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of times that the threshold must be reached before the automatic diagnostics feature is triggered.'."\n" + ."\n" + .'Valid values: **1** to **20**. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'SilenceTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The silence period of the automatic diagnostics feature. This parameter specifies the interval at which the automatic diagnostics feature is triggered. If the availability rate does not return to normal after GA triggers an automatic diagnostic task, GA must wait until the silence period ends before GA can trigger another automatic diagnostic task.'."\n" + ."\n" + .'If the number of consecutive times that the availability rate drops below the threshold of automatic diagnostics reaches the value of **DetectTimes**, the automatic diagnostics feature is triggered. The automatic diagnostics feature is not triggered again within the silence period even if the availability rate remains below the threshold. If the availability rate does not return to normal after the silence period ends, the automatic diagnostics feature is triggered again.'."\n" + ."\n" + .'Unit: seconds. Valid values: **300** to **86400**. Default value: **300**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '300', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TaskId' => [ + 'description' => 'The ID of the origin probing task.'."\n", + 'type' => 'string', + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'The listener does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TaskId\\": \\"sm-bp1fpdjfju9k8yr1y****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateApplicationMonitorResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TaskId>sm-bp1fpdjfju9k8yr1y****</TaskId>\\n</CreateApplicationMonitorResponse>","errorExample":""}]', + 'title' => 'CreateApplicationMonitor', + 'description' => 'You can call the **CreateApplicationMonitor** operation to create an origin probing task. An origin probing task monitors the network quality between a client and an origin server and checks the availability of the origin server.'."\n" + ."\n" + .'Before you call this operation, take note of the following items:'."\n" + ."\n" + .'* You can create origin detection tasks only for subscription Standard Global Accelerator (GA) instances whose specification is Medium Ⅰ.'."\n" + ."\n" + .'* You cannot create an origin probe task for a UDP listener.'."\n" + ."\n" + .'* The service port of the URL or IP address that is probed must be within the listening port range.'."\n" + ."\n" + .'* **CreateApplicationMonitor** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [DescribeApplicationMonitor](~~408463~~) or [ListApplicationMonitor](~~408462~~) operation to query the status of the origin probing task.'."\n" + ."\n" + .' * If the origin probing task is in the **init** state, it indicates that the task is being created. You can perform only query operations.'."\n" + .' * If the origin probing task is in the **active** state, it indicates that the task is created.'."\n" + ."\n" + .'* The **CreateApplicationMonitor** operation cannot be called repeatedly for the same GA instance within a specific period of time.'."\n", + ], + 'UpdateApplicationMonitor' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '114792', + 'abilityTreeNodes' => [ + 'FEATUREgaLHYOX6', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the origin probing task that you want to modify.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the listener that you want to modify. The listener runs the origin probing task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + ], + [ + 'name' => 'TaskName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the origin probing task.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'task1', + ], + ], + [ + 'name' => 'Address', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL or IP address that is probed.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://www.aliyun.com', + ], + ], + [ + 'name' => 'OptionsJson', + 'in' => 'query', + 'schema' => [ + 'description' => 'The extended options of the listener protocol that is used by the origin probing task. The options vary based on the listener protocol.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{ "http_method": "get","header": "key:asd","acceptable_response_code": "500","cert_verify": true }', + ], + ], + [ + 'name' => 'DetectEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the automatic diagnostics feature. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DetectThreshold', + 'in' => 'query', + 'schema' => [ + 'description' => 'Set the threshold that is used to trigger the automatic diagnostics feature. If the liveness of the origin in percentile drops below the specified threshold, the automatic diagnostics feature is triggered.'."\n" + ."\n" + .'Valid values: **0** to **100**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'DetectTimes', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of times that the threshold must be reached before the automatic diagnostics feature is triggered.'."\n" + ."\n" + .'Valid values: **1** to **20**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'SilenceTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The silence period of the automatic diagnostics feature. This parameter specifies the interval at which the automatic diagnostics feature is triggered. If the availability rate does not return to normal after GA triggers an automatic diagnostic task, GA must wait until the silence period ends before GA can trigger another automatic diagnostic task.'."\n" + ."\n" + .'If the number of consecutive times that the availability rate drops below the threshold of automatic diagnostics reaches the value of the **DetectTimes** parameter, the automatic diagnostics feature is triggered. The automatic diagnostics feature is not triggered again within the silence period even if the availability rate stays below the threshold. If the availability rate does not return to normal after the silence period ends, the automatic diagnostics feature is triggered again.'."\n" + ."\n" + .'Unit: seconds. Valid values: **300** to **86400**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '300', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidateTaskId.ApplicationMonitor', + 'errorMessage' => 'The application monitor task %s is not exist.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'listener %s is not exist', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'listener %s is not active', + ], + [ + 'errorCode' => 'ListenerNotSupport.ApplicationMonitor', + 'errorMessage' => 'when the listener protocol is udp, application monitor is not supported.', + ], + [ + 'errorCode' => 'InvalidatePort.ApplicationMonitor', + 'errorMessage' => 'The address port not in listener port range.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateApplicationMonitorResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</UpdateApplicationMonitorResponse>","errorExample":""}]', + 'title' => 'UpdateApplicationMonitor', + 'summary' => 'Modifies an origin probing task.', + 'description' => '**UpdateApplicationMonitor** is an asynchronous operation. After you send a request, the system returns a request ID, but this operation is still being performed in the system background. You can call the [DescribeApplicationMonitor](~~408463~~) or [ListApplicationMonitor](~~408462~~) operation to check whether the configurations of an origin probing task are modified.'."\n" + ."\n" + .'* If the values of modified parameters remain unchanged, it indicates that the origin probing task is being modified. In this case, you can perform only query operations.'."\n" + .'* If the values of modified parameters change, it indicates that the origin probing task is modified.'."\n", + ], + 'DisableApplicationMonitor' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '114794', + 'abilityTreeNodes' => [ + 'FEATUREgaLHYOX6', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the origin probing task that you want to disable.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.SiteMonitor', + 'errorMessage' => 'The siteMonitor %s is not exist.', + ], + [ + 'errorCode' => 'InvalidateTaskId.ApplicationMonitor', + 'errorMessage' => 'The application monitor task %s is not exist.', + ], + [ + 'errorCode' => 'InvalidateTaskState.ApplicationMonitor', + 'errorMessage' => 'The application task state is invalidate.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableApplicationMonitorResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DisableApplicationMonitorResponse>","errorExample":""}]', + 'title' => 'DisableApplicationMonitor', + 'summary' => 'Disables an origin probing task.', + ], + 'EnableApplicationMonitor' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '114795', + 'abilityTreeNodes' => [ + 'FEATUREgaLHYOX6', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the origin probing task that you want to enable.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidateTaskId.ApplicationMonitor', + 'errorMessage' => 'The application monitor task %s is not exist.', + ], + [ + 'errorCode' => 'InvalidateTaskState.ApplicationMonitor', + 'errorMessage' => 'The application task state is invalidate.', + ], + [ + 'errorCode' => 'ListenerNeed.ApplicationMonitor', + 'errorMessage' => 'The listener must be configured.', + ], + [ + 'errorCode' => 'NotExist.Listener', + 'errorMessage' => 'listener %s is not exist', + ], + [ + 'errorCode' => 'NotActive.Listener', + 'errorMessage' => 'listener %s is not active', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableApplicationMonitorResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</EnableApplicationMonitorResponse>","errorExample":""}]', + 'title' => 'EnableApplicationMonitor', + 'summary' => 'Enables an origin probing task.', + ], + 'DeleteApplicationMonitor' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '114848', + 'abilityTreeNodes' => [ + 'FEATUREgaLHYOX6', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the origin probing task that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.SiteMonitor', + 'errorMessage' => 'The siteMonitor %s is not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteApplicationMonitorResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteApplicationMonitorResponse>","errorExample":""}]', + 'title' => 'DeleteApplicationMonitor', + 'summary' => 'Deletes an origin probing task.', + 'description' => '* **DeleteApplicationMonitor** is an asynchronous operation. After you call this operation, the system returns a request ID, but the operation is still being performed in the system background. You can call the [ListApplicationMonitor](~~408462~~) operation to query the state of an origin probing task.'."\n" + ."\n" + .' * If the origin probing task is in the **deleting** state, it indicates that the task is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the origin probing task cannot be queried, it indicates that the task is deleted.'."\n" + ."\n" + .'* The **DeleteApplicationMonitor** operation cannot be called repeatedly for the same Global Accelerator (GA) instance within a specific period of time.'."\n", + ], + 'ListApplicationMonitor' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '114803', + 'abilityTreeNodes' => [ + 'FEATUREgaLHYOX6', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **100**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'SearchValue', + 'in' => 'query', + 'schema' => [ + 'description' => 'The keyword that is used to search for origin probing tasks. You can enter a URL, an IP address, a GA instance ID, or a listener ID to perform a fuzzy match.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ApplicationMonitors' => [ + 'description' => 'The list of origin probing tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance on which the origin probing task runs.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener on which the origin probing task runs.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'TaskId' => [ + 'description' => 'The origin probing task ID.'."\n", + 'type' => 'string', + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + 'TaskName' => [ + 'description' => 'The origin probing task name.'."\n", + 'type' => 'string', + 'example' => 'task1', + ], + 'Address' => [ + 'description' => 'The URL or IP address that was probed.'."\n", + 'type' => 'string', + 'example' => 'https://www.aliyun.com', + ], + 'OptionsJson' => [ + 'description' => 'The extended options of the listener protocol that is used by the origin probing task. The options vary based on the listener protocol.'."\n", + 'type' => 'string', + 'example' => '{ "http_method": "get","header": "key:asd","acceptable_response_code": "500","cert_verify": true }', + ], + 'DetectEnable' => [ + 'description' => 'Indicates whether the automatic diagnostics feature is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'DetectThreshold' => [ + 'description' => 'The threshold that is used to trigger the automatic diagnostics feature.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'DetectTimes' => [ + 'description' => 'The number of times that are required to reach the threshold before the automatic diagnostics feature can be triggered.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SilenceTime' => [ + 'description' => 'The silence period of the automatic diagnostics feature. This parameter indicates the interval at which the automatic diagnostics feature is triggered. If the availability rate does not return to normal after GA triggers an automatic diagnostic task, GA must wait until the silence period ends before GA can trigger another automatic diagnostic task.'."\n" + ."\n" + .'If the number of consecutive times that the availability rate drops below the threshold of automatic diagnostics reaches the value of **DetectTimes** , the automatic diagnostics feature is triggered. The automatic diagnostics feature is not triggered again within the silence period even if the availability rate stays below the threshold. If the availability rate does not return to normal after the silence period ends, the automatic diagnostics feature is triggered again.'."\n" + ."\n" + .'Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '300', + ], + 'State' => [ + 'description' => 'The status of the origin probing task. Valid values:'."\n" + ."\n" + .'* **active:** The origin probing task is running.'."\n" + .'* **inactive:** The origin probing task is stopped.'."\n" + .'* **init:** The origin probing task is being initialized.'."\n" + .'* **deleting:** The origin probing task is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"ApplicationMonitors\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"TaskId\\": \\"sm-bp1fpdjfju9k8yr1y****\\",\\n \\"TaskName\\": \\"task1\\",\\n \\"Address\\": \\"https://www.aliyun.com\\",\\n \\"OptionsJson\\": \\"{ \\\\\\"http_method\\\\\\": \\\\\\"get\\\\\\",\\\\\\"header\\\\\\": \\\\\\"key:asd\\\\\\",\\\\\\"acceptable_response_code\\\\\\": \\\\\\"500\\\\\\",\\\\\\"cert_verify\\\\\\": true }\\",\\n \\"DetectEnable\\": true,\\n \\"DetectThreshold\\": 0,\\n \\"DetectTimes\\": 0,\\n \\"SilenceTime\\": 300,\\n \\"State\\": \\"active\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListApplicationMonitorResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <ApplicationMonitors>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <TaskId>sm-bp1fpdjfju9k8yr1y****</TaskId>\\n <TaskName>task1</TaskName>\\n <Address>https://www.aliyun.com</Address>\\n <OptionsJson>{ \\"http_method\\": \\"get\\",\\"header\\": \\"key:asd\\",\\"acceptable_response_code\\": \\"500\\",\\"cert_verify\\": true }</OptionsJson>\\n <DetectEnable>true</DetectEnable>\\n <DetectThreshold>1</DetectThreshold>\\n <DetectTimes>1</DetectTimes>\\n <SilenceTime>300</SilenceTime>\\n <State>active</State>\\n </ApplicationMonitors>\\n</ListApplicationMonitorResponse>","errorExample":""}]', + 'title' => 'ListApplicationMonitor', + 'summary' => 'Queries origin probing tasks.', + ], + 'DescribeApplicationMonitor' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '114797', + 'abilityTreeNodes' => [ + 'FEATUREgaLHYOX6', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the origin probing task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance on which the origin probing task ran.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener on which the origin probing task ran.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'TaskId' => [ + 'description' => 'The ID of the origin probing task.'."\n", + 'type' => 'string', + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + 'TaskName' => [ + 'description' => 'The name of the origin probing task.'."\n", + 'type' => 'string', + 'example' => 'task1', + ], + 'Address' => [ + 'description' => 'The URL or IP address that was probed.'."\n", + 'type' => 'string', + 'example' => 'https://www.aliyun.com', + ], + 'OptionsJson' => [ + 'description' => 'The extended options of the listener protocol that is used by the origin probing task. The options vary based on the listener protocol.'."\n", + 'type' => 'string', + 'example' => '{ "http_method": "get","header": "key:asd","acceptable_response_code": "500","cert_verify": true }', + ], + 'IspCityList' => [ + 'description' => 'The probe points of the Internet service provider (ISP).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Isp' => [ + 'description' => 'The probe point ID of the ISP.'."\n", + 'type' => 'string', + 'example' => '465', + ], + 'IspName' => [ + 'description' => 'The probe point name of the ISP.'."\n", + 'type' => 'string', + 'example' => 'Alibaba'."\n", + ], + 'City' => [ + 'description' => 'The ID of the city in which the probe point of the ISP is deployed.'."\n", + 'type' => 'string', + 'example' => '375', + ], + 'CityName' => [ + 'description' => 'The name of the city in which the probe point of the ISP is deployed.'."\n", + 'type' => 'string', + 'example' => 'Singapore'."\n", + ], + ], + ], + ], + 'DetectEnable' => [ + 'description' => 'Indicates whether the automatic diagnostics feature is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'DetectThreshold' => [ + 'description' => 'The threshold that is used to trigger automatic diagnostics.'."\n" + ."\n" + .'If the availability of the origin server drops below the specified threshold, the automatic diagnostics feature is triggered.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + ], + 'DetectTimes' => [ + 'description' => 'The number of times that are required to reach the threshold before the automatic diagnostics feature is triggered.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'SilenceTime' => [ + 'description' => 'The silence period of the automatic diagnostics feature. This parameter indicates the interval at which the automatic diagnostics feature is triggered. If the availability rate does not return to normal after GA triggers automatic diagnostics, GA must wait until the silence period ends before GA can trigger another automatic diagnostic.'."\n" + ."\n" + .'If the number of consecutive times that the availability rate drops below the automatic diagnostics threshold reaches the value of **DetectTimes**, the automatic diagnostics feature is triggered. The automatic diagnostics feature is not triggered again within the silence period regardless of whether the availability rate remains below the threshold. If the availability rate does not return to normal after the silence period ends, the automatic diagnostics feature is triggered again.'."\n" + ."\n" + .'Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '300', + ], + 'RegionId' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'State' => [ + 'description' => 'The status of the origin probing task. Valid values:'."\n" + ."\n" + .'* **init**'."\n" + .'* **active**'."\n" + .'* **updating**'."\n" + .'* **inactive**'."\n" + .'* **deleting**'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + [ + 'errorCode' => 'NotExist.SiteMonitor', + 'errorMessage' => 'The siteMonitor %s is not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"TaskId\\": \\"sm-bp1fpdjfju9k8yr1y****\\",\\n \\"TaskName\\": \\"task1\\",\\n \\"Address\\": \\"https://www.aliyun.com\\",\\n \\"OptionsJson\\": \\"{ \\\\\\"http_method\\\\\\": \\\\\\"get\\\\\\",\\\\\\"header\\\\\\": \\\\\\"key:asd\\\\\\",\\\\\\"acceptable_response_code\\\\\\": \\\\\\"500\\\\\\",\\\\\\"cert_verify\\\\\\": true }\\",\\n \\"IspCityList\\": [\\n {\\n \\"Isp\\": \\"465\\",\\n \\"IspName\\": \\"阿里巴巴\\",\\n \\"City\\": \\"375\\",\\n \\"CityName\\": \\"新加坡\\"\\n }\\n ],\\n \\"DetectEnable\\": true,\\n \\"DetectThreshold\\": 0,\\n \\"DetectTimes\\": 1,\\n \\"SilenceTime\\": 300,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"State\\": \\"active\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeApplicationMonitorResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <TaskId>sm-bp1fpdjfju9k8yr1y****</TaskId>\\n <TaskName>task1</TaskName>\\n <Address>https://www.aliyun.com</Address>\\n <OptionsJson>{ \\"http_method\\": \\"get\\",\\"header\\": \\"key:asd\\",\\"acceptable_response_code\\": \\"500\\",\\"cert_verify\\": true }</OptionsJson>\\n <IspCityList>\\n <Isp>465</Isp>\\n <IspName>阿里巴巴</IspName>\\n <City>375</City>\\n <CityName>新加坡</CityName>\\n </IspCityList>\\n <DetectEnable>true</DetectEnable>\\n <DetectThreshold>0</DetectThreshold>\\n <DetectTimes>1</DetectTimes>\\n <SilenceTime>300</SilenceTime>\\n <RegionId>cn-hangzhou</RegionId>\\n</DescribeApplicationMonitorResponse>","errorExample":""}]', + 'title' => 'DescribeApplicationMonitor', + 'summary' => 'Queries the detailed information about an origin probing task.', + ], + 'DetectApplicationMonitor' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '117053', + 'abilityTreeNodes' => [ + 'FEATUREgaLHYOX6', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the origin probing task for which you want to enable the diagnostic feature.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2c8dbdf9-a3ab-46a1-85a4-f094965e****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidateTaskId.ApplicationMonitor', + 'errorMessage' => 'The application monitor task %s is not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DetectApplicationMonitorResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DetectApplicationMonitorResponse>","errorExample":""}]', + 'title' => 'DetectApplicationMonitor', + 'summary' => 'Enables the diagnostic feature for an origin probing task.', + ], + 'ListApplicationMonitorDetectResult' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '117707', + 'abilityTreeNodes' => [ + 'FEATUREgaLHYOX6', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **100**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The origin probing task ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + ], + [ + 'name' => 'BeginTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1638288000', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1640164683', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ApplicationMonitorDetectResultList' => [ + 'description' => 'Details about the diagnostic result of the origin probing task.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance on which the origin probing task runs.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'ListenerId' => [ + 'description' => 'The ID of the listener on which the origin probing task runs.'."\n", + 'type' => 'string', + 'example' => 'lsr-bp1bpn0kn908w4nbw****', + ], + 'TaskId' => [ + 'description' => 'The origin probing task ID.'."\n", + 'type' => 'string', + 'example' => 'sm-bp1fpdjfju9k8yr1y****', + ], + 'Port' => [ + 'description' => 'The listener port.'."\n", + 'type' => 'string', + 'example' => '80', + ], + 'Protocol' => [ + 'description' => 'The network transmission protocol that is used by the listener. Valid values:'."\n" + ."\n" + .'* **tcp:** TCP.'."\n" + .'* **udp:** UDP.'."\n" + .'* **http:** HTTP.'."\n" + .'* **https:** HTTPS.'."\n" + ."\n" + .'> UDP listeners do not support probing.'."\n", + 'type' => 'string', + 'example' => 'http', + ], + 'DiagStatus' => [ + 'description' => 'The diagnostic result of the origin probing task. Valid values:'."\n" + ."\n" + .'* **success:** The origin probing task succeeded.'."\n" + .'* **failed:** The origin probing task failed.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'StatusCode' => [ + 'description' => 'The error code returned by the origin probing task.'."\n", + 'type' => 'string', + 'example' => '502', + ], + 'Content' => [ + 'description' => 'The response content returned by the origin probing task.'."\n", + 'type' => 'string', + 'example' => '502 BadGateway', + ], + 'Detail' => [ + 'description' => 'The description of the diagnostic result. Valid values:'."\n" + ."\n" + .'* **All forward nodes work well.:** The origin server is normal.'."\n" + .'* **Endpoint network error.:** The origin server is abnormal. You must check whether the origin server is running as expected.'."\n" + .'* **Public network error.:** An Internet error occurred, which is a network error that occurred when the client connected to the acceleration region.'."\n" + .'* **Ga internal error.:** An internal error occurred. For example, an exception occurred when GA processed a request.'."\n" + .'* **Ga has been deleted.:** The current GA instance is deleted.'."\n" + .'* **Ga state is not stable.:** The current GA instance is in an unstable state, such as the Configuring state.'."\n" + .'* **Ga has no listener configuration.:** No listener is configured for the current GA instance.'."\n" + .'* **Missing endpoint configuration.:** No endpoint is configured.'."\n" + .'* **Missing acceleration region configuration.:** No acceleration region is configured.'."\n" + .'* **Missing endpointgroup configuration.:** No endpoint group is configured.'."\n", + 'type' => 'string', + 'example' => 'All forward nodes work well', + ], + 'DetectTime' => [ + 'description' => 'The time when the diagnosis of the origin probing task ends.'."\n", + 'type' => 'string', + 'example' => '1663205460', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"ApplicationMonitorDetectResultList\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\",\\n \\"TaskId\\": \\"sm-bp1fpdjfju9k8yr1y****\\",\\n \\"Port\\": \\"80\\",\\n \\"Protocol\\": \\"http\\",\\n \\"DiagStatus\\": \\"success\\",\\n \\"StatusCode\\": \\"502\\",\\n \\"Content\\": \\"502 BadGateway\\",\\n \\"Detail\\": \\"All forward nodes work well\\",\\n \\"DetectTime\\": \\"1663205460\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListApplicationMonitorDetectResultResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <ApplicationMonitorDetectResultList>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <ListenerId>lsr-bp1bpn0kn908w4nbw****</ListenerId>\\n <TaskId>sm-bp1fpdjfju9k8yr1y****</TaskId>\\n <Port>80</Port>\\n <Protocol>http</Protocol>\\n <DiagStatus>success</DiagStatus>\\n <StatusCode>502</StatusCode>\\n <Content>502 BadGateway</Content>\\n <Detail>All forward nodes work well</Detail>\\n <DetectTime>1663205460</DetectTime>\\n </ApplicationMonitorDetectResultList>\\n</ListApplicationMonitorDetectResultResponse>","errorExample":""}]', + 'title' => 'ListApplicationMonitorDetectResult', + 'summary' => 'Queries the diagnostic results of origin probing tasks.', + ], + 'CreateDomain' => [ + 'summary' => 'Creates a domain name and associates the domain name with Global Accelerator (GA) instances.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '149715', + 'abilityTreeNodes' => [ + 'FEATUREgaN8JEXK', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the GA instance.'."\n" + ."\n" + .'You can enter up to 50 IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the GA instance.'."\n" + ."\n" + .'You can enter up to 50 IDs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'required' => true, + 'maxItems' => 50, + ], + ], + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name to be added.'."\n" + ."\n" + .'Wildcard domain names are supported. A wildcard domain name must start with `*.`, such as `*.example.com`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'www.example.com', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true:** performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, a 2xx HTTP status code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoIcpRecord.Domain', + 'errorMessage' => '%s has not been put on ICP record.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateDomainResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</CreateDomainResponse>","errorExample":""}]', + 'title' => 'CreateDomain', + 'description' => 'After you associate an accelerated domain name that has obtained an ICP number with a Global Accelerator (GA) instance, you do not need to complete filing for the accelerated domain name or its subdomains on Alibaba Cloud.'."\n" + ."\n" + .'You can call this operation to add an accelerated domain name and associate the accelerated domain name with GA instances. When you call this operation, take note of the following items:'."\n" + ."\n" + .'* If your accelerated domain name is hosted in the Chinese mainland, you must obtain an ICP number for the domain name.'."\n" + .'* The same accelerated domain name cannot be repeatedly associated with the same GA instance.'."\n" + .'* You cannot repeatedly call the **CreateDomain** operation by using the same Alibaba Cloud account within a specific period of time.'."\n", + ], + 'UpdateDomainState' => [ + 'summary' => 'Updates the ICP filing status of an accelerated domain name.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '149766', + 'abilityTreeNodes' => [ + 'FEATUREgaN8JEXK', + ], + ], + 'parameters' => [ + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name whose ICP filing status you want to update.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'www.example.com', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'Domain' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + ], + 'State' => [ + 'description' => 'The ICP filing status of the accelerated domain name. Valid values:'."\n" + ."\n" + .'* **illegal:** The domain name is illegal.'."\n" + .'* **inactive:** The domain name has not completed ICP filing.'."\n" + .'* **active:** The domain name has a valid ICP number.'."\n" + .'* **unknown:** The ICP filing status is unknown.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Domain', + 'errorMessage' => 'The domain %s is not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"State\\": \\"active\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateDomainStateResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <Domain>www.example.com</Domain>\\n <State>active</State>\\n</UpdateDomainStateResponse>","errorExample":""}]', + 'title' => 'UpdateDomainState', + 'description' => 'You can call this operation to query and update the ICP filing status of an accelerated domain name.'."\n" + ."\n" + .'The **UpdateDomainState** operation holds an exclusive lock on the GA instance. While the operation is in progress, you cannot call the same operation with the same Alibaba Cloud account.'."\n", + ], + 'UpdateDomain' => [ + 'summary' => 'Modifies an accelerated domain name.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '149722', + 'abilityTreeNodes' => [ + 'FEATUREgaN8JEXK', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TargetDomain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name to be modified.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new accelerated domain name.'."\n" + ."\n" + .'Only primary domain names are supported, such as `example.net`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.net', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Domain', + 'errorMessage' => 'The domain %s is not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateDomainResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</UpdateDomainResponse>","errorExample":""}]', + 'title' => 'UpdateDomain', + 'description' => 'You can call this operation to modify an accelerated domain name. If the new accelerated domain name is hosted in the Chinese mainland, you must obtain an Internet content provider (ICP) number for the domain name.'."\n" + ."\n" + .'You cannot call the **UpdateDomain** operation again by using the same Alibaba Cloud account before the previous request is completed.'."\n", + ], + 'ListDomains' => [ + 'summary' => 'Queries accelerated domain names.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'www.example.com', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'State', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ICP filing status of the accelerated domain name that you want to query. Valid values:'."\n" + ."\n" + .'* **illegal:** The domain name is illegal.'."\n" + .'* **inactive:** The domain name has not completed ICP filing.'."\n" + .'* **active:** The domain name has a valid ICP filing.'."\n" + .'* **unknown:** The ICP filing status is unknown.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'active', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Domains' => [ + 'description' => 'A list of accelerated domain names.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of accelerated domain names.'."\n", + 'type' => 'object', + 'properties' => [ + 'Accelerators' => [ + 'description' => 'A list of GA instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The list of GA instances.'."\n", + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'Name' => [ + 'description' => 'The name of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'Accelerator', + ], + 'ServiceId' => [ + 'description' => 'The ID of the service that manages the GA instance.'."\n" + ."\n" + .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n", + 'type' => 'string', + 'example' => 'ALB', + ], + 'ServiceManaged' => [ + 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n" + ."\n" + .'* **true**: The GA instance is managed.'."\n" + .'* **false**: The GA instance is not managed.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServiceManagedInfos' => [ + 'description' => 'The actions that you can perform on the managed instance.'."\n" + ."\n" + .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n" + ."\n" + .'* You can perform only specific actions on a managed instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'description' => 'The name of the action on the managed instance. Valid values:'."\n" + ."\n" + .'* **Create**: Create an instance.'."\n" + .'* **Update**: Update the current instance.'."\n" + .'* **Delete**: Delete the current instance.'."\n" + .'* **Associate**: Reference the current instance.'."\n" + .'* **UserUnmanaged**: Unmanage the instance.'."\n" + .'* **CreateChild**: Create a child resource in the current instance.'."\n", + 'type' => 'string', + 'example' => 'Update', + ], + 'ChildType' => [ + 'description' => 'The type of the child resource. Valid values:'."\n" + ."\n" + .'* **Listener**: listener.'."\n" + .'* **IpSet**: acceleration region.'."\n" + .'* **EndpointGroup**: endpoint group.'."\n" + .'* **ForwardingRule**: forwarding rule.'."\n" + .'* **Endpoint**: endpoint.'."\n" + .'* **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n" + .'* **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener.'."\n" + ."\n" + .'> This parameter takes effect only if **Action** is set to **CreateChild**.'."\n", + 'type' => 'string', + 'example' => 'Listener', + ], + 'IsManaged' => [ + 'description' => 'Indicates whether the specified actions are managed. Valid values:'."\n" + ."\n" + .'* **true**: The specified actions are managed, and you cannot perform the specified actions on the managed instance.'."\n" + .'* **false**: The specified actions are not managed, and you can perform the specified actions on the managed instance.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + 'Domain' => [ + 'description' => 'The accelerated domain name.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + ], + 'State' => [ + 'description' => 'The ICP filing status of the accelerated domain name. Valid values:'."\n" + ."\n" + .'* **illegal:** The domain name is illegal.'."\n" + .'* **inactive:** The domain name has not completed ICP filing.'."\n" + .'* **active:** The domain name has a valid ICP number.'."\n" + .'* **unknown:** The ICP filing status is unknown.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"Domains\\": [\\n {\\n \\"Accelerators\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"Name\\": \\"Accelerator\\",\\n \\"ServiceId\\": \\"ALB\\",\\n \\"ServiceManaged\\": true,\\n \\"ServiceManagedInfos\\": [\\n {\\n \\"Action\\": \\"Update\\",\\n \\"ChildType\\": \\"Listener\\",\\n \\"IsManaged\\": false\\n }\\n ]\\n }\\n ],\\n \\"Domain\\": \\"www.example.com\\",\\n \\"State\\": \\"active\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListDomainsResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <PageNumber>1</PageNumber>\\n <Domains>\\n <Accelerators>\\n <AcceleratorId>ga-bp1odcab8tmno0hdq****</AcceleratorId>\\n <Name>Accelerator</Name>\\n </Accelerators>\\n <Domain>www.example.com</Domain>\\n <State>active</State>\\n </Domains>\\n</ListDomainsResponse>","errorExample":""}]', + 'title' => 'ListDomains', + ], + 'GetInvalidDomainCount' => [ + 'summary' => 'Queries the number of invalid domain names.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '149767', + 'abilityTreeNodes' => [ + 'FEATUREgaN8JEXK', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'InvalidDomainCount' => [ + 'description' => 'The number of invalid domain names.'."\n", + 'type' => 'string', + 'example' => '1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"InvalidDomainCount\\": \\"1\\"\\n}","errorExample":""},{"type":"xml","example":"<GetInvalidDomainCountResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <InvalidDomainCount>1</InvalidDomainCount>\\n</GetInvalidDomainCountResponse>","errorExample":""}]', + 'title' => 'GetInvalidDomainCount', + ], + 'DeleteDomainAcceleratorRelation' => [ + 'summary' => 'Disassociates a domain name from Global Accelerator (GA) instances.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '149754', + 'abilityTreeNodes' => [ + 'FEATUREgaN8JEXK', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of the GA instance to be disassociated. You can specify up to 50 IDs.'."\n" + ."\n" + .'If you leave this parameter empty, all GA instances associated with the specified domain name are disassociated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the GA instance to be disassociated. You can specify up to 50 IDs.'."\n" + ."\n" + .'If you leave this parameter empty, all GA instances associated with the specified domain name are disassociated.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The accelerated domain name to be disassociated.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'www.example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Domain', + 'errorMessage' => 'The domain %s is not exist.', + ], + [ + 'errorCode' => 'NotExist.DomainAcceleratorRelation', + 'errorMessage' => 'The relationship between %s and %s does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDomainAcceleratorRelationResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteDomainAcceleratorRelationResponse>","errorExample":""}]', + 'title' => 'DeleteDomainAcceleratorRelation', + 'description' => 'You cannot call the **DeleteDomainAcceleratorRelation** operation again by using the same Alibaba Cloud account before the previous operation is complete.'."\n", + ], + 'CreateBasicAccelerator' => [ + 'summary' => 'Basic Global Accelerator (GA) instances leverage the immense bandwidth of the high-quality global network of Alibaba Cloud to provide end-to-end acceleration services. You can use basic GA instances to accelerate content delivery at Layer 3 (IP). You can call the CreateBasicAccelerator operation to create a basic GA instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the basic GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567****', + ], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => [ + 'title' => '购买时长(默认值:1)', + 'description' => 'The subscription duration of the GA instance.'."\n" + ."\n" + .'* If you set **PricingCycle** to **Month**, the valid values for **Duration** are **1** to **9**.'."\n" + .'* If you set **PricingCycle** to **Year**, the valid values for **Duration** are **1** to **3**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => [ + 'title' => '时长单位(默认值:Month)', + 'description' => 'The billing cycle. Valid values:'."\n" + ."\n" + .'* **Month**'."\n" + .'* **Year**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Month', + 'default' => 'Month', + 'enum' => [ + 'Year', + 'Month', + 'Day', + 'Hour', + ], + ], + ], + [ + 'name' => 'BandwidthBillingType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bandwidth billing method. Valid values:'."\n" + ."\n" + .'* **BandwidthPackage:** billed based on bandwidth plans.'."\n" + .'* **CDT:** billed based on data transfer. The bills are managed by using Cloud Data Transfer (CDT).'."\n" + .'* **CDT95:** billed based on the 95th percentile bandwidth. The bills are managed by using Cloud Data Transfer (CDT). This bandwidth billing method is not available by default. Contact your Alibaba Cloud account manager for more information.', + 'type' => 'string', + 'required' => false, + 'example' => 'CDT', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'title' => '自动续费', + 'description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" + ."\n" + .'* **false:** disables automatic payment. If you select this option, you must go to the Order Center to complete the payment after an order is generated. This is the default value.'."\n" + .'* **true:** enables automatic payment. Payments are automatically completed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoUseCoupon', + 'in' => 'query', + 'schema' => [ + 'title' => '自动使用优惠券', + 'description' => 'Specifies whether to automatically apply coupons to your bills. Valid values:'."\n" + ."\n" + .'* **true:** automatically applies coupons to your bills.'."\n" + .'* **false:** does not automatically apply coupons to your bills. This is the default value.'."\n" + ."\n" + .'> This parameter takes effect only when the **AutoPay** parameter is set to **true**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PromotionOptionNo', + 'in' => 'query', + 'schema' => [ + 'title' => '代金券号码', + 'description' => 'The code of the coupon.'."\n" + ."\n" + .'> This parameter takes effect only for accounts registered on the international site (alibabacloud.com).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '50003298014****', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'title' => '自动续费', + 'description' => 'Specifies whether to enable auto-renewal for the basic GA instance. Valid values:'."\n" + ."\n" + .'* **true:** enables auto-renewal for the basic GA instance.'."\n" + .'* **false:** disables auto-renewal for the basic GA instance. This is the default value.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoRenewDuration', + 'in' => 'query', + 'schema' => [ + 'title' => '续费周期', + 'description' => 'The auto-renewal duration. Unit: months.'."\n" + ."\n" + .'Valid values: **1** to **12**. Default value: **1**.'."\n" + ."\n" + .'> This parameter takes effect only when the **AutoPay** parameter is set to **true**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group to which the basic GA instance belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmxshhcsn****', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The billing method. Valid values:'."\n" + ."\n" + .'* **PREPAY** (default)'."\n" + .'* **POSTPAY**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" + ."\n" + .'* **true:** performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false**: performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed. This is the default value.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags of the basic GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the basic GA instance.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The tag value. The tag value cannot be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n" + ."\n" + .'You can specify up to 20 tag values.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag-value', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', + ], + 'OrderId' => [ + 'title' => '订单Id', + 'description' => 'The order ID.'."\n" + ."\n" + .'This parameter is returned only if ChargeType is set to PREPAY.'."\n" + ."\n" + .'If **AutoPay** is set to **false**, go to [Order Center](https://usercenter2-intl.aliyun.com/order/list) to complete the payment after an order is generated.'."\n", + 'type' => 'string', + 'example' => '2082574365', + ], + 'AcceleratorId' => [ + 'title' => '全球加速实例ID', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\",\\n \\"OrderId\\": \\"2082574365\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBasicAcceleratorResponse>\\n <RequestId>F591955F-5CB5-4CCE-A75D-17CF2085CE22</RequestId>\\n <OrderId>2082574365</OrderId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n</CreateBasicAcceleratorResponse>","errorExample":""}]', + 'title' => 'CreateBasicAccelerator', + 'description' => '**CreateBasicAccelerator** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [GetBasicAccelerator](~~353188~~) or [ListBasicAccelerators](~~353189~~) operation to query the status of the task.'."\n" + ."\n" + .'* If the basic GA instance is in the **init** state, it indicates that the basic GA instance is being created. In this case, you can perform only query operations.'."\n" + .'* If the basic GA instance is in the **active** state, it indicates that the basic GA instance is created.'."\n", + ], + 'UpdateBasicAccelerator' => [ + 'summary' => 'Modifies the name and description of a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例名称', + 'description' => 'The name of the basic GA instance.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BasicAccelerator', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例描述', + 'description' => 'The description of the basic GA instance.'."\n" + ."\n" + .'The description can be up to 200 characters in length and cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BasicAccelerator', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateBasicAcceleratorResponse>\\n <RequestId>F591955F-5CB5-4CCE-A75D-17CF2085CE22</RequestId>\\n</UpdateBasicAcceleratorResponse>","errorExample":""}]', + 'title' => 'UpdateBasicAccelerator', + ], + 'GetBasicAccelerator' => [ + 'summary' => 'Queries the information about a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region to which the basic GA instance belongs. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance that you want to query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'title' => '全球加速实例描述', + 'description' => 'The description of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'BasicAccelerator', + ], + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', + ], + 'InstanceChargeType' => [ + 'title' => '全球加速实例收费类型', + 'description' => 'The billing method of the basic GA instance. Only **PREPAY** is returned, which indicates the subscription billing method.'."\n", + 'type' => 'string', + 'example' => 'PREPAY', + ], + 'CreateTime' => [ + 'title' => '全球加速实例创建时间', + 'description' => 'The timestamp that indicates when the basic GA instance is created.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1637734547', + ], + 'CrossDomainBandwidthPackage' => [ + 'title' => '绑定的跨境带宽包', + 'description' => 'The details about the cross-border acceleration bandwidth plan that is associated with the GA instance.'."\n" + ."\n" + .'This array is returned only for GA instances that are created on the international site (alibabacloud.com).'."\n", + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'title' => '跨境带宽包带宽', + 'description' => 'The bandwidth value of the cross-border acceleration bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'InstanceId' => [ + 'title' => '跨境带宽包Id', + 'description' => 'The ID of the cross-border acceleration bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1d8xk8bg139j0fw****', + ], + ], + ], + 'Name' => [ + 'title' => '全球加速实例名称', + 'description' => 'The name of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'BasicAccelerator', + ], + 'BasicBandwidthPackage' => [ + 'title' => '绑定的基础带宽包', + 'description' => 'The details about the basic bandwidth plan that is associated with the basic GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'title' => '基础带宽包带宽', + 'description' => 'The bandwidth value of the basic bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'BandwidthType' => [ + 'title' => '基础带宽包类型', + 'description' => 'The type of the bandwidth that is provided by the basic bandwidth plan.'."\n" + ."\n" + .'* **Basic**: basic'."\n" + .'* **Enhanced**: enhanced'."\n" + .'* **Advanced**: premium'."\n", + 'type' => 'string', + 'example' => 'Basic', + ], + 'InstanceId' => [ + 'title' => '基础带宽包Id', + 'description' => 'The ID of the basic bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1d8xk8bg139j0fw****', + ], + ], + ], + 'State' => [ + 'title' => '实例状态', + 'description' => 'The status of the basic GA instance.'."\n" + ."\n" + .'* **init**: The GA instance is being initialized.'."\n" + .'* **active**: The GA instance is available.'."\n" + .'* **configuring**: The GA instance is being configured.'."\n" + .'* **binding**: The GA instance is being associated.'."\n" + .'* **unbinding**: The GA instance is being disassociated.'."\n" + .'* **deleting**: The GA instance is being deleted.'."\n" + .'* **finacialLocked**: The GA instance is locked due to overdue payments.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'ExpiredTime' => [ + 'title' => '到期时间', + 'description' => 'The timestamp that indicates when the basic GA instance expires.'."\n" + ."\n" + .'The time follows the UNIX time format. It is the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1640326547', + ], + 'CenId' => [ + 'title' => '使用的云企业网Id', + 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance to which the basic GA instance is attached.'."\n", + 'type' => 'string', + 'example' => 'cen-hjkduu767hc****', + ], + 'RegionId' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the basic GA instance is deployed.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AcceleratorId' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'BasicEndpointGroupId' => [ + 'title' => '全球加速实例下车点Id', + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'BasicIpSetId' => [ + 'title' => '全球加速实例上车点Id', + 'description' => 'The ID of the acceleration region.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11ilwqjdkjeg9r7****', + ], + 'BandwidthBillingType' => [ + 'title' => '带宽计费类型', + 'description' => 'The bandwidth metering method.'."\n" + ."\n" + .'* **BandwidthPackage**: billed based on bandwidth plans.'."\n" + .'* **CDT**: billed by Cloud Data Transfer (CDT) and based on data transfer.'."\n" + .'* **CDT95**: billed by CDT and based on the 95th percentile bandwidth. This bandwidth metering method is available only to users that are included in the whitelist.'."\n", + 'type' => 'string', + 'example' => 'CDT', + ], + 'CrossPrivateState' => [ + 'title' => '跨境开关状态', + 'description' => 'Indicates whether cross-border acceleration is enabled.'."\n" + ."\n" + .'* **true**: yes'."\n" + .'* **false**: no'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'CrossBorderStatus' => [ + 'description' => 'Indicates whether cross-border acceleration is enabled for the basic GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group to which the basic GA instance belongs.'."\n", + 'type' => 'string', + 'example' => 'rg-aekzrnd67gq****', + ], + 'Tags' => [ + 'description' => 'The tags of the basic GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the basic GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'tag-key', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'tag-value', + ], + ], + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Description\\": \\"BasicAccelerator\\",\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\",\\n \\"InstanceChargeType\\": \\"PREPAY\\",\\n \\"CreateTime\\": 1637734547,\\n \\"CrossDomainBandwidthPackage\\": {\\n \\"Bandwidth\\": 2,\\n \\"InstanceId\\": \\"gbwp-bp1d8xk8bg139j0fw****\\"\\n },\\n \\"Name\\": \\"BasicAccelerator\\",\\n \\"BasicBandwidthPackage\\": {\\n \\"Bandwidth\\": 2,\\n \\"BandwidthType\\": \\"Basic\\",\\n \\"InstanceId\\": \\"gbwp-bp1d8xk8bg139j0fw****\\"\\n },\\n \\"State\\": \\"active\\",\\n \\"ExpiredTime\\": 1640326547,\\n \\"CenId\\": \\"cen-hjkduu767hc****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"BasicEndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"BasicIpSetId\\": \\"ips-bp11ilwqjdkjeg9r7****\\",\\n \\"BandwidthBillingType\\": \\"CDT\\",\\n \\"CrossPrivateState\\": \\"false\\",\\n \\"CrossBorderStatus\\": false,\\n \\"ResourceGroupId\\": \\"rg-aekzrnd67gq****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tag-key\\",\\n \\"Value\\": \\"tag-value\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetBasicAcceleratorResponse>\\n <Description>BasicAccelerator</Description>\\n <RequestId>F591955F-5CB5-4CCE-A75D-17CF2085CE22</RequestId>\\n <InstanceChargeType>PREPAY</InstanceChargeType>\\n <CreateTime>1637734547</CreateTime>\\n <CrossDomainBandwidthPackage>\\n <Bandwidth>2</Bandwidth>\\n <InstanceId>gbwp-bp1d8xk8bg139j0fw****</InstanceId>\\n </CrossDomainBandwidthPackage>\\n <Name>BasicAccelerator</Name>\\n <BasicBandwidthPackage>\\n <Bandwidth>2</Bandwidth>\\n <BandwidthType>Basic</BandwidthType>\\n <InstanceId>gbwp-bp1d8xk8bg139j0fw****</InstanceId>\\n </BasicBandwidthPackage>\\n <State>active</State>\\n <ExpiredTime>1640326547</ExpiredTime>\\n <CenId>cen-hjkduu767hc****</CenId>\\n <RegionId>cn-hangzhou</RegionId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <BasicEndpointGroupId>epg-bp1dmlohjjz4kqaun****</BasicEndpointGroupId>\\n <BasicIpSetId>ips-bp11ilwqjdkjeg9r7****</BasicIpSetId>\\n <BandwidthBillingType>CDT</BandwidthBillingType>\\n <CrossPrivateState>false</CrossPrivateState>\\n <ResourceGroupId>rg-aekzrnd67gq****</ResourceGroupId>\\n <Tags>\\n <Key>tag-key</Key>\\n <Value>tag-value</Value>\\n </Tags>\\n</GetBasicAcceleratorResponse>","errorExample":""}]', + 'title' => 'GetBasicAccelerator', + ], + 'ListBasicAccelerators' => [ + 'summary' => 'Queries basic Global Accelerator (GA) instances.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region to which the basic GA instance belongs. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '分页页码', + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '分页大小', + 'description' => 'The number of entries per page. Valid values: **1 to 50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'State', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例状态', + 'description' => 'The state of the basic GA instance. Valid values:'."\n" + ."\n" + .'* **init**: The basic GA instance is being initialized.'."\n" + .'* **active**: The basic GA instance is available.'."\n" + .'* **configuring**: The basic GA instance is being configured.'."\n" + .'* **binding**: The basic GA instance is being associated.'."\n" + .'* **unbinding**: The basic GA instance is being disassociated.'."\n" + .'* **deleting**: The basic GA instance is being deleted.'."\n" + .'* **finacialLocked**: The basic GA instance is locked due to overdue payments.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'active', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group to which the basic GA instance belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aekzrnd67gq****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '标签列表,最多包含20个子项', + 'description' => 'The tags of the GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '标签键', + 'description' => 'The key of tag N of the basic GA instance. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Keytest', + ], + 'Value' => [ + 'title' => '标签值', + 'description' => 'The value of tag N of the basic GA instance. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. It cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag values.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Valuetest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 21, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'title' => '全球加速实例总数', + 'description' => 'The total number of basic GA instances returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'title' => '页大小', + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'Accelerators' => [ + 'title' => '全球加速实例列表', + 'description' => 'The information about basic GA instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'title' => '全球加速实例类型', + 'description' => 'This parameter is invalid.'."\n", + 'type' => 'string', + 'example' => 'None', + ], + 'State' => [ + 'title' => '全球加速实例状态', + 'description' => 'The state of the basic GA instance.'."\n" + ."\n" + .'* **init**: The basic GA instance is being initialized.'."\n" + .'* **active**: The basic GA instance is available.'."\n" + .'* **configuring**: The basic GA instance is being configured.'."\n" + .'* **binding**: The basic GA instance is being associated.'."\n" + .'* **unbinding**: The GA instance is being disassociated.'."\n" + .'* **deleting**: The basic GA instance is being deleted.'."\n" + .'* **finacialLocked**: The basic GA instance is locked due to overdue payments.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'CreateTime' => [ + 'title' => '创建时间', + 'description' => 'The timestamp that indicates when the basic GA instance was created.'."\n" + ."\n" + .'The time follows the UNIX time format. It is the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1637734547', + ], + 'BasicBandwidthPackage' => [ + 'title' => '绑定的基础带宽包', + 'description' => 'Details about the basic bandwidth plan that is associated with the basic GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'title' => '基础带宽包带宽', + 'description' => 'The bandwidth value of the basic bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'BandwidthType' => [ + 'title' => '基础带宽包类型', + 'description' => 'The type of the bandwidth that is provided by the basic bandwidth plan.'."\n" + ."\n" + .'* **Basic**: basic'."\n" + .'* **Enhanced**: enhanced'."\n" + .'* **Advanced**: premium'."\n", + 'type' => 'string', + 'example' => 'Basic', + ], + 'InstanceId' => [ + 'title' => '基础带宽包Id', + 'description' => 'The ID of the basic bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1d8xk8bg139j0fw****', + ], + ], + ], + 'RegionId' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the basic GA instance is deployed.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'InstanceChargeType' => [ + 'title' => '全球加速实例计费类型', + 'description' => 'The billing method of the basic GA instance. Only **PREPAY** is returned, which indicates the subscription billing method.'."\n", + 'type' => 'string', + 'example' => 'PREPAY', + ], + 'AcceleratorId' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'Description' => [ + 'title' => '全球加速实例描述', + 'description' => 'The description of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'BasicAccelerator', + ], + 'ExpiredTime' => [ + 'title' => '到期时间', + 'description' => 'The timestamp that indicates when the basic GA instance expires.'."\n" + ."\n" + .'The time follows the UNIX time format. It is the number of seconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1640326547', + ], + 'Name' => [ + 'title' => '全球加速实例名称', + 'description' => 'The name of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'BasicAccelerator', + ], + 'CrossDomainBandwidthPackage' => [ + 'title' => '绑定的跨境带宽包', + 'description' => 'Details about the cross-region acceleration bandwidth plan that is associated with the GA instance.'."\n" + ."\n" + .'This parameter is returned only when you call this operation on the International site (alibabacloud.com).'."\n", + 'type' => 'object', + 'properties' => [ + 'Bandwidth' => [ + 'title' => '跨境带宽包带宽', + 'description' => 'The bandwidth value of the cross-region acceleration bandwidth plan. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'InstanceId' => [ + 'title' => '跨境带宽包Id', + 'description' => 'The ID of the cross-region acceleration bandwidth plan.'."\n", + 'type' => 'string', + 'example' => 'gbwp-bp1d8xk8bg139j0fw****', + ], + ], + ], + 'BasicEndpointGroupId' => [ + 'title' => '全球加速实例下车点Id', + 'description' => 'The ID of the endpoint group that is associated with the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'BasicIpSetId' => [ + 'title' => '全球加速实例上车点Id', + 'description' => 'The ID of the acceleration region where the basic GA instance is deployed.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11ilwqjdkjeg9r7****', + ], + 'BandwidthBillingType' => [ + 'title' => '带宽计费类型', + 'description' => 'The bandwidth billing method.'."\n" + ."\n" + .'* **BandwidthPackage**: billed based on bandwidth plans.'."\n" + .'* **CDT**: billed through Cloud Data Transfer (CDT) and based on data transfer.'."\n" + .'* **CDT95**: billed through CDT and based on the 95th percentile bandwidth. This bandwidth billing method is available only for users that are included in the whitelist.'."\n", + 'type' => 'string', + 'example' => 'BandwidthPackage', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group to which the basic GA instance belongs.'."\n", + 'type' => 'string', + 'example' => 'rg-aekzrnd67gq****', + ], + 'Tags' => [ + 'description' => 'The tags of the basic GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'Keytest', + ], + 'Value' => [ + 'description' => 'The tag value of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'Valuetest', + ], + ], + ], + 'maxItems' => 10, + 'minItems' => 0, + ], + 'CrossBorderStatus' => [ + 'description' => 'Indicates whether cross-border acceleration is enabled for the GA instance. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + 'PageNumber' => [ + 'title' => '页码', + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"Accelerators\\": [\\n {\\n \\"Type\\": \\"None\\",\\n \\"State\\": \\"active\\",\\n \\"CreateTime\\": 1637734547,\\n \\"BasicBandwidthPackage\\": {\\n \\"Bandwidth\\": 2,\\n \\"BandwidthType\\": \\"Basic\\",\\n \\"InstanceId\\": \\"gbwp-bp1d8xk8bg139j0fw****\\"\\n },\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"InstanceChargeType\\": \\"PREPAY\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"Description\\": \\"BasicAccelerator\\",\\n \\"ExpiredTime\\": 1640326547,\\n \\"Name\\": \\"BasicAccelerator\\",\\n \\"CrossDomainBandwidthPackage\\": {\\n \\"Bandwidth\\": 2,\\n \\"InstanceId\\": \\"gbwp-bp1d8xk8bg139j0fw****\\"\\n },\\n \\"BasicEndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"BasicIpSetId\\": \\"ips-bp11ilwqjdkjeg9r7****\\",\\n \\"BandwidthBillingType\\": \\"BandwidthPackage\\",\\n \\"ResourceGroupId\\": \\"rg-aekzrnd67gq****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"Keytest\\",\\n \\"Value\\": \\"Valuetest\\"\\n }\\n ],\\n \\"CrossBorderStatus\\": false\\n }\\n ],\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"<ListBasicAcceleratorsResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <Accelerators>\\n <Type>None</Type>\\n <State>active</State>\\n <CreateTime>1637734547</CreateTime>\\n <BasicBandwidthPackage>\\n <Bandwidth>2</Bandwidth>\\n <BandwidthType>Basic</BandwidthType>\\n <InstanceId>gbwp-bp1d8xk8bg139j0fw****</InstanceId>\\n </BasicBandwidthPackage>\\n <RegionId>cn-hangzhou</RegionId>\\n <InstanceChargeType>PREPAY</InstanceChargeType>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <Description>BasicAccelerator</Description>\\n <ExpiredTime>1640326547</ExpiredTime>\\n <Name>BasicAccelerator</Name>\\n <CrossDomainBandwidthPackage>\\n <Bandwidth>2</Bandwidth>\\n <InstanceId>gbwp-bp1d8xk8bg139j0fw****</InstanceId>\\n </CrossDomainBandwidthPackage>\\n <BasicEndpointGroupId>epg-bp1dmlohjjz4kqaun****</BasicEndpointGroupId>\\n <BasicIpSetId>ips-bp11ilwqjdkjeg9r7****</BasicIpSetId>\\n <BandwidthBillingType>BandwidthPackage</BandwidthBillingType>\\n <ResourceGroupId>rg-aekzrnd67gq****</ResourceGroupId>\\n <Tags>\\n <Key>Keytest</Key>\\n <Value>Valuetest</Value>\\n </Tags>\\n <CrossBorderStatus>false</CrossBorderStatus>\\n </Accelerators>\\n <PageNumber>1</PageNumber>\\n</ListBasicAcceleratorsResponse>","errorExample":""}]', + 'title' => 'ListBasicAccelerators', + ], + 'DeleteBasicAccelerator' => [ + 'summary' => 'Deletes a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region to which the basic GA instance belongs. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'AcceleratorId' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'BindExist.Accelerator', + 'errorMessage' => 'The accelerated instance is already bound to a bandwidth package.', + ], + [ + 'errorCode' => 'Exist.IpSet', + 'errorMessage' => 'The IpSet still exists.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBasicAcceleratorResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n</DeleteBasicAcceleratorResponse>","errorExample":""}]', + 'title' => 'DeleteBasicAccelerator', + 'description' => '* You cannot delete subscription basic GA instances. You can unsubscribe from a basic GA instance on the [Unsubscribe](https://usercenter2-intl.aliyun.com/refund/refund) page. Before you unsubscribe from a basic GA instance, make sure that the acceleration areas and endpoint groups of the GA instance are deleted and no bandwidth plans are associated with the GA instance.'."\n" + ."\n" + .' * For information about how to delete an acceleration area, see [DeleteBasicIpSet](~~2253388~~).'."\n" + .' * For information about how to delete an endpoint group, see [DeleteBasicEndpointGroup](~~2253399~~).'."\n" + .' * For information about how to disassociate a bandwidth plan from a basic GA instance, see [BandwidthPackageRemoveAccelerator](~~153240~~).'."\n" + ."\n" + .'* Before you call this operation to delete a pay-as-you-go basic GA instance, make sure that all data is migrated and the acceleration areas and endpoint groups of the instance are deleted.'."\n" + ."\n" + .' * For information about how to delete an acceleration area, see [DeleteBasicIpSet](~~2253388~~).'."\n" + .' * For information about how to delete an endpoint group, see [DeleteBasicEndpointGroup](~~2253399~~).'."\n" + ."\n" + .'* **DeleteBasicAccelerator** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [GetBasicAccelerator](~~353188~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the basic GA instance is in the **deleting** state, it indicates that the instance is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the information about the basic GA instance is not displayed in the response, it indicates that the instance is deleted.'."\n", + ], + 'CreateBasicIpSet' => [ + 'summary' => 'Creates an acceleration region for a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The region ID of the basic GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '基础版全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'AccelerateRegionId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速地域Id', + 'description' => 'The ID of the acceleration region.'."\n" + ."\n" + .'You can call the [ListAvailableBusiRegions](~~261190~~) operation to query the most recent acceleration region list.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'IspType', + 'in' => 'query', + 'schema' => [ + 'title' => '公网质量类型', + 'description' => 'The line type of the elastic IP address (EIP) in the acceleration region. Valid values:'."\n" + ."\n" + .'* **BGP** (default): BGP (Multi-ISP) lines.'."\n" + .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines.'."\n" + ."\n" + .'Valid values if you are allowed to use single-ISP bandwidth:'."\n" + ."\n" + .'* **ChinaTelecom**'."\n" + .'* **ChinaUnicom**'."\n" + .'* **ChinaMobile**'."\n" + .'* **ChinaTelecom_L2**'."\n" + .'* **ChinaUnicom_L2**'."\n" + .'* **ChinaMobile_L2**'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* If the bandwidth metering method of the GA instance is **pay-by-data-transfer**, this parameter is required.'."\n" + ."\n" + .'* If the acceleration region is China (Hong Kong) and a basic bandwidth plan whose bandwidth type is Premium is associated with the GA instance, the default value of IspType is BGP_PRO.'."\n" + ."\n" + .'* The supported single-ISP type varies based on the acceleration region.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BGP', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bandwidth that you want to allocate to the acceleration region. Unit: **Mbit/s**.'."\n" + ."\n" + .'You must allocate at least 2 Mbit/s of bandwidth to the acceleration region.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'IpSetId' => [ + 'title' => '加速地域接入点Id', + 'description' => 'The region ID of the GA instance.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"IpSetId\\": \\"ips-bp11r5jb8ogp122xl****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBasicIpSetResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <IpSetId>ips-bp11r5jb8ogp122xl****</IpSetId>\\n</CreateBasicIpSetResponse>","errorExample":""}]', + 'title' => 'CreateBasicIpSet', + 'description' => 'Take note of the following limits:'."\n" + ."\n" + .'* You can specify only one acceleration region for each basic GA instance, and only IPv4 clients can connect to basic GA instances.'."\n" + ."\n" + .'* **CreateBasicIpSet** is an asynchronous operation. After you send a request, the system returns an acceleration region ID and runs the task in the background. You can call the [GetBasicIpSet](~~362987~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the acceleration region is in the **init** state, the acceleration region is being created. In this case, you can perform only query operations.'."\n" + .' * If the acceleration region is in the **active** state, the acceleration region is created.'."\n" + ."\n" + .'* You cannot call the **CreateBasicIpSet** operation again on the same GA instance before the previous task is completed.'."\n", + ], + 'UpdateBasicIpSet' => [ + 'summary' => 'Modifies the bandwidth of an acceleration region of a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '155456', + 'abilityTreeNodes' => [ + 'FEATUREgaQQ43JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the basic GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'IpSetId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the acceleration region of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => [ + 'description' => 'The bandwidth of the acceleration region. Unit: Mbit/s.'."\n" + ."\n" + .'The minimum bandwidth is 2 Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'NotExist.IpSet', + 'errorMessage' => 'The IpSet does not exist.', + ], + [ + 'errorCode' => 'StateError.IpSet', + 'errorMessage' => 'The state of IpSet is invalid.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'GreaterThanGa.IpSetBandwidth', + 'errorMessage' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6D2BFF54-6AF2-4679-88C4-2F2E187F16CB\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateBasicIpSetResponse>\\n <RequestId>6D2BFF54-6AF2-4679-88C4-2F2E187F16CB</RequestId>\\n</UpdateBasicIpSetResponse>","errorExample":""}]', + 'title' => 'UpdateBasicIpSet', + 'description' => 'Before you call this operation, take note of the following limits:'."\n" + ."\n" + .'* You can modify the bandwidth of an acceleration region of a basic GA instance only if the bandwidth metering method of the basic GA instance is **pay-by-data-transfer**.'."\n" + ."\n" + .'* **UpdateBasicIpSet** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [GetBasicIpSet](~~362987~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the acceleration region is in the **updating** state, it indicates that the bandwidth of the acceleration region is being modified. In this case, you can perform only query operations.'."\n" + .' * If the acceleration region is in the **active** state, it indicates that the bandwidth of the acceleration region is modified.'."\n" + ."\n" + .'* You cannot repeatedly call the **UpdateBasicIpSet** operation for the same basic GA instance within a specific period of time.'."\n", + ], + 'GetBasicIpSet' => [ + 'summary' => 'Queries the information about the acceleration region of a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the basic GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'IpSetId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速接入点Id', + 'description' => 'The ID of the acceleration region.'."\n" + ."\n" + .'You can call the [GetBasicAccelerator](~~2253380~~) operation to query the region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB', + ], + 'AccelerateRegionId' => [ + 'title' => '加速地域Id', + 'description' => 'The ID of the region where the basic GA instance is deployed.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Bandwidth' => [ + 'title' => '带宽值', + 'description' => 'The bandwidth of the acceleration region of the basic GA instance. Unit: Mbit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'IpSetId' => [ + 'title' => '加速接入点id', + 'description' => 'The ID of the acceleration region of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11ilwqjdkjeg9r7****', + ], + 'IpAddress' => [ + 'title' => '加速接入点IP地址', + 'description' => 'The accelerated IP address.'."\n", + 'type' => 'string', + 'example' => '118.31.XX.XX', + ], + 'AcceleratorId' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'IpVersion' => [ + 'title' => '加速接入点地址类型', + 'description' => 'The Internet protocol version. Only **IPv4** may be returned.'."\n", + 'type' => 'string', + 'example' => 'IPv4', + ], + 'State' => [ + 'title' => '加速接入点状态', + 'description' => 'The status of the acceleration region of the basic GA instance. Valid values:'."\n" + ."\n" + .'* **init**: The acceleration region is being initialized.'."\n" + .'* **active**: The acceleration region is in the running state.'."\n" + .'* **updating**: The acceleration region is being configured.'."\n" + .'* **Deleting**: The acceleration region is being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'IspType' => [ + 'title' => '公网质量类型', + 'description' => 'The line type of the elastic IP address (EIP) in the acceleration region. Valid values:'."\n" + ."\n" + .'* **BGP** (default): BGP (Multi-ISP) lines.'."\n" + .'* **BGP_PRO**: BGP (Multi-ISP) Pro lines.'."\n" + ."\n" + .'Valid values if you are allowed to use single-ISP bandwidth:'."\n" + ."\n" + .'* **ChinaTelecom**'."\n" + .'* **ChinaUnicom**'."\n" + .'* **ChinaMobile**'."\n" + .'* **ChinaTelecom_L2**'."\n" + .'* **ChinaUnicom_L2**'."\n" + .'* **ChinaMobile_L2**'."\n", + 'type' => 'string', + 'example' => 'BGP', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6D2BFF54-6AF2-4679-88C4-2F2E187F16CB\\",\\n \\"AccelerateRegionId\\": \\"cn-hangzhou\\",\\n \\"Bandwidth\\": 2,\\n \\"IpSetId\\": \\"ips-bp11ilwqjdkjeg9r7****\\",\\n \\"IpAddress\\": \\"118.31.XX.XX\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"State\\": \\"active\\",\\n \\"IspType\\": \\"BGP\\"\\n}","errorExample":""},{"type":"xml","example":"<GetBasicIpSetResponse>\\n <RequestId>6D2BFF54-6AF2-4679-88C4-2F2E187F16CB</RequestId>\\n <AccelerateRegionId>cn-hangzhou</AccelerateRegionId>\\n <Bandwidth>2</Bandwidth>\\n <IpSetId>ips-bp11ilwqjdkjeg9r7****</IpSetId>\\n <IpAddress>118.31.XX.XX</IpAddress>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <IpVersion>IPv4</IpVersion>\\n <State>active</State>\\n</GetBasicIpSetResponse>","errorExample":""}]', + 'title' => 'GetBasicIpSet', + ], + 'DeleteBasicIpSet' => [ + 'summary' => 'Deletes the acceleration region of a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the basic GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'default' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'IpSetId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速接入点Id', + 'description' => 'The ID of the acceleration region of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.IpSet', + 'errorMessage' => 'The IpSet does not exist.', + ], + [ + 'errorCode' => 'StateError.IpSet', + 'errorMessage' => 'The state of IpSet is invalid.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'ExplicitDeny', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6D2BFF54-6AF2-4679-88C4-2F2E187F16CB\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBasicIpSetResponse>\\n <RequestId>6D2BFF54-6AF2-4679-88C4-2F2E187F16CB</RequestId>\\n</DeleteBasicIpSetResponse>","errorExample":""}]', + 'title' => 'DeleteBasicIpSet', + 'description' => '* If an accelerated IP address is associated with an endpoint, you cannot delete the acceleration region. You can call the [DeleteBasicAccelerateIpEndpointRelation](~~2253413~~) operation to disassociate the accelerated IP address from the endpoint.'."\n" + ."\n" + .'* \\*\\*DeleteBasicIpSet\\*\\* is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [GetBasicIpSet](~~362987~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the acceleration region is in the **deleting** state, it indicates that the acceleration region is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the acceleration region cannot be queried, it indicates that the acceleration region is deleted.'."\n" + ."\n" + .'* The \\*\\*DeleteBasicIpSet\\*\\* operation cannot be repeatedly called for the same basic GA instance within a specific period of time.'."\n", + ], + 'CreateBasicAccelerateIp' => [ + 'summary' => 'Creates an accelerated IP address for a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '基础版全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'IpSetId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速地域Id', + 'description' => 'The ID of the acceleration region.'."\n" + ."\n" + .'You can call the [GetBasicAccelerator](~~2253380~~) operation to query the region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'title' => '加速实例id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'IpSetId' => [ + 'title' => '加速地域接入点Id', + 'description' => 'The ID of the acceleration region.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + 'AccelerateIpId' => [ + 'title' => '加速Ip Id', + 'description' => 'The ID of the accelerated IP address.'."\n", + 'type' => 'string', + 'example' => 'gaip-bp1****', + ], + 'AccelerateIpAddress' => [ + 'title' => '加速Ip', + 'description' => 'The accelerated IP address of the basic GA instance.'."\n" + ."\n" + .'> This parameter is unavailable.'."\n", + 'type' => 'string', + 'example' => '116.132.XX.XX', + ], + 'State' => [ + 'title' => '加速Ip状态', + 'description' => 'The status of the accelerated IP address. Valid values:'."\n" + ."\n" + .'**init:** The accelerated IP address is being initialized.'."\n", + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state configuring is illegal', + ], + [ + 'errorCode' => 'NotExist.IpSet', + 'errorMessage' => 'The IpSet does not exist.', + ], + [ + 'errorCode' => 'NotActive.IpSet', + 'errorMessage' => 'The state of IpSet is not active.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"IpSetId\\": \\"ips-bp11r5jb8ogp122xl****\\",\\n \\"AccelerateIpId\\": \\"gaip-bp1****\\",\\n \\"AccelerateIpAddress\\": \\"116.132.XX.XX\\",\\n \\"State\\": \\"null\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBasicAccelerateIpResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <IpSetId>ips-bp11r5jb8ogp122xl****</IpSetId>\\n <AccelerateIpId>gaip-bp1****</AccelerateIpId>\\n <AccelerateIpAddress>116.132.XX.XX</AccelerateIpAddress>\\n <State>null</State>\\n</CreateBasicAccelerateIpResponse>","errorExample":""}]', + 'title' => 'CreateBasicAccelerateIp', + 'description' => '* **CreateBasicAccelerateIp** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation is still being performed in the system background. You can call the [GetBasicAccelerateIp](~~466794~~) operation to query the status of an accelerated IP address:'."\n" + ."\n" + .' * If no status information is returned, the accelerated IP address is being created. In this case, you can perform only query operations.'."\n" + .' * If the accelerated IP address is in the **active** state, the accelerated IP address is created.'."\n" + ."\n" + .'* The **CreateBasicAccelerateIp** operation cannot be repeatedly called for the same GA instance within a specific period of time.', + ], + 'GetBasicAccelerateIp' => [ + 'summary' => 'Queries the status of an accelerated IP address of a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AccelerateIpId', + 'in' => 'query', + 'schema' => [ + 'title' => '基础版全球加速Ip实例Id', + 'description' => 'The ID of the basic GA instance that you want to query.'."\n" + ."\n" + .'You can call the [ListBasicAccelerateIps](~~2253393~~) operation to query the ID of the accelerated IP address.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gaip-bp1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the basic GA instance to which the queried accelerated IP address belongs.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'IpSetId' => [ + 'title' => '加速地域接入点Id', + 'description' => 'The ID of the acceleration region of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + 'AccelerateIpId' => [ + 'description' => 'The ID of the accelerated IP address.'."\n", + 'type' => 'string', + 'example' => 'gaip-bp1****', + ], + 'AccelerateIpAddress' => [ + 'description' => 'The accelerated IP address of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => '116.132.XX.XX', + ], + 'State' => [ + 'description' => 'The status of the accelerated IP address. Valid values:'."\n" + ."\n" + .'* **active**: The accelerated IP address is available.'."\n" + .'* **binding**: The accelerated IP address is being associated.'."\n" + .'* **bound**: The accelerated IP address is associated.'."\n" + .'* **unbinding**: The accelerated IP address is being disassociated.'."\n" + .'* **deleting**: The GA instance is being deleted.'."\n" + ."\n" + .'> If the accelerated IP address is being created, this parameter is not returned.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"IpSetId\\": \\"ips-bp11r5jb8ogp122xl****\\",\\n \\"AccelerateIpId\\": \\"gaip-bp1****\\",\\n \\"AccelerateIpAddress\\": \\"116.132.XX.XX\\",\\n \\"State\\": \\"active\\"\\n}","errorExample":""},{"type":"xml","example":"<GetBasicAccelerateIpResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <IpSetId>ips-bp11r5jb8ogp122xl****</IpSetId>\\n <AccelerateIpId>gaip-bp1****</AccelerateIpId>\\n <AccelerateIpAddress>116.132.XX.XX</AccelerateIpAddress>\\n <State>active</State>\\n</GetBasicAccelerateIpResponse>","errorExample":""}]', + 'title' => 'GetBasicAccelerateIp', + ], + 'GetBasicAccelerateIpIdleCount' => [ + 'summary' => 'Queries the number of idle accelerated IP addresses of a Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'IpSetId', + 'in' => 'query', + 'schema' => [ + 'title' => '基础版加速区Id', + 'description' => 'The ID of the basic GA instance that you want to query.'."\n" + ."\n" + .'You can call the [GetBasicAccelerator](~~2253380~~) operation to query the region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The number of entries returned, which indicates the number of idle accelerated IP addresses.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1\\n}","errorExample":""},{"type":"xml","example":"<GetBasicAccelerateIpIdleCountResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n</GetBasicAccelerateIpIdleCountResponse>","errorExample":""}]', + 'title' => 'GetBasicAccelerateIpIdleCount', + ], + 'ListBasicAccelerateIps' => [ + 'summary' => 'Queries the accelerated IP addresses in the acceleration region of a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'IpSetId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速区Id', + 'description' => 'The ID of the acceleration region.'."\n" + ."\n" + .'You can call the [GetBasicAccelerator](~~2253380~~) operation to query the ID of the acceleration region.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + ], + [ + 'name' => 'AccelerateIpAddress', + 'in' => 'query', + 'schema' => [ + 'title' => '加速Ip', + 'description' => 'The accelerated IP address of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '116.132.XX.XX', + ], + ], + [ + 'name' => 'AccelerateIpId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速Ip Id', + 'description' => 'The ID of the accelerated IP address of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'gaip-bp1****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The token that determines the start point of the query. Valid values:'."\n" + ."\n" + .'* If this is your first query and no next queries are to be sent, ignore this parameter.'."\n" + .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => 'The token that determines the start point of the query. Valid values:'."\n" + ."\n" + .'* If **NextToken** was not returned, it indicates that no additional results exist.'."\n" + .'* If **NextToken** was returned in the previous query, specify the value to obtain the next set of results.'."\n", + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => 'The number of entries returned on each page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'AccelerateIps' => [ + 'description' => 'The accelerated IP addresses of the basic GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The accelerated IP addresses of the basic GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'IpSetId' => [ + 'description' => 'The ID of the acceleration region.'."\n", + 'type' => 'string', + 'example' => 'ips-bp11r5jb8ogp122xl****', + ], + 'AccelerateIpId' => [ + 'description' => 'The ID of the accelerated IP address of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'gaip-bp1****', + ], + 'AccelerateIpAddress' => [ + 'description' => 'The accelerated IP address of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => '116.132.XX.XX', + ], + 'State' => [ + 'description' => 'The status of the accelerated IP address. Valid values:'."\n" + ."\n" + .'* **active**: The accelerated IP address is available.'."\n" + .'* **binding**: The accelerated IP address is being associated.'."\n" + .'* **bound**: The accelerated IP address is associated.'."\n" + .'* **unbinding**: The accelerated IP address is being disassociated.'."\n" + .'* **deleting**: The accelerated IP address is being deleted.'."\n" + ."\n" + .'> This parameter is unavailable when the accelerated IP address is being created.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 10,\\n \\"AccelerateIps\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"IpSetId\\": \\"ips-bp11r5jb8ogp122xl****\\",\\n \\"AccelerateIpId\\": \\"gaip-bp1****\\",\\n \\"AccelerateIpAddress\\": \\"116.132.XX.XX\\",\\n \\"State\\": \\"active\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListBasicAccelerateIpsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>10</MaxResults>\\n <AccelerateIps>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <IpSetId>ips-bp11r5jb8ogp122xl****</IpSetId>\\n <AccelerateIpId>gaip-bp1****</AccelerateIpId>\\n <AccelerateIpAddress>116.132.XX.XX</AccelerateIpAddress>\\n <State>active</State>\\n </AccelerateIps>\\n</ListBasicAccelerateIpsResponse>","errorExample":""}]', + 'title' => 'ListBasicAccelerateIps', + ], + 'DeleteBasicAccelerateIp' => [ + 'summary' => 'Deletes an accelerated IP address of a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '158418', + 'abilityTreeNodes' => [ + 'FEATUREgaLMO5F2', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AccelerateIpId', + 'in' => 'query', + 'schema' => [ + 'title' => '基础版全球加速实例Id', + 'description' => 'The ID of the accelerated IP address that you want to delete.'."\n" + ."\n" + .'You can call the [ListBasicAccelerateIps](~~2253393~~) operation to query the ID of the accelerated IP address.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gaip-bp1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AccelerateIpId' => [ + 'title' => '加速地域接入点Id', + 'description' => 'The ID of the accelerated IP address that is deleted.'."\n", + 'type' => 'string', + 'example' => 'gaip-bp1****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'No permissions.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AccelerateIpId\\": \\"gaip-bp1****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBasicAccelerateIpResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AccelerateIpId>gaip-bp1****</AccelerateIpId>\\n</DeleteBasicAccelerateIpResponse>","errorExample":""}]', + 'title' => 'DeleteBasicAccelerateIp', + 'description' => '* **DeleteBasicAccelerateIp** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [GetBasicAccelerateIp](~~466794~~) operation to query the status of an accelerated IP address.'."\n" + ."\n" + .' * If an accelerated IP address is in the **deleting** state, the accelerated IP address is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the system fails to return information about an accelerated IP address, the accelerated IP address is deleted.'."\n" + ."\n" + .'* You cannot repeatedly call the **DeleteBasicAccelerateIp** operation for the same basic GA instance within a specific period of time.'."\n", + ], + 'CreateBasicEndpointGroup' => [ + 'summary' => 'Creates an endpoint group for a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Regionid', + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'EndpointGroupRegion', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组所在地域', + 'description' => 'The ID of the region to which the endpoint group belongs.'."\n" + ."\n" + .'You can call the [ListAvailableBusiRegions](~~2253223~~) operation to query the region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-shanghai', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组名称', + 'description' => 'The name of the endpoint group.'."\n" + ."\n" + .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组描述', + 'description' => 'The description of the endpoint group.'."\n" + ."\n" + .'The description can be up to 200 characters in length and cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BasicEndpointGroup', + ], + ], + [ + 'name' => 'EndpointType', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点类型', + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **ENI**'."\n" + .'* **SLB**'."\n" + .'* **ECS**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ENI', + ], + ], + [ + 'name' => 'EndpointAddress', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点地址', + 'description' => 'The endpoint address.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp1a05txelswuj8g****', + ], + ], + [ + 'name' => 'EndpointSubAddress', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点辅助IP。', + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'You must specify this parameter when the accelerated IP address is associated with the secondary private IP address of an Elastic Compute Service (ECS) instance or an elastic network interface (ENI).'."\n" + ."\n" + .'* When the endpoint type is **ECS**, you can set **EndpointSubAddress** to the secondary private IP address of the primary ENI. If the parameter is left empty, the primary private IP address of the primary ENI is used.'."\n" + .'* If the endpoint type is **ENI**, you can set **EndpointSubAddress** to the secondary private IP address of the secondary ENI. If the parameter is left empty, the primary private IP address of the secondary ENI is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.16.XX.XX', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointGroupId' => [ + 'title' => '终端节点组Id', + 'description' => 'The endpoint group ID.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Resource.QuotaFull', + 'errorMessage' => 'The resource quota is exceeded.', + ], + [ + 'errorCode' => 'NoPermission.EnableHealthCheck', + 'errorMessage' => 'You do not have permission to enable health check.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + [ + 'errorCode' => 'NotExist.BusinessRegion', + 'errorMessage' => 'The business region does not exist.', + ], + [ + 'errorCode' => 'NotExist.BasicBandwidthPackage', + 'errorMessage' => 'You must specify the basic bandwidth package.', + ], + [ + 'errorCode' => 'Exist.EndpointGroup', + 'errorMessage' => 'The endpoint group already exists.', + ], + [ + 'errorCode' => 'QuotaExceeded.EndpointGroup', + 'errorMessage' => 'The number of endpoint group exceeds the limit.', + ], + [ + 'errorCode' => 'EcsCannotBind.BasicEndpoint', + 'errorMessage' => 'The ECS instance has already been associated with another EIP.', + ], + [ + 'errorCode' => 'InvalidateRegion.BasicAccelerator', + 'errorMessage' => 'The region of the endpoint group and the acceleration region cannot be the same.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBasicEndpointGroupResponse>\\n <EndpointGroupId>epg-bp1dmlohjjz4kqaun****</EndpointGroupId>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</CreateBasicEndpointGroupResponse>","errorExample":""}]', + 'title' => 'CreateBasicEndpointGroup', + 'description' => '* **CreateBasicEndpointGroup** is an asynchronous operation. After a request is sent, the system returns an endpoint group ID and runs the task in the background. You can call the [GetBasicEndpointGroup](~~362984~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the endpoint group is in the **init** state, the endpoint is being created. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group is in the **active** state, the endpoint group is created.'."\n" + ."\n" + .'* You cannot call the **CreateBasicEndpointGroup** operation again on the same GA instance before the previous request is completed.'."\n", + ], + 'UpdateBasicEndpointGroup' => [ + 'summary' => 'Modifies the configurations of an endpoint group that is associated with a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Regionid', + 'description' => 'The ID of the region where the basic GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组名称', + 'description' => 'The name of the endpoint group.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'group1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组描述', + 'description' => 'The description of the endpoint group.'."\n" + ."\n" + .'The description can be up to 200 characters in length and cannot start with `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BasicEndpointGroup', + ], + ], + [ + 'name' => 'EndpointType', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点类型', + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **ENI**: elastic network interface (ENI).'."\n" + .'* **SLB**: Classic Load Balancer (CLB) instance.'."\n" + .'* **ECS**: Elastic Compute Service (ECS) instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ENI', + ], + ], + [ + 'name' => 'EndpointAddress', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点地址', + 'description' => 'The address of the endpoint.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp1a05txelswuj8g****', + ], + ], + [ + 'name' => 'EndpointSubAddress', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点辅助IP。', + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'This parameter is required only if the accelerated IP address is associated with the secondary private IP address of an ECS instance or an ENI.'."\n" + ."\n" + .'* If you set the endpoint type to **ECS**, you can set **EndpointSubAddress** to the secondary private IP address of the primary ENI. If you leave this parameter empty, the primary private IP address of the primary ENI is used.'."\n" + .'* If you set the endpoint type to **ENI**, you can set **EndpointSubAddress** to the secondary private IP address of the secondary ENI. If you leave this parameter empty, the primary private IP address of the secondary ENI is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.16.XX.XX', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'The endpoint group does not exist.', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'The specified state of endpoint group is invalid.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'UpdateBasicEndpointGroup', + 'description' => '* **UpdateBasicEndpointGroup** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. The system modifies the configurations of an endpoint group that is associated with a basic GA instance by deleting the endpoint group and creating a new endpoint group. You can call the [GetBasicAccelerator](~~353188~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the basic GA instance is in the **configuring** state, the configurations of the endpoint group are being modified. In this case, you can perform only query operations.'."\n" + .' * If the basic GA instance is in the **active** state, the configurations of the endpoint group are modified.'."\n" + ."\n" + .'* The **UpdateBasicEndpointGroup** operation cannot be repeatedly called for the same basic GA instance within a specific period of time.'."\n", + ], + 'GetBasicEndpointGroup' => [ + 'summary' => 'Queries the information about the endpoint group of a basic GA instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the basic GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'EndpointGroupId' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'Name' => [ + 'title' => '终端节点组名称', + 'description' => 'The name of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'group1', + ], + 'Description' => [ + 'title' => '终端节点组描述', + 'description' => 'The description of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'BasicEndpointGroup', + ], + 'EndpointGroupRegion' => [ + 'title' => '终端节点组所在地域', + 'description' => 'The ID of the region where the endpoint group resides.'."\n", + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'EndpointType' => [ + 'title' => '终端节点类型', + 'description' => 'The type of endpoint. Valid values:'."\n" + ."\n" + .'* **ENI**: elastic network interface (ENI).'."\n" + .'* **SLB**: Classic Load Balancer (CLB) instance.'."\n" + .'* **ECS**: Elastic Compute Service (ECS) instance.'."\n" + .'* **NLB**: Network Load Balancer (NLB) instance'."\n", + 'type' => 'string', + 'example' => 'ENI', + ], + 'EndpointAddress' => [ + 'title' => '终端节点组地址', + 'description' => 'The address of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'eni-bp1a05txelswuj8g****', + ], + 'State' => [ + 'title' => '终端节点组状态', + 'description' => 'The status of the endpoint group. Valid values:'."\n" + ."\n" + .'* **init**: being initialized.'."\n" + .'* **active**: running as expected.'."\n" + .'* **updating**: being updated.'."\n" + .'* **deleting**: being deleted.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'EndpointSubAddress' => [ + 'title' => '终端节点辅助IP。', + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'This parameter is returned if the endpoint type is **ECS**, **ENI**, or **NLB**.'."\n" + ."\n" + .'* If the endpoint type is **ECS**, **EndpointSubAddress** returns the primary or secondary private IP address of the primary ENI.'."\n" + .'* If the endpoint type is **ENI**, **EndpointSubAddress** returns the primary or secondary private IP address of the secondary ENI.'."\n" + .'* If the endpoint type is **NLB**, **EndpointSubAddress** returns the primary private IP address of the NLB backend server.'."\n", + 'type' => 'string', + 'example' => '172.16.XX.XX', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"Name\\": \\"group1\\",\\n \\"Description\\": \\"BasicEndpointGroup\\",\\n \\"EndpointGroupRegion\\": \\"cn-shanghai\\",\\n \\"EndpointType\\": \\"ENI\\",\\n \\"EndpointAddress\\": \\"eni-bp1a05txelswuj8g****\\",\\n \\"State\\": \\"active\\",\\n \\"EndpointSubAddress\\": \\"172.16.XX.XX\\"\\n}","errorExample":""},{"type":"xml","example":"<GetBasicEndpointGroupResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <EndpointGroupId>epg-bp1dmlohjjz4kqaun****</EndpointGroupId>\\n <Name>group1</Name>\\n <Description>BasicEndpointGroup</Description>\\n <EndpointGroupRegion>cn-shanghai</EndpointGroupRegion>\\n <EndpointType>ENI</EndpointType>\\n <EndpointAddress>eni-bp1a05txelswuj8g****</EndpointAddress>\\n <State>active</State>\\n <EndpointSubAddress>172.16.XX.XX</EndpointSubAddress>\\n</GetBasicEndpointGroupResponse>","errorExample":""}]', + 'title' => 'GetBasicEndpointGroup', + ], + 'DeleteBasicEndpointGroup' => [ + 'summary' => 'Deletes an endpoint group that is associated with a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group that is associated with the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.EndPointGroup', + 'errorMessage' => 'The endpoint group does not exist.', + ], + [ + 'errorCode' => 'StateError.EndPointGroup', + 'errorMessage' => 'The specified state of endpoint group is invalid.', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'The state of the accelerated instance is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbbiden.SubUser', + 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', + ], + [ + 'errorCode' => 'Forbidden', + 'errorMessage' => 'The user is not authorized to operate on the specified resource.', + ], + ], + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBasicEndpointGroupResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteBasicEndpointGroupResponse>","errorExample":""}]', + 'title' => 'DeleteBasicEndpointGroup', + 'description' => 'Before you delete an endpoint group, take note of the following items:'."\n" + ."\n" + .'* If an endpoint in the endpoint group is associated with an accelerated IP address, you cannot delete the endpoint group. You can call the [DeleteBasicAccelerateIpEndpointRelation](~~2253413~~) operation to disassociate the endpoint from the accelerated IP address.'."\n" + ."\n" + .'* If no endpoint in the endpoint group is associated with an accelerated IP address, you can delete the endpoint group. When you delete an endpoint group, all endpoints in the endpoint group are deleted.'."\n" + ."\n" + .'* **DeleteBasicEndpointGroup** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the [GetBasicEndpointGroup](~~362984~~) operation to query the status of the task.'."\n" + ."\n" + .' * If the endpoint group is in the **deleting** state, the endpoint group is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the endpoint group cannot be queried, the endpoint group is deleted.'."\n" + ."\n" + .'* The **DeleteBasicEndpointGroup** operation cannot be repeatedly called for the same GA instance within a specific period of time.'."\n", + ], + 'CreateBasicEndpoint' => [ + 'summary' => 'Creates an endpoint for a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Regionid', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组所在地域', + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点名称', + 'description' => 'The name of the endpoint that is associated with the basic GA instance.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep01', + ], + ], + [ + 'name' => 'EndpointType', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点类型', + 'description' => 'The type of endpoint. Valid values:'."\n" + ."\n" + .'* **ENI**: elastic network interface (ENI)'."\n" + .'* **SLB**: Classic Load Balancer (CLB)'."\n" + .'* **ECS**: Elastic Compute Service (ECS)'."\n" + .'* **NLB**: Network Load Balancer (NLB)'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ENI', + ], + ], + [ + 'name' => 'EndpointAddress', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点地址', + 'description' => 'The address of the endpoint.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'eni-bp1a05txelswuj8g****', + ], + ], + [ + 'name' => 'EndpointSubAddress', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点辅助IP。', + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'This parameter is required if the endpoint type is **ECS**, **ENI**, or **NLB**.'."\n" + ."\n" + .'* If the endpoint type is **ECS**, you can set **EndpointSubAddress** to the secondary private IP address of the primary ENI. If the parameter is left empty, the primary private IP address of the primary ENI is used.'."\n" + .'* If the endpoint type is **ENI**, you can set **EndpointSubAddress** to the secondary private IP address of the secondary ENI. If the parameter is left empty, the primary private IP address of the secondary ENI is used.'."\n" + .'* This parameter is required if the endpoint type is **NLB**. **EndpointSubAddress** is the primary private IP address of the NLB backend server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.16.XX.XX', + ], + ], + [ + 'name' => 'EndpointSubAddressType', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点辅助IP类型', + 'description' => 'The type of the secondary address of the endpoint. Valid values:'."\n" + ."\n" + .'* **primary**: a primary private IP address.'."\n" + .'* **secondary**: a secondary private IP address.'."\n" + ."\n" + .'This parameter is required if the endpoint type is **ECS**, **ENI**, or **NLB**. If the endpoint type is **NLB**, only **primary** is supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'primary', + ], + ], + [ + 'name' => 'EndpointZoneId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点可用区', + 'description' => 'The zone ID of the endpoint.'."\n" + ."\n" + .'This parameter is required only if the endpoint type is **NLB**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'EndpointGroupId' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'EndpointId' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBasicEndpointResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <EndpointGroupId>epg-bp1dmlohjjz4kqaun****</EndpointGroupId>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n</CreateBasicEndpointResponse>","errorExample":""}]', + 'title' => 'CreateBasicEndpoint', + 'description' => '* **CreateBasicEndpoint** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [ListBasicEndpoints](~~466831~~) API operation to query the status of an endpoint.'."\n" + ."\n" + .' * If the endpoint is in the **init** state, the endpoint is being created. In this case, you can perform only query operations.'."\n" + .' * If the endpoint is in the **active** state, the endpoint is created.'."\n" + ."\n" + .'* The **CreateBasicEndpoint** API operation cannot be repeatedly called for the same basic GA instance within a specific period of time.'."\n", + ], + 'CreateBasicEndpoints' => [ + 'summary' => 'Creates multiple endpoints for a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Regionid', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'Endpoints', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'title' => '终端节点列表', + 'description' => 'The endpoints.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoints in the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the endpoint.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep01', + ], + 'EndpointType' => [ + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **ENI**: elastic network interface (ENI).'."\n" + .'* **SLB**: Classic Load Balancer (CLB) instance.'."\n" + .'* **ECS**: Elastic Compute Service (ECS) instance.'."\n" + .'* **NLB**: Network Load Balancer (NLB) instance.'."\n" + ."\n" + .'> This parameter is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ENI', + ], + 'EndpointAddress' => [ + 'description' => 'The address of the endpoint.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eni-bp1a05txelswuj8g****', + ], + 'EndpointSubAddress' => [ + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'This parameter is required only if you set the endpoint type to **ECS**, **ENI**, or **NLB**.'."\n" + ."\n" + .'* If you set the endpoint type to **ECS**, you can set **EndpointSubAddress** to the secondary private IP address of the primary ENI. If you leave this parameter empty, the primary private IP address of the primary ENI is used.'."\n" + .'* If you set the endpoint type to **ENI**, you can set **EndpointSubAddress** to the secondary private IP address of the secondary ENI. If you leave this parameter empty, the primary private IP address of the secondary ENI is used.'."\n" + .'* If you set the endpoint type to **NLB**, you can set **EndpointSubAddress** to the primary private IP address of the NLB backend server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.16.XX.XX', + ], + 'EndpointSubAddressType' => [ + 'description' => 'The secondary address type of the endpoint. Valid values:'."\n" + ."\n" + .'* **primary**: a primary private IP address.'."\n" + .'* **secondary**: a secondary private IP address.'."\n" + ."\n" + .'This parameter is required only if you set the endpoint type to **ECS**, **ENI**, or **NLB**. If you set the endpoint type to **NLB**, only **primary** is supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'primary', + ], + 'EndpointZoneId' => [ + 'description' => 'The ID of the zone where the endpoint resides.'."\n" + ."\n" + .'This parameter is required only if you set the endpoint type to **NLB**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-g', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'EndpointGroupId' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'Endpoints' => [ + 'title' => '终端节点列表', + 'description' => 'The endpoints in the endpoint group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoints in the endpoint group.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointId' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'EndpointType' => [ + 'title' => '终端节点类型', + 'description' => 'The type of the endpoint. Valid values:'."\n" + ."\n" + .'* **ENI:** ENI.'."\n" + .'* **SLB:** CLB instance.'."\n" + .'* **ECS:** ECS instance.'."\n" + .'* **NLB:** NLB instance.'."\n", + 'type' => 'string', + 'example' => 'ENI', + ], + 'EndpointAddress' => [ + 'title' => '终端节点地址', + 'description' => 'The address of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'eni-bp1a05txelswuj8g****', + ], + 'EndpointSubAddress' => [ + 'title' => '终端节点子地址', + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'This parameter is returned if the endpoint type is **ECS**, **ENI**, or **NLB**.'."\n" + ."\n" + .'* If the endpoint type is **ECS**, **EndpointSubAddress** returns the primary or secondary private IP address of the primary ENI.'."\n" + .'* If the endpoint type is **ENI**, **EndpointSubAddress** returns the primary or secondary private IP address of the secondary ENI.'."\n" + .'* If the endpoint type is **NLB**, **EndpointSubAddress** returns the primary private IP address of the NLB backend server.'."\n", + 'type' => 'string', + 'example' => '172.16.XX.XX', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'NotFound.ENIInstance', + 'errorMessage' => 'The ENI instance is not found.', + ], + [ + 'errorCode' => 'Invalidate.SlbAddressType', + 'errorMessage' => 'The SLB instance must be internal-facing.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"Endpoints\\": [\\n {\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"EndpointType\\": \\"ENI\\",\\n \\"EndpointAddress\\": \\"eni-bp1a05txelswuj8g****\\",\\n \\"EndpointSubAddress\\": \\"172.16.XX.XX\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<CreateBasicEndpointsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <EndpointGroupId>epg-bp1dmlohjjz4kqaun****</EndpointGroupId>\\n <Endpoints>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <EndpointType>ENI</EndpointType>\\n <EndpointAddress>eni-bp1a05txelswuj8g****</EndpointAddress>\\n <EndpointSubAddress>172.16.XX.XX</EndpointSubAddress>\\n </Endpoints>\\n</CreateBasicEndpointsResponse>","errorExample":""}]', + 'title' => 'CreateBasicEndpoints', + 'description' => '* **CreateBasicEndpoints** is an asynchronous operation. After you call this operation, the system returns a request ID and runs the task in the background. You can call the [ListBasicEndpoints](~~466831~~) operation to query the status of endpoints. - If one or more endpoints are in the **init** state, it indicates that the endpoints are being created. In this case, you can continue to perform query operations on the endpoints. If all endpoints are in the **active** state, it indicates that the endpoints are created.'."\n" + .'* You cannot call the **CreateBasicEndpoints** operation again on the same GA instance before the previous operation is complete.'."\n", + ], + 'UpdateBasicEndpoint' => [ + 'summary' => 'Modifies the name of an endpoint that is associated with a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Regionid', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组所在地域', + 'description' => 'The ID of the endpoint group to which the endpoint that you want to modify belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint that you want to modify.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点名称', + 'description' => 'The name of the endpoint that is associated with the basic GA instance.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep01', + 'maxLength' => 128, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'EndpointGroupId' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group to which the endpoints belong.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'EndpointId' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'Name' => [ + 'title' => '终端节点名称', + 'description' => 'The name of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep01', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"Name\\": \\"ep01\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateBasicEndpointResponse>\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\n <EndpointGroupId>epg-bp1dmlohjjz4kqaun****</EndpointGroupId>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <Name>ep01</Name>\\n</UpdateBasicEndpointResponse>","errorExample":""}]', + 'title' => 'UpdateBasicEndpoint', + ], + 'GetBasicEndpoint' => [ + 'summary' => 'Queries detailed information about an endpoint that is associated with a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Regionid', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint that you want to query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'title' => '全球加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'EndpointGroupId' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'EndPointId' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint that is associated with the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'Name' => [ + 'title' => '终端节点名称', + 'description' => 'The name of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep01', + ], + 'EndpointType' => [ + 'title' => '终端节点类型', + 'description' => 'The type of endpoint. Valid values:'."\n" + ."\n" + .'* **ENI**: elastic network interface (ENI).'."\n" + .'* **SLB**: Classic Load Balancer (CLB) instance.'."\n" + .'* **ECS**: Elastic Compute Service (ECS) instance.'."\n" + .'* **NLB**: Network Load Balancer (NLB) instance.'."\n", + 'type' => 'string', + 'example' => 'ENI', + ], + 'EndpointAddress' => [ + 'title' => '终端节点地址', + 'description' => 'The address of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'eni-bp1a05txelswuj8g****', + ], + 'EndpointSubAddress' => [ + 'title' => '终端节点子地址', + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'This parameter is returned if the endpoint type is **ECS**, **ENI**, or **NLB**.'."\n" + ."\n" + .'* If the endpoint type is **ECS**, **EndpointSubAddress** returns the primary or secondary private IP address of the primary ENI.'."\n" + .'* If the endpoint type is **ENI**, **EndpointSubAddress** returns the primary or secondary private IP address of the secondary ENI.'."\n" + .'* If the endpoint type is **NLB**, **EndpointSubAddress** returns the primary private IP address of the NLB backend server.'."\n", + 'type' => 'string', + 'example' => '172.16.XX.XX', + ], + 'EndpointSubAddressType' => [ + 'title' => '终端节点子地址类型', + 'description' => 'The type of the secondary address of the endpoint.'."\n" + ."\n" + .'* **primary**: a primary private IP address.'."\n" + .'* **secondary**: a secondary private IP address.'."\n" + ."\n" + .'This parameter is returned if the type of the endpoint is set to **ECS**, **ENI**, or **NLB**. If the endpoint type is set to **NLB**, **primary** is returned.'."\n", + 'type' => 'string', + 'example' => 'primary', + ], + 'EndpointZoneId' => [ + 'title' => '终端节点可用区', + 'description' => 'The ID of the zone where the endpoint is deployed.'."\n" + ."\n" + .'This parameter is returned only when the endpoint type is set to **NLB**.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'State' => [ + 'description' => 'The status of the endpoint. Valid values:'."\n" + ."\n" + .'* **init**: The endpoint is being initialized.'."\n" + .'* **active**: The endpoint is available.'."\n" + .'* **updating**: The endpoint is being configured.'."\n" + .'* **binding**: The endpoint is being associated.'."\n" + .'* **unbinding**: The endpoint is being disassociated.'."\n" + .'* **deleting**: The endpoint is being deleted.'."\n" + .'* **bound**: The endpoint is associated.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"EndPointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"Name\\": \\"ep01\\",\\n \\"EndpointType\\": \\"ENI\\",\\n \\"EndpointAddress\\": \\"eni-bp1a05txelswuj8g****\\",\\n \\"EndpointSubAddress\\": \\"172.16.XX.XX\\",\\n \\"EndpointSubAddressType\\": \\"primary\\",\\n \\"EndpointZoneId\\": \\"cn-hangzhou-g\\",\\n \\"State\\": \\"active\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<GetBasicEndpointResponse>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <EndpointGroupId>epg-bp1dmlohjjz4kqaun****</EndpointGroupId>\\n <EndPointId>ep-bp14sz7ftcwwjgrdm****</EndPointId>\\n <Name>ep01</Name>\\n <EndpointType>ENI</EndpointType>\\n <EndpointAddress>eni-bp1a05txelswuj8g****</EndpointAddress>\\n <EndpointSubAddress>172.16.XX.XX</EndpointSubAddress>\\n <EndpointSubAddressType>primary</EndpointSubAddressType>\\n <EndpointZoneId>cn-hangzhou-g</EndpointZoneId>\\n <State>active</State>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</GetBasicEndpointResponse>","errorExample":""}]', + 'title' => 'GetBasicEndpoint', + ], + 'ListBasicEndpoints' => [ + 'summary' => 'Queries the endpoints that are associated with a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Regionid', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group to which the endpoint that you want to query belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'EndpointType', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点类型', + 'description' => 'The type of endpoint that you want to query. Valid values:'."\n" + ."\n" + .'* **ENI**: elastic network interface (ENI).'."\n" + .'* **SLB**: Classic Load Balancer (CLB) instance.'."\n" + .'* **ECS**: Elastic Compute Service (ECS) instance.'."\n" + .'* **NLB**: Network Load Balancer (NLB) instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ENI', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点名称', + 'description' => 'The name of the endpoint that you want to query.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep01', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The token that determines the start point of the query. Valid values:'."\n" + ."\n" + .'* If this is your first query or no next query is to be sent, ignore this parameter.'."\n" + .'* If a next query is to be sent, set the value to the value of NextToken that is returned from the last call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => 'The token that determines the start point of the query. Valid values:'."\n" + ."\n" + .'* If **NextToken** is not returned, it indicates that no additional results exist.'."\n" + .'* If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.'."\n", + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'string', + 'example' => '10', + ], + 'Endpoints' => [ + 'description' => 'The endpoints that are associated with the basic GA instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoints that are associated with the basic GA instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'AcceleratorId' => [ + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'EndpointGroupId' => [ + 'description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", + 'type' => 'string', + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + 'EndpointId' => [ + 'description' => 'The ID of the endpoint that is associated with the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'Name' => [ + 'description' => 'The name of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep01', + ], + 'EndpointType' => [ + 'description' => 'The type of endpoint. Valid values:'."\n" + ."\n" + .'* **ENI**: ENI.'."\n" + .'* **SLB**: CLB instance.'."\n" + .'* **ECS**: ECS instance.'."\n" + .'* **NLB**: NLB instance.'."\n", + 'type' => 'string', + 'example' => 'ENI', + ], + 'EndpointAddress' => [ + 'description' => 'The address of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'eni-bp1a05txelswuj8g****', + ], + 'EndpointSubAddress' => [ + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'This parameter is returned if the endpoint type is **ECS**, **ENI**, or **NLB**.'."\n" + ."\n" + .'* If the endpoint type is **ECS**, **EndpointSubAddress** returns the primary or secondary private IP address of the primary ENI.'."\n" + .'* If the endpoint type is **ENI**, **EndpointSubAddress** returns the primary or secondary private IP address of the secondary ENI.'."\n" + .'* If the endpoint type is **NLB**, **EndpointSubAddress** returns the primary private IP address of the NLB backend server.'."\n", + 'type' => 'string', + 'example' => '172.16.XX.XX', + ], + 'EndpointSubAddressType' => [ + 'description' => 'The secondary address type of the endpoint.'."\n" + ."\n" + .'* **primary**: a primary private IP address.'."\n" + .'* **secondary**: a secondary private IP address.'."\n" + ."\n" + .'This parameter is returned if the type of the endpoint is set to **ECS**, **ENI**, or **NLB**. If the endpoint type is set to **NLB**, **primary** is returned.'."\n", + 'type' => 'string', + 'example' => 'primary', + ], + 'EndpointZoneId' => [ + 'description' => 'The zone ID of the endpoint.'."\n" + ."\n" + .'This parameter is returned only when the endpoint type is set to **NLB**.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'State' => [ + 'description' => 'The status of the endpoint. Valid values:'."\n" + ."\n" + .'* **init**: The endpoint is being initialized.'."\n" + .'* **active**: The endpoint is available.'."\n" + .'* **updating**: The endpoint is being configured.'."\n" + .'* **binding**: The endpoint is being associated.'."\n" + .'* **unbinding**: The endpoint is being disassociated.'."\n" + .'* **deleting**: The endpoint is being deleted.'."\n" + .'* **bound**: The endpoint is associated.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": \\"10\\",\\n \\"Endpoints\\": [\\n {\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"Name\\": \\"ep01\\",\\n \\"EndpointType\\": \\"ENI\\",\\n \\"EndpointAddress\\": \\"eni-bp1a05txelswuj8g****\\",\\n \\"EndpointSubAddress\\": \\"172.16.XX.XX\\",\\n \\"EndpointSubAddressType\\": \\"primary\\",\\n \\"EndpointZoneId\\": \\"cn-hangzhou-g\\",\\n \\"State\\": \\"active\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListBasicEndpointsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>10</MaxResults>\\n <Endpoints>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <EndpointGroupId>epg-bp1dmlohjjz4kqaun****</EndpointGroupId>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <Name>ep01</Name>\\n <EndpointType>ENI</EndpointType>\\n <EndpointAddress>eni-bp1a05txelswuj8g****</EndpointAddress>\\n <EndpointSubAddress>172.16.XX.XX</EndpointSubAddress>\\n <EndpointSubAddressType>primary</EndpointSubAddressType>\\n <EndpointZoneId>cn-hangzhou-g</EndpointZoneId>\\n <State>active</State>\\n </Endpoints>\\n</ListBasicEndpointsResponse>","errorExample":""}]', + 'title' => 'ListBasicEndpoints', + ], + 'DeleteBasicEndpoint' => [ + 'summary' => 'Deletes an endpoint that is associated with a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Regionid', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint group to which the endpoint to be deleted belongs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointId' => [ + 'title' => '终端节点组Id', + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Exist.EndpointGroup', + 'errorMessage' => 'The endpoint group already exists.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBasicEndpointResponse>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteBasicEndpointResponse>","errorExample":""}]', + 'title' => 'DeleteBasicEndpoint', + 'description' => '* **DeleteBasicEndpoint** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [ListBasicEndpoints](~~466831~~) operation to query the status of endpoints.'."\n" + ."\n" + .' * If the endpoint is in the **deleting** state, it indicates that the endpoint is being deleted. In this case, you can perform only query operations.'."\n" + .' * If the endpoint cannot be found, it indicates that the endpoint is deleted.'."\n" + ."\n" + .'* The **DeleteBasicEndpoint** API operation cannot be repeatedly called for the same basic GA instance within a period of time.'."\n", + ], + 'CreateBasicAccelerateIpEndpointRelations' => [ + 'summary' => 'Creates mappings between accelerated IP addresses and endpoints for a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速区实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'AccelerateIpEndpointRelations', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'title' => '绑定关系列表', + 'description' => 'A list of accelerated IP addresses and the endpoints with which the accelerated IP addresses are associated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The accelerated IP addresses and the endpoints with which the accelerated IP addresses are associated.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccelerateIpId' => [ + 'title' => '加速IpId', + 'description' => 'The IDs of the accelerated IP addresses.'."\n" + ."\n" + .'You can call the [ListBasicAccelerateIps](~~2253393~~) operation to query the IDs of the accelerated IP addresses.'."\n" + ."\n" + .'You can specify up to 20 IP address IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'gaip-bp1****', + ], + 'EndpointId' => [ + 'title' => '终端接地点Id', + 'description' => 'The IDs of the endpoints.'."\n" + ."\n" + .'You can call the [ListBasicEndpoints](~~2253406~~) to query the IDs of the endpoints.'."\n" + ."\n" + .'You can specify up to 20 endpoint IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'title' => '全球加速实例ID', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBasicAccelerateIpEndpointRelationsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n</CreateBasicAccelerateIpEndpointRelationsResponse>","errorExample":""}]', + 'title' => 'CreateBasicAccelerateIpEndpointRelations', + 'description' => '* The **CreateBasicAccelerateIpEndpointRelations** is asynchronous. After you send a request, the system returns a request ID and runs the task in the system background. You can call the [GetBasicAccelerateIp](~~466794~~) or [ListBasicEndpoints](~~466831~~) API operation to query the status of an accelerated IP address or an endpoint to determine the association status.'."\n" + ."\n" + .' * If an accelerated IP address and the endpoint are in the **binding** state, the accelerated IP address is being associated with the endpoint. In this case, you can only query the accelerated IP address and endpoint, but cannot perform other operations.'."\n" + .' * If all the accelerated IP addresses and the endpoint are in the **bound** state, and the association status returned by the [ListBasicAccelerateIpEndpointRelations](~~466803~~) API operation is **active**, the accelerated IP addresses are associated with the endpoints.'."\n" + ."\n" + .'* The **CreateBasicAccelerateIpEndpointRelations** API operation cannot be repeatedly called for the same basic GA instance within a period of time.'."\n", + ], + 'CreateBasicAccelerateIpEndpointRelation' => [ + 'summary' => 'Creates a mapping between an accelerated IP address and an endpoint for a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速区实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint.'."\n" + ."\n" + .'You can call the [ListBasicEndpoints](~~2253406~~) operation to query the ID of the endpoint.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + [ + 'name' => 'AccelerateIpId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速Ip Id', + 'description' => 'The ID of the accelerated IP address.'."\n" + ."\n" + .'You can call the [ListBasicAccelerateIps](~~2253393~~) operation to query the ID of the accelerated IP address.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gaip-bp1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'title' => '全球加速实例ID', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'EndpointId' => [ + 'title' => '订单Id', + 'description' => 'The ID of the endpoint that is associated with the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'AccelerateIpId' => [ + 'description' => 'The ID of the accelerated IP address of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'gaip-bp1****', + ], + 'State' => [ + 'description' => 'The status of the mapping between the accelerated IP address and the endpoint.'."\n" + ."\n" + .'> This parameter is not in use.'."\n", + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'EcsCannotBind.BasicEndpoint', + 'errorMessage' => 'The ECS instance has already been associated with another EIP.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"AccelerateIpId\\": \\"gaip-bp1****\\",\\n \\"State\\": \\"null\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateBasicAccelerateIpEndpointRelationResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <AccelerateIpId>gaip-bp1****</AccelerateIpId>\\n <State>null</State>\\n</CreateBasicAccelerateIpEndpointRelationResponse>","errorExample":""}]', + 'title' => 'CreateBasicAccelerateIpEndpointRelation', + 'description' => '* **CreateBasicAccelerateIpEndpointRelation** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the [GetBasicAccelerateIp](~~466794~~) or [ListBasicEndpoints](~~466831~~) API operation to query the status of an accelerated IP address or an endpoint to determine the association status between the accelerated IP address and endpoint.'."\n" + ."\n" + .' * If the status of the accelerated IP address and endpoint is **binding**, the accelerated IP address is being associated with the endpoint. In this case, you can query the accelerated IP address and endpoint but cannot perform other operations.'."\n" + .' * If the status of the accelerated IP address and endpoint is **bound** and the status returned by the [ListBasicAccelerateIpEndpointRelations](~~466803~~) API operation is **active**, the accelerated IP address is associated with the endpoint.'."\n" + ."\n" + .'* The **CreateBasicAccelerateIpEndpointRelation** API operation cannot be repeatedly called for the same basic GA instance within a period of time.'."\n", + ], + 'GetBasicAccelerateIpEndpointRelation' => [ + 'summary' => 'Queries whether the accelerated IP address of a basic Global Accelerator (GA) instance is associated with an endpoint.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'Regionid', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '基础版加速实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint.'."\n" + ."\n" + .'> You must specify **EndpointId** or **AccelerateIpId**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + [ + 'name' => 'AccelerateIpId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速Ip Id', + 'description' => 'The ID of the accelerated IP address.'."\n" + ."\n" + .'> You must specify **EndpointId** or **AccelerateIpId**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'gaip-bp1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'EndpointId' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'EndpointName' => [ + 'title' => '终端节点名称', + 'description' => 'The name of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep01', + ], + 'EndpointType' => [ + 'title' => '终端节点类型', + 'description' => 'The type of endpoint. Valid values:'."\n" + ."\n" + .'* **ENI**: elastic network interface (ENI).'."\n" + .'* **SLB**: Classic Load Balancer (CLB) instance.'."\n" + .'* **ECS**: Elastic Compute Service (ECS) instance.'."\n" + .'* **NLB**: Network Load Balancer (NLB) instance.'."\n", + 'type' => 'string', + 'example' => 'ENI', + ], + 'EndpointAddress' => [ + 'title' => '终端节点地址', + 'description' => 'The address of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'eni-bp1a05txelswuj8g****', + ], + 'EndpointSubAddress' => [ + 'title' => '终端节点子地址', + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'This parameter is returned if the endpoint type is **ECS**, **ENI**, or **NLB**.'."\n" + ."\n" + .'* If the endpoint type is **ECS**, **EndpointSubAddress** returns the primary or secondary private IP address of the primary ENI.'."\n" + .'* If the endpoint type is **ENI**, **EndpointSubAddress** returns the primary or secondary private IP address of the secondary ENI.'."\n" + .'* If the endpoint type is **NLB**, **EndpointSubAddress** returns the primary private IP address of the NLB backend server.'."\n", + 'type' => 'string', + 'example' => '172.16.XX.XX', + ], + 'EndpointSubAddressType' => [ + 'title' => '终端节点子地址类型', + 'description' => 'The type of the secondary address of the endpoint.'."\n" + ."\n" + .'* **primary**: a primary private IP address.'."\n" + .'* **secondary**: a secondary private IP address.'."\n" + ."\n" + .'This parameter is returned if the endpoint type is **ECS**, **ENI**, or **NLB**. If the endpoint type is set to **NLB**, **primary** is returned.'."\n", + 'type' => 'string', + 'example' => 'primary', + ], + 'EndpointZoneId' => [ + 'title' => '终端节点可用区', + 'description' => 'The ID of the zone where the endpoint is created.'."\n" + ."\n" + .'This parameter is returned only when the endpoint type is **NLB**.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'AccelerateIpId' => [ + 'description' => 'The ID of the accelerated IP address.'."\n", + 'type' => 'string', + 'example' => 'gaip-bp1****', + ], + 'IpAddress' => [ + 'description' => 'The accelerated IP address of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => '116.132.XX.XX', + ], + 'State' => [ + 'description' => 'The association status between the accelerated IP address and endpoint.'."\n" + ."\n" + .'A value of **active** indicates that the accelerated IP address is associated with the endpoint.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp11v53zfftax68b0daws', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"EndpointName\\": \\"ep01\\",\\n \\"EndpointType\\": \\"ENI\\",\\n \\"EndpointAddress\\": \\"eni-bp1a05txelswuj8g****\\",\\n \\"EndpointSubAddress\\": \\"172.16.XX.XX\\",\\n \\"EndpointSubAddressType\\": \\"primary\\",\\n \\"EndpointZoneId\\": \\"cn-hangzhou-g\\",\\n \\"AccelerateIpId\\": \\"gaip-bp1****\\",\\n \\"IpAddress\\": \\"116.132.XX.XX\\",\\n \\"State\\": \\"active\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\" ga-bp11v53zfftax68b0daws\\"\\n}","errorExample":""},{"type":"xml","example":"<GetBasicAccelerateIpEndpointRelationResponse>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <EndpointName>ep01</EndpointName>\\n <EndpointType>ENI</EndpointType>\\n <EndpointAddress>eni-bp1a05txelswuj8g****</EndpointAddress>\\n <EndpointSubAddress>172.16.XX.XX</EndpointSubAddress>\\n <EndpointSubAddressType>primary</EndpointSubAddressType>\\n <EndpointZoneId>cn-hangzhou-g</EndpointZoneId>\\n <AccelerateIpId>gaip-bp1****</AccelerateIpId>\\n <IpAddress>116.132.XX.XX</IpAddress>\\n <State>active</State>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</GetBasicAccelerateIpEndpointRelationResponse>","errorExample":""}]', + 'title' => 'GetBasicAccelerateIpEndpointRelation', + ], + 'ListBasicAccelerateIpEndpointRelations' => [ + 'summary' => 'Queries whether the accelerated IP address of a basic Global Accelerator (GA) instance is associated with an endpoint.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速区实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + [ + 'name' => 'AccelerateIpId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速Ip Id', + 'description' => 'The ID of the accelerated IP address.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'gaip-bp1****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The token that determines the start point of the query. Valid values:'."\n" + ."\n" + .'* If this is your first query or no next query is to be sent, ignore this parameter.'."\n" + .'* If a next query is to be sent, set the value to the value of NextToken that is returned from the last call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => 'The token that determines the start point of the query. Valid values:'."\n" + ."\n" + .'* If **NextToken** is not returned, it indicates that no additional results exist.'."\n" + .'* If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.'."\n", + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'string', + 'example' => '10', + ], + 'AccelerateIpEndpointRelations' => [ + 'description' => 'A list of accelerated IP addresses and the endpoints with which the accelerated IP addresses are associated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A list of accelerated IP addresses and the endpoints with which the accelerated IP addresses are associated.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccelerateIpId' => [ + 'title' => '加速Ip Id', + 'description' => 'The ID of the accelerated IP address.'."\n", + 'type' => 'string', + 'example' => 'gaip-bp1****', + ], + 'IpAddress' => [ + 'title' => '加速Ip', + 'description' => 'The accelerated IP address of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => '116.132.XX.XX', + ], + 'EndpointId' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'EndpointName' => [ + 'description' => 'The name of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'ep01', + ], + 'EndpointType' => [ + 'title' => '终端节点类型', + 'description' => 'The type of endpoint. Valid values:'."\n" + ."\n" + .'* **ENI**: elastic network interface (ENI).'."\n" + .'* **SLB**: Classic Load Balancer (CLB) instance.'."\n" + .'* **ECS**: Elastic Compute Service (ECS) instance.'."\n" + .'* **NLB**: Network Load Balancer (NLB) instance.'."\n", + 'type' => 'string', + 'example' => 'NLB', + ], + 'EndpointAddress' => [ + 'title' => '终端节点地址', + 'description' => 'The address of the endpoint.'."\n", + 'type' => 'string', + 'example' => 'eni-bp1a05txelswuj8g****', + ], + 'EndpointSubAddress' => [ + 'title' => '终端节点子地址', + 'description' => 'The secondary address of the endpoint.'."\n" + ."\n" + .'This parameter is returned if the endpoint type is **ECS**, **ENI**, or **NLB**.'."\n" + ."\n" + .'* If the endpoint type is **ECS**, **EndpointSubAddress** returns the primary or secondary private IP address of the primary ENI.'."\n" + .'* If the endpoint type is **ENI**, **EndpointSubAddress** returns the primary or secondary private IP address of the secondary ENI.'."\n" + .'* If the endpoint type is **NLB**, **EndpointSubAddress** returns the primary private IP address of the NLB backend server.'."\n", + 'type' => 'string', + 'example' => '172.16.XX.XX', + ], + 'EndpointSubAddressType' => [ + 'description' => 'The type of the secondary address of the endpoint.'."\n" + ."\n" + .'* **primary**: a primary private IP address.'."\n" + .'* **secondary**: a secondary private IP address.'."\n" + ."\n" + .'This parameter is returned if the endpoint type is **ECS**, **ENI**, or **NLB**. If the endpoint type is set to **NLB**, **primary** is returned.'."\n", + 'type' => 'string', + 'example' => 'primary', + ], + 'EndpointZoneId' => [ + 'description' => 'The ID of the zone where the endpoint is created.'."\n" + ."\n" + .'This parameter is returned only when the endpoint type is **NLB**.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + 'State' => [ + 'title' => '状态', + 'description' => 'The association status between the accelerated IP address and endpoint.'."\n" + ."\n" + .'A value of **active** indicates that the accelerated IP address is associated with the endpoint.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'AcceleratorId' => [ + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp1miyl2kn2racucvegr5', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": \\"10\\",\\n \\"AccelerateIpEndpointRelations\\": [\\n {\\n \\"AccelerateIpId\\": \\"gaip-bp1****\\",\\n \\"IpAddress\\": \\"116.132.XX.XX\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"EndpointName\\": \\"ep01\\",\\n \\"EndpointType\\": \\"ENI\\",\\n \\"EndpointAddress\\": \\"eni-bp1a05txelswuj8g****\\",\\n \\"EndpointSubAddress\\": \\"172.16.XX.XX\\",\\n \\"EndpointSubAddressType\\": \\"primary\\",\\n \\"EndpointZoneId\\": \\"cn-hangzhou-g\\",\\n \\"State\\": \\"active\\",\\n \\"AcceleratorId\\": \\"ga-bp1miyl2kn2racucvegr5\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListBasicAccelerateIpEndpointRelationsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <TotalCount>1</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>10</MaxResults>\\n <AccelerateIpEndpointRelations>\\n <AccelerateIpId>gaip-bp1****</AccelerateIpId>\\n <IpAddress>116.132.XX.XX</IpAddress>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <EndpointName>ep01</EndpointName>\\n <EndpointType>ENI</EndpointType>\\n <EndpointAddress>eni-bp1a05txelswuj8g****</EndpointAddress>\\n <EndpointSubAddress>172.16.XX.XX</EndpointSubAddress>\\n <EndpointSubAddressType>primary</EndpointSubAddressType>\\n <EndpointZoneId>cn-hangzhou-g</EndpointZoneId>\\n <State>active</State>\\n </AccelerateIpEndpointRelations>\\n</ListBasicAccelerateIpEndpointRelationsResponse>","errorExample":""}]', + 'title' => 'ListBasicAccelerateIpEndpointRelations', + ], + 'DeleteBasicAccelerateIpEndpointRelation' => [ + 'summary' => 'Deletes a mapping between an accelerated IP address and an endpoint for a basic Global Accelerator (GA) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'RegionId', + 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'title' => '客户端Token', + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'title' => '全球加速区实例Id', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + ], + [ + 'name' => 'EndpointId', + 'in' => 'query', + 'schema' => [ + 'title' => '终端节点Id', + 'description' => 'The ID of the endpoint.'."\n" + ."\n" + .'You can call the [ListBasicEndpoints](~~2253406~~) operation to query the ID of the endpoint.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + ], + [ + 'name' => 'AccelerateIpId', + 'in' => 'query', + 'schema' => [ + 'title' => '加速Ip Id', + 'description' => 'The ID of the accelerated IP address.'."\n" + ."\n" + .'You can call the [ListBasicAccelerateIps](~~2253393~~) operation to query the ID of the accelerated IP address.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'gaip-bp1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'A list of response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求Id', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AcceleratorId' => [ + 'title' => '全球加速实例ID', + 'description' => 'The ID of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ga-bp17frjjh0udz4qz****', + ], + 'EndpointId' => [ + 'title' => '订单Id', + 'description' => 'The ID of the endpoint that is associated with the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'ep-bp14sz7ftcwwjgrdm****', + ], + 'AccelerateIpId' => [ + 'description' => 'The ID of the accelerated IP address of the basic GA instance.'."\n", + 'type' => 'string', + 'example' => 'gaip-bp1****', + ], + 'State' => [ + 'description' => 'The status of the mapping between the accelerated IP address and endpoint.'."\n" + ."\n" + .'> This parameter is not in use and empty.'."\n", + 'type' => 'string', + 'example' => 'null', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"AccelerateIpId\\": \\"gaip-bp1****\\",\\n \\"State\\": \\"null\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBasicAccelerateIpEndpointRelationResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <AcceleratorId>ga-bp17frjjh0udz4qz****</AcceleratorId>\\n <EndpointId>ep-bp14sz7ftcwwjgrdm****</EndpointId>\\n <AccelerateIpId>gaip-bp1****</AccelerateIpId>\\n <State>null</State>\\n</DeleteBasicAccelerateIpEndpointRelationResponse>","errorExample":""}]', + 'title' => 'DeleteBasicAccelerateIpEndpointRelation', + 'description' => '* **DeleteBasicAccelerateIpEndpointRelation** is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the following operations to check whether an accelerated IP address is disassociated from an endpoint:'."\n" + ."\n" + .' * You can call the [GetBasicAccelerateIp](~~466794~~) and [ListBasicEndpoints](~~466831~~) operations to query the status of an accelerated IP address and an endpoint. If the accelerated IP address and the endpoint are in the **unbinding** state, the accelerated IP address is being disassociated from the endpoint. In this case, you can query the IP address and endpoint but cannot perform other operations.'."\n" + .' * If the association status between the accelerated IP address and the endpoint cannot be queried by calling the [ListBasicAccelerateIpEndpointRelations](~~466803~~) operation, the accelerated IP address is disassociated from the endpoint.'."\n" + ."\n" + .'* The **DeleteBasicAccelerateIpEndpointRelation** API operation cannot be repeatedly called for the same basic GA instance within a period of time.'."\n", + ], + 'UpdateServiceManagedControl' => [ + 'summary' => 'Changes the control mode of a resource from managed mode to unmanaged mode.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to cn-hangzhou.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the value of **RequestId** as the value of **ClientToken**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the resource whose control mode you want to change.'."\n" + ."\n" + .'Set the value to **Accelerator**, which specifies a standard GA instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Accelerator', + 'enum' => [ + 'Accelerator', + ], + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource whose control mode you want to change.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp149u6o36qt1as9b****', + ], + ], + [ + 'name' => 'ServiceManaged', + 'in' => 'query', + 'schema' => [ + 'description' => 'The control mode of the resource.'."\n" + ."\n" + .'Set the value to **false**, which changes the control mode of the resource from managed mode to unmanaged mode.'."\n" + ."\n" + .'> You can change the control mode only from managed mode to unmanaged mode.'."\n", + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'B7770CB9-9745-4FE5-9EDA-D14B01A12A50', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotSupportResourceType.ServiceManaged', + 'errorMessage' => 'Only accelerator resource type is supported.', + ], + [ + 'errorCode' => 'NotSupportServiceManagedMode.ServiceManaged', + 'errorMessage' => 'Only unmanaged mode is supported.', + ], + [ + 'errorCode' => 'ResourceNotManaged.ServiceManaged', + 'errorMessage' => 'The instance %s is not yet managed.', + ], + [ + 'errorCode' => 'NoPermissionResourceUnmanaged.ServiceManaged', + 'errorMessage' => 'You do not have permission to cancel service managed mode for %s.', + ], + [ + 'errorCode' => 'NoPermission.ServiceManaged', + 'errorMessage' => 'You do not have permission to %s %s in the service managed instance.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B7770CB9-9745-4FE5-9EDA-D14B01A12A50\\"\\n}","type":"json"}]', + 'title' => 'UpdateServiceManagedControl', + 'description' => '* This operation is applicable only to **managed** Global Accelerator (GA) instances.'."\n" + ."\n" + .'* After you change the control mode of a GA instance from managed mode to unmanaged mode, you cannot change the mode of the instance to managed mode.'."\n" + ."\n" + .'* After you change the control mode of a GA instance from managed mode to unmanaged mode, you can obtain all operation permissions on the instance.'."\n" + .' <warning>If you change or delete a configuration of a GA instance whose control mode is changed from managed mode to unmanaged mode, the cloud services that depend on the instance may not work as expected. Proceed with caution.></warning>', + ], + 'QueryCrossBorderApprovalStatus' => [ + 'summary' => 'Queries the approval status of cross-border permissions for an Alibaba Cloud account (main account).', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'F96E634B-A523-587F-9A09-AE8B2FD04B9C', + ], + 'ApprovalStatus' => [ + 'description' => 'Cross border permissions of Alibaba Cloud account (main account).'."\n" + ."\n" + .'- UNAPPLIED : No cross-border permission application has been submitted or application records cannot be found.'."\n" + .'- APPLIED : Cross-border permission review in progress.'."\n" + .'- REJECTED : Cross-border permission review failed.'."\n" + .'- PASSED : Cross-border permission review passed.', + 'type' => 'string', + 'example' => 'UNAPPLIED', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F96E634B-A523-587F-9A09-AE8B2FD04B9C\\",\\n \\"ApprovalStatus\\": \\"UNAPPLIED\\"\\n}","type":"json"}]', + 'title' => 'QueryCrossBorderApprovalStatus', + ], + 'DescribeAcceleratorServiceStatus' => [ + 'summary' => 'Queries the status of a pay-as-you-go Global Accelerator (GA) instance.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to cn-hangzhou.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', + ], + 'Status' => [ + 'title' => '服务开通状态', + 'description' => 'The status of the GA instance. Valid values:'."\n" + ."\n" + .'* Released: The instance was released due to overdue payments.'."\n" + .'* Expired: The instance expired due to overdue payments.'."\n" + .'* NotOpened: The instance is not activated.'."\n" + .'* Normal: The instance is activated.', + 'type' => 'string', + 'enumValueTitles' => [ + 'Released' => '', + 'Expired' => '', + 'NotOpened' => '', + 'Normal' => '', + ], + 'example' => 'Normal', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values: true false'."\n", + 'type' => 'string', + 'example' => 'True', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"Status\\": \\"Normal\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"True\\",\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', + 'title' => 'DescribeAcceleratorServiceStatus', + ], + 'OpenAcceleratorService' => [ + 'summary' => 'Activates the pay-as-you-go Global Accelerator (GA) service. If you want to use pay-as-you-go GA instances, you must activate the pay-as-you-go GA service first.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '174750', + 'abilityTreeNodes' => [ + 'FEATUREgaLOR9WO', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'B49B60F6-F6C8-49E5-B06B-E33E3A469A92', + ], + 'OrderId' => [ + 'description' => 'The ID of the order.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '208257****', + ], + 'Code' => [ + 'description' => 'The response code.', + 'type' => 'string', + 'example' => '200', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true:** The call was successful.'."\n" + .'* **false:** The call failed.'."\n", + 'type' => 'string', + 'example' => 'True', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'UnknownError', + 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B49B60F6-F6C8-49E5-B06B-E33E3A469A92\\",\\n \\"OrderId\\": 0,\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"True\\",\\n \\"Message\\": \\"success\\"\\n}","type":"json"}]', + 'title' => 'OpenAcceleratorService', + ], + 'ListEndpointGroupIpAddressCidrBlocks' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '179651', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'EndpointGroupRegion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the endpoint group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the GA instance.', + 'type' => 'string', + 'required' => false, + 'example' => 'ga-bp17frjjh0udz4q****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'EndpointGroupRegion' => [ + 'description' => 'The region ID of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'IpAddressCidrBlocks' => [ + 'description' => 'The CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The CIDR block.'."\n", + 'type' => 'string', + 'example' => '10.x.x.x/24', + ], + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group to which the endpoint group belongs.'."\n", + 'type' => 'string', + 'example' => 'rg-aekztkx4zwc****', + ], + 'State' => [ + 'description' => 'The status of the endpoint group.'."\n", + 'type' => 'string', + 'example' => 'active', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndpointGroupRegion\\": \\"cn-hangzhou\\",\\n \\"IpAddressCidrBlocks\\": [\\n \\"10.x.x.x/24\\"\\n ],\\n \\"ResourceGroupId\\": \\"rg-aekztkx4zwc****\\",\\n \\"State\\": \\"active\\",\\n \\"RequestId\\": \\"4B6DBBB0-2D01-4C6A-A384-4129266E6B78\\"\\n}","type":"json"}]', + 'title' => 'ListEndpointGroupIpAddressCidrBlocks', + 'summary' => 'Queries the public CIDR blocks to which the endpoint group IP addresses belong. The CIDR blocks can be used to configure ACLs in terminals.', + ], + 'UpdateLogStoreConfig' => [ + 'summary' => '修改SLS日志配置', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '280607', + 'abilityTreeNodes' => [ + 'FEATUREgaMGA0JD', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SlsProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-access-log', + ], + ], + [ + 'name' => 'SlsLogStoreName', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-access-log-epg-01', + ], + ], + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'lsr-xxxxxxxxxxxxxxx', + ], + ], + [ + 'name' => 'EndpointGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'epg-bp1dmlohjjz4kqaun****', + ], + ], + [ + 'name' => 'AccessLogRecordCustomizedHeadersEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'example' => 'False', + ], + ], + [ + 'name' => 'AccessLogRecordCustomizedHeaderList', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '[\'Content-Type\', \'User-Agent\']', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '幂等参数', + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\"\\n}","type":"json"}]', + ], + 'GetGlobalAcceleratorResources' => [ + 'summary' => '获取GA实例关联的云产品', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '285204', + 'abilityTreeNodes' => [ + 'FEATUREga231EJR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AssociatedResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'WAF', + ], + ], + [ + 'name' => 'AssociatedResourceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AssociatedResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'waf_v2_public_cn-x0r****gr1i', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'AssociatedResources' => [ + 'description' => '', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'AssociatedResourceType' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'WAF', + ], + 'AssociatedResourceId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'waf_v2_public_cn-x0r****gr1i', + ], + 'AssociatedResourceRegionId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AssociatedMode' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'Associated', + ], + 'State' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'active', + ], + 'AcceleratorId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"AssociatedResources\\": [\\n {\\n \\"AssociatedResourceType\\": \\"WAF\\",\\n \\"AssociatedResourceId\\": \\"waf_v2_public_cn-x0r****gr1i\\",\\n \\"AssociatedResourceRegionId\\": \\"cn-hangzhou\\",\\n \\"AssociatedMode\\": \\"Associated\\",\\n \\"State\\": \\"active\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DisassociateResources' => [ + 'summary' => '解绑GA集成云产品', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '285203', + 'abilityTreeNodes' => [ + 'FEATUREga231EJR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'AssociatedResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'WAF', + 'enum' => [ + 'WAF', + ], + ], + ], + [ + 'name' => 'AssociatedResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'cd498437eb9a346c38be8482689800e91', + ], + ], + [ + 'name' => 'AssociatedResourceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'AcceleratorId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + 'AssociatedResourceId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'c66d65f411b9143bab253bfef61c03c48', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'The accelerated instance does not exist.', + ], + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ga::2019-11-20::DescribeAccelerator', + 'callbackInterval' => 10000, + 'maxCallbackTimes' => 30, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"AssociatedResourceId\\": \\"c66d65f411b9143bab253bfef61c03c48\\"\\n}","type":"json"}]', + ], + 'AssociateResources' => [ + 'summary' => 'GA集成云产品', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '285202', + 'abilityTreeNodes' => [ + 'FEATUREga231EJR', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'AcceleratorId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + [ + 'name' => 'AssociatedResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'WAF', + 'enum' => [ + 'WAF', + ], + ], + ], + [ + 'name' => 'AssociatedResourceId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'waf_xx', + ], + ], + [ + 'name' => 'AssociatedResourceRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AssociatedMode', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'Associated', + 'default' => 'Associated', + 'enum' => [ + 'Associated', + 'Managed', + ], + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', + ], + 'AssociatedResourceId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'waf_xx', + ], + 'AcceleratorId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'ga-bp1odcab8tmno0hdq****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'StateError.Accelerator', + 'errorMessage' => 'accelerator state %s is illegal', + ], + [ + 'errorCode' => 'NotExist.Accelerator', + 'errorMessage' => 'accelerator %s is not exist', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Ga::2019-11-20::DescribeAccelerator', + 'callbackInterval' => 10000, + 'maxCallbackTimes' => 30, + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"AssociatedResourceId\\": \\"waf_xx\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\"\\n}","type":"json"}]', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-hangzhou', + 'endpoint' => 'ga.cn-hangzhou.aliyuncs.com', + ], + ], +]; |
