summaryrefslogtreecommitdiff
path: root/data/en_us/ga/2019-11-20/api-docs.php
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/ga/2019-11-20/api-docs.php')
-rw-r--r--data/en_us/ga/2019-11-20/api-docs.php47934
1 files changed, 21946 insertions, 25988 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
index 91f8eb8..5eb7dcf 100644
--- a/data/en_us/ga/2019-11-20/api-docs.php
+++ b/data/en_us/ga/2019-11-20/api-docs.php
@@ -1,879 +1,384 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'Ga',
- 'version' => '2019-11-20',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'Ga', 'version' => '2019-11-20'],
'directories' => [
[
- 'id' => 70618,
- 'title' => 'Acceleration areas and regions',
+ 'children' => ['ListAccelerateAreas', 'ListBusiRegions', 'ListAvailableBusiRegions', 'ListCommonAreas'],
'type' => 'directory',
- 'children' => [
- 'ListAccelerateAreas',
- 'ListBusiRegions',
- 'DescribeRegions',
- 'ListAvailableBusiRegions',
- 'ListCommonAreas',
- ],
+ 'title' => 'Regions and zones',
],
[
- 'id' => 179045,
- 'title' => 'Resource groups',
+ 'children' => ['DescribeCommodity', 'DescribeCommodityPrice'],
'type' => 'directory',
- 'children' => [
- 'ChangeResourceGroup',
- ],
+ 'title' => 'Price inquiry',
],
[
- 'id' => 179046,
- 'title' => 'Tags',
+ 'children' => ['DescribeBandwidthPackage', 'UpdateBandwidthPackage', 'ListBandwidthackages'],
'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',
+ 'children' => ['UpdateAcceleratorCrossBorderMode', 'UpdateAcceleratorCrossBorderStatus'],
'type' => 'directory',
- 'children' => [
- 'ListIspTypes',
- 'UpdateAcceleratorCrossBorderMode',
- 'UpdateAcceleratorCrossBorderStatus',
- ],
+ 'title' => 'Public line types and transmission network quality types',
],
[
- 'id' => 70574,
- 'title' => 'GA instances',
+ 'children' => ['CreateAccelerator', 'DescribeAccelerator', 'ListAccelerators', 'UpdateAccelerator', 'DeleteAccelerator', 'AttachDdosToAccelerator', 'DetachDdosFromAccelerator', 'UpdateAcceleratorAutoRenewAttribute'],
'type' => 'directory',
- 'children' => [
- 'CreateAccelerator',
- 'DescribeAccelerator',
- 'ListAccelerators',
- 'UpdateAccelerator',
- 'UpdateAcceleratorConfirm',
- 'DeleteAccelerator',
- 'AttachDdosToAccelerator',
- 'DetachDdosFromAccelerator',
- 'CreateSpareIps',
- 'ListSpareIps',
- 'GetSpareIp',
- 'DeleteSpareIps',
- 'DescribeAcceleratorAutoRenewAttribute',
- 'UpdateAcceleratorAutoRenewAttribute',
- ],
+ 'title' => 'Global accelerator instances',
],
[
- 'id' => 70590,
- 'title' => 'Acceleration regions',
+ 'children' => ['DescribeIpSet', 'ListAvailableAccelerateAreas'],
'type' => 'directory',
- 'children' => [
- 'CreateIpSets',
- 'DescribeIpSet',
- 'ListIpSets',
- 'UpdateIpSet',
- 'UpdateIpSets',
- 'DeleteIpSet',
- 'DeleteIpSets',
- 'ListAvailableAccelerateAreas',
- 'GetIpsetsBandwidthLimit',
- ],
+ 'title' => 'Acceleration areas',
],
[
- 'id' => 70599,
- 'title' => 'Listeners',
+ 'children' => ['CreateListener', 'DescribeListener', 'ListListeners', 'UpdateListener', 'GetHealthStatus'],
'type' => 'directory',
- 'children' => [
- 'CreateListener',
- 'DescribeListener',
- 'ListListeners',
- 'UpdateListener',
- 'DeleteListener',
- 'GetHealthStatus',
- 'AssociateAdditionalCertificatesWithListener',
- 'DissociateAdditionalCertificatesFromListener',
- 'UpdateAdditionalCertificateWithListener',
- 'ListListenerCertificates',
- 'ListSystemSecurityPolicies',
- ],
+ 'title' => 'Listeners',
],
[
- 'id' => 70608,
- 'title' => 'Endpoint groups (intelligent routing listeners)',
+ 'children' => ['CreateEndpointGroup', 'DescribeEndpointGroup', 'ListEndpointGroups', 'UpdateEndpointGroup', 'CreateEndpointGroups', 'UpdateEndpointGroups'],
'type' => 'directory',
- 'children' => [
- 'CreateEndpointGroup',
- 'DescribeEndpointGroup',
- 'ListEndpointGroups',
- 'UpdateEndpointGroup',
- 'UpdateEndpointGroupAttribute',
- 'DeleteEndpointGroup',
- 'DescribeLogStoreOfEndpointGroup',
- 'AttachLogStoreToEndpointGroup',
- 'DetachLogStoreFromEndpointGroup',
- 'CreateEndpointGroups',
- 'UpdateEndpointGroups',
- 'ConfigEndpointProbe',
- 'DeleteEndpointGroups',
- ],
+ 'title' => 'Endpoint groups (intelligent routing listeners)',
],
[
- 'id' => 179083,
- 'title' => 'Endpoint groups (custom routing listeners)',
+ 'children' => ['CreateCustomRoutingEndpointGroups', 'UpdateCustomRoutingEndpointGroupAttribute'],
'type' => 'directory',
- 'children' => [
- 'CreateCustomRoutingEndpointGroups',
- 'UpdateCustomRoutingEndpointGroupAttribute',
- 'DescribeCustomRoutingEndpointGroup',
- 'ListCustomRoutingEndpointGroups',
- 'DeleteCustomRoutingEndpointGroups',
- ],
+ 'title' => 'Endpoint groups (custom routing listeners)',
],
[
- 'id' => 172050,
- 'title' => 'Endpoint group mapping configurations (custom routing listeners)',
+ 'children' => ['CreateCustomRoutingEndpointGroupDestinations'],
'type' => 'directory',
- 'children' => [
- 'CreateCustomRoutingEndpointGroupDestinations',
- 'UpdateCustomRoutingEndpointGroupDestinations',
- 'DescribeCustomRoutingEndpointGroupDestinations',
- 'ListCustomRoutingEndpointGroupDestinations',
- 'DeleteCustomRoutingEndpointGroupDestinations',
- ],
+ 'title' => 'Endpoint group mapping information (custom routing listeners)',
],
[
- 'id' => 171156,
- 'title' => 'Endpoints (custom routing listeners)',
+ 'children' => ['CreateCustomRoutingEndpoints'],
'type' => 'directory',
- 'children' => [
- 'CreateCustomRoutingEndpoints',
- 'UpdateCustomRoutingEndpoints',
- 'DescribeCustomRoutingEndpoint',
- 'ListCustomRoutingEndpoints',
- 'DeleteCustomRoutingEndpoints',
- ],
+ 'title' => 'Endpoints (custom routing listeners)',
],
[
- 'id' => 179084,
- 'title' => 'Traffic policies for endpoints (custom routing listeners)',
+ 'children' => ['ListCustomRoutingPortMappings', 'ListCustomRoutingPortMappingsByDestination'],
'type' => 'directory',
- 'children' => [
- 'CreateCustomRoutingEndpointTrafficPolicies',
- 'UpdateCustomRoutingEndpointTrafficPolicies',
- 'DescribeCustomRoutingEndPointTrafficPolicy',
- 'ListCustomRoutingEndpointTrafficPolicies',
- 'DeleteCustomRoutingEndpointTrafficPolicies',
- ],
+ 'title' => 'Port mapping tables (custom routing listeners)',
],
[
- 'id' => 179085,
- 'title' => 'Port mappings (custom routing listeners)',
+ 'children' => ['CreateForwardingRules', 'UpdateForwardingRules', 'ListForwardingRules'],
'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)',
+ 'children' => ['ListApplicationMonitor', 'DescribeApplicationMonitor'],
'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',
+ 'children' => ['UpdateDomainState'],
'type' => 'directory',
- 'children' => [
- 'CreateDomain',
- 'UpdateDomainState',
- 'UpdateDomain',
- 'ListDomains',
- 'GetInvalidDomainCount',
- 'DeleteDomainAcceleratorRelation',
- ],
+ 'title' => 'Domain name management',
],
[
- 'id' => 171162,
- 'title' => 'Basic GA instances',
+ 'children' => ['UpdateBasicEndpointGroup'],
'type' => 'directory',
- 'children' => [
- 'CreateBasicAccelerator',
- 'UpdateBasicAccelerator',
- 'GetBasicAccelerator',
- 'ListBasicAccelerators',
- 'DeleteBasicAccelerator',
- ],
+ 'title' => 'Endpoint groups (basic global accelerator instances)',
],
[
- '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',
+ 'AddEntriesToAcl', 'AssociateAclsWithListener', 'AssociateAdditionalCertificatesWithListener', 'AssociateResources', 'AttachLogStoreToEndpointGroup', 'BandwidthPackageAddAccelerator', 'BandwidthPackageRemoveAccelerator', 'ChangeResourceGroup', 'ConfigEndpointProbe', 'CreateAcl', 'CreateApplicationMonitor', 'CreateBandwidthPackage', 'CreateBasicAccelerateIp', 'CreateBasicAccelerateIpEndpointRelation', 'CreateBasicAccelerateIpEndpointRelations', 'CreateBasicAccelerator', 'CreateBasicEndpoint', 'CreateBasicEndpointGroup', 'CreateBasicEndpoints', 'CreateBasicIpSet',
+ 'CreateCustomRoutingEndpointTrafficPolicies', 'CreateDomain', 'CreateIpSets', 'CreateSpareIps', 'DeleteAcl', 'DeleteApplicationMonitor', 'DeleteBandwidthPackage', 'DeleteBasicAccelerateIp', 'DeleteBasicAccelerateIpEndpointRelation', 'DeleteBasicAccelerator', 'DeleteBasicEndpoint', 'DeleteBasicEndpointGroup', 'DeleteBasicIpSet', 'DeleteCustomRoutingEndpointGroupDestinations', 'DeleteCustomRoutingEndpointGroups', 'DeleteCustomRoutingEndpointTrafficPolicies', 'DeleteCustomRoutingEndpoints', 'DeleteDomainAcceleratorRelation', 'DeleteEndpointGroup', 'DeleteEndpointGroups',
+ 'DeleteForwardingRules', 'DeleteIpSet', 'DeleteIpSets', 'DeleteListener', 'DeleteSpareIps', 'DescribeAcceleratorAutoRenewAttribute', 'DescribeAcceleratorServiceStatus', 'DescribeBandwidthPackageAutoRenewAttribute', 'DescribeCustomRoutingEndPointTrafficPolicy', 'DescribeCustomRoutingEndpoint', 'DescribeCustomRoutingEndpointGroup', 'DescribeCustomRoutingEndpointGroupDestinations', 'DescribeLogStoreOfEndpointGroup', 'DescribeRegions', 'DetachLogStoreFromEndpointGroup', 'DetectApplicationMonitor', 'DisableApplicationMonitor', 'DisassociateResources', 'DissociateAclsFromListener', 'DissociateAdditionalCertificatesFromListener',
+ 'EnableApplicationMonitor', 'GetAcl', 'GetBasicAccelerateIp', 'GetBasicAccelerateIpEndpointRelation', 'GetBasicAccelerateIpIdleCount', 'GetBasicAccelerator', 'GetBasicEndpoint', 'GetBasicEndpointGroup', 'GetBasicIpSet', 'GetGlobalAcceleratorResources', 'GetInvalidDomainCount', 'GetIpsetsBandwidthLimit', 'GetSpareIp', 'ListAcls', 'ListApplicationMonitorDetectResult', 'ListBandwidthPackages', 'ListBasicAccelerateIpEndpointRelations', 'ListBasicAccelerateIps', 'ListBasicAccelerators', 'ListBasicEndpoints',
+ 'ListCustomRoutingEndpointGroupDestinations', 'ListCustomRoutingEndpointGroups', 'ListCustomRoutingEndpointTrafficPolicies', 'ListCustomRoutingEndpoints', 'ListDomains', 'ListEndpointGroupIpAddressCidrBlocks', 'ListIpSets', 'ListIspTypes', 'ListListenerCertificates', 'ListSpareIps', 'ListSystemSecurityPolicies', 'ListTagResources', 'OpenAcceleratorService', 'QueryCrossBorderApprovalStatus', 'RemoveEntriesFromAcl', 'ReplaceBandwidthPackage', 'TagResources', 'UntagResources', 'UpdateAcceleratorConfirm', 'UpdateAclAttribute',
+ 'UpdateAdditionalCertificateWithListener', 'UpdateApplicationMonitor', 'UpdateBandwidthPackagaAutoRenewAttribute', 'UpdateBasicAccelerator', 'UpdateBasicEndpoint', 'UpdateBasicIpSet', 'UpdateCustomRoutingEndpointGroupDestinations', 'UpdateCustomRoutingEndpointTrafficPolicies', 'UpdateCustomRoutingEndpoints', 'UpdateDomain', 'UpdateEndpointGroupAttribute', 'UpdateIpSet', 'UpdateIpSets', 'UpdateLogStoreConfig', 'UpdateServiceManagedControl',
],
- ],
- [
- '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',
- ],
+ 'AddEntriesToAcl' => [
+ 'summary' => 'Adds IP entries to an access control policy group and allows or restricts the forwarding of access requests to listeners for these IP entries by using Settings such as whitelists or blacklists, enabling precise control over client requests. You can call the AddEntriesToAcl operation to add IP entries to an access control policy group.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '22289',
+ '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,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
- ],
- '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',
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the access control policy group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
],
- ],
- 'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'AclEntries',
'in' => 'query',
+ 'style' => 'repeatList',
'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',
- ],
- ],
- ],
+ 'description' => 'The access control policy group entries to add. An entry can be an IP address or a CIDR block.'."\n"
+ ."\n"
+ .'You can add up to 50 entries at a time.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The access control policy group entries to add. An entry can be an IP address or a CIDR block. You can add up to 50 entries at a time.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Entry' => ['description' => 'The access control policy group entry to add. An entry can be an IP address or a CIDR block. You can add up to 50 entries at a time.'."\n"
+ ."\n"
+ .'> This parameter is required.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX/24', 'title' => ''],
+ 'EntryDescription' => ['description' => 'The description of the access control policy group entry.'."\n"
+ ."\n"
+ .'You can add descriptions for up to 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 (_). Chinese characters are supported.', 'type' => 'string', 'required' => false, 'example' => 'test-entry', 'title' => ''],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'required' => true,
+ 'docRequired' => true,
+ 'maxItems' => 50,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
],
- ],
- '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' => [],
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of a 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 **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''],
],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'DryRun',
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ .'- **true**: performs a dry run. The system checks the required parameters, request format, and business limitations without actually adding IP entries to the access control policy group. If the check fails, the corresponding error is returned. If the check succeeds, the `DryRunOperation` error code is returned.'."\n"
+ .'- **false** (default): sends a normal request. If the check succeeds, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'],
+ 'AclId' => ['description' => 'The ID of the access control policy group.', 'type' => 'string', 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 400 => [
+ ['errorCode' => 'NotExist.Acl', 'errorMessage' => 'acl %s is not exist', 'description' => 'The ACL %s does not exist.'],
+ ['errorCode' => 'StateError.Acl', 'errorMessage' => 'acl state %s is illegal', 'description' => 'The status of the ACL %s is invalid.'],
+ ['errorCode' => 'IsExist.AclEntriesIsExist', 'errorMessage' => 'acl entries %s is exist', 'description' => 'The ACL entry %s already exists.'],
+ ['errorCode' => 'QuotaExceeded.AclEntries', 'errorMessage' => 'The number of acl entries exceeds the limit', 'description' => 'The number of entries in the ACL exceeds the upper limit.'],
+ ['errorCode' => 'Repeat.AclEntries', 'errorMessage' => 'acl entries repeat', 'description' => 'ACL entries are duplicate.'],
+ ],
+ ],
+ 'title' => 'Add IP entries to an access control policy group',
+ 'description' => '- **AddEntriesToAcl** is an asynchronous operation. After a request is sent, the system returns a request ID, but the IP entries are not yet added. The addition node continues in the background. You can call [GetAcl](~~258292~~) or [ListAcls](~~258291~~) to query the status of the access control policy group:'."\n"
+ .' - If the access control policy group is in the **configuring** state, the IP entries are being added. In this state, you can only perform query operations and cannot perform other operations.'."\n"
+ .' - If the access control policy group is in the **active** state, the IP entries are added.'."\n"
+ .'- You cannot concurrently call **AddEntriesToAcl** to add IP entries to an access control policy group within the same Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:53.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-23T16:02:47.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-23T16:02:42.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-11T04:02:01.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddEntriesToAcl'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AddEntriesToAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ],
],
],
],
- '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.',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n}","type":"json"}]',
],
- 'ListAvailableBusiRegions' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'AssociateAclsWithListener' => [
+ 'summary' => 'Invokes the AssociateAclsWithListener operation to associate access control policy groups with a listener.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8884',
- 'abilityTreeNodes' => [
- 'FEATUREgaC1Y0Y9',
- ],
+ 'abilityTreeCode' => '22291',
+ '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,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator instance. Set the value to **ap-southeast-1**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'AclIds',
'in' => 'query',
+ 'style' => 'repeatList',
'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.',
+ 'description' => 'The ID of the access control policy group. You can associate up to two access control policy groups.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the access control policy group. You can associate up to two access control policy groups.', 'type' => 'string', 'required' => false, 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
+ 'required' => true,
+ 'docRequired' => true,
+ 'maxItems' => 2,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
],
- ],
- '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' => [],
+ 'name' => 'ListenerId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The listener ID.'."\n"
+ ."\n"
+ .'Only intelligent routing listeners support the access control feature.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
[
- 'name' => 'IpVersion',
+ 'name' => 'AclType',
'in' => 'query',
'schema' => [
- 'description' => 'The IP version used to connect to the GA instance. Valid values:'."\n"
- ."\n"
- .'* **IPv4** (default)'."\n"
- .'* **IPv6**'."\n",
+ 'description' => 'The type of access control. Valid values:'."\n"
+ .'- **white**: Only requests from the IP addresses or CIDR blocks Settings in the specified access control policy group are forwarded. Whitelists are applicable to scenarios in which you want to allow only specific IP addresses to access your application. After you enable a whitelist, only the IP addresses in the whitelist can access the Global Accelerator listener. If you enable a whitelist but the access control policy group does not contain any IP addresses, the Global Accelerator listener forwards all requests.'."\n"
+ .'- **black**: All requests from the IP addresses or CIDR blocks Settings in the specified access control policy group are blocked. Blacklists are applicable to scenarios in which you want to block specific IP addresses from accessing your application. If you enable a blacklist but the access control policy group does not contain any IP addresses, the Global Accelerator listener forwards all requests.',
'type' => 'string',
- 'required' => false,
- 'example' => 'IPv4',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'white',
+ 'enum' => ['white', 'black'],
+ 'title' => '',
],
],
[
- 'name' => 'IsIpSet',
+ 'name' => 'ClientToken',
'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',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotency 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 uses the **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4****', 'title' => ''],
],
[
- 'name' => 'IsEpg',
+ 'name' => 'DryRun',
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ .'- **true**: performs a dry run without associating the resources. The system checks the required parameters, request syntax, and business 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, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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",
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF'],
+ 'AclIds' => [
+ 'description' => 'The ID of the access control policy group.',
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'items' => ['description' => 'The ID of the access control policy group.', 'type' => 'string', 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'ListenerId' => ['description' => 'The listener ID.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'listener %s is not exist', 'description' => 'The listener %s does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'listener %s is not active', 'description' => 'The listener %s is unavailable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'accelerator %s is not exist', 'description' => 'The GA instance %s does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'NotExist.Acl', 'errorMessage' => 'acl %s is not exist', 'description' => 'The ACL %s does not exist.'],
+ ['errorCode' => 'StateError.Acl', 'errorMessage' => 'acl state %s is illegal', 'description' => 'The status of the ACL %s is invalid.'],
+ ],
+ ],
+ 'title' => 'Associate aCLs with a listener',
+ 'description' => '- **AssociateAclsWithListener** is an asynchronous operation. After you send a request, the system returns a request ID, but the access control policy group is not yet associated with the listener. The association node continues to run in the background. You can invoke [DescribeListener](~~153254~~) to query the listener status:'."\n"
+ .' - If the listener is in the **updating** state, the access control policy group is being associated with the listener. In this state, you can only execute query operations and cannot execute other operations.'."\n"
+ .' - If the listener is in the **active** state, the access control policy group is associated with the listener.'."\n"
+ .'- You cannot concurrently associate access control policy groups with listeners within the same Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:06.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateAclsWithListener'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AssociateAclsWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#ListenerId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\",\\n \\"AclIds\\": [\\n \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n ],\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\"\\n}","type":"json"}]',
+ ],
+ 'AssociateAdditionalCertificatesWithListener' => [
+ 'summary' => 'Binds multiple certificates to an HTTPS listener of a Global Accelerator instance. Combined with virtual endpoint groups and forwarding rules, this enables accelerated access to multiple HTTPS domain names. You can call the AssociateAdditionalCertificatesWithListener operation to bind additional certificates to an HTTPS listener.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -885,121 +390,139 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '152996',
- 'abilityTreeNodes' => [
- 'FEATUREgaTV52LF',
- ],
+ 'abilityTreeCode' => '42918',
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'AcceleratorId',
'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****',
- ],
+ 'schema' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA).', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'NewResourceGroupId',
+ 'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the new resource group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'rg-aekzrnd67gq****',
- ],
+ 'schema' => ['description' => 'The instance ID of the listener. Only HTTPS listeners are supported.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'Certificates',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The type of the GA resource. Valid values:'."\n"
+ 'description' => 'The list of additional certificates.'."\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',
+ .'You can specify up to 10 certificates at a time.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of additional certificates.'."\n"
+ ."\n"
+ .'You can specify up to 10 certificates at a time.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => ['description' => 'The certificate ID. Only server certificates are supported.'."\n"
+ ."\n"
+ .'You can specify up to 10 certificate IDs at a time.', 'type' => 'string', 'required' => true, 'example' => '6092**-cn-hangzhou', 'title' => ''],
+ 'Domain' => ['description' => 'The domain name for which the certificate takes effect. Each domain name can be bound to only one additional certificate.'."\n"
+ ."\n"
+ .'You can specify up to 10 domain names at a time.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
+ 'required' => true,
+ 'maxItems' => 10,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
+ 'ListenerId' => ['description' => 'The listener instance ID.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'ProtocalIllegal.Listener', 'errorMessage' => 'The specified listener protocol is invalid.', 'description' => 'The specified listener protocol is invalid.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'QuotaExceeded.Listener', 'errorMessage' => 'The maximum number of listeners is exceeded.', 'description' => 'The maximum number of listeners is exceeded.'],
+ ['errorCode' => 'PortRangeIllegal.Listener', 'errorMessage' => 'The specified listener port range is invalid.', 'description' => 'The specified listener port range is invalid.'],
+ ['errorCode' => 'PortConflict.Listener', 'errorMessage' => 'The listener port configuration is in conflict.', 'description' => 'The listener port configurations are in conflict.'],
+ ['errorCode' => 'QuotaExceeded.ListenerPort', 'errorMessage' => 'The maximum number of listener ports is exceeded.', 'description' => '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).', 'description' => '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.', 'description' => ''],
+ ['errorCode' => 'SystemPort.Listener', 'errorMessage' => 'Ports 65500-65535 are system reserved ports.', 'description' => 'Ports 65500 to 65535 are reserved by the system.'],
+ ['errorCode' => 'PortRanges.MustOne', 'errorMessage' => 'The portRanges must be one for HTTPS and HTTP type listener.', 'description' => 'Only one port is supported for HTTPS and HTTP type listeners.'],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
+ ],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'Bind additional certificates to an HTTPS listener',
+ 'description' => '- Only HTTPS protocol listeners support attaching extension certificates.'."\n"
+ .'- The **AssociateAdditionalCertificatesWithListener** operation is asynchronous. After you send a request, the system returns a request ID, but the attachment between the HTTPS listener and the extension certificates is not yet complete because the association node is still running in the background. You can invoke [DescribeListener](~~153254~~) to query the listener status:'."\n"
+ .' - If the listener is in the **updating** state, the HTTPS listener and extension certificates are being attached. In this state, you can only execute query operations.'."\n"
+ .' - If the listener is in the **active** state, the HTTPS listener and extension certificates are attached.'."\n"
+ .'- The **AssociateAdditionalCertificatesWithListener** operation does not support concurrent requests to attach extension certificates to HTTPS listeners within the same Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:18.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-08-04T19:13:05.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateAdditionalCertificatesWithListener'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AssociateAdditionalCertificatesWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\"\\n}","type":"json"}]',
],
- 'TagResources' => [
- 'summary' => 'Adds tags to Global Accelerator (GA) resources.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'AssociateResources' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -1008,1250 +531,507 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '152997',
- 'abilityTreeNodes' => [
- 'FEATUREgaZTNSJU',
- ],
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '285202',
+ 'abilityTreeNodes' => ['FEATUREga231EJR'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Alibaba Cloud Global Accelerator (GA) instance ID. ', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
+ 'name' => 'AssociatedResourceType',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n",
+ 'description' => 'Resource type of the linked instance. ',
'type' => 'string',
'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ 'enum' => ['WAF'],
+ 'example' => 'WAF',
+ 'title' => '',
],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'AssociatedResourceId',
'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',
- ],
+ 'schema' => ['description' => 'Resource ID of the linked instance. ', 'type' => 'string', 'required' => false, 'example' => 'waf_xx', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'AssociatedResourceRegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Region of the linked instance. ', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'AssociatedMode',
'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",
+ 'description' => 'Association pattern: '."\n"
+ .'- **Managed**: Managed mode. GA restricts user operations based on management policies. Currently, no resources use this type. '."\n"
+ .'- **Associated** (default): Loose coupling association. GA does not restrict user operations. WAF uses loose coupling. ',
'type' => 'string',
- 'required' => true,
- 'example' => 'accelerator',
+ 'default' => 'Associated',
+ 'enum' => ['Associated', 'Managed'],
+ 'required' => false,
+ 'example' => 'Associated',
+ 'title' => '',
],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'RegionId',
'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,
- ],
+ 'schema' => ['description' => 'Region ID of the basic Alibaba Cloud Global Accelerator (GA) instance. Valid value: **cn-hangzhou** only. ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'DryRun',
'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,
- ],
+ 'schema' => ['description' => 'Indicates whether to perform a dry run of the request. Valid values: '."\n"
+ .'- **true**: Sends a dry run request without associating resources. Checks include required parameters, request format, and business restrictions. If the check fails, an error is returned. If the check passes, an HTTP 2xx status code is returned. '."\n"
+ .'- **false** (Default Value): Sends a normal request. If the check passes, an HTTP 2xx status code is returned and the endpoint group is created immediately. ', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters of the operation.'."\n",
+ 'description' => 'Schema of Response ',
+ 'title' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
- ],
+ 'RequestId' => ['description' => 'ID of the request ', 'title' => '', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6'],
+ 'AssociatedResourceId' => ['description' => 'Linked instance ID. ', 'type' => 'string', 'example' => 'waf_xx', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'Alibaba Cloud Global Accelerator (GA) instance ID. ', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'accelerator %s is not exist', 'description' => 'The GA instance %s does not exist.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Ga::2019-11-20::DescribeAccelerator', 'callbackInterval' => 10000, 'maxCallbackTimes' => 30],
+ 'title' => 'Attach peripheral resources to an Alibaba Cloud Global Accelerator (GA) instance ',
+ 'summary' => 'Alibaba Cloud Global Accelerator (GA) Integration with Cloud Products ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:AssociateResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"AssociatedResourceId\\": \\"waf_xx\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\"\\n}","type":"json"}]',
+ ],
+ 'AttachDdosToAccelerator' => [
+ 'summary' => 'If you want to protect your Global Accelerator (GA) applications from large-scale DDoS attacks and ensure service stability and availability, you can call the AttachDdosToAccelerator operation to associate an Anti-DDoS Pro or Anti-DDoS Premium instance with a GA instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '152999',
- 'abilityTreeNodes' => [
- 'FEATUREgaZTNSJU',
- ],
+ 'abilityTreeCode' => '7838',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the Global Accelerator (GA) instance with which you want to associate the Anti-DDoS Pro or Anti-DDoS Premium instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'DdosId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the Anti-DDoS Pro or Anti-DDoS Premium instance to associate with the Global Accelerator (GA) instance.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'docRequired' => true, 'example' => 'ddoscoo-cn-zz11vq7j****', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'DdosRegionId',
'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****',
- ],
+ 'schema' => ['description' => 'The region of the Anti-DDoS Pro or Anti-DDoS Premium instance. Valid values:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**: the Chinese mainland.'."\n"
+ ."\n"
+ .'- **ap-southeast-1**: outside the Chinese mainland.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- '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',
+ 'name' => 'RegionId',
'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,
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'DdosConfigList',
'in' => 'query',
- 'style' => 'repeatList',
+ 'style' => 'flat',
'schema' => [
- 'title' => '标签列表,最多包含20个子项',
- 'description' => 'An array of tags of GA resources.'."\n"
- ."\n"
- .'You can specify up to 20 tags.'."\n",
+ 'description' => 'The list of Anti-DDoS Pro or Anti-DDoS Premium instances to associate with the Global Accelerator (GA) instance.',
'type' => 'array',
'items' => [
- 'description' => 'The tags of GA resources.'."\n"
- ."\n"
- .'You can specify up to 20 tags.'."\n",
+ 'description' => 'The list of Anti-DDoS Pro or Anti-DDoS Premium instances to associate with the Global Accelerator (GA) instance.',
'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',
- ],
+ 'DdosRegionId' => ['description' => 'The region of the Anti-DDoS Pro or Anti-DDoS Premium instance. Valid values:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**: the Chinese mainland.'."\n"
+ ."\n"
+ .'- **ap-southeast-1**: outside the Chinese mainland.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ 'DdosId' => ['description' => 'The ID of the Anti-DDoS Pro or Anti-DDoS Premium instance to associate with the Global Accelerator (GA) instance.', 'type' => 'string', 'required' => false, 'example' => 'ddoscoo-cn-zz11vq7j****', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
- 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: performs a dry run without actually associating the instances. The system checks the required parameters, request syntax, and business limits. If the check fails, the corresponding error is returned. If the check passes, an HTTP 2xx status code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): sends the request. After the request passes the check, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response struct.',
'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',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'DdosId' => ['description' => 'The ID of the Anti-DDoS Pro or Anti-DDoS Premium instance associated with the Global Accelerator (GA) instance.', 'type' => 'string', 'deprecated' => true, 'example' => 'ddoscoo-cn-zz11vq7j****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', 'title' => ''],
+ 'GaId' => ['description' => 'The ID of the Global Accelerator (GA) instance with which the Anti-DDoS Pro or Anti-DDoS Premium instance is associated.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'DdosId.Error', 'errorMessage' => 'Failed to find the DDoS instance based on the DDoS ID.', 'description' => 'Failed to find the DDoS instance based on the DDoS ID.'],
+ ['errorCode' => 'NoPermission.GaDdosRoleSession', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: ddos.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaAntiDDos. Permission: ram:CreateServiceLinkedRole.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'Associate an Anti-DDoS Pro or Anti-DDoS Premium instance with a Global Accelerator instance',
+ 'description' => 'Note the following when you call this operation:'."\n"
+ ."\n"
+ .'- AttachDdosToAccelerator is an asynchronous operation. After you send a request, the system returns a request ID, but the Anti-DDoS Pro or Anti-DDoS Premium instance is not yet associated with the Global Accelerator (GA) instance. The associate task continues to run in the background. You can call [DescribeAccelerator](~~153235~~) or [ListAccelerators](~~153236~~) to query the status of the GA instance:'."\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 state, you can only perform 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"
+ .'- The AttachDdosToAccelerator operation does not support concurrent requests to associate Anti-DDoS Pro or Anti-DDoS Premium instances with the same GA instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:13:02.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-05-07T05:54:56.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachDdosToAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AttachDdosToAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DdosId\\": \\"ddoscoo-cn-zz11vq7j****\\",\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"GaId\\": \\"ga-bp1odcab8tmno0hdq****\\"\\n}","type":"json"}]',
+ ],
+ 'AttachLogStoreToEndpointGroup' => [
+ 'summary' => 'Associates a Simple Log Service (SLS) Logstore with an endpoint group.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '152998',
- 'abilityTreeNodes' => [
- 'FEATUREgaZTNSJU',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'SlsProjectName',
'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',
- ],
+ 'schema' => ['description' => 'The name of the SLS project.', 'type' => 'string', 'required' => true, 'example' => 'pn-01', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'SlsLogStoreName',
'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',
- ],
+ 'schema' => ['description' => 'The name of the SLS Logstore.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lsn-01', 'title' => ''],
],
[
- 'name' => 'All',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'ListenerId',
'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,
- ],
+ 'schema' => ['description' => 'The instance ID of the listener.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
- 'name' => 'TagKey',
+ 'name' => 'SlsRegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the SLS service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupIds',
'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",
+ 'description' => 'The list of endpoint group IDs.',
'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',
- ],
- ],
+ 'items' => ['description' => 'The list of endpoint group IDs.', 'type' => 'string', 'required' => true, 'example' => '[\'epg-bp1dmlohjjz4kqaun****\',\'epg-bp1v1u72cx35ogofe****\', ...]', 'title' => ''],
+ 'required' => true,
+ 'docRequired' => true,
+ 'maxItems' => 10,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
],
- ],
- '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',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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 **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'CommodityCode',
+ 'name' => 'AccessLogRecordCustomizedHeaderList',
'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'style' => 'repeatList',
'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',
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'maxItems' => 100,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'OrderType',
+ 'name' => 'AccessLogRecordCustomizedHeadersEnabled',
'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',
- ],
+ 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8'],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 400 => [
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'NotSupportAccessLog.Accelerator', 'errorMessage' => 'Currently Accelerator does not support access log feature', 'description' => ''],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
+ ],
+ ],
+ 'title' => 'Associate an SLS logstore with an endpoint group',
+ 'description' => '- **AttachLogStoreToEndpointGroup** is an asynchronous operation. After you send a request, the system returns a request ID, but the association between the SLS Logstore and the endpoint group is not yet complete. The association node continues to run in the background. You can invoke [DescribeEndpointGroup](~~153260~~) to query the status of the endpoint group:'."\n"
+ .' - If the endpoint group is in the **updating** state, the SLS Logstore is being associated with the endpoint group. In this state, you can only execute query operations.'."\n"
+ .' - If the endpoint group is in the **active** state, the SLS Logstore is associated with the endpoint group.'."\n"
+ .'- **AttachLogStoreToEndpointGroup** does not support concurrent association of SLS Logstores with endpoint groups within the same Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-23T02:00:51.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T08:50:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T08:50:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T07:45:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T03:43:22.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-14T09:39:34.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T13:37:43.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachLogStoreToEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AttachLogStoreToEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endPointGroupId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
],
],
- '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.',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","type":"json"}]',
],
- 'DescribeCommodityPrice' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'BandwidthPackageAddAccelerator' => [
+ 'summary' => 'Invokes the BandwidthPackageAddAccelerator operation to attach a bandwidth plan to an Alibaba Cloud Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '7839',
+ 'abilityTreeNodes' => ['FEATUREgaAKFA2Q'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Orders',
+ 'name' => 'BandwidthPackageId',
'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,
- ],
+ 'schema' => ['description' => 'The ID of the bandwidth plan to attach to the Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
[
- 'name' => 'PromotionOptionNo',
+ 'name' => 'AcceleratorId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the Alibaba Cloud Global Accelerator (GA) instance to which the bandwidth plan is attached.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1qe94o52ot4pkfn****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B7770CB9-9745-4FE5-9EDA-D14B01A12A50', 'title' => ''],
+ 'Accelerators' => [
+ 'description' => 'The ID of the Alibaba Cloud Global Accelerator (GA) instance to which the bandwidth plan is attached.',
'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',
+ 'items' => ['description' => 'The ID of the Alibaba Cloud Global Accelerator (GA) instance to which the bandwidth plan is attached.', 'type' => 'string', 'example' => 'ga-bp1qe94o52ot4pkfn****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'BandwidthPackageId' => ['description' => 'The ID of the bandwidth plan attached to the Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParameter.Spec',
- 'errorMessage' => 'The specified Spec is invalid.',
- ],
+ ['errorCode' => 'NotExist.BandwidthPackage', 'errorMessage' => 'The bandwidth package does not exist.', 'description' => 'The bandwidth package does not exist.'],
+ ['errorCode' => 'StateError.BandwidthPackage', 'errorMessage' => 'The state of bandwidth package is invalid.', 'description' => 'The bandwidth plan is in an invalid state.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA 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.',
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'Attach a bandwidth plan to a Global Accelerator instance',
+ 'description' => '- **BandwidthPackageAddAccelerator** is an asynchronous operation. After you send a request, the system returns a request ID, but the bandwidth plan is not yet attached to the Alibaba Cloud Global Accelerator (GA) instance. The attachment node continues to run in the background. You can invoke [DescribeBandwidthPackage](~~153241~~) to query the status of the bandwidth plan:'."\n"
+ .' - If the bandwidth plan is in the **binding** state, the bandwidth plan is being attached to the Alibaba Cloud Global Accelerator (GA) instance. In this state, you can only execute query operations.'."\n"
+ .' - If the bandwidth plan is in the **active** state, the bandwidth plan is attached to the Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ .'- The **BandwidthPackageAddAccelerator** operation does not support concurrent requests to attach bandwidth plans to the same Alibaba Cloud Global Accelerator (GA) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T07:04:27.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T07:04:25.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-13T07:33:16.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BandwidthPackageAddAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:BandwidthPackageAddAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B7770CB9-9745-4FE5-9EDA-D14B01A12A50\\",\\n \\"Accelerators\\": [\\n \\"ga-bp1qe94o52ot4pkfn****\\"\\n ],\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\"\\n}","type":"json"}]',
],
- 'BandwidthPackageAddAccelerator' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'BandwidthPackageRemoveAccelerator' => [
+ 'summary' => 'Invokes the BandwidthPackageRemoveAccelerator operation to disassociate a bandwidth plan from an Alibaba Cloud Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2263,120 +1043,101 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '7839',
- 'abilityTreeNodes' => [
- 'FEATUREgaAKFA2Q',
- ],
+ 'abilityTreeCode' => '7840',
+ 'abilityTreeNodes' => ['FEATUREgaU0NK4N'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **ap-southeast-1**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'BandwidthPackageId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bandwidth plan ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'gbwp-bp1sgzldyj6b4q7cx****',
- ],
+ 'schema' => ['description' => 'The ID of the bandwidth plan to disassociate from the Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1qe94o52ot4pkfn****',
- ],
+ 'schema' => ['description' => 'The ID of the Alibaba Cloud Global Accelerator (GA) instance to disassociate from the bandwidth plan.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1qe94o52ot4pkfn****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'B7770CB9-9745-4FE5-9EDA-D14B01A12A50',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B7770CB9-9745-4FE5-9EDA-D14B01A12A50', 'title' => ''],
'Accelerators' => [
- 'description' => 'The GA instance IDs.'."\n",
+ 'description' => 'The ID of the Alibaba Cloud Global Accelerator (GA) instance disassociated from the bandwidth plan.',
'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****',
+ 'items' => ['description' => 'The ID of the Alibaba Cloud Global Accelerator (GA) instance disassociated from the bandwidth plan.', 'type' => 'string', 'example' => 'ga-bp1qe94o52ot4pkfn****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'BandwidthPackageId' => ['description' => 'The ID of the bandwidth plan disassociated from the Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.BandwidthPackage', 'errorMessage' => 'The bandwidth package does not exist.', 'description' => 'The bandwidth package does not exist.'],
+ ['errorCode' => 'StateError.BandwidthPackage', 'errorMessage' => 'The state of bandwidth package is invalid.', 'description' => 'The bandwidth plan is in an invalid state.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'BandwidthPackageCannotUnbind.EndpointGroup', 'errorMessage' => 'Cross-border bandwidth package cannot be unbound, because endpointGroup contains unsupported regions after unbinding.', 'description' => ''],
+ ['errorCode' => 'Exist.EndpointGroup', 'errorMessage' => 'The endpoint group already exists.', 'description' => '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.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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",
+ 'title' => 'Disassociate a bandwidth plan from a global accelerator instance',
+ 'description' => '- Before you invoke the **BandwidthPackageRemoveAccelerator** operation, make sure that no acceleration regions or endpoint groups exist under the Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ .' - To delete an acceleration region, see [DeleteIpSet](~~2253276~~) or [DeleteIpSets](~~2253278~~).'."\n"
+ .' - To delete an endpoint group, see [DeleteEndpointGroup](~~2253305~~), [DeleteEndpointGroups](~~2253311~~), or [DeleteCustomRoutingEndpointGroups](~~2303183~~).'."\n"
+ .'- The **BandwidthPackageRemoveAccelerator** operation is asynchronous. After you send a request, the system returns a request ID, but the disassociation has not yet completed. The disassociation node continues to run in the background. You can invoke [DescribeBandwidthPackage](~~153241~~) to query the status of the bandwidth plan:'."\n"
+ .' - If the bandwidth plan is in the **unbinding** state, the bandwidth plan is being disassociated from the GA instance. In this state, you can only execute query operations.'."\n"
+ .' - If the bandwidth plan is in the **active** state, the bandwidth plan is disassociated from the GA instance.'."\n"
+ .'- The **BandwidthPackageRemoveAccelerator** operation does not support concurrent disassociation of bandwidth plans from the same GA instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'BandwidthPackageRemoveAccelerator' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T07:04:27.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T07:04:26.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-13T07:33:16.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BandwidthPackageRemoveAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:BandwidthPackageRemoveAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B7770CB9-9745-4FE5-9EDA-D14B01A12A50\\",\\n \\"Accelerators\\": [\\n \\"ga-bp1qe94o52ot4pkfn****\\"\\n ],\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\"\\n}","type":"json"}]',
+ ],
+ 'ChangeResourceGroup' => [
+ 'summary' => 'Modifies the resource group to which a Global Accelerator resource belongs by calling the ChangeResourceGroup operation.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2388,156 +1149,180 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '7840',
- 'abilityTreeNodes' => [
- 'FEATUREgaU0NK4N',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **ap-southeast-1**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'BandwidthPackageId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'gbwp-bp1sgzldyj6b4q7cx****',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of a 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 **ClientToken** value can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The instance ID of the Global Accelerator resource for which you want to modify the resource group.'."\n"
+ .'- If **ResourceType** is set to **accelerator**, set this parameter to the instance ID of a standard Global Accelerator instance.'."\n"
+ .'- If **ResourceType** is set to **basicaccelerator**, set this parameter to the instance ID of a basic Global Accelerator instance.'."\n"
+ .'- If **ResourceType** is set to **bandwidthpackage**, set this parameter to the ID of a bandwidth plan.'."\n"
+ .'- If **ResourceType** is set to **acl**, set this parameter to the ID of an access control policy group.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp149u6o36qt1as9b****', 'title' => ''],
+ ],
+ [
+ 'name' => 'NewResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the new resource group.', 'type' => 'string', 'required' => true, 'example' => 'rg-aekzrnd67gq****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceType',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
+ 'description' => 'The type of the Global Accelerator resource for which you want to modify the resource group. Valid values:'."\n"
+ .'- **accelerator**: a standard Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ .'- **basicaccelerator**: a basic Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ .'- **bandwidthpackage**: a bandwidth plan.'."\n"
+ .'- **acl**: an access control policy group.',
'type' => 'string',
'required' => true,
- 'example' => 'ga-bp1qe94o52ot4pkfn****',
+ 'minLength' => 0,
+ 'enum' => ['accelerator', 'basicaccelerator', 'bandwidthpackage', 'acl'],
+ 'example' => 'accelerator',
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned information.'."\n",
+ 'description' => 'The response parameters.',
'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****',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'Modify the resource group of a global accelerator resource',
+ 'description' => 'The **ChangeResourceGroup** operation does not support concurrent modifications to the resource group of Global Accelerator resources within the same Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-26T08:15:01.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-24T05:56:32.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-09-04T08:32:30.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-09-04T08:25:54.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-11-03T13:01:33.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeResourceGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:ChangeResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthpackageId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#basicGaId}'],
+ ],
],
],
],
- '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' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]',
],
- 'DescribeBandwidthPackage' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ConfigEndpointProbe' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '7843',
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'BandwidthPackageId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'gbwp-bp1sgzldyj6b4q7cx****',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The endpoint group ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'Endpoint',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The endpoint.'."\n", 'type' => 'string', 'required' => true, 'example' => '127.0.XX.XX', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -2546,939 +1331,720 @@
'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,
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
+ ],
+ ],
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:48.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ConfigEndpointProbe'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:ConfigEndpointProbe',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'CreateAccelerator' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '7844',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
+ 'tenantRelevance' => 'publicInformation',
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'deprecated' => true, 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'Generate a parameter value from your client to make sure that the value is unique among different requests. The ClientToken parameter can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567****', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'Name',
'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',
- ],
+ 'schema' => ['description' => 'The name of the GA instance.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length, start with a letter, and can contain digits, underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'State',
+ 'name' => 'Duration',
'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',
- ],
+ 'schema' => ['description' => 'The subscription duration.'."\n"
+ ."\n"
+ .'- If **PricingCycle** is set to **Month**, the valid values for **Duration** are **1** to **9**.'."\n"
+ ."\n"
+ .'- If **PricingCycle** is set to **Year**, the valid values for **Duration** are **1** to **3**.'."\n"
+ ."\n"
+ .'> This parameter is required if **InstanceChargeType** (the billing method of the GA instance) is set to **PREPAY** (subscription).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'Type',
+ 'name' => 'PricingCycle',
'in' => 'query',
'schema' => [
- 'description' => 'The type of the bandwidth plan. Valid values:'."\n"
+ 'description' => 'The billing cycle. Valid values:'."\n"
+ ."\n"
+ .'- **Month**: Billed by month.'."\n"
."\n"
- .'* **Basic**: a basic bandwidth plan'."\n"
- .'* **CrossDomain**: a cross-border acceleration bandwidth plan'."\n"
+ .'- **Year**: Billed by year.'."\n"
."\n"
- .'If you call this operation on the China site (aliyun.com), you can set Type only to **Basic**.'."\n",
+ .'> This parameter is required if **InstanceChargeType** (the billing method of the GA instance) is set to **PREPAY** (subscription).',
'type' => 'string',
'required' => false,
- 'example' => 'Basic',
+ 'enum' => ['Year', 'Month', 'Day', 'Hour'],
+ 'example' => 'Month',
+ 'title' => '',
],
],
[
- 'name' => 'BandwidthPackageId',
+ 'name' => 'Spec',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The instance type of the GA instance. Valid values:'."\n"
+ ."\n"
+ .'- **1**: Small I'."\n"
+ ."\n"
+ .'- **2**: Small II'."\n"
+ ."\n"
+ .'- **3**: Small III'."\n"
+ ."\n"
+ .'- **5**: Medium I'."\n"
+ ."\n"
+ .'- **8**: Medium II'."\n"
+ ."\n"
+ .'- **10**: Medium III'."\n"
+ ."\n"
+ .'- **20**: Large I'."\n"
+ ."\n"
+ .'- **30**: Large II'."\n"
+ ."\n"
+ .'- **40**: Large III'."\n"
+ ."\n"
+ .'- **50**: Large IV'."\n"
+ ."\n"
+ .'- **60**: Large V'."\n"
+ ."\n"
+ .'- **70**: Large VI'."\n"
+ ."\n"
+ .'- **80**: Large VII'."\n"
+ ."\n"
+ .'- **90**: Large VIII'."\n"
+ ."\n"
+ .'- **100**: Super Large I'."\n"
+ ."\n"
+ .'- **200**: Super Large II'."\n"
+ ."\n"
+ .'> * Currently, the Large III and higher instance types are available only to users on the whitelist. To use these instance types, contact your account manager.'."\n"
+ .'>'."\n"
+ .'> * This parameter is required if **InstanceChargeType** (the billing method of the GA instance) is set to **PREPAY** (subscription).'."\n"
+ ."\n"
+ .'The definitions of different instance types are different. For more information, see [Instance types](~~153127~~).', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'AutoPay',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n"
+ ."\n"
+ .'- **false** (default): Disables automatic payment. After an order is generated, go to the Order Hub to complete the payment.'."\n"
+ ."\n"
+ .'- **true**: Enables automatic payment. The system automatically completes the payment.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'AutoUseCoupon',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to automatically apply coupons to your bills. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false** (default): No.'."\n"
+ ."\n"
+ .'> This parameter is valid only when **AutoPay** is set to **true**.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'AutoRenew',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to enable auto-renewal for the instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false** (default): No.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'AutoRenewDuration',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The auto-renewal duration. Unit: month.'."\n"
+ ."\n"
+ .'Valid values: **1** to **12**. Default value: **1**.'."\n"
+ ."\n"
+ .'> This parameter is valid only when **AutoRenew** is set to **true**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PromotionOptionNo',
'in' => 'query',
+ 'schema' => ['description' => 'The coupon code.'."\n"
+ ."\n"
+ .'> This parameter is available only on the Alibaba Cloud International Website (www\\.alibabacloud.com).', 'type' => 'string', 'required' => false, 'example' => '50003298014****', 'title' => ''],
+ ],
+ [
+ 'name' => 'BandwidthBillingType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The bandwidth billing method.'."\n"
+ ."\n"
+ .'- **BandwidthPackage**: Billed by bandwidth plan.'."\n"
+ ."\n"
+ .'- **CDT**: Billed by data transfer.', 'type' => 'string', 'required' => false, 'example' => 'BandwidthPackage', 'title' => ''],
+ ],
+ [
+ 'name' => 'IpSetConfig',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
+ 'description' => 'The configurations of the acceleration area.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessMode' => ['description' => 'The access mode of the acceleration area. Valid values:'."\n"
+ ."\n"
+ .'- **UserDefine**: Custom nearby access mode. Select acceleration areas and regions as needed. Global Accelerator provides a separate elastic IP address (EIP) for each acceleration region.'."\n"
+ ."\n"
+ .'- **Anycast**: Automatic nearby access mode. You do not need to configure an acceleration area. Global Accelerator provides an Anycast EIP for multiple regions. Users connect to the nearest access point of the Alibaba Cloud network using the Anycast EIP.', 'type' => 'string', 'required' => false, 'example' => 'UserDefine', 'title' => ''],
+ ],
'required' => false,
- 'example' => 'gbwp-bp1sgzldyj6b4q7cx****',
+ 'title' => '',
+ 'example' => '',
],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aek2ry6mp2c****',
- ],
+ 'schema' => ['description' => 'The ID of the resource group to which the standard GA instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzrnd67gq****', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'title' => '标签列表,最多包含20个子项',
- 'description' => 'The tag of the bandwidth plan.'."\n",
+ 'description' => 'The tags of the GA instance.',
'type' => 'array',
'items' => [
- 'description' => 'The tag of the bandwidth plan.'."\n",
+ 'description' => 'The tags of the GA instance.',
'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',
- ],
+ '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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tag-key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the 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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tag-value', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'InstanceChargeType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The billing method of the GA instance.'."\n"
+ ."\n"
+ .'- PREPAY (default): subscription.'."\n"
+ ."\n"
+ .'- POSTPAY: pay-as-you-go.', 'type' => 'string', 'required' => false, 'example' => 'PREPAY', 'title' => ''],
+ ],
+ [
+ '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 format, 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"
+ ."\n"
+ .'- **false** (default): Sends a normal request. If the request passes the check, a 2xx HTTP status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'Bandwidth',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The bandwidth of the standard GA instance. Unit: **Mbps**.'."\n"
+ ."\n"
+ .'Valid values: 200 to 5000.'."\n"
+ ."\n"
+ .'> This parameter is required and valid only when the access mode of the acceleration area is Anycast.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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,
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', 'title' => ''],
+ 'OrderId' => ['description' => 'Order ID.'."\n"
+ ."\n"
+ .'<props="china">'."\n"
+ ."\n"
+ .'The order ID. This parameter is returned when \\`InstanceChargeType\\` is set to \\`PREPAY\\` (subscription). If \\`AutoPay\\` is set to \\`false\\`, go to the [Order Hub](https://usercenter2.aliyun.com/order/list) on the Alibaba Cloud China site to complete the payment.'."\n"
+ ."\n"
+ .'</props>'."\n"
+ ."\n"
+ .'<props="intl">'."\n"
+ ."\n"
+ .'If you are using the Alibaba Cloud International site and \\`AutoPay\\` is set to \\`false\\`, go to the [Order Hub](https://usercenter2-intl.aliyun.com/order/list) to complete the payment.'."\n"
+ ."\n"
+ .'</props>', 'type' => 'string', 'example' => '208257****', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\",\\n \\"OrderId\\": \\"208257****\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","type":"json"}]',
+ 'title' => 'CreateAccelerator',
+ 'summary' => 'Global Accelerator (GA) is a network acceleration service that provides coverage across the globe. It uses Alibaba Cloud\'s high-quality Border Gateway Protocol (BGP) bandwidth and global transmission network to provide low-latency access from nearby locations. This reduces the impact of network issues, such as latency, jitter, and packet loss, on your service quality. GA provides a high-availability and high-performance network acceleration service for users worldwide. You can call the CreateAccelerator operation to create a Global Accelerator instance.',
+ 'description' => 'The **CreateAccelerator** operation is asynchronous. After you send a request, the system returns a Global Accelerator instance ID, but the instance is still being created in the background. You can call the [DescribeAccelerator](~~153235~~) operation to query the status of the Global Accelerator instance:'."\n"
+ ."\n"
+ .'- If a Global Accelerator instance is in the **init** state, the instance is being created. You can only perform query operations on the instance.'."\n"
+ ."\n"
+ .'- If a Global Accelerator instance is in the **active** state, the instance is created.',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:12:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-12-23T02:56:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:24.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-24T05:56:32.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-23T12:08:31.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-20T00:42:42.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-08-26T06:37:41.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-05-07T05:34:17.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-06-13T09:14:06.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-03-31T09:00:27.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-01-05T07:58:57.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2022-09-27T08:45:06.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2021-11-23T14:39:07.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
+ ],
+ ],
],
+ 'extraInfo' => ' ',
+ ],
+ 'CreateAcl' => [
+ 'summary' => 'Invokes the CreateAcl operation to create an access control policy group.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'high',
- 'chargeType' => 'paid',
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '21653',
+ 'abilityTreeNodes' => ['FEATUREgaUP4965'],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'BandwidthPackageId',
+ 'name' => 'AclName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan that you want to modify.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'gbwp-bp1sgzldyj6b4q7cx****',
- ],
+ 'schema' => ['description' => 'The name of the access control policy group.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and must start with a letter or a Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'test-acl', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'AddressIPVersion',
'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",
+ 'description' => 'The IP version of the access control policy group. Valid values:'."\n"
+ .'- **IPv4**'."\n"
+ .'- **IPv6**',
'type' => 'string',
- 'required' => false,
- 'example' => 'testName',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'IPv4',
+ 'enum' => ['IPv4', 'IPv6'],
+ 'title' => '',
],
],
[
- 'name' => 'Description',
+ 'name' => 'AclEntries',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The description of the bandwidth plan.'."\n"
+ 'description' => 'The access control policy group entries, which are IP address entries or CIDR block entries.'."\n"
."\n"
- .'The description can be up to 256 characters in length.'."\n",
- 'type' => 'string',
+ .'You can add up to 50 entries at a time.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The access control policy group entries, which are IP address entries or CIDR block entries.'."\n"
+ ."\n"
+ .'You can add up to 50 entries at a time.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Entry' => ['description' => 'The access control policy group entry, which is an IP address entry (192.168.XX.XX) or a CIDR block entry (10.0.XX.XX/24).'."\n"
+ ."\n"
+ .'You can add up to 50 entries at a time.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX/24', 'title' => ''],
+ 'EntryDescription' => ['description' => 'The description of the access control policy group entry.'."\n"
+ ."\n"
+ .'You can add descriptions for up to 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 (.), underscores (_), and Chinese characters.', 'type' => 'string', 'required' => false, 'example' => 'test-entry', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'testDescription',
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'Bandwidth',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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 uses the **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898', 'title' => ''],
],
[
- 'name' => 'BandwidthType',
+ 'name' => 'DryRun',
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ .'- **true**: performs a dry run without creating the access control policy group. The system checks the required parameters, request format, and business 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): sends a Normal request, passes the dry run, and returns an HTTP 2xx status code and directly performs the operation.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'AutoPay',
+ 'name' => 'ResourceGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmwj7wvng3jbi', 'title' => ''],
],
[
- 'name' => 'AutoUseCoupon',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to use coupons. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false** (default)'."\n",
- 'type' => 'boolean',
+ 'description' => 'The label information of the access control policy group.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The label information of the access control policy group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The label key of the access control policy group. Once specified, the label key cannot be an empty string.'."\n"
+ ."\n"
+ .'The label key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 label keys.', 'type' => 'string', 'required' => false, 'example' => 'tag-key', 'title' => ''],
+ 'Value' => ['description' => 'The label value of the access control policy group. Once specified, the label value can be an empty string.'."\n"
+ ."\n"
+ .'The label value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 label values.', 'type' => 'string', 'required' => false, 'example' => 'tag-value', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'false',
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'],
+ 'AclId' => ['description' => 'The access control policy group ID.', 'type' => 'string', 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
],
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'IsExist.AclEntriesIsExist', 'errorMessage' => 'acl entries %s is exist', 'description' => 'The ACL entry %s already exists.'],
+ ['errorCode' => 'QuotaExceeded.AclEntries', 'errorMessage' => 'The number of acl entries exceeds the limit', 'description' => 'The number of entries in the ACL exceeds the upper limit.'],
],
],
- '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"
+ 'title' => 'Create an access control policy group',
+ 'description' => '**CreateAcl** is an asynchronous operation. After you invoke the operation, the system returns an access control policy group ID but the access control policy group is not yet created. The creation node continues to run in the background. You can invoke [GetAcl](~~258292~~) or [ListAcls](~~258291~~) to query the status of the access control policy group:'."\n"
+ .'- If the access control policy group is in the **init** state, the access control policy group is being created. In this state, you can only execute query operations and cannot execute other operations.'."\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',
+ .'- If the access control policy group is in the **active** state, the access control policy group is created.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:18.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-03-31T09:00:27.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAcl'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateApplicationMonitor' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREgaQQ43JD'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'BandwidthPackageId',
+ 'name' => 'ClientToken',
'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****',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of a 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 **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'TargetBandwidthPackageId',
+ 'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan that you want to replace.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'gbwp-o978hgeb61yhcymow****',
- ],
+ 'schema' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA) instance to be probed.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ga-bp17frjjh0udz4qz****',
- ],
+ 'schema' => ['description' => 'The instance ID of the listener to be probed.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
- ],
- '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',
- ],
- ],
- ],
+ [
+ '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 must start with a letter or a Chinese character. It can contain digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => true, 'example' => 'task1', 'title' => ''],
],
- ],
- '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.',
- ],
+ [
+ 'name' => 'Address',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The URL or IP address to be probed.', 'type' => 'string', 'required' => true, 'example' => 'https://www.aliyun.com', 'title' => ''],
],
- ],
- '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' => [],
+ 'name' => 'OptionsJson',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The advanced extension options for the listener protocol type of the origin probing task. Different listener protocol types correspond to different extension options.', 'type' => 'string', 'required' => false, 'example' => '{ "http_method": "get","header": "key:asd","acceptable_response_code": "500","cert_verify": true }', 'title' => ''],
],
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'high',
- 'chargeType' => 'paid',
- ],
- 'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'DetectEnable',
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable the automatic diagnostics feature. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false** (default)', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'BandwidthPackageId',
+ 'name' => 'DetectThreshold',
'in' => 'query',
- 'schema' => [
- 'description' => 'The bandwidth plan ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'gbwp-bp1sgzldyj6b4q7cx****',
- ],
+ 'schema' => ['description' => 'The threshold that triggers automatic diagnostics. Unit: %.'."\n"
+ ."\n"
+ .'Valid values: **0** to **100**.'."\n"
+ ."\n"
+ .'Default value: **0**, which indicates that automatic diagnostics is not triggered.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '0', 'default' => '0', 'required' => false, 'example' => '0', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'DetectTimes',
'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',
- ],
+ 'schema' => ['description' => 'The number of times that the threshold must be reached to trigger automatic diagnostics.'."\n"
+ ."\n"
+ .'Valid values: **1** to **20**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'SilenceTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The silence period for automatic diagnostics. This parameter specifies the interval between two consecutive automatic diagnostics when the availability does not recover to normal after automatic diagnostics is triggered.'."\n"
+ ."\n"
+ .'When the availability is consecutively below the automatic diagnostics threshold for the specified number of times (the value of **DetectTimes**), automatic diagnostics is triggered. If the availability remains below the threshold during the silence period, automatic diagnostics is not triggered again within the silence period. If the availability has not recovered after the silence period, automatic diagnostics is triggered again.'."\n"
+ ."\n"
+ .'Unit: seconds. Valid values: **300** to **86400**. Default value: **300**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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****',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'TaskId' => ['description' => 'The ID of the origin probing task.', 'type' => 'string', 'example' => 'sm-bp1fpdjfju9k8yr1y****', 'title' => ''],
],
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
],
],
- '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"
+ 'title' => 'Create an origin probing task',
+ 'summary' => 'Creates an origin probing task by calling the CreateApplicationMonitor operation.',
+ 'description' => 'You can call the **CreateApplicationMonitor** operation to create an origin probing task. This task monitors the end-to-end network quality from the probing point through Global Accelerator (GA) to the origin server in real time, helping you quickly locate network faults and perform targeted network optimization.'."\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"
+ .'Before you begin:'."\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"
+ .'- Only subscription Alibaba Cloud Global Accelerator (GA) instances of Medium Ⅰ or higher specifications support origin probing tasks.'."\n"
+ .'- Origin probing tasks cannot be created for UDP protocol listeners.'."\n"
+ .'- The service port of the monitoring address must be within the listener port range.'."\n"
+ .'- The **CreateApplicationMonitor** operation is asynchronous. After you invoke this operation, the system returns a node ID for the origin probing task, but the node is not yet created. The node creation continues in the background. You can invoke [DescribeApplicationMonitor](~~408463~~) or [ListApplicationMonitor](~~408462~~) to query the status of the origin probing 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"
+ .' - If the origin probing task is in the **init** state, the task is being created. In this state, you can only perform query operations.'."\n"
."\n"
- .'* The **DeleteBandwidthPackage** operation cannot be repeatedly called for the same bandwidth plan within a specific period of time.'."\n",
+ .' - If the origin probing task is in the **active** state, the task is created.'."\n"
+ ."\n"
+ .'- The **CreateApplicationMonitor** operation does not support concurrent creation of origin probing nodes within the same Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-12-28T13:10:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TaskId\\": \\"sm-bp1fpdjfju9k8yr1y****\\"\\n}","type":"json"}]',
],
'CreateBandwidthPackage' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3491,423 +2057,318 @@
'riskType' => 'high',
'chargeType' => 'paid',
'abilityTreeCode' => '7845',
- 'abilityTreeNodes' => [
- 'FEATUREga2CVKMC',
- 'FEATUREga9TPDL7',
- 'FEATUREgaD5ZFDF',
- 'FEATUREgaU09R2U',
- 'FEATUREgaJIDE8Z',
- 'FEATUREgaE0WE9L',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The bandwidth of the bandwidth plan. Unit: Mbps.'."\n"
+ .'Valid values: **2** to **2000**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The subscription duration.'."\n"
+ ."\n"
+ .'- If you set **PricingCycle** to **Month**, valid values for **Duration** are **1** to **9**.'."\n"
+ ."\n"
+ .'- If you set **PricingCycle** to **Year**, valid values for **Duration** are **1** to **3**.'."\n"
+ ."\n"
+ .'This parameter is required if you set **ChargeType** to **PREPAY**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The billing cycle. Valid values:'."\n"
+ ."\n"
+ .'- **Month**: monthly billing.'."\n"
+ ."\n"
+ .'- **Year**: yearly billing.'."\n"
+ ."\n"
+ .'This parameter is required if you set **ChargeType** to **PREPAY**.', 'type' => 'string', 'required' => false, 'example' => 'Month', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n"
+ ."\n"
+ .'- **false** (default): Disables automatic payment. After an order is generated, go to the Order Hub to complete the payment.'."\n"
+ ."\n"
+ .'- **true**: Enables automatic payment. Payments are automatically completed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'Generate a client token from your client to 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 **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567****', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The type of the bandwidth plan. Valid values:'."\n"
+ ."\n"
+ .'- **Basic**: a basic bandwidth plan.'."\n"
+ ."\n"
+ .'- **CrossDomain**: a cross-region acceleration bandwidth plan.'."\n"
+ ."\n"
+ .'Only **Basic** is supported on the Alibaba Cloud China Website (www\\.aliyun.com).', 'type' => 'string', 'required' => true, 'example' => 'Basic', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The type of bandwidth. Valid values:'."\n"
+ ."\n"
+ .'- **Basic**: Basic bandwidth.'."\n"
+ ."\n"
+ .'- **Enhanced**: Enhanced bandwidth.'."\n"
+ ."\n"
+ .'- **Advanced**: Advanced bandwidth.'."\n"
+ ."\n"
+ .'This parameter is required if you set **Type** to **Basic**.', 'type' => 'string', 'required' => false, 'example' => 'Basic', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to use a coupon to automatically pay for the bill. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false** (default): No.'."\n"
+ ."\n"
+ .'> This parameter takes effect only if **AutoPay** is set to **true**.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The percentage of the guaranteed minimum bandwidth if you use the pay-by-95th-percentile metering method. Valid values: **30** to **100**.'."\n"
+ ."\n"
+ .'> This parameter takes effect only if **BillingType** is set to **PayBY95**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The billing method for a pay-as-you-go bandwidth plan. Valid values:'."\n"
+ ."\n"
+ .'- **PayByTraffic** (default): pay-by-traffic.'."\n"
+ ."\n"
+ .'- **PayBY95**: pay-by-95th-percentile. This billing method is not available by default. Contact your account manager to use this billing method.'."\n"
+ ."\n"
+ .'> This parameter takes effect only if **ChargeType** is set to **POSTPAY**.', 'type' => 'string', 'required' => false, 'example' => 'PayByTraffic', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The billing method. Valid values:'."\n"
+ ."\n"
+ .'- **PREPAY** (default): subscription.'."\n"
+ ."\n"
+ .'- **POSTPAY**: pay-as-you-go. The pay-as-you-go billing method is not available by default. Contact your account manager to use this billing method.', 'type' => 'string', 'required' => false, 'default' => 'PREPAY', 'example' => 'PREPAY', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'Connected area A of the cross-region acceleration bandwidth plan. Set the value to **China-mainland**.'."\n"
+ ."\n"
+ .'This parameter is available only on the Alibaba Cloud International Website (www\\.alibabacloud.com).', 'type' => 'string', 'required' => false, 'example' => 'China-mainland', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'Connected area B of the cross-region acceleration bandwidth plan. Set the value to **Global**.'."\n"
+ ."\n"
+ .'This parameter is available only on the Alibaba Cloud International Website (www\\.alibabacloud.com).', 'type' => 'string', 'required' => false, 'example' => 'Global', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The coupon code.'."\n"
+ ."\n"
+ .'> This parameter is available only on the Alibaba Cloud International Website (www\\.alibabacloud.com).', 'type' => 'string', 'required' => false, 'example' => '50003298014****', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable auto-renewal. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false** (default): No.', 'type' => 'boolean', 'example' => 'false', 'required' => false, 'title' => ''],
],
[
'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',
- ],
+ '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 if **AutoRenew** is set to **true**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '12', 'minimum' => '1', 'example' => '1', 'required' => false, 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aekzrnd67gq****',
- ],
+ 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzrnd67gq****', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The tags to add to the bandwidth plan.'."\n",
+ 'description' => 'The tags of the bandwidth plan.',
'type' => 'array',
'items' => [
- 'description' => 'The tags to add to the bandwidth plan.',
+ 'description' => 'The tags of 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',
- ],
+ 'Key' => ['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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tag-key', 'title' => ''],
+ 'Value' => ['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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tag-value', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response.',
'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****',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', 'title' => ''],
+ 'BandwidthPackageId' => ['description' => 'The bandwidth plan ID.', 'type' => 'string', 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
+ 'OrderId' => ['description' => 'The order ID.'."\n"
+ ."\n"
+ .'<props="china">This parameter is returned only when you set ChargeType to PREPAY. If you set AutoPay to false, go to the [Order Hub](https://usercenter2.aliyun.com/order/list) to complete the payment.</props>'."\n"
+ ."\n"
+ .'<props="intl">'."\n"
+ ."\n"
+ .'This parameter is returned only when you set ChargeType to PREPAY. If you set AutoPay to false, go to the [Order Hub](https://usercenter2-intl.aliyun.com/order/list) to complete the payment.'."\n"
+ ."\n"
+ .'</props>', 'type' => 'string', 'example' => '208257****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'COMMODITY.INVALID_COMPONENT',
- 'errorMessage' => 'The bandwidth parameter is incorrect or out of range',
- ],
- [
- 'errorCode' => 'MissingParameter.BandwidthType',
- 'errorMessage' => 'You must specify BandwidthType.',
- ],
+ ['errorCode' => 'COMMODITY.INVALID_COMPONENT', 'errorMessage' => 'The bandwidth parameter is incorrect or out of range', 'description' => ''],
+ ['errorCode' => 'MissingParameter.BandwidthType', 'errorMessage' => 'You must specify BandwidthType.', 'description' => '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.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
+ 'description' => 'You must create a basic bandwidth plan to use Global Accelerator (GA) for network acceleration. 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"
+ .'- **Basic bandwidth**: The acceleration area and the area where the endpoint is deployed are in the Chinese mainland. The accelerated service is deployed on Alibaba Cloud.'."\n"
."\n"
- .'When you call this operation, take note of the following items:'."\n"
+ .'- **Enhanced bandwidth**: The acceleration area and the area where the endpoint is deployed are in the Chinese mainland. This bandwidth type can accelerate services on both Alibaba Cloud and public networks outside Alibaba Cloud.'."\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"
+ .'- **Advanced bandwidth**: The acceleration area and the area where the endpoint is deployed are outside the Chinese mainland. This bandwidth type can accelerate services on both Alibaba Cloud and public networks outside Alibaba Cloud. To accelerate access for users in the Chinese mainland, you can select China (Hong Kong) as the acceleration area.'."\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"
+ .'Note the following when you call this operation:'."\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',
+ .'- The **CreateBandwidthPackage** operation is asynchronous. After you send a request, the system returns a bandwidth plan ID, but the bandwidth plan is not created immediately. The system creates the bandwidth plan in the background. You can call the [DescribeBandwidthPackage](~~153241~~) operation to query the status of the bandwidth plan:'."\n"
+ ."\n"
+ .' - If a bandwidth plan is in the **init** state, the bandwidth plan is being created. In this state, you can only query the bandwidth plan and cannot perform other operations.'."\n"
+ ."\n"
+ .' - If a bandwidth plan is in the **active** state, the bandwidth plan is created.'."\n"
+ ."\n"
+ .'- The **CreateBandwidthPackage** operation does not support concurrent requests to create bandwidth plans for the same Global Accelerator instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-03-31T09:00:27.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-01-05T07:58:57.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2021-12-28T04:28:14.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2021-12-28T04:28:14.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBandwidthPackage'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:BandwidthPackageType', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4B6DBBB0-2D01-4C6A-A384-4129266E6B78\\",\\n \\"BandwidthPackageId\\": \\"gbwp-bp1sgzldyj6b4q7cx****\\",\\n \\"OrderId\\": \\"208257****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateBasicAccelerateIp' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'create', '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',
- ],
+ 'schema' => ['title' => '', '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',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['title' => '', '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' => 'PageSize',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
+ ],
+ [
+ 'name' => 'IpSetId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', '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' => [
@@ -3916,184 +2377,107 @@
'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,
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'AcceleratorId' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****'],
+ 'IpSetId' => ['title' => '', 'description' => 'The ID of the acceleration region.'."\n", 'type' => 'string', 'example' => 'ips-bp11r5jb8ogp122xl****'],
+ 'AccelerateIpId' => ['title' => '', 'description' => 'The ID of the accelerated IP address.'."\n", 'type' => 'string', 'example' => 'gaip-bp1****'],
+ 'AccelerateIpAddress' => ['title' => '', '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' => '', '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'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state configuring is illegal', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.IpSet', 'errorMessage' => 'The IpSet does not exist.', 'description' => 'The acceleration region does not exist.'],
+ ['errorCode' => 'NotActive.IpSet', 'errorMessage' => 'The state of IpSet is not active.', 'description' => 'The accelerated IP address is in an unstable state.'],
+ ],
+ ],
+ 'title' => 'CreateBasicAccelerateIp',
+ 'summary' => 'Creates an accelerated IP address for a basic Global Accelerator (GA) instance.',
+ '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.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicAccelerateIp'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicAccelerateIp',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'CreateBasicAccelerateIpEndpointRelation' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ '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' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '', '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' => 'InstanceId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'gbwp-bp1iquvlp8khla5emb3ia',
- ],
+ 'schema' => ['title' => '', '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' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
+ ],
+ [
+ 'name' => 'EndpointId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', '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' => '', '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' => [
@@ -4102,68 +2486,63 @@
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'AcceleratorId' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****'],
+ 'EndpointId' => ['title' => '', '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****', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 400 => [
+ ['errorCode' => 'EcsCannotBind.BasicEndpoint', 'errorMessage' => 'The ECS instance has already been associated with another EIP.', 'description' => ''],
+ ],
+ ],
+ 'title' => 'CreateBasicAccelerateIpEndpointRelation',
+ 'summary' => 'Creates a mapping between an accelerated IP address and an endpoint for a basic Global Accelerator (GA) instance.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:18.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-13T07:33:16.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicAccelerateIpEndpointRelation'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicAccelerateIpEndpointRelation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
+ ],
],
],
],
- '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',
+ '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":""}]',
],
- 'UpdateBandwidthPackagaAutoRenewAttribute' => [
- 'summary' => 'Changes the auto-renewal status of a bandwidth plan.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateBasicAccelerateIpEndpointRelations' => [
+ 'summary' => 'Calls the CreateBasicAccelerateIpEndpointRelations operation to batch attach accelerated IP addresses to endpoints for a basic Global Accelerator instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4171,536 +2550,597 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ '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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID of the Global Accelerator instance. Set the value to **cn-hangzhou**.', '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',
- ],
+ 'schema' => ['title' => '', '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 **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'],
],
[
- 'name' => 'Name',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the basic Global Accelerator instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'AccelerateIpEndpointRelations',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the bandwidth plan.'."\n",
- 'type' => 'string',
+ 'title' => '',
+ 'description' => 'The list of attachments between accelerated IP addresses and endpoints for the basic Global Accelerator instance.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of attachments between accelerated IP addresses and endpoints for the basic Global Accelerator instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccelerateIpId' => ['title' => '', 'description' => 'The ID of the accelerated IP address of the basic Global Accelerator instance.'."\n"
+ ."\n"
+ .'You can call [ListBasicAccelerateIps](~~2253393~~) to query accelerated IP address IDs.'."\n"
+ ."\n"
+ .'You can specify up to 20 accelerated IP address IDs.', 'type' => 'string', 'required' => false, 'example' => 'gaip-bp1****'],
+ 'EndpointId' => ['title' => '', 'description' => 'The endpoint ID of the basic Global Accelerator instance.'."\n"
+ ."\n"
+ .'You can call [ListBasicEndpoints](~~2253406~~) to query endpoint IDs.'."\n"
+ ."\n"
+ .'You can specify up to 20 endpoint IDs.', 'type' => 'string', 'required' => false, 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'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',
+ 'maxItems' => 20,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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****',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'AcceleratorId' => ['title' => '', 'description' => 'The ID of the basic Global Accelerator instance.', 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
- ],
+ 'title' => 'Batch attach accelerated IP addresses to endpoints for a basic Global Accelerator instance',
+ 'description' => '- **CreateBasicAccelerateIpEndpointRelations** is an asynchronous operation. After you send a request, the system returns a request ID, but the task of batch attaching accelerated IP addresses to endpoints is still in progress. You can call [GetBasicAccelerateIp](~~466794~~) or [ListBasicEndpoints](~~466831~~) to query the status of accelerated IP addresses and endpoints respectively to confirm whether the attachments are created: '."\n"
+ .' - If an accelerated IP address or endpoint is in the **binding** state, the attachment is being created. In this state, you can only perform query operations.'."\n"
+ .' - If all accelerated IP addresses and endpoints are in the **bound** state, and the attachment status returned by [ListBasicAccelerateIpEndpointRelations](~~466803~~) is **active**, the batch task of attaching accelerated IP addresses to endpoints is complete.'."\n"
+ .'- **CreateBasicAccelerateIpEndpointRelations** does not support concurrent batch attaching of accelerated IP addresses to endpoints within the same basic Global Accelerator instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:21.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicAccelerateIpEndpointRelations'],
],
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicAccelerateIpEndpointRelations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","type":"json"}]',
],
- 'ListIspTypes' => [
- 'summary' => 'Queries the line types of elastic IP addresses (EIPs) that are supported in an acceleration region.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateBasicAccelerator' => [
+ 'summary' => 'Basic Alibaba Cloud Global Accelerator (GA) instances leverage Alibaba Cloud\'s premium global the Internet bandwidth and high-quality transmission network to provide users with point-to-point acceleration. Basic Alibaba Cloud Global Accelerator (GA) instances are primarily used for Layer 3 (IP protocol) network acceleration. You can invoke the CreateBasicAccelerator operation to create a basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'high', 'chargeType' => 'paid'],
'parameters' => [
[
- 'name' => 'BusinessRegionId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the acceleration region to be queried.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID of the basic Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'AcceleratorType',
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => ['title' => '', '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 **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567****'],
+ ],
+ [
+ 'name' => 'Duration',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The subscription duration.'."\n"
+ ."\n"
+ .'- If **PricingCycle** is set to **Month**, valid values of **Duration** are **1** to **9**.'."\n"
+ ."\n"
+ .'- If **PricingCycle** is set to **Year**, valid values of **Duration** are **1** to **3**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1'],
+ ],
+ [
+ 'name' => 'PricingCycle',
'in' => 'query',
'schema' => [
- 'description' => 'The type of the Global Accelerator (GA) instance to be queried. Valid values:'."\n"
+ 'title' => '',
+ 'description' => 'The billing cycle. Valid values:'."\n"
."\n"
- .'* **basic**: basic GA instance'."\n"
- .'* **standard**: standard GA instance'."\n",
+ .'- **Month**: billed on a monthly basis.'."\n"
+ ."\n"
+ .'- **Year**: billed on a yearly basis.',
'type' => 'string',
'required' => false,
- 'example' => 'basic',
+ 'default' => 'Month',
+ 'enum' => ['Year', 'Month', 'Day', 'Hour'],
+ 'example' => 'Month',
],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'BandwidthBillingType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The bandwidth billing method. Valid values:'."\n"
+ .'- **BandwidthPackage**: billed by bandwidth plan.'."\n"
+ .'- **CDT**: billed by traffic and settled through unified settlement by Cloud Data Transfer (CDT).'."\n"
+ .'- **CDT95**: billed by the 95th percentile bandwidth and settled through unified settlement by CDT. This bandwidth billing method is available only to users in the whitelist.', 'type' => 'string', 'required' => false, 'example' => 'CDT', 'title' => ''],
+ ],
+ [
+ 'name' => 'AutoPay',
'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to enable automatic payment. Valid values:'."\n"
+ ."\n"
+ .'- **false** (default): disables automatic payment. After an order is generated, go to the Order Center to complete the payment.'."\n"
+ ."\n"
+ .'- **true**: enables automatic payment. The order is automatically paid.', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ ],
+ [
+ 'name' => 'AutoUseCoupon',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to use coupons for automatic payment of the bill. Valid values:'."\n"
+ ."\n"
+ .'- **true**: uses coupons.'."\n"
+ ."\n"
+ .'- **false** (default): does not use coupons.'."\n"
+ ."\n"
+ .'> This parameter takes effect only when **AutoPay** is set to **true**.', 'type' => 'string', 'required' => false, 'example' => 'false'],
+ ],
+ [
+ 'name' => 'PromotionOptionNo',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The coupon number.'."\n"
+ .'> This parameter is applicable only to the China site (aliyun.com).', 'type' => 'string', 'required' => false, 'example' => '50003298014****'],
+ ],
+ [
+ 'name' => 'AutoRenew',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'Specifies whether to enable auto-renewal.'."\n"
+ ."\n"
+ .'- **true**: enables auto-renewal.'."\n"
+ ."\n"
+ .'- **false** (default): disables auto-renewal.', '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 **AutoRenew** is set to **true**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the resource group to which the basic Alibaba Cloud Global Accelerator (GA) instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxshhcsn****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ChargeType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The billing method. Valid values:'."\n"
+ .'- **PREPAY (default)**: subscription.'."\n"
+ .'- **POSTPAY**: pay-as-you-go.', 'type' => 'string', 'required' => false, 'example' => 'PREPAY', 'title' => ''],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ .'- **true**: performs a dry run without creating the resource. The system checks the required parameters, request syntax, and business limitations. If the check fails, the corresponding error is returned. If the check succeeds, the `DryRunOperation` error code is returned.'."\n"
+ .'- **false** (default): performs a dry run and sends the request. If the check succeeds, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the GA instance that you want to query.'."\n",
- 'type' => 'string',
+ 'description' => 'The labels of the basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The labels of the basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The label key of the basic Alibaba Cloud Global Accelerator (GA) instance. If you specify this parameter, the value cannot be an empty string.'."\n"
+ ."\n"
+ .'The label key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 label keys.', 'type' => 'string', 'required' => false, 'example' => 'tag-key', 'title' => ''],
+ 'Value' => ['description' => 'The label value of the basic Alibaba Cloud Global Accelerator (GA) instance. If you specify this parameter, the value cannot be an empty string.'."\n"
+ ."\n"
+ .'The label value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 label values.', 'type' => 'string', 'required' => false, 'example' => 'tag-value', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'A list of response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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',
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22'],
+ 'OrderId' => ['title' => '', 'description' => 'The order ID.'."\n"
+ ."\n"
+ .'This parameter is returned only when ChargeType is set to PREPAY (upfront).'."\n"
+ ."\n"
+ .'If **AutoPay** is set to **false**, which means automatic payment of the bill is not enabled, go to the <props="china">[Order Center](https://usercenter2.aliyun.com/order/list)</props>'."\n"
+ .'<props="intl">[Order Center](https://usercenter2-intl.aliyun.com/order/list)</props> to complete the payment.', 'type' => 'string', 'example' => '2082574365'],
+ 'AcceleratorId' => ['title' => '', 'description' => 'The instance ID of the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'Create a basic global accelerator instance',
+ 'description' => '**CreateBasicAccelerator** is an asynchronous operation. After you invoke this operation, the system returns a basic Alibaba Cloud Global Accelerator (GA) instance ID, but the instance is not yet created. The creation node continues to execute in the background. You can invoke [GetBasicAccelerator](~~353188~~) or [ListBasicAccelerators](~~353189~~) to query the status of the basic GA instance:'."\n"
+ ."\n"
+ .'- If the basic GA instance is in the **init** state, the instance is being created. In this state, you can only perform query operations.'."\n"
+ .'- If the basic GA instance is in the **active** state, the instance is created.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-10T06:22:08.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2023-01-05T07:58:57.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2022-12-06T02:00:28.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-09-27T08:45:05.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2021-11-30T08:56:32.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\",\\n \\"OrderId\\": \\"2082574365\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateBasicEndpoint' => [
+ 'summary' => 'Invokes the CreateBasicEndpoint operation to create an endpoint for a basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '161146',
- 'abilityTreeNodes' => [
- 'FEATUREga231EJR',
- ],
- ],
+ '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' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID of the Global Accelerator instance. Set the value to **ap-southeast-1**.', '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',
- 'enum' => [],
- ],
+ 'schema' => ['title' => '', '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 **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'],
],
[
'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' => [],
- ],
+ 'schema' => ['title' => '', 'description' => 'The instance ID of the basic Alibaba Cloud Global Accelerator (GA).', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
[
- 'name' => 'CrossBorderMode',
+ 'name' => 'EndpointGroupId',
'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' => [],
- ],
+ 'schema' => ['title' => '', 'description' => 'The endpoint group ID of the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****'],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The name of the endpoint for the basic Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and must start with a letter or a Chinese character. The name can contain digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'ep01'],
+ ],
+ [
+ 'name' => 'EndpointType',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The endpoint type. Valid values:'."\n"
+ .'- **ENI**: Alibaba Cloud elastic network interface (ENI).'."\n"
+ .'- **SLB**: Alibaba Cloud Classic Load Balancer (CLB) instance.'."\n"
+ .'- **ECS**: Alibaba Cloud ECS instance.'."\n"
+ .'- **NLB**: Alibaba Cloud Network Load Balancer (NLB) instance.', 'type' => 'string', 'required' => true, 'example' => 'ENI'],
+ ],
+ [
+ 'name' => 'EndpointAddress',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The address of the endpoint.', 'type' => 'string', 'required' => true, 'example' => 'eni-bp1a05txelswuj8g****'],
+ ],
+ [
+ 'name' => 'EndpointSubAddress',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The secondary address of the endpoint.'."\n"
+ ."\n"
+ .'This parameter is required when the endpoint type is **ECS**, **ENI**, or **NLB**.'."\n"
+ .'- If the endpoint type is **ECS**, EndpointSubAddress can be set to a secondary private IP of the primary network interface controller (NIC). If you leave this parameter empty, the primary private IP of the primary network interface controller (NIC) is used.'."\n"
+ .'- If the endpoint type is **ENI**, EndpointSubAddress can be set to a secondary private IP of the secondary network interface controller (NIC). If you leave this parameter empty, the primary private IP of the secondary network interface controller (NIC) is used.'."\n"
+ .'- If the endpoint type is **NLB**, this parameter is required. Set EndpointSubAddress to the primary private IP of the NLB backend server.', 'type' => 'string', 'required' => false, 'example' => '172.16.XX.XX'],
+ ],
+ [
+ 'name' => 'EndpointSubAddressType',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The type of the secondary address of the endpoint. Valid values:'."\n"
+ .'- **primary**: The secondary address type is the primary private IP address.'."\n"
+ .'- **secondary**: The secondary address type is a secondary private IP address.'."\n"
+ ."\n"
+ .'This parameter is required when the endpoint type is **ECS**, **ENI**, or **NLB**. If the endpoint type is **NLB**, only **primary** is supported.', 'type' => 'string', 'required' => false, 'example' => 'primary'],
+ ],
+ [
+ 'name' => 'EndpointZoneId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The zone ID of the endpoint.'."\n"
+ ."\n"
+ .'Currently, this parameter is required only when the endpoint type is **NLB**.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-g'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => '',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => '',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'EndpointGroupId' => ['title' => '', 'description' => 'The endpoint group ID of the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****'],
+ 'EndpointId' => ['title' => '', 'description' => 'The endpoint ID of the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA 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.',
+ ],
+ 'title' => 'Create an endpoint for a basic global accelerator instance',
+ 'description' => '- **CreateBasicEndpoint** is an asynchronous operation. After you invoke this operation, the system returns an endpoint ID for the basic Alibaba Cloud Global Accelerator (GA) instance, but the endpoint is not yet created. The creation task continues to execute in the background. You can invoke [ListBasicEndpoints](~~466831~~) to query the endpoint status: '."\n"
+ .' - When the endpoint is in the **init** state, the endpoint is being created. In this state, you can only execute query operations.'."\n"
+ .' - When the endpoint is in the **active** state, the endpoint is created.'."\n"
+ .'- **CreateBasicEndpoint** does not support concurrent endpoint creation within the same basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:13.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateBasicEndpoint'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/*'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\"\\n}","type":"json"}]',
],
- 'UpdateAcceleratorCrossBorderStatus' => [
- 'summary' => 'Enables cross-border data transmission for a Global Accelerator (GA) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateBasicEndpointGroup' => [
+ 'summary' => 'Invokes the CreateBasicEndpointGroup operation to create an endpoint group for a basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '172921',
- 'abilityTreeNodes' => [
- 'FEATUREgaLOR9WO',
- ],
- ],
+ '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.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID of the basic Alibaba Cloud Global Accelerator (GA) instance. Set the value to **ap-southeast-1**.', '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',
- ],
+ 'schema' => ['title' => '', '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 **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', '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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The instance ID of the basic Alibaba Cloud Global Accelerator (GA).', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
[
- 'name' => 'CrossBorderStatus',
+ 'name' => 'EndpointGroupRegion',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID of the endpoint group for the basic Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ ."\n"
+ .'You can invoke the [ListAvailableBusiRegions](~~2253223~~) operation to query the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The name of the endpoint group for the basic Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and must start with a letter or a Chinese character. The name can contain digits, periods (.), underscores (_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'group1'],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The description of the endpoint group for the basic Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ ."\n"
+ .'The description can be up to 200 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'BasicEndpointGroup'],
+ ],
+ [
+ 'name' => 'EndpointType',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The endpoint type. Valid values:'."\n"
+ .'- **ENI**: elastic network interface (ENI).'."\n"
+ .'- **SLB**: Classic Load Balancer (CLB) instance.'."\n"
+ .'- **ECS**: ECS instance.', 'type' => 'string', 'required' => false, 'example' => 'ENI'],
+ ],
+ [
+ 'name' => 'EndpointAddress',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The address of the endpoint.', 'type' => 'string', 'required' => false, 'example' => 'eni-bp1a05txelswuj8g****'],
+ ],
+ [
+ 'name' => 'EndpointSubAddress',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The secondary address of the endpoint.'."\n"
+ ."\n"
+ .'Specify this parameter when the accelerated IP address is associated with a secondary private IP address of an ECS instance or an ENI.'."\n"
+ ."\n"
+ .'- If the endpoint type is **ECS**, EndpointSubAddress can be set to a secondary private IP address of the primary ENI. If this parameter is left empty, the primary private IP address of the primary ENI is used.'."\n"
+ .'- If the endpoint type is **ENI**, EndpointSubAddress can be set to a secondary private IP address of the secondary ENI. If this parameter is left empty, the primary private IP address of the secondary ENI is used.', 'type' => 'string', 'required' => false, 'example' => '172.16.XX.XX'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
- ],
+ 'EndpointGroupId' => ['title' => '', 'description' => 'The ID of the endpoint group for the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****'],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'NoPermission.EnableHealthCheck', 'errorMessage' => 'You do not have permission to enable health check.', 'description' => 'The current account does not have the permissions to enable health checks.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BusinessRegion', 'errorMessage' => 'The business region does not exist.', 'description' => 'The business region does not exist.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'Exist.EndpointGroup', 'errorMessage' => 'The endpoint group already exists.', 'description' => 'The endpoint group already exists.'],
+ ['errorCode' => 'QuotaExceeded.EndpointGroup', 'errorMessage' => 'The number of endpoint group exceeds the limit.', 'description' => 'The number of endpoint groups has reached the upper limit.'],
+ ['errorCode' => 'EcsCannotBind.BasicEndpoint', 'errorMessage' => 'The ECS instance has already been associated with another EIP.', 'description' => ''],
+ ['errorCode' => 'InvalidateRegion.BasicAccelerator', 'errorMessage' => 'The region of the endpoint group and the acceleration region cannot be the same.', 'description' => ''],
],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'Create an endpoint group for a basic global accelerator instance',
+ 'description' => '- **CreateBasicEndpointGroup** is an asynchronous operation. After you invoke this operation, the system returns an endpoint group ID before the endpoint group is created. The endpoint group is being created in the background. You can invoke [GetBasicEndpointGroup](~~362984~~) to query the status of the endpoint group:'."\n"
+ .' - If the endpoint group is in the **init** state, the endpoint group is being created. In this state, you can only perform query operations.'."\n"
+ .' - If the endpoint group is in the **active** state, the endpoint group is created.'."\n"
+ .'- **CreateBasicEndpointGroup** does not support concurrent requests to create an endpoint group for the same basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:10.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-13T07:33:15.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-11-17T09:06:12.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-09-27T08:51:27.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateBasicEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
],
- 'CreateAccelerator' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateBasicEndpoints' => [
+ 'summary' => 'Creates multiple endpoints for a basic Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4708,1816 +3148,1727 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'high',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '7844',
- 'abilityTreeNodes' => [
- 'FEATUREgaLOR9WO',
- ],
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'],
'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,
- ],
+ 'schema' => ['title' => '', '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****',
- ],
+ 'schema' => ['title' => '', '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',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
[
- 'name' => 'Duration',
+ 'name' => 'EndpointGroupId',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****'],
],
[
- 'name' => 'PricingCycle',
+ 'name' => 'Endpoints',
'in' => 'query',
+ 'style' => 'flat',
'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',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'EndpointAddress' => ['description' => 'The address of the endpoint.'."\n", 'type' => 'string', 'required' => false, 'example' => 'eni-bp1a05txelswuj8g****', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'required' => true,
+ 'maxItems' => 20,
+ 'example' => '',
],
],
- [
- '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',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'A list of response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'EndpointGroupId' => ['title' => '', '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' => '', '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'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- [
- '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',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'NotFound.ENIInstance', 'errorMessage' => 'The ENI instance is not found.', 'description' => 'The ENI instance does not exist in the region where the Endpoint Group belongs.'],
+ ['errorCode' => 'Invalidate.SlbAddressType', 'errorMessage' => 'The SLB instance must be internal-facing.', 'description' => 'The SLB instance must be internal-facing.'],
],
- [
- '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',
- ],
+ ],
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-27T02:11:24.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateBasicEndpoints'],
],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- 'name' => 'PromotionOptionNo',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The coupon code.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '50003298014****',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/*'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ 'CreateBasicIpSet' => [
+ 'summary' => 'Invokes the CreateBasicIpSet operation to create an acceleration region for a basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'IpSetConfig',
+ 'name' => 'RegionId',
'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,
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID of the basic Alibaba Cloud Global Accelerator (GA) instance. Set the value to **ap-southeast-1**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'ClientToken',
'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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of a 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 **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'],
],
[
- 'name' => 'Tag',
+ 'name' => 'AcceleratorId',
'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,
- ],
+ 'schema' => ['title' => '', 'description' => 'The instance ID of the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
[
- 'name' => 'InstanceChargeType',
+ 'name' => 'AccelerateRegionId',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the region to be accelerated.'."\n"
+ ."\n"
+ .'You can invoke the [ListAvailableBusiRegions](~~261190~~) operation to query the active acceleration regions for the specified Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'IspType',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ISP type of the public network in the acceleration region. Valid values:'."\n"
+ .'- **BGP** (default): BGP (Multi-ISP)'."\n"
+ .'- **BGP_PRO**: BGP (Multi-ISP) Pro'."\n"
+ ."\n"
+ .'If you are a whitelist user of single-ISP bandwidth, you can also select the following types:'."\n"
+ .'- **ChinaTelecom**: China Telecom (single ISP)'."\n"
+ .'- **ChinaUnicom**: China Unicom (single ISP)'."\n"
+ .'- **ChinaMobile**: China Shift (single ISP)'."\n"
+ .'- **ChinaTelecom_L2**: China Telecom (single ISP)\\_L2'."\n"
+ .'- **ChinaUnicom_L2**: China Unicom (single ISP)\\_L2'."\n"
+ .'- **ChinaMobile_L2**: China Shift (single ISP)\\_L2'."\n"
+ .'> - This parameter is required for basic Alibaba Cloud Global Accelerator (GA) instances that use the **pay-by-traffic** billing method.'."\n"
+ .'> - If the acceleration region of the basic Alibaba Cloud Global Accelerator (GA) instance is Hong Kong (China) and the instance is attached with a basic bandwidth plan of the BGP (Multi-ISP) Pro type, the default value is BGP (Multi-ISP) Pro.'."\n"
+ .'> - The supported single-ISP line types vary by acceleration region.', 'type' => 'string', 'required' => false, 'example' => 'BGP'],
],
[
'name' => 'Bandwidth',
'in' => 'query',
- 'schema' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
+ 'schema' => ['description' => 'The bandwidth of the acceleration area. Unit: **Mbps**.'."\n"
+ ."\n"
+ .'The minimum bandwidth that can be allocated to an acceleration area is 2 Mbps.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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****',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'IpSetId' => ['title' => '', 'description' => 'The acceleration region instance ID of the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'ips-bp11r5jb8ogp122xl****'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
+ ],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
+ 'title' => 'Create an acceleration region for a basic global accelerator instance',
+ 'description' => 'When you invoke this operation, take note of the following items:'."\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',
+ .'- A basic Alibaba Cloud Global Accelerator (GA) instance supports only one acceleration region and supports only the IPv4 protocol.'."\n"
+ .'- **CreateBasicIpSet** is an asynchronous operation. After a request is sent, the system returns an acceleration region instance ID but the acceleration region is not yet created. The creation node continues to run in the background. You can invoke [GetBasicIpSet](~~362987~~) to query the status of the acceleration region:'."\n"
+ .' - If the acceleration region is in the **init** state, the acceleration region is being created. In this state, you can only execute query operations.'."\n"
+ .' - If the acceleration region is in the **active** state, the acceleration region is created.'."\n"
+ .'- The **CreateBasicIpSet** operation does not support concurrent creation of acceleration regions within the same basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:07.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-09-27T08:45:05.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicIpSet'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BasicAcceleratorId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"IpSetId\\": \\"ips-bp11r5jb8ogp122xl****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateCustomRoutingEndpointGroupDestinations' => [
+ 'summary' => 'Invokes the CreateCustomRoutingEndpointGroupDestinations operation to create mapping configurations for an endpoint group that is associated with a custom route listener.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '7855',
- 'abilityTreeNodes' => [
- 'FEATUREga231EJR',
- ],
+ 'abilityTreeCode' => '146833',
+ 'abilityTreeNodes' => ['FEATUREgaNBCRGX'],
],
'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,
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **ap-southeast-1**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ '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 **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ .'- **true**: performs a dry run. The system checks the required parameters, request syntax, and business limitations without actually creating the mapping configurations create an endpoint group. If the request fails the dry run, the corresponding 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, an HTTP 2xx status code is returned and the mapping configurations create an endpoint group are created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The endpoint group ID.', 'type' => 'string', 'required' => true, 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ ],
+ [
+ 'name' => 'DestinationConfigurations',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the GA instance that you want to query.'."\n",
- 'type' => 'string',
+ 'description' => 'The mapping configurations of the endpoint group.'."\n"
+ ."\n"
+ .'Specify the service port ranges and protocol types of the backend services for the endpoint group. The specified information is mapped to the associated listener port ranges.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges and protocol types in a single invoke of this operation.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The mapping configurations of the endpoint group.'."\n"
+ ."\n"
+ .'Specify the service port ranges and protocol types of the backend services for the endpoint group. The specified information is mapped to the associated listener port ranges.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges and protocol types in a single invoke of this operation.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Protocols' => [
+ 'description' => 'The protocol types of the backend services for the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **TCP**: TCP protocol.'."\n"
+ ."\n"
+ .'- **UDP**: UDP protocol.'."\n"
+ ."\n"
+ .'- **TCP,UDP**: TCP and UDP protocols.'."\n"
+ ."\n"
+ .'The Terms of Service apply to the selected protocols.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The protocol types of the backend services for the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **TCP**: TCP protocol.'."\n"
+ ."\n"
+ .'- **UDP**: UDP protocol.'."\n"
+ ."\n"
+ .'- **TCP,UDP**: TCP and UDP protocols.'."\n"
+ ."\n"
+ .'The Terms of Service apply to the selected protocols.', 'type' => 'string', 'required' => true, 'example' => 'TCP', 'title' => ''],
+ 'required' => true,
+ 'maxItems' => 2,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'FromPort' => ['description' => 'The start port of the backend service port range for the endpoint group.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65499**. The value of **FromPort** must be less than or equal to the value of **ToPort**.'."\n"
+ ."\n"
+ .'You can specify up to 20 start ports in a single request.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the backend service port range for the endpoint group.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65499**. The value of **FromPort** must be less than or equal to the value of **ToPort**.'."\n"
+ ."\n"
+ .'You can specify up to 20 end ports in a single request.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ 'maxItems' => 2000,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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' => [
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'DestinationIds' => [
+ 'description' => 'The list of mapping configuration IDs for the endpoint group.',
'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'DdosId' => [
- 'type' => 'string',
- ],
- 'DdosRegionId' => [
- 'type' => 'string',
- ],
- ],
- ],
- ],
- 'Bandwidth' => [
- 'type' => 'integer',
- 'format' => 'int32',
+ 'items' => ['description' => 'The list of mapping configuration IDs for the endpoint group.', 'type' => 'string', 'example' => 'dst-abc123****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 400 => [
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ],
+ ],
+ 'title' => 'Create mapping configurations for a custom routing listener endpoint group',
+ 'description' => 'An Alibaba Cloud Global Accelerator (GA) instance can generate a port mapping table based on the configured listener port range, the mapping configurations (protocols and port ranges) of the destination endpoint group, and the IP address information of the endpoints (vSwitches). This enables deterministic routing of traffic to specific IP addresses and ports within the vSwitches.'."\n"
+ ."\n"
+ .'This operation creates mapping configurations for an endpoint group that is associated with a custom route listener. When you invoke this operation, take note of the following items:'."\n"
+ .'- **CreateCustomRoutingEndpointGroupDestinations** is an asynchronous operation. After you send a request, the system returns a request ID, but the mapping configurations for the endpoint group are not yet created. The creation node continues to run in the background. You can invoke the [DescribeCustomRoutingEndpointGroup](~~449373~~) operation to query the status of the endpoint group and confirm whether the mapping configurations are created: '."\n"
+ .' - If the endpoint group is in the **updating** state, the mapping configurations are being created. In this state, you can only execute query operations.'."\n"
+ .' - If the endpoint group is in the **active** state, the mapping configurations are created.'."\n"
+ .'- **CreateCustomRoutingEndpointGroupDestinations** does not support concurrent creation of mapping configurations for endpoint groups associated with custom route listeners within the same Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ .'### Before you begin'."\n"
+ .'Before you create mapping configurations for an endpoint group associated with a custom route listener, make sure that you have completed the following operations:'."\n"
+ .'- A standard Alibaba Cloud Global Accelerator (GA) instance is created. For more information, see [CreateAccelerator](~~206786~~).'."\n"
+ .'- A bandwidth plan is attached to the standard Global Accelerator instance. For more information, see [BandwidthPackageAddAccelerator](~~153239~~).'."\n"
+ .'- You have completed the deployment of the required applications as backend services to accept forwarded requests from Global Accelerator. Custom route listeners support only vSwitches as backend service types.'."\n"
+ .'- You have obtained the permissions to use custom route listeners and created a custom route listener. The custom route listener type is in invitational preview. To use this feature, contact your account manager. To create a custom route listener, see [CreateListener](~~153253~~).'."\n"
+ .'- You have created an endpoint group for the custom route listener. For more information, see [CreateCustomRoutingEndpointGroups](~~449363~~).',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:48.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-04-20T08:32:21.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCustomRoutingEndpointGroupDestinations'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
+ ],
],
],
],
- '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' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"DestinationIds\\": [\\n \\"dst-abc123****\\"\\n ]\\n}","type":"json"}]',
],
- 'ListAccelerators' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateCustomRoutingEndpointGroups' => [
+ 'summary' => 'Invokes the CreateCustomRoutingEndpointGroups operation to create endpoint groups for a custom routing type listener in batches.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8882',
- 'abilityTreeNodes' => [
- 'FEATUREga231EJR',
- ],
+ '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',
- 'deprecated' => true,
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **ap-southeast-1**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ '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 **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'DryRun',
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ .'- **true**: performs a dry run without creating custom routing type endpoint groups. The system checks the required parameters, request format, and business limits. If the request fails the dry run, the corresponding error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
+ .'- **false** (default): sends a normal request. If the request passes the check, an HTTP 2xx status code is returned and the custom routing type endpoint groups are created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The ID of the Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'State',
+ 'name' => 'ListenerId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the custom routing type listener.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aekztkx4zwc****',
- ],
- ],
- [
- 'name' => 'Tag',
+ 'name' => 'EndpointGroupConfigurations',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'title' => '标签列表,最多包含20个子项',
- 'description' => 'The tags of the GA instance.'."\n",
+ 'description' => 'The endpoint group configurations.'."\n"
+ ."\n"
+ .'You can specify up to 5 endpoint group configurations.',
'type' => 'array',
'items' => [
- 'description' => 'The tags of the GA instance.'."\n",
+ 'description' => 'The endpoint group configurations.'."\n"
+ ."\n"
+ .'You can specify up to 5 endpoint group configurations.',
'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"
+ 'EndpointGroupRegion' => ['description' => 'The region ID of the endpoint group.'."\n"
+ ."\n"
+ .'You can specify up to 5 endpoint group region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ 'Name' => ['description' => 'The name of the endpoint group.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and must start with a letter or Chinese character. The name can contain digits, underscores (\\_), and hyphens (-).'."\n"
+ ."\n"
+ .'You can specify up to 5 endpoint group names.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'Description' => ['description' => 'The description of the endpoint group.'."\n"
+ ."\n"
+ .'The description can be up to 256 characters in length and cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 5 endpoint group descriptions.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'DestinationConfigurations' => [
+ 'description' => 'The mapping configurations of the endpoint group.'."\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"
+ .'You must specify the backend service port range and protocol type for the endpoint group. The specified information forms a mapping relationship with the associated listener port range.'."\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****',
- ],
+ .'You can specify up to 20 mapping port range and protocol type entries for each endpoint group.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The mapping configurations of the endpoint group.'."\n"
+ ."\n"
+ .'You must specify the backend service port range and protocol type for the endpoint group. The specified information forms a mapping relationship with the associated listener port range.'."\n"
+ ."\n"
+ .'You can specify up to 20 mapping port range and protocol type entries for each endpoint group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Protocols' => [
+ 'description' => 'The protocol types of the backend service for the endpoint group.'."\n"
+ ."\n"
+ .'You can specify up to 4 backend service protocol types in each mapping port range and protocol type entry for the endpoint group.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The protocol type of the backend service for the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **TCP**: TCP protocol.'."\n"
+ ."\n"
+ .'- **UDP**: UDP protocol.'."\n"
+ ."\n"
+ .'- **TCP,UDP**: TCP and UDP protocols.'."\n"
+ ."\n\n"
+ .'You can specify up to 4 backend service protocol types in each mapping port range and protocol type entry for the endpoint group.', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''],
+ 'required' => false,
+ 'maxItems' => 4,
+ 'title' => '',
+ 'example' => '',
],
- ],
- '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"
+ 'FromPort' => ['description' => 'The start port of the backend service for the endpoint group.'."\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"
+ .'Valid values: **1** to **65499**. The value of **FromPort** must be less than or equal to the value of **ToPort**.'."\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"
+ .'You can specify up to 20 start port entries for each endpoint group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the backend service for the endpoint group.'."\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"
+ .'Valid values: **1** to **65499**. The value of **FromPort** must be less than or equal to the value of **ToPort**.'."\n"
."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
+ .'You can specify up to 20 end port entries for each endpoint group.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
],
- '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"
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EndpointConfigurations' => [
+ 'description' => 'The endpoint configurations.'."\n"
+ ."\n"
+ .'You can specify up to 10 endpoint configurations for each endpoint group.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The endpoint configurations.'."\n"
+ ."\n"
+ .'You can specify up to 10 endpoint configurations for each endpoint group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of the backend service for the endpoint. Valid values:'."\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"
+ .' **PrivateSubNet** (default): private CIDR block.', 'type' => 'string', 'required' => false, 'example' => 'PrivateSubNet', 'title' => ''],
+ 'Endpoint' => ['description' => 'The name of the endpoint vSwitch instance.', 'type' => 'string', 'required' => false, 'example' => 'vsw-test01', 'title' => ''],
+ 'TrafficToEndpointPolicy' => ['description' => 'The traffic policy for the backend service. 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"
+ .'- **AllowAll**: allows all traffic to access the specified backend service.'."\n"
+ ."\n"
+ .'- **DenyAll** (default): denies all traffic from accessing the specified backend service.'."\n"
+ ."\n"
+ .'- **AllowCustom**: allows traffic to access specified destinations.'."\n"
+ .'You must specify the IP address and port range of the destination. If the port range is left empty, all ports of the destination are supported.', 'type' => 'string', 'required' => false, 'example' => 'DenyAll', 'title' => ''],
+ 'PolicyConfigurations' => [
+ 'description' => 'The traffic destination configurations.'."\n"
+ ."\n"
+ .'You can specify up to 20 traffic destinations for each endpoint.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The traffic destination configurations.'."\n"
+ ."\n"
+ .'You can specify up to 20 traffic destinations for each endpoint.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Address' => ['description' => 'The IP address of the traffic destination that can receive traffic.'."\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"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\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',
+ .'You can specify up to 20 traffic destination IP addresses for each endpoint.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
+ 'PortRanges' => [
+ 'description' => 'The port range of the traffic destination that can receive traffic. The port range must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'If this parameter is left empty, all ports of the traffic destination are supported.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for traffic destinations for each endpoint, and up to 5 port ranges for each traffic destination.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port range of the traffic destination that can receive traffic. The port range must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'If this parameter is left empty, all ports of the traffic destination are supported.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for traffic destinations for each endpoint, and up to 5 port ranges for each traffic destination.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FromPort' => ['description' => 'The start port of the traffic destination that can receive traffic. The port value must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for traffic destinations for each endpoint, and up to 5 start ports for each traffic destination.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the traffic destination that can receive traffic. The port value must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for traffic destinations for each endpoint, and up to 5 end ports for each traffic destination.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 5,
+ 'title' => '',
+ 'example' => '',
+ ],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
- 'PageNumber' => [
- 'title' => '当前实例的跨境网络类型,用于按量付费实例,显示其是用专线跨境还是精品公网跨境',
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 5,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'EndpointGroupIds' => [
+ 'description' => 'The list of endpoint group IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of endpoint group IDs.', 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaua****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 400 => [
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'accelerator %s is not exist', 'description' => 'The GA instance %s does not exist.'],
+ ],
+ ],
+ 'title' => 'Create endpoint groups for a custom routing type listener in batches',
+ 'description' => 'Global Accelerator allocates traffic to endpoints within endpoint groups based on the forwarding method defined by the listener routing type.'."\n"
+ ."\n"
+ .'- After you configure an intelligent routing listener, the Alibaba Cloud Global Accelerator (GA) instance automatically selects the nearest healthy endpoint group for traffic forwarding based on latency factors (primarily depending on geographic location and network link conditions), and ultimately delivers client network access requests to healthy endpoints.'."\n"
+ .'- After you configure a custom routing type listener, the Alibaba Cloud Global Accelerator (GA) instance generates a port mapping table based on the configured listener port range, destination endpoint group protocol and port range, and IP address information of the endpoints (vSwitches), to deterministically route traffic to specific IP addresses and ports within vSwitches.'."\n"
+ ."\n"
+ .'This operation creates endpoint groups for a custom routing type listener. To create endpoint groups for an intelligent routing listener, invoke [CreateEndpointGroup](~~153259~~).'."\n"
+ ."\n"
+ .'When you invoke 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, but the endpoint groups for the custom routing type listener are not yet created. The creation task continues to execute in the background. You can invoke [DescribeCustomRoutingEndpointGroup](~~449373~~) or [ListCustomRoutingEndpointGroups](~~449374~~) to query the status of the endpoint groups: '."\n"
+ .' - If an endpoint group is in the **init** state, the endpoint groups are being created in batches. In this state, you can only execute query operations.'."\n"
+ .' - When all endpoint groups are in the **active** state, the batch creation is complete.'."\n"
+ .'- **CreateCustomRoutingEndpointGroups** does not support concurrent creation of endpoint groups for custom routing type listeners within the same Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ ."\n"
+ .'### Before you begin'."\n"
+ .'Before you create endpoint groups for a custom routing type listener, make sure that you have completed the following operations:'."\n"
+ ."\n"
+ .'- A standard Global Accelerator instance is created. For more information, see [CreateAccelerator](~~206786~~).'."\n"
+ .'- A bandwidth plan is attached to the standard Alibaba Cloud Global Accelerator (GA) instance. For more information, see [BandwidthPackageAddAccelerator](~~153239~~).'."\n"
+ .'- You have deployed the relevant applications as backend services for Global Accelerator to accept forwarded requests. Custom routing type listeners support only vSwitches as the backend service type.'."\n"
+ .'- You have applied for permissions to use custom routing type listeners and created a custom routing type listener. The custom routing type for listeners is in invitational preview. To use this feature, contact your account manager. To create a custom routing type listener, see [CreateListener](~~153253~~).',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:48.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCustomRoutingEndpointGroups'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateCustomRoutingEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
],
],
],
- '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' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EndpointGroupIds\\": [\\n \\"epg-bp1dmlohjjz4kqaua****\\"\\n ]\\n}","type":"json"}]',
],
- 'UpdateAccelerator' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateCustomRoutingEndpointTrafficPolicies' => [
+ 'summary' => 'Invokes the CreateCustomRoutingEndpointTrafficPolicies operation to create an endpoint traffic policy (custom route type listener).',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8892',
- 'abilityTreeNodes' => [
- 'FEATUREgaLOR9WO',
- ],
+ 'abilityTreeCode' => '146955',
+ 'abilityTreeNodes' => ['FEATUREgaYJ70J9'],
],
'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,
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator instance. Set the value to **ap-southeast-1**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of a 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 **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- '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',
+ 'name' => 'EndpointId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint for which you want to create traffic policies.', 'type' => 'string', 'required' => true, 'example' => 'ep-2zewuzypq5e6r3pfh****', 'title' => ''],
],
[
- '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',
+ 'name' => 'PolicyConfigurations',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to automatically pay bills by using coupons. Default value: false. Valid values:'."\n"
+ 'description' => 'The traffic policy configurations.'."\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',
+ .'You can specify up to 500 traffic policies for each endpoint.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The traffic policy configurations.'."\n"
+ ."\n"
+ .'You can specify up to 500 traffic policies for each endpoint.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Address' => ['description' => 'The IP address of the traffic destination that is allowed to receive traffic.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 500 traffic destination IP addresses for each endpoint.'."\n"
+ ."\n"
+ .'> This parameter is required.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
+ 'PortRanges' => [
+ 'description' => 'The port range of the traffic destination that is allowed to receive traffic. The port range must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'If you leave this parameter empty, all ports of the traffic destination are supported.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 500 port ranges for each endpoint, and up to 10 port ranges for each traffic destination.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port range of the traffic destination that is allowed to receive traffic. The port range must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'If you leave this parameter empty, all ports of the traffic destination are supported.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for each endpoint, and up to 20 port ranges for each traffic destination.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FromPort' => ['description' => 'The start port of the traffic destination that is allowed to receive traffic. The port value must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'If you leave both the start port and end port empty, all ports of the traffic destination are supported.'."\n"
+ ."\n"
+ .'You can specify up to 500 port ranges for each endpoint, and up to 10 start ports for each traffic destination.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the traffic destination that is allowed to receive traffic. The port value must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'If you leave both the start port and end port empty, all ports of the traffic destination are supported.'."\n"
+ ."\n"
+ .'You can specify up to 500 port ranges for each endpoint, and up to 10 end ports for each traffic destination.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 500,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ',
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'PolicyIds' => [
+ 'description' => 'The IDs of the traffic policies.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The IDs of the traffic policies.', 'type' => 'string', 'example' => 'ply-bptest2****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
],
],
- '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"
+ 'title' => 'Create endpoint traffic policies for a custom routing listener',
+ 'description' => 'This operation takes effect only when the traffic policy of the backend service for the endpoint is set to allow traffic to specified destinations that can accept access traffic. You can invoke [DescribeCustomRoutingEndpoint](~~449386~~) to query the traffic policy of the backend service for a specified endpoint. This operation takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom** (specifying destinations that can accept access traffic).'."\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"
+ .'Before you invoke this operation, take note of the following items:'."\n"
+ .'- **CreateCustomRoutingEndpointTrafficPolicies** is an asynchronous operation. After you send a request, the system returns a request ID, but the endpoint traffic policies for the custom route type listener are not yet created. The creation task continues to run in the background. You can invoke [DescribeCustomRoutingEndpointGroup](~~449373~~) to query the status of the endpoint group to confirm whether the traffic policies are created. '."\n"
+ .' - If the endpoint group is in the **updating** state, the traffic policies are being created. In this state, you can only execute query operations.'."\n"
+ .' - If the endpoint group is in the **active** state, the traffic policies are created.'."\n"
+ .'- The **CreateCustomRoutingEndpointTrafficPolicies** operation does not support concurrent creation of endpoint traffic policies within the same Global Accelerator instance.'."\n"
+ .'### Before you begin'."\n"
+ .'Before you create an endpoint traffic policy, make sure that you have completed the following operations:'."\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',
+ .'- A standard Global Accelerator instance is created. For more information, see [CreateAccelerator](~~206786~~).'."\n"
+ ."\n"
+ .'- If the billing method of the standard Global Accelerator instance is **pay-by-bandwidth**, a basic bandwidth plan is attached to the standard Global Accelerator instance. For more information, see [BandwidthPackageAddAccelerator](~~153239~~).'."\n"
+ ."\n"
+ .'- You have deployed the required applications as backend services to accept forwarded requests from Global Accelerator. The backend service type for custom route type listeners supports only vSwitches.'."\n"
+ ."\n"
+ .'- You have obtained the permissions to use custom route type listeners and created a custom route type listener. The custom route type for listeners is in invitational preview. To use this feature, contact your account manager. To create a custom route type listener, see [CreateListener](~~153253~~).'."\n"
+ .'- An endpoint group is created for the custom route type listener. For more information, see [CreateCustomRoutingEndpointGroups](~~449363~~).'."\n"
+ ."\n"
+ .'- An endpoint is created for the custom route type listener. For more information, see [CreateCustomRoutingEndpoints](~~449382~~).',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:11.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:48.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCustomRoutingEndpointTrafficPolicies'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateCustomRoutingEndpointTrafficPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#CustomRoutingEndpointId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PolicyIds\\": [\\n \\"ply-bptest2****\\"\\n ]\\n}","type":"json"}]',
+ ],
+ 'CreateCustomRoutingEndpoints' => [
+ 'summary' => 'Invokes the CreateCustomRoutingEndpoints operation to create endpoints for a custom route type listener.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '146857',
+ 'abilityTreeNodes' => ['FEATUREgaNBCRGX'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of a 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 **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the endpoint group in which you want to create an endpoint.', 'type' => 'string', 'required' => true, 'example' => 'epg-bp1bpn0kn908w4nb****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointConfigurations',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
+ 'description' => 'The endpoint configurations.'."\n"
+ ."\n"
+ .'You can specify up to 20 endpoint configurations.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The endpoint configurations.'."\n"
+ ."\n"
+ .'You can specify up to 20 endpoint configurations.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The backend service type of the endpoint. Valid values:'."\n"
+ ."\n"
+ .' **PrivateSubNet** (default): private CIDR block.', 'type' => 'string', 'required' => false, 'example' => 'PrivateSubNet', 'title' => ''],
+ 'Endpoint' => ['description' => 'The instance ID of the endpoint vSwitch.', 'type' => 'string', 'required' => false, 'example' => 'vsw-test01', 'title' => ''],
+ 'TrafficToEndpointPolicy' => ['description' => 'The traffic policy for the backend service. Valid values:'."\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.'."\n"
+ .'You must specify the IP address and port range of the destination. If the port range is left empty, all ports of the destination are supported.', 'type' => 'string', 'required' => false, 'example' => 'DenyAll', 'title' => ''],
+ 'PolicyConfigurations' => [
+ 'description' => 'The traffic destination configurations.'."\n"
+ ."\n"
+ .'You can specify up to 20 traffic destinations for each endpoint.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The traffic destination configurations.'."\n"
+ ."\n"
+ .'You can specify up to 20 traffic destinations for each endpoint.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Address' => ['description' => 'The IP address of the traffic destination that can receive traffic.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 traffic destination IP addresses for each endpoint.', 'type' => 'string', 'required' => true, 'example' => '10.0.XX.XX', 'title' => ''],
+ 'PortRanges' => [
+ 'description' => 'The port range of the traffic destination that can receive traffic. The port range must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'If this parameter is left empty, all ports of the traffic destination are supported.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for each endpoint, and up to 20 port ranges for each traffic destination.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port range of the traffic destination that can receive traffic. The port range must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'If this parameter is left empty, all ports of the traffic destination are supported.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for each endpoint, and up to 20 port ranges for each traffic destination.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FromPort' => ['description' => 'The start port of the traffic destination that can receive traffic. The port value must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for each endpoint, and up to 20 start ports for each traffic destination.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the traffic destination that can receive traffic. The port value must fall within the backend service port range of the endpoint group.'."\n"
+ ."\n"
+ .'This parameter takes effect only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for each endpoint, and up to 20 end ports for each traffic destination.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned information.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8',
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'EndpointIds' => [
+ 'description' => 'The list of endpoint IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of endpoint IDs.', 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
],
],
- '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"
+ 'title' => 'Create endpoints for a custom routing listener',
+ 'description' => 'After you configure a custom route type listener, the Alibaba Cloud Global Accelerator (GA) instance generates a port mapping table based on the configured listener port range, the protocol and port range of the destination endpoint group, and the IP address information of the endpoints (vSwitches). This way, traffic is deterministically routed to specific IP addresses and ports in the vSwitches.'."\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"
+ .'This operation creates endpoints for a custom route type listener. When you invoke this operation, take note of the following items:'."\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',
+ .'- **CreateCustomRoutingEndpoints** is an asynchronous operation. After a request is sent, the system returns a request ID, but the endpoints are not yet created. The creation node continues to run in the background. You can invoke the [DescribeCustomRoutingEndpointGroup](~~449373~~) operation to query the status of the endpoint group to confirm whether the endpoints are created: '."\n"
+ .' - If the endpoint group is in the **updating** state, the endpoints are being created. In this state, you can only execute query operations.'."\n"
+ .' - If the endpoint group is in the **active** state, the endpoints are created.'."\n"
+ .'- The **CreateCustomRoutingEndpoints** operation does not support concurrent requests to create endpoints for custom route listeners within the same Alibaba Cloud Global Accelerator (GA) instance.'."\n"
+ .'### Before you begin'."\n"
+ .'Before you create endpoints for a custom route type listener, make sure that the following operations are complete:'."\n"
+ .'- A standard Global Accelerator instance is created. For more information, see [CreateAccelerator](~~206786~~).'."\n"
+ .'- A bandwidth plan is attached to the standard Alibaba Cloud Global Accelerator (GA) instance. For more information, see [BandwidthPackageAddAccelerator](~~153239~~).'."\n"
+ .'- Applications are deployed as backend services of Global Accelerator to accept forwarded requests. Custom route type listeners support only vSwitches as the backend service type.'."\n"
+ .'- You have obtained the permissions to use custom route type listeners and created a custom route type listener. The custom route type for listeners is in invitational preview. To use this feature, contact your account manager. To create a custom route type listener, see [CreateListener](~~153253~~).'."\n"
+ .'- An endpoint group for the custom route type listener is created. For more information, see [CreateCustomRoutingEndpointGroups](~~449363~~).',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:53.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:48.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCustomRoutingEndpoints'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateCustomRoutingEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"EndpointIds\\": [\\n \\"epg-bp1dmlohjjz4kqaun****\\"\\n ]\\n}","type":"json"}]',
+ ],
+ 'CreateDomain' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'high',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '7849',
- 'abilityTreeNodes' => [
- 'FEATUREgaLOR9WO',
- ],
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '149715',
+ 'abilityTreeNodes' => ['FEATUREgaN8JEXK'],
],
'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,
- ],
+ 'schema' => ['description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'default' => 'cn-hangzhou', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'AcceleratorIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the GA instance that you want to delete.'."\n",
- 'type' => 'string',
+ 'description' => 'The ID of the GA instance.'."\n"
+ ."\n"
+ .'You can enter up to 50 IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the GA instance.'."\n"
+ ."\n"
+ .'You can enter up to 50 IDs.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ '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`.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
+ ],
+ [
+ '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"
+ ."\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.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned information.'."\n",
+ 'title' => '',
+ 'description' => 'A list of response parameters.',
'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****',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NoIcpRecord.Domain', 'errorMessage' => '%s has not been put on ICP record.', 'description' => '%s has not been put on ICP record'],
],
],
- '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"
+ 'title' => 'CreateDomain',
+ 'summary' => 'Creates an accelerated domain name and associates it with one or more GA instances.',
+ '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"
- .'* **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"
+ .'This operation adds an accelerated domain name and associates it with GA instances. Take note of the following items when calling this operation:'."\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',
+ .'- If your accelerated domain name is hosted in the Chinese mainland, you must obtain an ICP number for the domain name.'."\n"
+ ."\n"
+ .'- The same accelerated domain name cannot be repeatedly associated with the same GA instance.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **CreateDomain** operation by using the same Alibaba Cloud account within a specific period of time.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:53.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-12-23T15:32:02.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-07-23T09:34:47.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDomain'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateDomain',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Domain', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
+ ],
+ 'CreateEndpointGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '7838',
- 'abilityTreeNodes' => [
- 'FEATUREgaLOR9WO',
- ],
+ 'abilityTreeCode' => '7846',
+ '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**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client token used to ensure request idempotence.'."\n"
+ ."\n"
+ .'You can generate this token, but you must ensure it is unique for each request. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. Each request has a unique **RequestId**.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000 ', 'title' => ''],
+ ],
+ [
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'DdosId',
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the endpoint group.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters long, start with a letter or a Chinese character, and can contain digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'group1', 'title' => ''],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The description of the endpoint group.'."\n"
+ ."\n"
+ .'The description can be up to 200 characters long and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'EndpointGroup', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupRegion',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the region where the endpoint group is deployed.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'ListenerId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the listener.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ ],
+ [
+ 'name' => 'TrafficPercentage',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The percentage of traffic distributed to the endpoint group when the listener is associated with multiple endpoint groups. Valid values: **1** to **100**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'HealthCheckIntervalSeconds',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The health check interval, in seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
+ ],
+ [
+ 'name' => 'HealthCheckPath',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The path used for health checks.', 'type' => 'string', 'required' => false, 'example' => '/healthcheck', 'title' => ''],
+ ],
+ [
+ 'name' => 'HealthCheckPort',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The port used for health checks.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
+ ],
+ [
+ 'name' => 'HealthCheckProtocol',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The protocol used for health checks. Valid values:'."\n"
+ ."\n"
+ .'- **tcp** or **TCP**: TCP'."\n"
+ ."\n"
+ .'- **http** or **HTTP**: HTTP'."\n"
+ ."\n"
+ .'- **https** or **HTTPS**: HTTPS', 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''],
+ ],
+ [
+ 'name' => 'ThresholdCount',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of consecutive health checks that must succeed or fail before an endpoint\'s status changes between healthy and unhealthy. Valid values: **2** to **10**. Default value: **3**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointConfigurations',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the Anti-DDoS Pro/Premium instance to be associated with the GA instance.'."\n",
- 'type' => 'string',
+ 'description' => 'The endpoint configurations.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The endpoint configurations.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Domain**: a custom domain name.'."\n"
+ ."\n"
+ .'- **Ip**: a custom IP address.'."\n"
+ ."\n"
+ .'- **IpTarget**: a custom private IP address.'."\n"
+ ."\n"
+ .'- **PublicIp**: an Alibaba Cloud public IP address.'."\n"
+ ."\n"
+ .'- **ECS**: an Elastic Compute Service (ECS) instance.'."\n"
+ ."\n"
+ .'- **SLB**: a Server Load Balancer (SLB) instance.'."\n"
+ ."\n"
+ .'- **ALB**: an Application Load Balancer (ALB) instance.'."\n"
+ ."\n"
+ .'- **OSS**: an Object Storage Service (OSS) bucket.'."\n"
+ ."\n"
+ .'- **ENI**: an elastic network interface (ENI).'."\n"
+ ."\n"
+ .'- **NLB**: a Network Load Balancer (NLB) instance.'."\n"
+ ."\n"
+ .'> * If you set the endpoint type to **ECS**, **ENI**, **SLB**, **ALB**, **NLB**, or **IpTarget**, the system automatically creates a service-linked role named AliyunServiceRoleForGaVpcEndpoint if the role does not exist.'."\n"
+ .'>'."\n"
+ .'> * If you set the endpoint type to **ALB**, the system automatically creates a service-linked role named AliyunServiceRoleForGaAlb if the role does not exist.'."\n"
+ .'>'."\n"
+ .'> * If you set the endpoint type to **OSS**, the system automatically creates a service-linked role named AliyunServiceRoleForGaOss if the role does not exist.'."\n"
+ .'>'."\n"
+ .'> * If you set the endpoint type to **NLB**, the system automatically creates a service-linked role named AliyunServiceRoleForGaNlb if the role does not exist.'."\n"
+ .'>'."\n"
+ .'> > For more information, see [Service-linked roles](~~178360~~).', 'type' => 'string', 'required' => true, 'example' => 'Ip', 'title' => ''],
+ 'EnableClientIPPreservation' => ['description' => 'Specifies whether to preserve client source IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: preserves client source IP addresses.'."\n"
+ ."\n"
+ .'- **false** (default): does not preserve client source IP addresses.'."\n"
+ ."\n"
+ .'> * By default, this feature is disabled for endpoint groups that are associated with TCP or UDP listeners. You can enable this feature based on your business requirements.'."\n"
+ .'>'."\n"
+ .'> * By default, this feature is enabled for endpoint groups that are associated with HTTP or HTTPS listeners. The source IP address is retrieved from the X-Forwarded-For header field. This feature cannot be disabled.'."\n"
+ .'>'."\n"
+ .'> * `EnableClientIPPreservation` and `EnableProxyProtocol` cannot both be set to `true`.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [Preserve client source IP addresses](~~158080~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ '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 it. Proceed with caution.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''],
+ 'EnableProxyProtocol' => ['description' => 'Specifies whether to use the PROXY protocol to preserve client source IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: uses the PROXY protocol.'."\n"
+ ."\n"
+ .'- **false** (default): does not use the PROXY protocol.'."\n"
+ ."\n"
+ .'> * This parameter can be configured only for endpoint groups that are associated with TCP listeners.'."\n"
+ .'>'."\n"
+ .'> * `EnableClientIPPreservation` and `EnableProxyProtocol` cannot both be set to `true`.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [Preserve client source IP addresses](~~158080~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'Endpoint' => ['description' => 'The IP address, domain name, or resource ID of the endpoint. The value of this parameter depends on the value of the `Type` parameter.', 'type' => 'string', 'required' => true, 'example' => '120.1.XX.XX', 'title' => ''],
+ 'SubAddress' => ['description' => 'The private IP address of the ENI.'."\n"
+ ."\n"
+ .'> This parameter applies only when the endpoint type is set to **ENI**. If you omit this parameter, the primary private IP address of the ENI is used.', 'type' => 'string', 'required' => false, 'example' => '172.168.X.X', 'title' => ''],
+ 'VpcId' => ['description' => 'The ID of the Virtual Private Cloud (VPC).'."\n"
+ ."\n"
+ .'You can specify at most one VPC ID for an endpoint group of an intelligent routing listener.'."\n"
+ ."\n"
+ .'> This parameter is required only when the endpoint type is set to **IpTarget**.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1quce3451z5b2hv****', 'title' => ''],
+ 'VSwitchIds' => [
+ 'description' => 'A list of vSwitches in the VPC.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the vSwitch.'."\n"
+ ."\n"
+ .'You can specify a maximum of two vSwitch IDs for an endpoint group of an intelligent routing listener.'."\n"
+ ."\n"
+ .'> This parameter is required when the endpoint type is **IpTarget**.'."\n"
+ .'>'."\n"
+ .'> - The vSwitch must belong to the VPC specified by the **VpcId** parameter.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp12mho4ze51ezagm****', 'title' => ''],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Provider' => ['description' => 'The AI service provider. Set this to `BAILIAN` to use Alibaba Cloud Model Studio.', 'type' => 'string', 'example' => 'BAILIAN', 'title' => ''],
+ 'ApiKeys' => [
+ 'type' => 'array',
+ 'items' => ['description' => 'The API key for the AI service.', 'type' => 'string', 'example' => 'sk-***********', 'title' => ''],
+ 'description' => 'The API keys for the AI service.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'docRequired' => true,
- 'example' => 'ddoscoo-cn-zz11vq7j****',
- 'deprecated' => true,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DdosRegionId',
+ 'name' => 'EndpointRequestProtocol',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The protocol used by the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP** (default)'."\n"
+ ."\n"
+ .'- **HTTPS**'."\n"
+ ."\n"
+ .'> * This parameter is available only for endpoint groups of **HTTP** or **HTTPS** listeners.'."\n"
+ .'>'."\n"
+ .'> * For an **HTTP** listener, the backend service protocol must be **HTTP**.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointProtocolVersion',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The version of the backend service protocol. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP1.1** (default): HTTP/1.1.'."\n"
+ ."\n"
+ .'- **HTTP2**: HTTP/2.'."\n"
+ ."\n"
+ .'> This parameter is available only when `EndpointRequestProtocol` is set to HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTP1.1', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupType',
'in' => 'query',
'schema' => [
- 'description' => 'The region where the Anti-DDoS Pro/Premium instance is deployed. Valid values:'."\n"
+ 'description' => 'The type of the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **default** (default): a default endpoint group.'."\n"
."\n"
- .'* **cn-hangzhou**: regions in the Chinese mainland'."\n"
- .'* **ap-southeast-1**: regions outside the Chinese mainland'."\n",
+ .'- **virtual**: a virtual endpoint group.'."\n"
+ ."\n"
+ .'> Before you create a virtual endpoint group for a Layer 4 listener, make sure that you have created a default endpoint group.',
'type' => 'string',
+ 'default' => 'default',
+ 'enum' => ['default', 'virtual'],
'required' => false,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- 'deprecated' => true,
+ 'example' => 'default',
+ 'title' => '',
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'PortOverrides',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n",
- 'type' => 'string',
+ 'description' => 'The listener-to-endpoint port mappings.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The listener-to-endpoint port mappings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerPort' => ['description' => 'The listener port for the port mapping.'."\n"
+ ."\n"
+ .'> - For TCP listeners, you cannot configure port mappings for virtual endpoint groups. If a listener is associated with a virtual endpoint group, you cannot configure port mappings for the default endpoint group. If a default endpoint group has port mappings configured, you cannot add a virtual endpoint group.'."\n"
+ .'>'."\n"
+ .'> - After you configure port mappings, you cannot change the listener protocol, except for switching between HTTP and HTTPS.'."\n"
+ .'>'."\n"
+ .'> - When you modify the listener port range, the new range must include all listener ports used in port mappings. For example, if the listener port range is 80-82 and the listener ports are mapped to endpoint ports 100-102, you cannot change the listener port range to 80-81.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '443', 'title' => ''],
+ 'EndpointPort' => ['description' => 'The endpoint port for the port mapping.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'cn-hangzhou',
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DdosConfigList',
+ 'name' => 'HealthCheckEnabled',
'in' => 'query',
- 'style' => 'flat',
+ 'schema' => ['description' => 'Specifies whether to enable health checks. Valid values:'."\n"
+ ."\n"
+ .'- **true**: enables health checks.'."\n"
+ ."\n"
+ .'- **false**: disables health checks.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
+ 'description' => 'The tags of the endpoint group.',
'type' => 'array',
'items' => [
+ 'description' => 'The tags of the endpoint group.',
'type' => 'object',
'properties' => [
- 'DdosRegionId' => [
- 'type' => 'string',
- ],
- 'DdosId' => [
- 'type' => 'string',
- ],
+ 'Key' => ['description' => 'The tag key. The tag key cannot be an empty string.'."\n"
+ ."\n"
+ .'The tag key can be up to 64 characters long and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'test-key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value. The tag value can be an empty string.'."\n"
+ ."\n"
+ .'The tag value can be up to 128 characters long and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'test-value', 'title' => ''],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
[
'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'type' => 'boolean',
- ],
+ '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 format, and service limits. If the request fails the dry run, the system returns an error message. If the request passes the dry run, the system returns an HTTP 2xx status code.'."\n"
+ ."\n"
+ .'- **false** (default): sends a normal request. If the request passes the check, the system returns an HTTP 2xx status code and creates the endpoint group.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'HealthCheckHost',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The domain name used for health checks.', 'type' => 'string', 'required' => false, 'example' => 'www.taobao.com', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointIpVersion',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The IP version used to communicate with the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4** (default): GA uses only IPv4 to communicate with the backend service.'."\n"
+ ."\n"
+ .'- **IPv6**: GA uses only IPv6 to communicate with the backend service.'."\n"
+ ."\n"
+ .'- **ProtocolAffinity**: GA uses the same IP version as the client request to communicate with the backend service.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The data returned.',
'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****',
- ],
+ 'EndpointGroupId' => ['description' => 'The endpoint group ID.', 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'Domain.NotFit', 'errorMessage' => 'The domain is not fit the rule', 'description' => 'The domain name does not have an ICP number.'],
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'NotExist.ListenerPort', 'errorMessage' => 'The listening port %s does not exist.', 'description' => 'The listening port does not exist.'],
+ ['errorCode' => 'NoPermission.EnableHealthCheck', 'errorMessage' => 'You do not have permission to enable health check.', 'description' => 'The current account does not have the permissions to enable health checks.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BusinessRegion', 'errorMessage' => 'The business region does not exist.', 'description' => 'The business region does not exist.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'QuotaExceeded.EndPoint', 'errorMessage' => 'The maximum number of endpoints is exceeded.', 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['errorCode' => 'Exist.EndpointGroup', 'errorMessage' => 'The endpoint group already exists.', 'description' => 'The endpoint group already exists.'],
+ ['errorCode' => 'NoPermission.VpcEndpoint', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
+ ['errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', 'errorMessage' => 'endpoint group request protoco is illegal', 'description' => ''],
+ ['errorCode' => 'QuotaExceeded.PortOverride', 'errorMessage' => 'The number of port override exceeds the limit.', 'description' => '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.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
+ 'title' => 'CreateEndpointGroup',
+ 'summary' => 'Creates an endpoint group.',
+ 'description' => '- Before you create a virtual endpoint group for a Layer 4 listener, you must first create a default endpoint group.'."\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"
+ .'- **CreateEndpointGroup** is an asynchronous operation. After you send a request, the system returns an endpoint group ID and begins creating the endpoint group in the background. You can call [DescribeEndpointGroup](~~153260~~) to query the status of the endpoint group:'."\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"
+ .' - If the endpoint group is in the **init** state, it is being created. In this state, you can only perform query operations.'."\n"
."\n"
- .'* You cannot repeatedly call the **AttachDdosToAccelerator** operation for the same GA instance within a specific period of time.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
+ .' - If the endpoint group is in the **active** state, it has been created.'."\n"
+ ."\n"
+ .'- You cannot make concurrent calls to the **CreateEndpointGroup** operation for the same Global Accelerator instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-26T06:24:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-04-15T07:01:19.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-12-23T15:31:09.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-07-19T16:47:17.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-11-22T09:04:07.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-09-14T09:38:02.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-06-20T02:10:22.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-03-31T09:00:27.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:AcceleratorMainland', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndpointGroupId\\": \\"epg-bp1dmlohjjz4kqaun****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
'extraInfo' => ' ',
],
- 'DetachDdosFromAccelerator' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateEndpointGroups' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6526,123 +4877,435 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8880',
- 'abilityTreeNodes' => [
- 'FEATUREgaLOR9WO',
- ],
+ 'abilityTreeCode' => '35744',
+ 'abilityTreeNodes' => ['FEATUREgaMGA0JD'],
],
'parameters' => [
[
- 'name' => 'AcceleratorId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The ID of the region where the accelerator is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'ClientToken',
'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',
- ],
+ 'schema' => ['description' => 'The client token used to ensure request idempotence.'."\n"
+ ."\n"
+ .'You can generate the token on your client. Ensure that it is unique across different requests. The value of `ClientToken` can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** is unique for each API request.', 'type' => 'string', 'required' => false, 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', 'title' => ''],
],
[
- 'name' => 'DdosConfigList',
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: performs a dry run but does not create the resource. The system checks the required parameters, request format, and service limits. If the request fails the dry run, the system returns an error message. If the request passes the dry run, the system returns a 2xx HTTP status code.'."\n"
+ ."\n"
+ .'- **false** (default): sends a normal request and creates the resource if the request passes.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ [
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the accelerator.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ListenerId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the listener.'."\n"
+ ."\n"
+ .'> If the listener protocol is **HTTP** or **HTTPS**, you can create only one endpoint group in each **CreateEndpointGroups** call.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupConfigurations',
+ 'in' => 'formData',
'style' => 'flat',
'schema' => [
+ 'description' => 'The configurations of the endpoint groups.'."\n"
+ ."\n"
+ .'You can configure up to 10 endpoint groups.',
'type' => 'array',
'items' => [
+ 'description' => 'The configuration of an endpoint group.',
'type' => 'object',
'properties' => [
- 'DdosId' => [
- 'type' => 'string',
+ 'EndpointGroupName' => ['description' => 'The name of the endpoint group.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters long, start with a letter or a Chinese character, and contain digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'group1', 'title' => ''],
+ 'EndpointGroupDescription' => ['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://`.', 'type' => 'string', 'required' => false, 'example' => 'EndpointGroup', 'title' => ''],
+ 'EndpointGroupRegion' => ['description' => 'The ID of the region where the endpoint group is deployed.'."\n"
+ ."\n"
+ .'You can enter up to 10 endpoint group region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-hongkong', 'title' => ''],
+ 'TrafficPercentage' => ['description' => 'The traffic distribution percentage for the endpoint group. If an intelligent routing listener is associated with multiple endpoint groups, this parameter specifies the percentage of traffic that is routed to this endpoint group.'."\n"
+ ."\n"
+ .'Valid values: **1** to **100**. Default value: **100**.'."\n"
+ ."\n"
+ .'You can enter traffic dial values for up to 10 endpoint groups.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''],
+ 'HealthCheckEnabled' => ['description' => 'Specifies whether to enable health checks for the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **true**: enables health checks.'."\n"
+ ."\n"
+ .'- **false** (default): disables health checks.'."\n"
+ ."\n"
+ .'You can enable health checks for up to 10 endpoint groups.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'HealthCheckIntervalSeconds' => ['description' => 'The interval between health checks, in seconds.'."\n"
+ ."\n"
+ .'You can enter up to 10 health check intervals.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5', 'title' => ''],
+ 'HealthCheckPath' => ['description' => 'The path used for health checks.'."\n"
+ ."\n"
+ .'You can enter up to 10 health check paths.', 'type' => 'string', 'required' => false, 'example' => '/healthcheck', 'title' => ''],
+ 'HealthCheckPort' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**.'."\n"
+ ."\n"
+ .'You can enter up to 10 ports for health checks.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '443', 'title' => ''],
+ 'HealthCheckProtocol' => ['description' => 'The protocol used for health checks. Valid values:'."\n"
+ ."\n"
+ .'- **tcp** or **TCP**: TCP protocol.'."\n"
+ ."\n"
+ .'- **http** or **HTTP**: HTTP protocol.'."\n"
+ ."\n"
+ .'- **https** or **HTTPS**: HTTPS protocol.'."\n"
+ ."\n"
+ .'You can enter up to 10 health check protocols.', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''],
+ 'ThresholdCount' => ['description' => 'The number of consecutive health checks that must succeed for an endpoint to be considered healthy, or fail for it to be considered unhealthy. Valid values: **2** to **10**. Default value: **3**.'."\n"
+ ."\n"
+ .'You can enter up to 10 values for the number of consecutive health checks required for a health status change.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''],
+ 'EndpointConfigurations' => [
+ 'description' => 'The configurations of the endpoints in the endpoint group.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configuration of an endpoint.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of endpoint in an intelligent routing listener. Valid values:'."\n"
+ ."\n"
+ .'- **Domain**: a custom domain name.'."\n"
+ ."\n"
+ .'- **Ip**: a custom IP address.'."\n"
+ ."\n"
+ .'- **IpTarget**: a custom private IP address.'."\n"
+ ."\n"
+ .'- **PublicIp**: an Alibaba Cloud public IP address.'."\n"
+ ."\n"
+ .'- **ECS**: an ECS instance.'."\n"
+ ."\n"
+ .'- **SLB**: an SLB instance.'."\n"
+ ."\n"
+ .'- **ALB**: an ALB instance.'."\n"
+ ."\n"
+ .'- **OSS**: an OSS bucket.'."\n"
+ ."\n"
+ .'- **ENI**: an elastic network interface.'."\n"
+ ."\n"
+ .'- **NLB**: an NLB instance.'."\n"
+ ."\n"
+ .'In an endpoint group of an intelligent routing listener, you can specify up to 100 endpoints.'."\n"
+ ."\n"
+ .'> - If the routing type of the listener is **Standard** (intelligent routing), you must configure the endpoint group and endpoint information for the listener. This parameter is required.'."\n"
+ .'>'."\n"
+ .'> - If you set Type to **ECS**, **ENI**, **SLB**, or **IpTarget** and a service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaVpcEndpoint.'."\n"
+ .'>'."\n"
+ .'> - If you set Type to **ALB** and a service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaAlb.'."\n"
+ .'>'."\n"
+ .'> - If you set Type to **OSS** and a service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaOss.'."\n"
+ .'>'."\n"
+ .'> - If you set Type to **NLB** and a service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaNlb.'."\n"
+ .'>'."\n"
+ .'> > For more information, see [service-linked roles](~~178360~~).', 'type' => 'string', 'required' => false, 'example' => 'Domain', 'title' => ''],
+ '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, Global Accelerator stops distributing traffic to the endpoint. Proceed with caution.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '255', 'title' => ''],
+ 'Endpoint' => ['description' => 'The IP address or domain name of the endpoint.'."\n"
+ ."\n"
+ .'In an endpoint group of an intelligent routing listener, you can enter a maximum of 100 endpoint IP addresses or domain names.', 'type' => 'string', 'required' => false, 'example' => '1.1.1.1', 'title' => ''],
+ 'SubAddress' => ['description' => 'The private IP address of the elastic network interface (ENI).'."\n"
+ ."\n"
+ .'> This parameter is available only when the endpoint type is **ENI**. If you do not specify this parameter, the system uses the primary private IP address of the ENI.', 'type' => 'string', 'required' => false, 'example' => '172.168.XX.XX', 'title' => ''],
+ 'EnableClientIPPreservation' => ['description' => 'Specifies whether to preserve client IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: preserves client IP addresses.'."\n"
+ ."\n"
+ .'- **false** (default): does not preserve client IP addresses.'."\n"
+ ."\n"
+ .'> * For endpoint groups of UDP and TCP listeners, the preserve client IP feature is disabled by default. You can enable this feature based on your business requirements.'."\n"
+ .'>'."\n"
+ .'> * For endpoint groups of HTTP and HTTPS listeners, the preserve client IP feature is enabled by default. Client IP addresses are preserved in the X-Forwarded-For header. You cannot disable this feature.'."\n"
+ .'>'."\n"
+ .'> * `EnableClientIPPreservation` and `EnableProxyProtocol` cannot be set to `true` at the same time.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [preserve client IP addresses](~~158080~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'EnableProxyProtocol' => ['description' => 'Specifies whether to use the Proxy Protocol to preserve client IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: uses the Proxy Protocol to preserve client IP addresses.'."\n"
+ ."\n"
+ .'- **false** (default): does not use the Proxy Protocol to preserve client IP addresses.'."\n"
+ ."\n"
+ .'> * This parameter is available only for endpoint groups that are associated with TCP listeners.'."\n"
+ .'>'."\n"
+ .'> * `EnableClientIPPreservation` and `EnableProxyProtocol` cannot be set to `true` at the same time.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [preserve client IP addresses](~~158080~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'VpcId' => ['description' => 'The ID of the VPC.'."\n"
+ ."\n"
+ .'In an endpoint group of an intelligent routing listener, you can specify only one VPC ID.'."\n"
+ ."\n"
+ .'> This parameter is required only when you set Type to **IpTarget**.', 'type' => 'string', 'required' => false, 'example' => 'vpc-2zekzii824szm3hps****', 'title' => ''],
+ 'VSwitchIds' => [
+ 'description' => 'A list of VSwitch IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the VSwitch.'."\n"
+ ."\n"
+ .'In an endpoint group of an intelligent routing listener, you can specify up to two VSwitch IDs.'."\n"
+ ."\n"
+ .'> This parameter is required and applies only when the endpoint type is IpTarget.'."\n"
+ .'>'."\n"
+ .'> - The VSwitch must be in the VPC specified by the VpcId parameter.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp1b2qx7y2qqnbkan****', 'title' => ''],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Provider' => ['type' => 'string', 'example' => 'BAILIAN', 'description' => '', 'title' => ''],
+ 'ApiKeys' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => 'sk-******', 'description' => '', 'title' => ''],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EndpointRequestProtocol' => ['description' => 'The protocol of the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP**'."\n"
+ ."\n"
+ .'- **HTTPS**'."\n"
+ ."\n"
+ .'> * You can set this parameter only when you create an endpoint group for an HTTP or HTTPS listener.'."\n"
+ .'>'."\n"
+ .'> * For an HTTP listener, you can set this parameter only to HTTP.', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''],
+ 'EndpointProtocolVersion' => ['description' => 'The protocol version of the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP1.1** (default): HTTP 1.1.'."\n"
+ ."\n"
+ .'- **HTTP2**: HTTP 2.'."\n"
+ ."\n"
+ .'> You can set this parameter only when `EndpointRequestProtocol` is set to **HTTPS**.', 'type' => 'string', 'required' => false, 'example' => 'HTTP1.1', 'title' => ''],
+ 'EndpointGroupType' => ['description' => 'The type of the endpoint group in an intelligent routing listener. Valid values:'."\n"
+ ."\n"
+ .'- **default** (default): a default endpoint group.'."\n"
+ ."\n"
+ .'- **virtual**: a virtual endpoint group.'."\n"
+ ."\n"
+ .'You can enter up to 10 endpoint group types.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
+ 'PortOverrides' => [
+ 'description' => 'The port override settings.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A port override setting.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerPort' => ['description' => 'The listener port.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65499**.'."\n"
+ ."\n"
+ .'> - For TCP listeners, you cannot configure port overrides for a virtual endpoint group. If a virtual endpoint group already exists for the listener, you cannot configure port overrides for the default endpoint group. If port overrides are configured for the default endpoint group, you cannot add a virtual endpoint group.'."\n"
+ .'>'."\n"
+ .'> - After you configure a port override, you cannot change the listener protocol, except for switching between HTTP and HTTPS.'."\n"
+ .'>'."\n"
+ .'> - When you modify the listener port range, the new range must include all listener ports that are used in the port overrides. For example, if the listener port range is 80-82 and a port override is configured to map listener ports to endpoint ports 100-102, you cannot change the listener port range to 80-81.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '80', 'title' => ''],
+ 'EndpointPort' => ['description' => 'The endpoint port used for the port override.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '443', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 5,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Tag' => [
+ 'description' => 'The tags to add to the endpoint group. You can specify up to 20 tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags of the endpoint group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The key of the tag. The tag key cannot be an empty string.'."\n"
+ ."\n"
+ .'The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can enter up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tag-key', 'title' => ''],
+ 'Value' => ['description' => 'The value of the tag. The tag value can be an empty string.'."\n"
+ ."\n"
+ .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can enter up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tag-value'."\n", 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
- 'DdosRegionId' => [
- 'type' => 'string',
+ 'SystemTag' => [
+ 'description' => 'This parameter is reserved.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'This parameter is reserved.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'This parameter is reserved.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''],
+ 'Value' => ['description' => 'This parameter is reserved.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''],
+ 'Scope' => ['description' => 'This parameter is reserved.', 'type' => 'string', 'required' => false, 'example' => '-', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
+ 'HealthCheckHost' => ['description' => 'The domain name to which health check requests are sent.', 'type' => 'string', 'required' => false, 'example' => 'www.taobao.com', 'title' => ''],
+ 'EndpointIpVersion' => ['description' => 'The IP version of the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4** (default): Global Accelerator uses only IPv4 addresses to communicate with the backend service.'."\n"
+ ."\n"
+ .'- **IPv6**: Global Accelerator uses only IPv6 addresses to communicate with the backend service.'."\n"
+ ."\n"
+ .'- **ProtocolAffinity**: Global Accelerator communicates with the backend service using the same IP version as the client request.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
- ],
- ],
- [
- 'name' => 'DryRun',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'boolean',
+ 'required' => true,
+ 'maxItems' => 200,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned information.'."\n",
+ 'title' => '',
+ 'description' => 'The returned data.',
'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',
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8'],
+ 'EndpointGroupIds' => [
+ 'description' => 'The IDs of the endpoint groups.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of an endpoint group.', 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'Domain.NotFit', 'errorMessage' => 'The domain is not fit the rule', 'description' => 'The domain name does not have an ICP number.'],
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'NoPermission.EnableHealthCheck', 'errorMessage' => 'You do not have permission to enable health check.', 'description' => 'The current account does not have the permissions to enable health checks.'],
+ ['errorCode' => 'NotSupportHealthCheck.Accelerator', 'errorMessage' => 'Currently Accelerator does not support health check.', 'description' => 'The current GA instance does not support health checks.'],
+ ['errorCode' => 'EndpointGroupExclusive.Listener', 'errorMessage' => 'All endpoint group must under the same listener.', 'description' => 'All the endpoint groups must be associated with the same listener.'],
+ ['errorCode' => 'RegionConflict.EndpointGroup', 'errorMessage' => 'Endpoint group under the same listener must have different region.', 'description' => 'The endpoint groups that are associated with the same listener must be deployed in different regions.'],
+ ['errorCode' => 'ListenerProtocolIllegal.EndpointGroup', 'errorMessage' => 'Listener protocol is illegal, the https/http listener instance is only allowed to have one default endpoint group.', 'description' => 'You can configure only one default endpoint group for an HTTPS or HTTP listener.'],
+ ['errorCode' => 'QuotaExceeded.EndpointGroup', 'errorMessage' => 'The number of endpoint group exceeds the limit.', 'description' => 'The number of endpoint groups has reached the upper limit.'],
+ ['errorCode' => 'ParamExclusive.EndpointGroupType', 'errorMessage' => 'All endpoint group type group must be consistent.', 'description' => ''],
+ ['errorCode' => 'HealthCheckPath.Illegal', 'errorMessage' => 'Health check path illegal.', 'description' => 'The health check path is invalid.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BusinessRegion', 'errorMessage' => 'The business region does not exist.', 'description' => 'The business region does not exist.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'QuotaExceeded.EndPoint', 'errorMessage' => 'The maximum number of endpoints is exceeded.', 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['errorCode' => 'NoPermission.VpcEndpoint', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
+ ['errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', 'errorMessage' => 'endpoint group request protoco is illegal', 'description' => ''],
+ ['errorCode' => 'QuotaExceeded.PortOverride', 'errorMessage' => 'The number of port override exceeds the limit.', 'description' => 'The number of port override exceeds the limit.'],
+ ['errorCode' => 'NotExist.ListenerPort', 'errorMessage' => 'listener port %s is not exist', 'description' => ''],
+ ['errorCode' => 'MixedVpc.EndPoint', 'errorMessage' => 'VPC Endpoint cannot be mixed with other types of Endpoints.', 'description' => 'You cannot use private endpoints 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.', 'description' => '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 \\"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"
+ 'title' => 'CreateEndpointGroups',
+ 'summary' => 'Creates endpoint groups in batches.',
+ 'description' => '- Creates endpoint groups in batches. Default and virtual endpoint groups cannot be created in a single call.'."\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"
+ .'- This API does not support creating virtual endpoint groups for Layer-4 listeners. To create a virtual endpoint group for a Layer-4 listener, call [CreateEndpointGroup](~~2302394~~).'."\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',
+ .'- **CreateEndpointGroups** is an asynchronous API. It returns a request ID and creates the endpoint groups in the background. You can call [DescribeEndpointGroup](~~153260~~) or [ListEndpointGroups](~~153261~~) to query the status of an endpoint group:'."\n"
+ ."\n"
+ .' - If an endpoint group is in the **init** state, it is initializing. You can only query the endpoint group in this state.'."\n"
+ ."\n"
+ .' - The batch creation is complete when all endpoint groups are in the **active** state.'."\n"
+ ."\n"
+ .'- You cannot make concurrent calls to **CreateEndpointGroups** for the same Global Accelerator instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-26T06:24:01.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-04-15T07:01:19.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-12-23T15:31:09.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-07-19T16:47:17.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-04-22T13:01:57.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-10-27T02:22:26.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-09-14T09:38:02.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-04-13T07:33:15.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateEndpointGroups'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:AcceleratorMainland', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"EndpointGroupIds\\": [\\n \\"epg-bp1dmlohjjz4kqaun****\\"\\n ]\\n}","type":"json"}]',
+ ],
+ 'CreateForwardingRules' => [
+ 'summary' => 'If you need to distribute traffic based on request attributes such as the domain name, path, HTTP headers, and cookies, you can create custom forwarding rules for a listener. The listener evaluates incoming requests against these rules and performs different forwarding actions. To create forwarding rules, call the `CreateForwardingRules` API.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6654,602 +5317,1648 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '8510',
+ '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,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator instance is deployed. The only valid value is **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'You can generate a client token from your client and make sure that the client 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 **RequestId** of the request as the **ClientToken**. The **RequestId** of each request is different.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4q****', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The ID of the listener.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1s0vzbi5bxlx5****', 'title' => ''],
],
[
- 'name' => 'SpareIps',
- 'in' => 'query',
- 'style' => 'repeatList',
+ 'name' => 'ForwardingRules',
+ 'in' => 'formData',
+ 'style' => 'flat',
'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",
+ 'description' => 'The forwarding rule configurations.',
'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',
+ 'description' => 'A forwarding rule configuration.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Priority' => ['description' => 'The priority of the forwarding rule.'."\n"
+ .'Valid values: **1** to **10000**. A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
+ 'RuleConditions' => [
+ 'description' => 'The rule conditions.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A rule condition.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RuleConditionType' => [
+ 'description' => 'The type of the rule condition. Valid values:'."\n"
+ ."\n"
+ .'- **Host**: Matches requests by domain name.'."\n"
+ ."\n"
+ .'- **Path**: Matches requests by path.'."\n"
+ ."\n"
+ .'- **RequestHeader**: Matches requests by HTTP header.'."\n"
+ ."\n"
+ .'- **Query**: Matches requests by query string.'."\n"
+ ."\n"
+ .'- **Method**: Matches requests by HTTP method.'."\n"
+ ."\n"
+ .'- **Cookie**: Matches requests by cookie.'."\n"
+ ."\n"
+ .'- **SourceIP**: Matches requests by source IP address.',
+ 'type' => 'string',
+ 'enum' => ['Host', 'Path', 'Method', 'RequestHeader', 'Query', 'Cookie', 'SourceIP'],
+ 'required' => false,
+ 'example' => 'Host',
+ 'title' => '',
+ ],
+ 'RuleConditionValue' => ['description' => 'The value of the rule condition.'."\n"
+ .'This is a JSON-formatted string whose structure depends on the specified **RuleConditionType**.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Host**, this parameter specifies the domain name conditions. A forwarding rule can have only one **Host** rule condition. This rule condition can contain multiple domain names, which are evaluated with a logical OR. A domain name must be 3 to 128 characters long and can contain letters, digits, hyphens (-), and periods (.). You can use asterisks (\\*) and question marks (?) as wildcards. Example: `["www.example.com", "www.aliyun.com"]`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Path**, this parameter specifies the path conditions. A forwarding rule can have multiple **Path** rule conditions, which are evaluated with a logical OR. Each path rule condition can contain multiple paths, which are also evaluated with a logical OR. A path must be 1 to 128 characters long and must start with a forward slash (/). It can contain letters, digits, dollar signs ($), hyphens (-), underscores (\\_), periods (.), plus signs (+), forward slashes (/), ampersands (&), tildes (\\~), at signs (@), colons (:), and apostrophes (\'). You can use asterisks (\\*) and question marks (?) as wildcards. Example: `["/a", "/b/"]`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **RequestHeader**, this parameter specifies the HTTP header conditions. The value is a key-value pair. The header values within the same rule condition must be unique. Example: `[{"header1":["value1","value2"]}]`.'."\n"
+ ."\n"
+ .' - Key: The HTTP header key must be 1 to 40 characters long and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n"
+ ."\n"
+ .' - Value: The HTTP header value must be 1 to 128 characters long and contain only printable characters within the ASCII range of` ch >= 32 && ch < 127`. The value cannot start or end with a space.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Query**, this parameter specifies the query string conditions. The value is a key-value pair. Example: `[{"query1":["value1"]}, {"query2":["value2"]}]`.'."\n"
+ ."\n"
+ .' - Key: The key must be 1 to 100 characters long and contain only printable characters within the ASCII range of` ch >= 32 && ch < 127`. Letters must be lowercase. Spaces and the following characters are not supported:` []{}<>\\;/?:@&=+,$%"^~`.'."\n"
+ ."\n"
+ .' - Value: The value must be 1 to 128 characters long and contain only printable characters within the ASCII range of` ch >= 32 && ch < 127`. Letters must be lowercase. Spaces and the following characters are not supported:` []{}<>\\;/?:@&=+,$%"^~`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Method**, this parameter specifies the HTTP method conditions. Valid values: **HEAD**, **GET**, **POST**, **OPTIONS**, **PUT**, **PATCH**, and **DELETE**. Example: `["GET", "OPTIONS", "POST"]`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Cookie**, this parameter specifies the cookie conditions. The value is a key-value pair. Example: `[{"cookie1":["value1"]}, {"cookie2":["value2"]}]`'."\n"
+ ."\n"
+ .' - Key: The cookie key must be 1 to 100 characters long and contain only printable characters within the ASCII range of` ch >= 32 && ch < 127`. Letters must be lowercase. Spaces and the following characters are not supported:` #[]{}\\<>&`.'."\n"
+ ."\n"
+ .' - Value: The cookie value must be 1 to 128 characters long and contain only printable characters within the ASCII range of` ch >= 32 && ch < 127`. Letters must be lowercase. Spaces and the following characters are not supported:` #[]{}\\<>&`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **SourceIP**, this parameter specifies the source IP conditions. You can specify IP addresses, for example, `1.1.XX.XX/32`, or CIDR blocks, for example, `2.2.XX.XX/24`. A forwarding rule can have only one **SourceIP** rule condition. This rule condition can contain multiple source IP addresses, which are evaluated with a logical OR. Example: `["1.1.XX.XX/32", "2.2.XX.XX/24"]`.', 'type' => 'string', 'required' => false, 'example' => '["www.example.com", "www.aliyun.com"]', 'title' => ''],
+ 'PathConfig' => [
+ 'description' => 'The path configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleConditionType** and **RuleConditionValue** to configure rule conditions.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Values' => [
+ 'description' => 'The path configuration.'."\n"
+ ."\n"
+ .'A path must be 1 to 128 characters long and must start with a forward slash (/). It can contain letters, digits, dollar signs ($), hyphens (-), underscores (\\_), periods (.), plus signs (+), forward slashes (/), ampersands (&), tildes (\\~), at signs (@), colons (:), and apostrophes (\'). You can use asterisks (\\*) and question marks (?) as wildcards.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleConditionType** and **RuleConditionValue** to configure rule conditions.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The path configuration.'."\n"
+ ."\n"
+ .'A path must be 1 to 128 characters long and must start with a forward slash (/). It can contain letters, digits, dollar signs ($), hyphens (-), underscores (\\_), periods (.), plus signs (+), forward slashes (/), ampersands (&), tildes (\\~), at signs (@), colons (:), and apostrophes (\'). You can use asterisks (\\*) and question marks (?) as wildcards.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleConditionType** and **RuleConditionValue** to configure rule conditions.', 'type' => 'string', 'required' => false, 'example' => '/test', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'HostConfig' => [
+ 'description' => 'The domain name configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleConditionType** and **RuleConditionValue** to configure rule conditions.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Values' => [
+ 'description' => 'The domain name configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleConditionType** and **RuleConditionValue** to configure rule conditions.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The domain name. A domain name must be 3 to 128 characters long and can contain letters, digits, hyphens (-), and periods (.). You can use asterisks (\\*) and question marks (?) as wildcards.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleConditionType** and **RuleConditionValue** to configure rule conditions.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'RuleActions' => [
+ 'description' => 'The rule actions.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A rule action.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Order' => ['description' => 'The priority of the action.'."\n"
+ ."\n"
+ .'> This parameter is not in use and can be ignored.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''],
+ 'RuleActionType' => ['description' => 'The type of the rule action. Valid values:'."\n"
+ ."\n"
+ .'- **ForwardGroup**: Forwards requests.'."\n"
+ ."\n"
+ .'- **Redirect**: Redirects requests.'."\n"
+ ."\n"
+ .'- **FixResponse**: Returns a fixed response.'."\n"
+ ."\n"
+ .'- **Rewrite**: Rewrites requests.'."\n"
+ ."\n"
+ .'- **AddHeader**: Adds a header.'."\n"
+ ."\n"
+ .'- **RemoveHeader**: Removes a header.'."\n"
+ ."\n"
+ .'- **Drop**: Drops requests.', 'type' => 'string', 'required' => true, 'example' => 'ForwardGroup', 'title' => ''],
+ 'RuleActionValue' => ['description' => 'The value for the rule action.'."\n"
+ ."\n"
+ .'This is a JSON-formatted string whose structure depends on the specified **RuleActionType**.'."\n"
+ ."\n"
+ .'A forwarding rule can have at most one action of type **ForwardGroup**, **Redirect**, or **FixResponse**. Actions of type **Rewrite**, **AddHeader**, and **RemoveHeader** must be specified before a **ForwardGroup** action.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **ForwardGroup**, this parameter specifies the endpoint group. You can forward requests to only one endpoint group. Example: `{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}`, where:'."\n"
+ ."\n"
+ .' - `type`: Set the value to` endpointgroup`.'."\n"
+ ."\n"
+ .' - `value`: The ID of the target endpoint group.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **Redirect**, this parameter specifies the redirect configuration. At least one of the `protocol`, `domain`, `port`, `path`, or `query` fields must be set to a value other than its default. Example: `{"protocol":"HTTP", "domain":"www.example.com", "port":"80", "path":"/a","query":"value1", "code":"301" }`, where:'."\n"
+ ."\n"
+ .' - `protocol`: The protocol for the redirect. Valid values: `${protocol}` (default), `HTTP`, and `HTTPS`.'."\n"
+ ."\n"
+ .' - `domain`: The domain name for the redirect. The default value is `${host}`. You can also specify another domain name. A domain name must be 3 to 128 characters long and can contain only lowercase letters, digits, and the following special characters:` .-=~_-+/^*!$&()[]?`.'."\n"
+ ."\n"
+ .' - `port`: The port for the redirect. The default value is `${port}`. You can also specify a port number. Valid values: 1 to 63335.'."\n"
+ ."\n"
+ .' - `path`: The path for the redirect. The default value is `${path}`. The path must be 1 to 128 characters long. For a regular expression path, it must start with a tilde (\\~) and can contain uppercase and lowercase letters, digits, and the following special characters:` .-_/=?~^*$:()[]+`. For a non-regular expression path, it must start with a forward slash (/) and can contain uppercase and lowercase letters, digits, and the following special characters:` .-_/=:?`.'."\n"
+ ."\n"
+ .' - `query`: The query string for the redirect. The default value is `${query}`. You can also specify another query string. The query string must be 1 to 128 characters long and contain only printable characters within the ASCII range of` ch >= 32 && ch < 127`. Letters must be lowercase. Spaces and the following special characters are not supported:` []{}<>\\#&`.'."\n"
+ ."\n"
+ .' - `code`: The redirect code. Valid values: `301`, `302`, `303`, `307`, and `308`.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **FixResponse**, this parameter specifies the fixed response configuration. Example: `{"code":"200", "type":"text/plain", "content":"dssacav" }`, where:'."\n"
+ ."\n"
+ .' - `code`: The response status code. The value must be a numeric string in the `2xx`, `4xx`, or `5xx` format, where `x` is any digit.'."\n"
+ ."\n"
+ .' - `type`: The content type of the response body. Valid values: **text/plain**, **text/css**, **text/html**, **application/javascript**, and **application/json**.'."\n"
+ ."\n"
+ .' - `content`: The content of the response body. The content cannot exceed 1,000 characters and does not support Chinese characters.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **AddHeader**, this parameter specifies the configuration for adding an HTTP header. If a forwarding rule contains an **AddHeader** action, it must also contain a **ForwardGroup** action. Example: `[{"name":"header1","type":"user-defined", "value":"value"}]`, where:'."\n"
+ ."\n"
+ .' - `name`: The name of the HTTP header. The name must be 1 to 40 characters long and can contain uppercase and lowercase letters, digits, hyphens (-), and underscores (\\_). The header names in **AddHeader** actions must be unique and cannot be the same as any header name in a **RemoveHeader** action.'."\n"
+ ."\n"
+ .' - `type`: The type of the header value. Valid values: `user-defined`, `ref` (reference), and `system-defined`.'."\n"
+ ."\n"
+ .' - `value`: The content of the HTTP header. This field cannot be empty. If `type` is `user-defined`, the value must be 1 to 128 characters long and contain only printable characters within the ASCII range of `ch >= 32 && ch < 127`. The value can contain uppercase and lowercase letters, digits, hyphens (-), and underscores (\\_), and cannot start or end with a space. If `type` is `ref`, the value must be 1 to 128 characters long and can contain uppercase and lowercase letters, digits, hyphens (-), and underscores (\\_). The value cannot start or end with a space. If `type` is `system-defined`, the only valid value is `ClientSrcIp`.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **RemoveHeader**, this parameter specifies the HTTP headers to remove. If a forwarding rule contains a **RemoveHeader** action, it must also contain a **ForwardGroup** action. The value must be 1 to 40 characters long and can contain uppercase and lowercase letters, digits, hyphens (-), and underscores (\\_). Example: `["header1"]`.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **Rewrite**, this parameter specifies the rewrite configuration. If a forwarding rule contains a **Rewrite** action, it must also contain a **ForwardGroup** action. Example: `{"domain":"value1", "path":"value2", "query":"value3"}`, where:'."\n"
+ ."\n"
+ .' - `domain`: The domain name to rewrite. The default value is `${host}`. You can also specify another domain name. A domain name must be 3 to 128 characters long and can contain only lowercase letters, digits, and the following special characters:` .-=~_-+/^*!$&()[]?`.'."\n"
+ ."\n"
+ .' - `path`: The path to rewrite. The default value is `${path}`. The path must be 1 to 128 characters long. For a regular expression path, it must start with a tilde (\\~) and can contain uppercase and lowercase letters, digits, and the following special characters:` .-_/=?~^*$:()[]+`. For a non-regular expression path, it must start with a forward slash (/) and can contain uppercase and lowercase letters, digits, and the following special characters:` .-_/=:?`.'."\n"
+ ."\n"
+ .' - `query`: The query string to rewrite. The default value is `${query}`. You can also specify another query string. The query string must be 1 to 128 characters long and contain only printable characters within the ASCII range of` ch >= 32 && ch < 127`. Letters must be lowercase. Spaces and the following special characters are not supported:` []{}<>\\#&`.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **Drop**, you do not need to specify a value for this parameter.', 'type' => 'string', 'required' => false, 'example' => '[{"type":"endpointgroup","value":"epg-bp1l49ltx6iengvf2ks5z****"}]', 'title' => ''],
+ 'ForwardGroupConfig' => [
+ 'description' => 'The forwarding configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleActionType** and **RuleActionValue** to configure rule actions.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ServerGroupTuples' => [
+ 'description' => 'The endpoint group configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleActionType** and **RuleActionValue** to configure rule actions.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The endpoint group configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleActionType** and **RuleActionValue** to configure rule actions.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use **RuleActionType** and **RuleActionValue** to configure rule actions.', 'type' => 'string', 'required' => true, 'example' => 'epg-bp1nktp3qgbcq9ih6****', 'title' => ''],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'ForwardingRuleName' => ['description' => 'The name of the forwarding rule. The name must be 2 to 128 characters long. It must start with a letter or a Chinese character, and can contain letters, Chinese characters, digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'RuleDirection' => ['description' => 'The direction in which the rule takes effect. This parameter does not need to be configured.'."\n"
+ ."\n"
+ .'By default, this parameter is set to **request**, which indicates that the rule applies to requests.', 'type' => 'string', 'required' => false, 'example' => 'request', 'title' => ''],
+ ],
'required' => false,
- 'example' => '[\'127.0.XX.XX\', \'139.0.XX.XX\']',
+ 'title' => '',
+ 'example' => '',
],
'required' => true,
- 'maxItems' => 10,
+ 'maxItems' => 200,
+ 'example' => 'test',
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response object.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', 'title' => ''],
+ 'ForwardingRules' => [
+ 'description' => 'The details of the forwarding rules.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the forwarding rules.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ForwardingRuleId' => ['description' => 'The forwarding rule ID.', 'type' => 'string', 'example' => 'frule-bp1dii16gu9qdvb34****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BusinessRegion', 'errorMessage' => 'The business region does not exist.', 'description' => 'The business region does not exist.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'QuotaExceeded.EndPoint', 'errorMessage' => 'The maximum number of endpoints is exceeded.', 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['errorCode' => 'Exist.EndpointGroup', 'errorMessage' => 'The endpoint group already exists.', 'description' => 'The endpoint group already exists.'],
+ ['errorCode' => 'NoPermission.VpcEndpoint', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
+ ['errorCode' => 'QuotaExceeded.ForwardingRule', 'errorMessage' => 'The number of forwarding rule exceeds the limit.', 'description' => 'The number of forwarding rule exceeds the limit.'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System busy, please try again later.', 'description' => ''],
+ ['errorCode' => 'RepeatPathAndHost.ForwardingRule', 'errorMessage' => 'The path and host %s are duplicated.', 'description' => 'The path and host are duplicated.'],
+ ['errorCode' => 'QuotaExceeded.RuleConditionConfig', 'errorMessage' => 'The number of paths and hosts exceeds the limit.', 'description' => 'The number of paths and hosts exceeds the limit.'],
],
],
- '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"
+ 'title' => 'CreateForwardingRules',
+ 'description' => 'Before you call this API, you should understand how forwarding rules work and their matching conditions. For more information, see [Forwarding rules](~~204224~~).'."\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"
+ .'When you call this API, note the following:'."\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',
+ .'- The **CreateForwardingRules** API is asynchronous. After the call is made, the system returns a forwarding rule ID, but the rule is still being created. You can call [ListForwardingRules](~~205817~~) to query the status of the forwarding rule:'."\n"
+ ."\n"
+ .' - If a forwarding rule is in the **configuring** status, it is still being created, and you can only perform query operations.'."\n"
+ ."\n"
+ .' - If a forwarding rule is in the **active** status, the rule has been created.'."\n"
+ ."\n"
+ .'- You cannot use the **CreateForwardingRules** API to create forwarding rules concurrently for the same Global Accelerator instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:22.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-11-15T07:39:53.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2024-04-22T13:01:57.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateForwardingRules'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateForwardingRules',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\",\\n \\"ForwardingRules\\": [\\n {\\n \\"ForwardingRuleId\\": \\"frule-bp1dii16gu9qdvb34****\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'CreateIpSets' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1yeeq8yfoyszmqy****', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'AccelerateRegion',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8',
- ],
- 'SpareIps' => [
- 'description' => 'The secondary IP addresses that are associated with the CNAME.'."\n",
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', 'title' => ''],
+ 'IpSets' => [
+ 'description' => 'The details about the acceleration regions.'."\n",
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The details about the acceleration regions.'."\n",
'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',
- ],
+ 'AccelerateRegionId' => ['description' => 'The acceleration region ID.'."\n", 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The bandwidth allocated to the acceleration region. Unit: **Mbit/s**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'IpSetId' => ['description' => 'The acceleration region ID.'."\n", 'type' => 'string', 'example' => 'ips-bp11r5jb8ogp122xl****', 'title' => ''],
+ 'IspType' => ['description' => 'The line type of the EIP in the acceleration region.'."\n", 'type' => 'string', 'example' => 'BGP', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'AcceleratorId' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'example' => 'ga-bp1yeeq8yfoyszmq****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Domain.NotFit', 'errorMessage' => 'The domain is not fit the rule', 'description' => 'The domain name does not have an ICP number.'],
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'RegionRepeat.IpSet', 'errorMessage' => 'An accelerator can only have one IpSet in one region. accelerator = %s, region = %s', 'description' => ''],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
+ ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-06T02:28:13.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-09-27T08:45:06.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIpSets'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateIpSets',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:AcceleratorMainland', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateListener' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '33855',
- 'abilityTreeNodes' => [
- 'FEATUREgaLOR9WO',
- ],
+ 'abilityTreeCode' => '7848',
+ 'abilityTreeNodes' => ['FEATUREgaZW5ZHQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the Global Accelerator instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'A client token that ensures the idempotence of the request.'."\n"
+ ."\n"
+ .'Generate a unique token on your client for each request. The token must contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you omit this parameter, the system uses the request\'s **RequestId** as the **ClientToken**.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000 ', 'title' => ''],
+ ],
+ [
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the listener.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters long, start with a letter or a Chinese character, and can contain digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'Listener', 'title' => ''],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The description of the listener.'."\n"
+ ."\n"
+ .'The description can be up to 200 characters long and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'Listener', 'title' => ''],
+ ],
+ [
+ 'name' => 'ClientAffinity',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The client affinity for the listener.'."\n"
+ ."\n"
+ .'- By default, client affinity is disabled, and requests from the same client may be routed to different endpoints.'."\n"
+ ."\n"
+ .'- Set to **SOURCE\\_IP** to enable client affinity. This setting directs all requests from the same client to the same endpoint, regardless of the source port or protocol.', 'type' => 'string', 'required' => false, 'example' => 'SOURCE_IP', 'title' => ''],
+ ],
+ [
+ 'name' => 'Protocol',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The listener\'s network protocol. Valid values:'."\n"
+ ."\n"
+ .'- **tcp**: TCP.'."\n"
+ ."\n"
+ .'- **udp**: UDP.'."\n"
+ ."\n"
+ .'- **http**: HTTP.'."\n"
+ ."\n"
+ .'- **https**: HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''],
+ ],
+ [
+ 'name' => 'PortRanges',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n",
- 'type' => 'string',
+ 'description' => 'The listener port range. The port numbers must be within the range of **1** to **65499**. The maximum number of allowed ports depends on the listener\'s routing type and protocol. For more information, see [Listener ports](~~153216~~).',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The listener port range.'."\n"
+ ."\n"
+ .'The port numbers must be within the range of **1** to **65499**.'."\n"
+ ."\n"
+ .'The maximum number of allowed ports depends on the listener\'s routing type and protocol. For more information, see [Listener ports](~~153216~~).',
+ 'type' => 'object',
+ 'properties' => [
+ 'FromPort' => ['description' => 'The first port in the listener range used to receive and forward requests to endpoints.'."\n"
+ ."\n"
+ .'The port number must be in the range of **1** to **65499**, and the value of **FromPort** must be less than or equal to the value of **ToPort**.'."\n"
+ ."\n"
+ .'> For HTTP or HTTPS listeners, you can specify only one listener port. In this case, the value of **FromPort** must be the same as the value of **ToPort**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''],
+ 'ToPort' => ['description' => 'The last port in the listener range used to receive and forward requests to endpoints.'."\n"
+ ."\n"
+ .'The port number must be in the range of **1** to **65499**, and the value of **FromPort** must be less than or equal to the value of **ToPort**.'."\n"
+ ."\n"
+ .'> For HTTP or HTTPS listeners, you can specify only one listener port. In this case, the value of **FromPort** must be the same as the value of **ToPort**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'Certificates',
'in' => 'query',
+ 'style' => 'repeatList',
'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',
+ 'description' => 'The SSL certificates for an HTTPS listener.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The SSL certificates for an HTTPS listener.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => ['description' => 'The ID of the SSL certificate.'."\n"
+ ."\n"
+ .'> This parameter is required only for HTTPS listeners.', 'type' => 'string', 'required' => false, 'example' => '449****-cn-hangzhou', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF',
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'XForwardedForConfig',
'in' => 'query',
+ 'style' => 'flat',
'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',
+ 'description' => 'Settings for `X-Forwarded-For` related headers.',
+ 'type' => 'object',
+ 'properties' => [
+ 'XForwardedForGaIdEnabled' => ['description' => 'Specifies whether to use the `GA-ID` header to pass the Global Accelerator instance ID to the backend server. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false** (Default)'."\n"
+ ."\n"
+ .'> This parameter applies only to HTTP and HTTPS listeners.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'XForwardedForGaApEnabled' => ['description' => 'Specifies whether to use the `GA-AP` header to pass information about the acceleration region to the backend server. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false** (Default)'."\n"
+ ."\n"
+ .'> This parameter applies only to HTTP and HTTPS listeners.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'XForwardedForProtoEnabled' => ['description' => 'Specifies whether to use the `GA-X-Forward-Proto` header to pass the listener protocol of the Global Accelerator instance to the backend server. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false** (Default)'."\n"
+ ."\n"
+ .'> This parameter applies only to HTTP and HTTPS listeners.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'XForwardedForPortEnabled' => ['description' => 'Specifies whether to use the `GA-X-Forward-Port` header to pass the listener port of the Global Accelerator instance to the backend server. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false** (Default)'."\n"
+ ."\n"
+ .'> This parameter applies only to HTTP and HTTPS listeners.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'XRealIpEnabled' => ['description' => 'Specifies whether to use the `X-Real-IP` header to pass the client\'s real IP address to the backend server. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false** (Default)'."\n"
+ ."\n"
+ .'> This parameter applies only to HTTP and HTTPS listeners.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
'required' => false,
- 'example' => 'true',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'SecurityPolicyId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the security policy. Valid values:'."\n"
+ ."\n"
+ .'- **tls\\_cipher\\_policy\\_1\\_0**'."\n"
+ ."\n"
+ .' - Supported TLS versions: TLS 1.0, TLS 1.1, and TLS 1.2.'."\n"
+ ."\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"
+ ."\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"
+ ."\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"
+ ."\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"
+ ."\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 applies only to HTTPS listeners.', 'type' => 'string', 'required' => false, 'example' => 'tls_cipher_policy_1_0', 'title' => ''],
+ ],
+ [
+ 'name' => 'Type',
'in' => 'query',
+ 'schema' => ['description' => 'The routing type of the listener. Valid values:'."\n"
+ ."\n"
+ .'- **Standard** (default): standard routing.'."\n"
+ ."\n"
+ .'- **CustomRouting**: custom routing.'."\n"
+ ."\n"
+ .'> * Custom routing is in invitation-only preview. To use this feature, contact your Alibaba Cloud account manager.'."\n"
+ .'>'."\n"
+ .'> * A standard Global Accelerator instance supports only one routing type for all of its listeners. The routing type cannot be changed after the listener is created. For more information, see [Listener overview](~~153216~~).', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupConfigurations',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ 'description' => 'The configurations of the endpoint groups for a standard listener.'."\n"
+ ."\n"
+ .'You can specify up to 10 endpoint groups.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configurations of the endpoint groups for a standard listener.'."\n"
+ ."\n"
+ .'You can specify up to 10 endpoint groups.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointGroupName' => ['description' => 'The name of the endpoint group.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters long, start with a letter or a Chinese character, and can contain digits, periods (.), underscores (\\_), and hyphens (-).'."\n"
+ ."\n"
+ .'You can enter up to 10 endpoint group names.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'EndpointGroupDescription' => ['description' => 'The description of the endpoint group.'."\n"
+ ."\n"
+ .'The description can be up to 200 characters long and cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can enter up to 10 endpoint group descriptions.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'EndpointGroupRegion' => ['description' => 'The ID of the region where the endpoint group is created.'."\n"
+ ."\n"
+ .'You can enter up to 10 endpoint group region IDs.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ 'TrafficPercentage' => ['description' => 'The traffic distribution ratio. If a standard listener is associated with multiple endpoint groups, this parameter specifies the percentage of traffic that is distributed to each endpoint group.'."\n"
+ ."\n"
+ .'Valid values: **1** to **100**. Default value: **100**.'."\n"
+ ."\n"
+ .'You can enter traffic distribution values for up to 10 endpoint groups.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''],
+ 'HealthCheckEnabled' => ['description' => 'Specifies whether to enable health checks for the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Enables health checks.'."\n"
+ ."\n"
+ .'- **false** (Default): Disables health checks.'."\n"
+ ."\n"
+ .'You can enable health checks for up to 10 endpoint groups.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'HealthCheckIntervalSeconds' => ['description' => 'The health check interval, in seconds.'."\n"
+ ."\n"
+ .'You can enter up to 10 health check intervals.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''],
+ 'HealthCheckPath' => ['description' => 'The path to which health check requests are sent.'."\n"
+ ."\n"
+ .'You can enter up to 10 health check paths.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'string', 'required' => false, 'example' => '/healthcheck', 'title' => ''],
+ 'HealthCheckPort' => ['description' => 'The port that is used for health checks. Valid values: **1** to **65535**.'."\n"
+ ."\n"
+ .'You can enter a maximum of 10 ports for health checks.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
+ 'HealthCheckProtocol' => ['description' => 'The protocol over which health check requests are sent. Valid values:'."\n"
+ ."\n"
+ .'- **tcp** or **TCP**: TCP'."\n"
+ ."\n"
+ .'- **http** or **HTTP**: HTTP'."\n"
+ ."\n"
+ .'- **https** or **HTTPS**: HTTPS'."\n"
+ ."\n"
+ .'You can enter up to 10 health check protocols.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''],
+ 'ThresholdCount' => ['description' => 'The number of consecutive successful health checks required to mark an endpoint as healthy, or consecutive failed health checks to mark an endpoint as unhealthy.'."\n"
+ .'Valid values: **2** to **10**. Default value: **3**.'."\n"
+ ."\n"
+ .'You can enter up to 10 values for the number of consecutive health checks required to trigger a health status change.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''],
+ 'EndpointConfigurations' => [
+ 'description' => 'The endpoint configurations.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The endpoint configurations.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Domain**: a custom domain name.'."\n"
+ ."\n"
+ .'- **Ip**: a custom IP address.'."\n"
+ ."\n"
+ .'- **PublicIp**: a public IP address of an Alibaba Cloud service.'."\n"
+ ."\n"
+ .'- **ECS**: an Elastic Compute Service (ECS) instance.'."\n"
+ ."\n"
+ .'- **SLB**: a Server Load Balancer (SLB) instance.'."\n"
+ ."\n"
+ .'- **ALB**: an Application Load Balancer (ALB) instance.'."\n"
+ ."\n"
+ .'- **OSS**: an Object Storage Service (OSS) bucket.'."\n"
+ ."\n"
+ .'- **ENI**: an elastic network interface (ENI).'."\n"
+ ."\n"
+ .'- **NLB**: a Network Load Balancer (NLB) instance.'."\n"
+ ."\n"
+ .'- **IpTarget**: a custom private IP address.'."\n"
+ ."\n"
+ .'You can specify up to 100 endpoints in an endpoint group.'."\n"
+ ."\n"
+ .'> - This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.'."\n"
+ .'>'."\n"
+ .'> - When you add endpoints, Global Accelerator may create service-linked roles to access your resources. The role created depends on the endpoint type:'."\n"
+ .'>'."\n"
+ .'> -'."\n"
+ .'>'."\n"
+ .'> -'."\n"
+ .'>'."\n"
+ .'> -'."\n"
+ .'>'."\n"
+ .'> > For more information, see [Service-linked roles](~~178360~~).', 'type' => 'string', 'required' => false, 'example' => 'Ip', 'title' => ''],
+ 'Weight' => ['description' => 'The weight of the endpoint.'."\n"
+ ."\n"
+ .'Valid values: **0** to **255**.'."\n"
+ ."\n"
+ .'In an endpoint group for an intelligent routing type listener, you can enter weights for up to 100 endpoints.'."\n"
+ ."\n"
+ .'> - This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.'."\n"
+ .'>'."\n"
+ .'> - If an endpoint\'s weight is set to 0, Global Accelerator stops sending traffic to it. Use this setting with caution.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
+ 'Endpoint' => ['description' => 'The IP address or domain name of the endpoint.'."\n"
+ ."\n"
+ .'In an endpoint group of an intelligent routing listener, you can enter up to 100 IP addresses or domain names of endpoints.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.', 'type' => 'string', 'required' => false, 'example' => '47.0.XX.XX', 'title' => ''],
+ 'SubAddress' => ['description' => 'The private IP address of the ENI.'."\n"
+ ."\n"
+ .'> If the endpoint type is **ENI**, you can specify this parameter. If you do not specify this parameter, the primary private IP address of the ENI is used.', 'type' => 'string', 'required' => false, 'example' => '172.168.XX.XX', 'title' => ''],
+ 'EnableClientIPPreservation' => ['description' => 'Specifies whether to preserve client source IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: enables the feature.'."\n"
+ ."\n"
+ .'- **false** (default): disables the feature.'."\n"
+ ."\n"
+ .'> * This feature is disabled by default for endpoint groups of TCP or UDP listeners. You can enable it as needed.'."\n"
+ .'>'."\n"
+ .'> * This feature is enabled by default for endpoint groups of HTTP or HTTPS listeners. Client source IP addresses are retrieved from the `X-Forwarded-For` header. You cannot disable this feature.'."\n"
+ .'>'."\n"
+ .'> * You cannot set both `EnableClientIPPreservation` and `EnableProxyProtocol` to `true`.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [Preserve client source IP addresses](~~158080~~).', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''],
+ 'EnableProxyProtocol' => ['description' => 'Specifies whether to use the proxy protocol to preserve client source IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: enables the feature.'."\n"
+ ."\n"
+ .'- **false** (default): disables the feature.'."\n"
+ ."\n"
+ .'> * You can configure this parameter only for endpoint groups of TCP listeners.'."\n"
+ .'>'."\n"
+ .'> * You cannot set both `EnableClientIPPreservation` and `EnableProxyProtocol` to `true`.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [Preserve client source IP addresses](~~158080~~).', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''],
+ 'VpcId' => ['description' => 'The ID of the Virtual Private Cloud (VPC).'."\n"
+ ."\n"
+ .'In an endpoint group of an intelligent routing listener, you can enter a maximum of 1 VPC ID.'."\n"
+ ."\n"
+ .'> This parameter is required only for **IpTarget** endpoints.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp13r1kpr2lel****', 'title' => ''],
+ 'VSwitchIds' => [
+ 'description' => 'The list of vSwitches in the VPC. You can specify up to two vSwitch IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the vSwitch.'."\n"
+ ."\n"
+ .'In an endpoint group for a smart routing type listener, you can enter a maximum of 2 vSwitch IDs.'."\n"
+ ."\n"
+ .'> This parameter is required only for **IpTarget** endpoints.'."\n"
+ .'>'."\n"
+ .'> - The vSwitch must belong to the VPC specified by the **VpcId** parameter.', 'type' => 'string', 'required' => false, 'example' => 'vsw-0jlhcznhw5m7pz2fa****', 'title' => ''],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Provider' => ['type' => 'string', 'example' => 'BAILIAN', 'description' => '', 'title' => ''],
+ 'ApiKeys' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => 'sk-******', 'description' => '', 'title' => ''],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EndpointRequestProtocol' => ['description' => 'The protocol used by the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP** (default)'."\n"
+ ."\n"
+ .'- **HTTPS**'."\n"
+ ."\n"
+ .'You can enter up to 10 backend service protocols.'."\n"
+ ."\n"
+ .'> - This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.'."\n"
+ .'>'."\n"
+ .'> - You can configure this parameter only for endpoint groups of HTTP or HTTPS listeners.'."\n"
+ .'>'."\n"
+ .'> - For an HTTP listener, the backend service protocol must be **HTTP**.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
+ 'EndpointProtocolVersion' => ['description' => 'The protocol version of the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP1.1** (default): HTTP/1.1'."\n"
+ ."\n"
+ .'- **HTTP2**: HTTP/2'."\n"
+ ."\n"
+ .'> This parameter is available only when EndpointRequestProtocol is set to HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTP1.1', 'title' => ''],
+ 'EndpointGroupType' => ['description' => 'The type of the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **default** (default): a default endpoint group.'."\n"
+ ."\n"
+ .'- **virtual**: a virtual endpoint group.'."\n"
+ ."\n"
+ .'You can enter up to 10 endpoint group types.'."\n"
+ ."\n"
+ .'> - This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.'."\n"
+ .'>'."\n"
+ .'> - You can create virtual endpoint groups only for HTTP or HTTPS listeners.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''],
+ 'PortOverrides' => [
+ 'description' => 'The port mapping. You can specify up to five port mappings.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port mapping.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerPort' => ['description' => 'The listener port that is specified in the port mapping.'."\n"
+ ."\n"
+ .'You can enter up to 5 listener ports for port mappings.'."\n"
+ ."\n"
+ .'> - This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.'."\n"
+ .'>'."\n"
+ .'> - For TCP listeners, you cannot configure a port mapping for a virtual endpoint group. If a virtual endpoint group already exists for the listener, you cannot configure a port mapping for the default endpoint group. If a port mapping is configured for the default endpoint group, you cannot add a virtual endpoint group to the listener.'."\n"
+ .'>'."\n"
+ .'> - After you configure a port mapping, you cannot modify the listener protocol, except for switching between HTTP and HTTPS.'."\n"
+ .'>'."\n"
+ .'> - When you modify the listener port range, make sure that the new port range includes all listener ports that are specified in the port mapping. For example, if the listener port range is 80-82 and the listener ports are mapped to the endpoint ports 100-102, you cannot change the listener port range to 80-81.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '443', 'title' => ''],
+ 'EndpointPort' => ['description' => 'The endpoint port that is specified in the port mapping.'."\n"
+ ."\n"
+ .'You can enter a maximum of 5 endpoint ports for port mapping.'."\n"
+ ."\n"
+ .'> - This parameter applies only when the listener\'s routing type (**Type**) is **Standard**.'."\n"
+ .'>'."\n"
+ .'> - For TCP listeners, you cannot configure a port mapping for a virtual endpoint group. If a virtual endpoint group already exists for the listener, you cannot configure a port mapping for the default endpoint group. If a port mapping is configured for the default endpoint group, you cannot add a virtual endpoint group to the listener.'."\n"
+ .'>'."\n"
+ .'> - After you configure a port mapping, you cannot modify the listener protocol, except for switching between HTTP and HTTPS.'."\n"
+ .'>'."\n"
+ .'> - When you modify the listener port range, make sure that the new port range includes all listener ports that are specified in the port mapping. For example, if the listener port range is 80-82 and the listener ports are mapped to the endpoint ports 100-102, you cannot change the listener port range to 80-81.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'HealthCheckHost' => ['description' => 'The domain name that is used for health checks.', 'type' => 'string', 'required' => false, 'example' => 'www.taobao.com', 'title' => ''],
+ 'EndpointIpVersion' => ['description' => 'The IP version used by the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4** (default): GA uses only IPv4 addresses to communicate with backend services.'."\n"
+ ."\n"
+ .'- **IPv6**: GA uses only IPv6 addresses to communicate with backend services.'."\n"
+ ."\n"
+ .'- **ProtocolAffinity**: GA uses the same IP version as the client request to communicate with backend services.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'SpareIp',
+ 'name' => 'CustomRoutingEndpointGroupConfigurations',
'in' => 'query',
+ 'style' => 'flat',
'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,
+ 'description' => 'The configurations of the endpoint groups for a custom routing listener.'."\n"
+ ."\n"
+ .'You can specify up to five endpoint groups.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configurations of the endpoint groups for a custom routing listener.'."\n"
+ ."\n"
+ .'You can specify up to five endpoint groups.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointGroupRegion' => ['description' => 'The ID of the region where the endpoint group is created.'."\n"
+ ."\n"
+ .'You can enter up to 5 endpoint group region IDs.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ 'Name' => ['description' => 'The name of the endpoint group.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters long, start with a letter or a Chinese character, and can contain digits, periods (.), underscores (\\_), and hyphens (-).'."\n"
+ ."\n"
+ .'You can enter up to 5 endpoint group names.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'Description' => ['description' => 'The description of the endpoint group.'."\n"
+ ."\n"
+ .'The description can be up to 200 characters long and cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can enter up to 5 endpoint group descriptions.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'DestinationConfigurations' => [
+ 'description' => 'The mapping configurations for the endpoint group.'."\n"
+ ."\n"
+ .'You must specify the port ranges and protocols for the backend service. The settings are mapped to the associated listener port ranges.'."\n"
+ ."\n"
+ .'You can specify up to 20 mapping configurations for each endpoint group.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The mapping configurations for the endpoint group.'."\n"
+ ."\n"
+ .'You must specify the port ranges and protocols for the backend service. The settings are mapped to the associated listener port ranges.'."\n"
+ ."\n"
+ .'You can specify up to 20 mapping configurations for each endpoint group.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Protocols' => [
+ 'description' => 'The protocols of the backend service.'."\n"
+ ."\n"
+ .'You can specify up to four backend service protocols for each mapping configuration.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The protocol of the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **TCP**'."\n"
+ ."\n"
+ .'- **UDP**'."\n"
+ ."\n"
+ .'- **TCP,UDP**'."\n"
+ ."\n"
+ .'For each endpoint group of a listener that uses the custom routing type, you can specify up to four backend service protocol types in the port mapping and protocol type settings.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'FromPort' => ['description' => 'The first port of the backend service.'."\n"
+ ."\n"
+ .'The valid port range is **1** to **65499**. The value of **FromPort** must be less than or equal to the value of **ToPort**.'."\n"
+ ."\n"
+ .'In each endpoint group for a custom routing type listener, you can enter up to 20 backend service starting ports.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The last port of the backend service.'."\n"
+ ."\n"
+ .'The valid port range is **1** to **65499**. The value of **FromPort** must be less than or equal to the value of **ToPort**.'."\n"
+ ."\n"
+ .'In each endpoint group of a listener of the custom routing type, you can enter a maximum of 20 backend service ports.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EndpointConfigurations' => [
+ 'description' => 'The endpoint configurations.'."\n"
+ ."\n"
+ .'You can specify up to 10 endpoints for each endpoint group.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The endpoint configurations.'."\n"
+ ."\n"
+ .'You can specify up to 10 endpoints for each endpoint group.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of the backend service for a custom routing listener. Valid value:'."\n"
+ ."\n"
+ .'**PrivateSubNet** (default): a private CIDR block.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'string', 'required' => false, 'example' => 'PrivateSubNet', 'title' => ''],
+ 'Endpoint' => ['description' => 'The vSwitch of the custom routing listener.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'string', 'required' => false, 'example' => 'vsw-test01', 'title' => ''],
+ 'TrafficToEndpointPolicy' => ['description' => 'The traffic policy for the backend service of a custom routing listener. Valid values:'."\n"
+ ."\n"
+ .'- **DenyAll** (default): Denies all traffic to the specified backend service.'."\n"
+ ."\n"
+ .'- **AllowAll**: Allows all traffic to the specified backend service.'."\n"
+ ."\n"
+ .'- **AllowCustom**: Allows traffic to specific destinations.'."\n"
+ .' You must specify the IP addresses and port ranges of the allowed destinations. If no port range is specified, all ports of the destination are allowed.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'string', 'required' => false, 'example' => 'DenyAll', 'title' => ''],
+ 'PolicyConfigurations' => [
+ 'description' => 'The destination configurations for a custom routing listener.'."\n"
+ ."\n"
+ .'You can specify up to 20 destinations for each endpoint.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The destination configurations for a custom routing listener.'."\n"
+ ."\n"
+ .'You can specify up to 20 destinations for each endpoint.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Address' => ['description' => 'The IP address of the destination that is allowed to receive traffic.'."\n"
+ ."\n"
+ .'This parameter is required only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 destination IP addresses for each endpoint.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
+ 'PortRanges' => [
+ 'description' => 'The port range of the destination that is allowed to receive traffic. The port range must be within the port range of the backend service.'."\n"
+ ."\n"
+ .'If you leave this parameter empty, all ports of the destination are allowed.'."\n"
+ ."\n"
+ .'This parameter is required only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for each endpoint, and up to 5 port ranges for each destination.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port range of the destination that is allowed to receive traffic. The port range must be within the port range of the backend service.'."\n"
+ ."\n"
+ .'If you leave this parameter empty, all ports of the destination are allowed.'."\n"
+ ."\n"
+ .'This parameter is required only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for each endpoint, and up to 5 port ranges for each destination.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FromPort' => ['description' => 'The first port of the destination that is allowed to receive traffic. The port must be within the port range of the backend service.'."\n"
+ ."\n"
+ .'This parameter is required only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for each endpoint, and up to 5 first ports for each destination.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The last port of the destination that is allowed to receive traffic. The port must be within the port range of the backend service.'."\n"
+ ."\n"
+ .'This parameter is required only when **TrafficToEndpointPolicy** is set to **AllowCustom**.'."\n"
+ ."\n"
+ .'You can specify up to 20 port ranges for each endpoint, and up to 5 last ports for each destination.'."\n"
+ ."\n"
+ .'> This parameter applies only when the listener\'s routing type (**Type**) is **CustomRouting**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'IdleTimeout',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The connection idle timeout, in seconds.'."\n"
+ ."\n"
+ .'- TCP: 10–900 seconds. Default: 900 seconds.'."\n"
+ ."\n"
+ .'- UDP: 10–20 seconds. Default: 20 seconds.'."\n"
+ ."\n"
+ .'- HTTP/HTTPS: 1–60 seconds. Default: 15 seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '900', 'title' => ''],
+ ],
+ [
+ 'name' => 'RequestTimeout',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The request timeout for HTTP/HTTPS connections, in seconds.'."\n"
+ ."\n"
+ .'Valid values: 1–180 seconds. Default: 60 seconds.'."\n"
+ ."\n"
+ .'> This parameter applies only to HTTP or HTTPS listeners. If the backend server does not respond within the timeout period, Global Accelerator returns an HTTP 504 error to the client.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '15', 'title' => ''],
+ ],
+ [
+ 'name' => 'HttpVersion',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The maximum HTTP version. Valid values:'."\n"
+ ."\n"
+ .'- **http3**: HTTP/3'."\n"
+ ."\n"
+ .'- **http2** (default): HTTP/2'."\n"
+ ."\n"
+ .'- **http1.1**: HTTP/1.1'."\n"
+ ."\n"
+ .'> This parameter applies only to HTTPS listeners.', 'type' => 'string', 'required' => false, 'example' => 'http2', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The data returned for the request.',
'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',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the created listener.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'ProtocalIllegal.Listener', 'errorMessage' => 'The specified listener protocol is invalid.', 'description' => 'The specified listener protocol is invalid.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'QuotaExceeded.Listener', 'errorMessage' => 'The maximum number of listeners is exceeded.', 'description' => 'The maximum number of listeners is exceeded.'],
+ ['errorCode' => 'QuotaExceeded.ListenerPort', 'errorMessage' => 'The maximum number of listener ports is exceeded.', 'description' => 'The maximum number of listener ports is exceeded.'],
+ ['errorCode' => 'NotExist.ListenerPort', 'errorMessage' => 'listener port %s is not exist', 'description' => ''],
+ ['errorCode' => 'PortRangeIllegal.Listener', 'errorMessage' => 'The specified listener port range is invalid.', 'description' => 'The specified listener port range is invalid.'],
+ ['errorCode' => 'PortRangeIllegal.Count', 'errorMessage' => 'The hugePort listener only supports one port range.', 'description' => 'The mass port listener (port number greater than 300) only supports one port range.'],
+ ['errorCode' => 'PortConflict.Listener', 'errorMessage' => 'The listener port configuration is in conflict.', 'description' => 'The listener port configurations are 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).', 'description' => '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.', 'description' => ''],
+ ['errorCode' => 'SystemPort.Listener', 'errorMessage' => 'Ports 65500-65535 are system reserved ports.', 'description' => 'Ports 65500 to 65535 are reserved by the system.'],
+ ['errorCode' => 'PortRanges.MustOne', 'errorMessage' => 'The portRanges must be one for HTTPS and HTTP type listener.', 'description' => 'Only one port is supported for HTTPS and HTTP type listeners.'],
+ ['errorCode' => 'SecurityPolicyId.NotNeed', 'errorMessage' => 'No security policy ID is required for the listener.', 'description' => 'No security policy ID is required for the listener.'],
+ ['errorCode' => 'SecurityPolicyIdIllegal.Listener', 'errorMessage' => 'The listener security policy ID %s is illegal.', 'description' => 'The security policy ID of the listener 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.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
+ ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'CreateListener',
+ 'summary' => 'Create a listener for your GA instance.',
+ 'description' => 'Note the following when you call this operation:'."\n"
+ ."\n"
+ .'- **CreateListener** is an asynchronous operation. After you send a request, the system returns a listener ID but the listener is still being created in the background. You can call [DescribeListener](~~153254~~) to check the listener\'s status:'."\n"
+ ."\n"
+ .' - An **init** status indicates that the listener is being created. In this state, you can only perform query operations.'."\n"
+ ."\n"
+ .' - An **active** status indicates that the listener is ready.'."\n"
+ ."\n"
+ .'- You cannot concurrently create multiple listeners for the same Global Accelerator instance by using the **CreateListener** operation.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-26T06:24:01.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-04-15T07:01:18.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-12-23T15:31:10.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-07-19T16:47:17.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-03-27T02:06:01.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-11-06T12:24:53.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-10-25T11:47:33.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-09-22T07:16:08.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateListener'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:TLSVersion', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/*'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ListenerId\\": \\"lsr-bp1bpn0kn908w4nbw****\\"\\n}","type":"json"}]',
],
- 'DeleteSpareIps' => [
- 'summary' => 'Deletes the secondary IP addresses that are associated with a CNAME.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateSpareIps' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREgaN8JEXK'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
'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"
+ '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"
- .'Separate the IP addresses with commas (,). You can specify up to two secondary IP addresses.'."\n",
+ .'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',
- ],
+ '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', 'title' => ''],
'required' => true,
'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8'],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NotExist.SpareIp',
- 'errorMessage' => 'The spare ip %s doesn\'t exist.',
- ],
+ ['errorCode' => 'Duplicate.SpareIp', 'errorMessage' => 'The spare IP address is duplicate.', 'description' => ''],
+ ['errorCode' => 'AlreadyExist.SpareIp', 'errorMessage' => 'The spare ip %s already exists.', 'description' => ''],
+ ['errorCode' => 'IllegalParamFormat.SpareIp', 'errorMessage' => 'The param format of spare ip is illegal.', 'description' => ''],
+ ['errorCode' => 'QuotaExceeded.SpareIp', 'errorMessage' => 'The number of spare ip exceeds the limit.', 'description' => ''],
+ ['errorCode' => 'TooManySpareIp.Accelerator', 'errorMessage' => 'Too many SpareIp accepted under the same Accelerator.', 'description' => ''],
+ ['errorCode' => 'NoPermission.CreateSpareIp', 'errorMessage' => 'You do not have permission to create spareIp.', 'description' => ''],
],
],
- '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"
+ 'title' => '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.',
+ '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 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"
+ .' * 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 **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',
+ .'* 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",
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:13:03.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:57:10.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSpareIps'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateSpareIps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'DeleteAccelerator' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '7849',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
],
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where your GA instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'deprecated' => true, 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned information.',
'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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'BindExist.Accelerator', 'errorMessage' => 'The accelerated instance is already bound to a bandwidth package.', 'description' => 'The GA instance is already associated with a bandwidth plan.'],
+ ['errorCode' => 'Exist.IpSet', 'errorMessage' => 'The IpSet already exists.', 'description' => 'The acceleration region already exists.'],
+ ['errorCode' => 'Exist.Listener', 'errorMessage' => 'The listener already exists.', 'description' => '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.',
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ '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"
+ ."\n"
+ .' - If the GA instance cannot be queried, the GA instance is deleted.',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:13:03.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-12-23T02:56:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:53.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\"\\n}","type":"json"}]',
],
- 'UpdateAcceleratorAutoRenewAttribute' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteAcl' => [
+ 'summary' => 'Invokes the DeleteAcl operation to delete an access control policy group.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -7258,264 +6967,205 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ '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' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the access control policy group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of a 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 **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4****', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'DryRun',
'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\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, 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, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => '',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'],
+ 'AclId' => ['description' => 'The ID of the access control policy group.', 'type' => 'string', 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
+ ],
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.Acl', 'errorMessage' => 'acl %s is not exist', 'description' => 'The ACL %s does not exist.'],
+ ['errorCode' => 'StateError.Acl', 'errorMessage' => 'acl state %s is illegal', 'description' => 'The status of the ACL %s is invalid.'],
+ ],
+ ],
+ 'title' => 'Delete an ACL',
+ 'description' => '**DeleteAcl** is an asynchronous operation. After a request is sent, the system returns a request ID, but the access control policy group is not immediately deleted. The deletion node continues to run in the background. You can invoke [GetAcl](~~258292~~) to query the status of the access control policy group:'."\n"
+ .'- If the access control policy group is in the **deleting** state, the access control policy group is being deleted. In this state, you can only execute query operations and cannot execute other operations.'."\n"
+ .'- If the access control policy group cannot be found, the access control policy group is deleted.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAcl'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"AclId\\": \\"nacl-hp34s2h0xx1ht4nwo****\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteApplicationMonitor' => [
+ 'summary' => 'Calls the DeleteApplicationMonitor operation to delete an origin probing task.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'AutoRenew',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '114848',
+ 'abilityTreeNodes' => ['FEATUREgaLHYOX6'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
'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',
- ],
+ 'schema' => ['description' => 'The region of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => false, 'default' => 'cn-hangzhou', 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RenewalStatus',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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 **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'AutoRenewDuration',
+ 'name' => 'TaskId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the origin probing task that you want to delete.', 'type' => 'string', 'required' => true, 'example' => 'sm-bp1fpdjfju9k8yr1y****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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****',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
+ ['errorCode' => 'NotExist.SiteMonitor', 'errorMessage' => 'The siteMonitor %s is not exist.', 'description' => 'Site monitoring% s does not exist.'],
+ ],
+ ],
+ 'title' => 'Delete an origin probing task',
+ 'description' => '- The **DeleteApplicationMonitor** operation is asynchronous. After you send a request, the system returns a request ID, but the origin probing node is not yet deleted. The deletion node continues to run in the background. You can invoke [ListApplicationMonitor](~~408462~~) to query the status of the origin probing node:'."\n"
+ .' - If the origin probing node is in the **deleting** state, the node is being deleted. In this state, you can only execute query operations.'."\n"
+ .' - If the origin probing node cannot be found, the node is deleted.'."\n"
+ .'- The **DeleteApplicationMonitor** operation does not support concurrent deletion of origin probing nodes within the same Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:18.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:47.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2021-12-28T13:10:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#TaskId}'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
],
- 'CreateIpSets' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteBandwidthPackage' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'BandwidthPackageId',
'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',
- ],
+ 'schema' => ['description' => 'The bandwidth plan ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'ClientToken',
'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,
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -7524,147 +7174,98 @@
'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****',
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
+ 'BandwidthPackageId' => ['description' => 'The bandwidth plan ID.'."\n", 'type' => 'string', 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.BandwidthPackage', 'errorMessage' => 'The bandwidth package does not exist.', 'description' => 'The bandwidth package does not exist.'],
+ ['errorCode' => 'StateError.BandwidthPackage', 'errorMessage' => 'The state of bandwidth package is invalid.', 'description' => 'The bandwidth plan is in an invalid state.'],
+ ['errorCode' => 'BindExist.BandwidthPackage', 'errorMessage' => 'The bandwidth package is already bound.', 'description' => 'The bandwidth plan is already associated.'],
],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
+ '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"
- .' * 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"
+ .'* 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"
- .'* 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',
+ .'* **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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:08.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBandwidthPackage'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DeleteBasicAccelerateIp' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8877',
- 'abilityTreeNodes' => [
- 'FEATUREgaC1Y0Y9',
- ],
+ 'abilityTreeCode' => '158418',
+ 'abilityTreeNodes' => ['FEATUREgaLMO5F2'],
],
'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',
- ],
+ 'schema' => ['title' => '', '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' => 'IpSetId',
+ 'name' => 'ClientToken',
'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****',
- ],
+ 'schema' => ['title' => '', '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' => '', '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' => [
@@ -7673,406 +7274,238 @@
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'AccelerateIpId' => ['title' => '', 'description' => 'The ID of the accelerated IP address that is deleted.'."\n", 'type' => 'string', 'example' => 'gaip-bp1****'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ 400 => [
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
],
],
- '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',
+ 'title' => 'DeleteBasicAccelerateIp',
+ 'summary' => 'Deletes an accelerated IP address of a basic Global Accelerator (GA) instance.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-09T07:55:29.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicAccelerateIp'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicAccelerateIp',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DeleteBasicAccelerateIpEndpointRelation' => [
+ 'summary' => 'Deletes the attach relationship between an accelerated IP address and an endpoint of a basic Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '8889',
- 'abilityTreeNodes' => [
- 'FEATUREgaC1Y0Y9',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete', '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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID of the Global Accelerator instance. Set the value to **ap-southeast-1**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of a 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 **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'],
],
[
- 'name' => 'PageSize',
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The ID of the basic GA instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
+ ],
+ [
+ 'name' => 'EndpointId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The endpoint ID of the basic GA instance.'."\n"
+ ."\n"
+ .'You can call [ListBasicEndpoints](~~2253406~~) to query the endpoint ID.', 'type' => 'string', 'required' => true, 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
+ ],
+ [
+ 'name' => 'AccelerateIpId',
'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The accelerated IP address instance ID of the basic GA instance.'."\n"
+ ."\n"
+ .'You can call [ListBasicAccelerateIps](~~2253393~~) to query the accelerated IP address instance ID.', 'type' => 'string', 'required' => true, 'example' => 'gaip-bp1****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'AcceleratorId' => ['title' => '', 'description' => 'The ID of the basic GA instance.', 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****'],
+ 'EndpointId' => ['title' => '', 'description' => 'The endpoint ID of the basic GA instance.', 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
+ 'AccelerateIpId' => ['description' => 'The accelerated IP address instance ID of the basic GA instance.', 'type' => 'string', 'example' => 'gaip-bp1****', 'title' => ''],
+ 'State' => ['description' => 'The attach status between the accelerated IP address and the endpoint of the basic GA instance.'."\n"
+ ."\n"
+ .'> This parameter is not currently in use.', 'type' => 'string', 'example' => 'null', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'title' => 'Delete the attach relationship between an accelerated IP address and an endpoint of a basic Global Accelerator instance',
+ 'description' => '- **DeleteBasicAccelerateIpEndpointRelation** is an asynchronous operation. After a request is sent, the system returns a request ID, but the attach relationship between the accelerated IP address and the endpoint of the basic Global Accelerator (GA) instance is not immediately removed. The deletion task continues to run in the background. You can call the following operations to check whether the attach relationship between the accelerated IP address and the endpoint is deleted: '."\n"
+ .' - Call [GetBasicAccelerateIp](~~466794~~) or [ListBasicEndpoints](~~466831~~) to query the status of the accelerated IP address and the endpoint respectively. If the status of the accelerated IP address and the endpoint is **unbinding**, the attach relationship is being deleted. In this state, you can only perform query operations and cannot perform other operations.'."\n"
+ .' - Call [ListBasicAccelerateIpEndpointRelations](~~466803~~) to query the attach status between the accelerated IP address and the endpoint. If no attach information is returned, the attach relationship between the accelerated IP address and the endpoint is deleted.'."\n"
+ .'- **DeleteBasicAccelerateIpEndpointRelation** does not support concurrent deletion of attach relationships between accelerated IP addresses and endpoints within the same basic GA instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicAccelerateIpEndpointRelation'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicAccelerateIpEndpointRelation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\",\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"AccelerateIpId\\": \\"gaip-bp1****\\",\\n \\"State\\": \\"null\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteBasicAccelerator' => [
+ 'summary' => 'Invokes the DeleteBasicAccelerator operation to delete a specified basic Alibaba Cloud 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' => '', 'description' => 'The region ID of the basic Alibaba Cloud Global Accelerator (GA) instance. Set the value to **ap-southeast-1**.', '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-bp1yeeq8yfoyszmqy****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The instance ID of the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'],
+ 'AcceleratorId' => ['title' => '', 'description' => 'The instance ID of the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'BindExist.Accelerator', 'errorMessage' => 'The accelerated instance is already bound to a bandwidth package.', 'description' => 'The GA instance is already associated with a bandwidth plan.'],
+ ['errorCode' => 'Exist.IpSet', 'errorMessage' => 'The IpSet still exists.', 'description' => ''],
+ ],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'Delete a basic global accelerator instance',
+ 'description' => '- Upfront (subscription) basic Alibaba Cloud Global Accelerator (GA) instances cannot be deleted. You can unsubscribe on the <props="china">[Unsubscribe](https://usercenter2.aliyun.com/refund/refund)</props><props="intl">[Unsubscribe](https://usercenter2-intl.aliyun.com/refund/refund)</props> page. Before you unsubscribe, make sure that the basic Alibaba Cloud Global Accelerator (GA) instance has no acceleration area or endpoint group configurations and is not attached to a bandwidth plan.'."\n"
+ .' - To delete an acceleration area, refer to [DeleteBasicIpSet](~~2253388~~).'."\n"
+ .' - To delete an endpoint group, refer to [DeleteBasicEndpointGroup](~~2253399~~).'."\n"
+ .' - To disassociate a bandwidth plan from a basic Alibaba Cloud Global Accelerator (GA) instance, refer to [BandwidthPackageRemoveAccelerator](~~153240~~).'."\n"
+ .'- Before you invoke this operation to delete a pay-as-you-go basic Alibaba Cloud Global Accelerator (GA) instance, make sure that data migration is complete and that the acceleration area and endpoint group configurations under the instance are deleted.'."\n"
+ .' - To delete an acceleration area, refer to [DeleteBasicIpSet](~~2253388~~).'."\n"
+ .' - To delete an endpoint group, refer to [DeleteBasicEndpointGroup](~~2253399~~).'."\n"
+ .'- **DeleteBasicAccelerator** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the node in the background. You can invoke [GetBasicAccelerator](~~353188~~) to query the status of the basic Alibaba Cloud Global Accelerator (GA) instance:'."\n"
+ .' - If the instance is in the **deleting** state, the instance is being deleted. In this state, you can only execute query operations.'."\n"
+ .' - If the instance cannot be found, the instance is deleted.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:09.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BasicAcceleratorId}'],
+ ],
],
],
],
- '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' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","type":"json"}]',
],
- 'UpdateIpSet' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteBasicEndpoint' => [
+ 'summary' => 'Invokes the DeleteBasicEndpoint operation to delete an endpoint of a basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -8080,149 +7513,84 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '8895',
- 'abilityTreeNodes' => [
- 'FEATUREgaC1Y0Y9',
- ],
- ],
+ 'systemTags' => ['operationType' => 'create', '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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID of the Global Accelerator instance. Set the value to **ap-southeast-1**.', '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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'Set this parameter to a value that is generated from your client to make sure that the value is unique among different requests. The ClientToken value supports only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the **RequestId** value as the **ClientToken** value. The **RequestId** value is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'],
],
[
- 'name' => 'IpSetId',
+ 'name' => 'EndpointGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the acceleration region that you want to modify.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ips-bp11r5jb8ogp122xl****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the endpoint group to which the endpoint that you want to delete belongs. You can call the [ListBasicEndpointGroups](~~~~) operation to query the endpoint group ID of a basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****'],
],
[
- 'name' => 'Bandwidth',
+ 'name' => 'EndpointId',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the endpoint that you want to delete from the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '7D2F7E4E-B958-439C-9821-56D6213A31EC',
- ],
+ 'EndpointId' => ['title' => '', 'description' => 'The ID of the endpoint of the basic Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'Exist.EndpointGroup', 'errorMessage' => 'The endpoint group already exists.', 'description' => 'The endpoint group already exists.'],
],
- 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.',
- ],
+ ],
+ 'title' => 'Delete an endpoint of a basic global accelerator instance',
+ 'description' => '- **DeleteBasicEndpoint** is an asynchronous operation. After a request is sent, the system returns a request ID, but the endpoint is not yet deleted and the deletion node continues in the background. You can invoke [ListBasicEndpoints](~~466831~~) to query the status of the endpoint:'."\n"
+ .' - If the endpoint is in the **deleting** state, the endpoint is being deleted. In this state, you can only execute query operations.'."\n"
+ .' - If the endpoint cannot be found, the endpoint is deleted.'."\n"
+ .'- **DeleteBasicEndpoint** does not support concurrent deletion of endpoints within the same basic Alibaba Cloud Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:18.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteBasicEndpoint'],
],
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
+ ],
],
],
],
- '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' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndpointId\\": \\"ep-bp14sz7ftcwwjgrdm****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
],
- 'UpdateIpSets' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteBasicEndpointGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -8230,60 +7598,21 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '8896',
- 'abilityTreeNodes' => [
- 'FEATUREgaC1Y0Y9',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'ClientToken',
'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',
- ],
+ 'schema' => ['title' => '', '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' => 'IpSets',
+ 'name' => 'EndpointGroupId',
'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,
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the endpoint group that is associated with the basic GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****'],
],
],
'responses' => [
@@ -8292,65 +7621,69 @@
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '685662FF-B1CE-4D5C-A4C8-2FF3C2146BFC',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'The endpoint group does not exist.', 'description' => 'The endpoint group does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'The specified state of endpoint group is invalid.', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA 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.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
+ ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
+ 'title' => 'DeleteBasicEndpointGroup',
+ 'summary' => 'Deletes an endpoint group that is associated with a basic Global Accelerator (GA) instance.',
+ 'description' => 'Before you delete an endpoint group, take note of the following items:'."\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"
+ .'* 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"
- .'* 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',
+ .'* 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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:10.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#BasicEndpointGroupId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DeleteBasicIpSet' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -8358,145 +7691,94 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '7852',
- 'abilityTreeNodes' => [
- 'FEATUREgaC1Y0Y9',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete', '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',
- ],
+ 'schema' => ['title' => '', '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' => [
- '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****',
- ],
+ 'schema' => ['title' => '', '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' => [
- '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****',
- ],
+ 'schema' => ['title' => '', '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 response parameters.'."\n",
+ 'description' => 'The returned information.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'DD61839A-5CC5-404B-8C6E-56066F0C432D',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.IpSet', 'errorMessage' => 'The IpSet does not exist.', 'description' => 'The acceleration region does not exist.'],
+ ['errorCode' => 'StateError.IpSet', 'errorMessage' => 'The state of IpSet is invalid.', 'description' => 'The acceleration region is in an invalid state.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'ExplicitDeny', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => ''],
],
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.',
- ],
+ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
+ 'title' => 'DeleteBasicIpSet',
+ 'summary' => 'Deletes the acceleration region of a basic Global Accelerator (GA) instance.',
+ '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 **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',
+ .'* The \\*\\*DeleteBasicIpSet\\*\\* operation cannot be repeatedly called for the same basic GA instance within a specific period of time.'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:16.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicIpSet'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#BasicIpSetId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DeleteCustomRoutingEndpointGroupDestinations' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -8508,38 +7790,57 @@
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '7853',
- 'abilityTreeNodes' => [
- 'FEATUREgaC1Y0Y9',
- ],
+ '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",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'example' => 'cn-hangzhou', 'required' => true, 'type' => 'string', 'title' => ''],
],
[
- 'name' => 'IpSetIds',
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The endpoint group ID.'."\n"
+ ."\n"
+ .'**'."\n"
+ ."\n"
+ .'****'."\n", 'example' => 'epg-bp1dmlohjjz4kqaun****', 'required' => true, 'type' => 'string', 'title' => ''],
+ ],
+ [
+ 'name' => 'DestinationIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of the acceleration regions that you want to delete.'."\n",
+ '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', 'title' => ''],
+ 'maxItems' => 4000,
+ 'required' => false,
'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,
+ 'title' => '',
+ 'example' => '',
],
],
],
@@ -8547,1892 +7848,765 @@
200 => [
'schema' => [
'description' => 'The response parameters.'."\n",
- 'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'B49B60F6-F6C8-49E5-B06B-E33E3A469A92',
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => '', 'type' => 'string'],
],
+ 'title' => '',
+ 'type' => 'object',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
],
],
- '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"
+ 'title' => 'DeleteCustomRoutingEndpointGroupDestinations',
+ 'summary' => 'Deletes mappings from an endpoint group that is associated with a custom routing listener.',
+ '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 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"
+ .' * 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 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',
+ .'* You cannot call the **DeleteCustomRoutingEndpointGroupDestinations** operation again on the same Global Accelerator (GA) instance before the previous request is completed.'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:47.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomRoutingEndpointGroupDestinations'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"},{"errorExample":"","example":"<DeleteCustomRoutingEndpointGroupDestinationsResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteCustomRoutingEndpointGroupDestinationsResponse>","type":"xml"}]',
+ ],
+ 'DeleteCustomRoutingEndpointGroups' => [
+ 'summary' => 'Deletes multiple endpoint groups that are associated with a custom routing listener.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8883',
- 'abilityTreeNodes' => [
- 'FEATUREgaC1Y0Y9',
- ],
+ 'abilityTreeCode' => '146781',
+ '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',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ga-bp1yeeq8yfoyszmqy****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'AccessMode',
+ 'name' => 'EndpointGroupIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => '加速地域接入类型,取值如下:'."\n"
- .'anycast:查询支持的anycast加速地域,空值:查询支持的非anycast加速地域',
- 'type' => 'string',
+ '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****', 'title' => ''],
+ 'required' => true,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The returned information.'."\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',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 400 => [
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
+ ],
+ ],
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:53.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:47.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-04-20T08:32:21.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomRoutingEndpointGroups'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteCustomRoutingEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ],
],
],
],
- '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.',
+ '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":""}]',
],
- 'GetIpsetsBandwidthLimit' => [
- 'summary' => 'Queries the maximum bandwidth of an acceleration area.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteCustomRoutingEndpointTrafficPolicies' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '146971',
+ 'abilityTreeNodes' => ['FEATUREgaYJ70J9'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ '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', 'title' => ''],
+ ],
+ [
+ '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****', 'title' => ''],
+ ],
+ [
+ 'name' => 'PolicyIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the GA instance to be queried.'."\n",
- 'type' => 'string',
+ '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****', 'title' => ''],
'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
+ 'maxItems' => 9000,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters of the operation.'."\n",
+ 'title' => '',
+ 'description' => 'The returned information.'."\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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 400 => [
+ ['errorCode' => 'NotExist.EndPoints', 'errorMessage' => 'endpoint %s not exist.', 'description' => 'Endpoint% s does not exist'],
+ ],
+ ],
+ 'title' => 'DeleteCustomRoutingEndpointTrafficPolicies',
+ 'summary' => 'Deletes traffic destinations from an endpoint.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:47.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomRoutingEndpointTrafficPolicies'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteCustomRoutingEndpointTrafficPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#customroutingendpointId}'],
+ ],
],
],
],
- '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',
+ '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":""}]',
],
- 'CreateListener' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteCustomRoutingEndpoints' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '7848',
- 'abilityTreeNodes' => [
- 'FEATUREgaZW5ZHQ',
- ],
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '146953',
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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 ',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'EndpointGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'EndpointIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The name of the listener.'."\n"
+ 'description' => 'The IDs of endpoints to be deleted.'."\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',
+ .'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****', 'title' => ''],
+ 'required' => true,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'Description',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => '',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ ],
+ 'example' => '',
],
],
- [
- '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',
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'listener %s is not exist', 'description' => 'The listener %s does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'listener %s is not active', 'description' => 'The listener %s is unavailable.'],
+ ],
+ ],
+ 'title' => 'DeleteCustomRoutingEndpoints',
+ 'summary' => 'Deletes endpoints from a custom routing listener.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:10.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:46.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-04-20T08:32:21.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomRoutingEndpoints'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteCustomRoutingEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customRoutingEndpointGroupId}'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ 'DeleteDomainAcceleratorRelation' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '149754',
+ 'abilityTreeNodes' => ['FEATUREgaN8JEXK'],
+ ],
+ 'parameters' => [
[
- 'name' => 'PortRanges',
+ 'name' => 'RegionId',
'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,
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Certificates',
+ 'name' => 'AcceleratorIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The SSL certificates.'."\n",
+ '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 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,
- ],
+ '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****', 'title' => ''],
'required' => false,
- 'maxItems' => 10,
+ 'maxItems' => 50,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'XForwardedForConfig',
+ 'name' => 'Domain',
'in' => 'query',
- 'style' => 'flat',
+ 'schema' => ['description' => 'The accelerated domain name to be disassociated.'."\n", 'type' => 'string', 'required' => true, 'example' => 'www.example.com', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The `XForward` headers.'."\n",
+ 'title' => '',
+ 'description' => 'The list of response parameters.'."\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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
- 'required' => false,
+ 'example' => '',
],
],
- [
- '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',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.Domain', 'errorMessage' => 'The domain %s is not exist.', 'description' => 'Domain % s does not exist'],
+ ['errorCode' => 'NotExist.DomainAcceleratorRelation', 'errorMessage' => 'The relationship between %s and %s does not exist.', 'description' => 'The relationship between domain % s and IP %s does not exist'],
],
- [
- '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',
- ],
+ ],
+ 'title' => 'DeleteDomainAcceleratorRelation',
+ 'summary' => 'Disassociates a domain name from Global Accelerator (GA) instances.',
+ 'description' => 'You cannot call the **DeleteDomainAcceleratorRelation** operation again by using the same Alibaba Cloud account before the previous operation is complete.'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:46.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDomainAcceleratorRelation'],
],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- '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,
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteDomainAcceleratorRelation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Domain', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
],
- 'required' => false,
],
],
+ ],
+ '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":""}]',
+ ],
+ 'DeleteEndpointGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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,
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '7851',
+ 'abilityTreeNodes' => ['FEATUREgaMGA0JD'],
+ ],
+ 'parameters' => [
[
- 'name' => 'IdleTimeout',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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 ', 'title' => ''],
],
[
- 'name' => 'RequestTimeout',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'HttpVersion',
+ 'name' => 'EndpointGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned information.'."\n",
+ 'description' => 'The response parameters.'."\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****',
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'The endpoint group does not exist.', 'description' => 'The endpoint group does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'The specified state of endpoint group is invalid.', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA 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.',
- ],
+ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
+ '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 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"
+ .' * 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"
- .'* You cannot repeatedly call the **CreateListener** operation for the same GA instance within the specified period of time.'."\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' => ' ',
- ],
- 'DescribeListener' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:17.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteEndpointGroups' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8878',
- 'abilityTreeNodes' => [
- 'FEATUREgaZW5ZHQ',
- ],
+ 'abilityTreeCode' => '35765',
+ '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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ListenerId',
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the listener that you want to query.'."\n",
- 'type' => 'string',
+ '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****', 'title' => ''],
'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8'],
],
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'BindExist.EndPointGroup', 'errorMessage' => 'EndPointGroup %s exist bind.', 'description' => 'A forwarding rule configuration exists for endpoint group% s.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'title' => 'DeleteEndpointGroups',
+ 'summary' => 'Deletes endpoint groups.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-06T02:28:13.000Z', 'description' => 'Error codes changed'],
],
- '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',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEndpointGroups'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteForwardingRules' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8890',
- 'abilityTreeNodes' => [
- 'FEATUREgaZW5ZHQ',
- ],
+ 'abilityTreeCode' => '8513',
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'ForwardingRuleIds',
'in' => 'query',
+ 'style' => 'flat',
'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',
+ 'description' => 'The forwarding rules.'."\n",
+ 'type' => 'array',
+ 'items' => ['description' => 'The forwarding rule ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'frule-bp19a3t3yzr21q3****', 'title' => ''],
+ 'required' => true,
+ 'example' => 'frule-bp19a3t3yzr21q3****',
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4q****', 'title' => ''],
],
[
- 'name' => 'Protocol',
+ 'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The listener ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1s0vzbi5bxlx5****', 'title' => ''],
],
],
'responses' => [
@@ -10441,378 +8615,80 @@
'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",
+ 'ForwardingRules' => [
+ 'description' => 'The forwarding rules.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The information about the listeners.',
+ 'description' => 'The forwarding rule ID.'."\n",
'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',
- ],
+ 'ForwardingRuleId' => ['description' => 'The forwarding rule ID.'."\n", 'type' => 'string', 'example' => 'frule-bp19a3t3yzr21q3****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- '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',
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'CFC67ED9-4AB1-431F-B6E3-A752B7B8CCD4', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ 400 => [
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BusinessRegion', 'errorMessage' => 'The business region does not exist.', 'description' => 'The business region does not exist.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'QuotaExceeded.EndPoint', 'errorMessage' => 'The maximum number of endpoints is exceeded.', 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['errorCode' => 'Exist.EndpointGroup', 'errorMessage' => 'The endpoint group already exists.', 'description' => 'The endpoint group already exists.'],
+ ['errorCode' => 'NoPermission.VpcEndpoint', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
+ ['errorCode' => 'NotExist.ForwardingRule', 'errorMessage' => 'forwarding rule %s is not exist', 'description' => ''],
],
],
- '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",
+ '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' => ' ',
- ],
- 'UpdateListener' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:06.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteForwardingRules'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteForwardingRules',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DeleteIpSet' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -10821,488 +8697,201 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8897',
- 'abilityTreeNodes' => [
- 'FEATUREgaZW5ZHQ',
- ],
+ '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',
- ],
+ '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', 'title' => ''],
],
[
'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 ',
- ],
+ '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', 'title' => ''],
],
[
- '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',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'Protocol',
+ 'name' => 'IpSetId',
'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',
- ],
+ '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****', 'title' => ''],
],
- [
- 'name' => 'ListenerId',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DD61839A-5CC5-404B-8C6E-56066F0C432D', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- [
- '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',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'NotExist.IpSet', 'errorMessage' => 'The IpSet does not exist.', 'description' => 'The acceleration region does not exist.'],
+ ['errorCode' => 'StateError.IpSet', 'errorMessage' => 'The state of IpSet is invalid.', 'description' => 'The acceleration region is in an invalid state.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'ExplicitDeny', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => ''],
],
- [
- '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,
- ],
+ 403 => [
+ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
],
- [
- '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,
- ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
- [
- '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,
- ],
+ ],
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpSet'],
],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- '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',
- ],
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
],
- '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',
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DD61839A-5CC5-404B-8C6E-56066F0C432D\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteIpSets' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '7853',
+ 'abilityTreeNodes' => ['FEATUREgaC1Y0Y9'],
+ ],
+ 'parameters' => [
[
- 'name' => 'RequestTimeout',
+ 'name' => 'RegionId',
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'HttpVersion',
+ 'name' => 'IpSetIds',
'in' => 'query',
+ 'style' => 'repeatList',
'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',
+ '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****', 'title' => ''],
+ 'required' => true,
+ 'example' => 'ips-bp11c9mpphtb1xkds****',
+ 'maxItems' => 100,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned information.'."\n",
+ 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ',
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B49B60F6-F6C8-49E5-B06B-E33E3A469A92', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.IpSets', 'errorMessage' => 'The IpSet does not exist.', 'description' => 'The acceleration region does not exist.'],
+ ['errorCode' => 'NotActive.IpSet', 'errorMessage' => 'The state of IpSet is not active.', 'description' => 'The accelerated IP address is in an unstable state.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
],
],
- '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"
+ '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 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"
+ .' * 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"
- .'* The **UpdateListener** operation cannot be repeatedly called to modify listener configurations for the same GA instance within a specific period of time.'."\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' => ' ',
- ],
- 'DeleteListener' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:59.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpSets'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteIpSets',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B49B60F6-F6C8-49E5-B06B-E33E3A469A92\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteListener' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -11315,44 +8904,27 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '7854',
- 'abilityTreeNodes' => [
- 'FEATUREgaZW5ZHQ',
- ],
+ '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 ',
- ],
+ '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 ', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance for which you want to delete a listener.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ 'schema' => ['description' => 'The ID of the listener that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
],
'responses' => [
@@ -11361,56 +8933,29 @@
'description' => 'The returned information.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA 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.',
- ],
+ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
@@ -11428,966 +8973,991 @@
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'GetHealthStatus' => [
- 'summary' => 'Queries the health status of the endpoints and endpoint groups of a listener.',
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:13.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteListener'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteSpareIps' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '35853',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ 'abilityTreeNodes' => ['FEATUREgaLMO5F2'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'ListenerId',
+ 'name' => 'SpareIps',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
+ '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', 'title' => ''],
'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'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',
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.SpareIp', 'errorMessage' => 'The spare ip %s doesn\'t exist.', 'description' => ''],
+ ],
+ ],
+ 'title' => 'DeleteSpareIps',
+ 'summary' => 'Deletes the secondary IP addresses that are associated with a CNAME.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:13:02.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:58.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSpareIps'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteSpareIps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ '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 Global Accelerator instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'deprecated' => true, 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance that you want to query.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The information returned.',
+ 'type' => 'object',
+ 'properties' => [
+ 'DdosId' => ['description' => 'The ID of the Anti-DDoS instance that is associated with the Global Accelerator instance.', 'type' => 'string', 'deprecated' => true, 'example' => 'ddoscoo-cn-zz11vq7j****', 'title' => ''],
+ 'DnsName' => ['description' => 'The canonical name (CNAME) that is assigned to the Global Accelerator instance.', 'type' => 'string', 'example' => 'ga-bp15u1i2hmtbk8c3i****.aliyunga0019.com', 'title' => ''],
+ 'Description' => ['description' => 'The description of the Global Accelerator instance.', 'type' => 'string', 'example' => 'Accelerator', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', 'title' => ''],
+ 'InstanceChargeType' => ['description' => 'The billing method of the Global Accelerator instance.', 'type' => 'string', 'example' => 'PREPAY', 'title' => ''],
+ 'CreateTime' => ['description' => 'The timestamp that indicates when the Global Accelerator instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1650643200', 'title' => ''],
+ 'CrossDomainBandwidthPackage' => [
+ 'description' => 'The details of the cross-region bandwidth plan that is associated with the Global Accelerator instance.'."\n"
+ ."\n"
+ .'This parameter is returned only by the Alibaba Cloud International Website (www\\.alibabacloud.com).',
+ 'type' => 'object',
+ 'properties' => [
+ 'Bandwidth' => ['description' => 'The bandwidth of the cross-region bandwidth plan. Unit: Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the cross-region bandwidth plan.', 'type' => 'string', 'example' => 'gbwp-bp1d8xk8bg139j0fw****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'ListenerId' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
+ 'SecondDnsName' => ['description' => 'The CNAME of the Anti-DDoS instance that is associated with the Global Accelerator instance.', 'type' => 'string', 'example' => 'ga-bp1f609c76zg6zuna****-1.aliyunga0047.com', 'title' => ''],
+ 'Name' => ['description' => 'The name of the Global Accelerator instance.', 'type' => 'string', 'example' => 'Accelerator', 'title' => ''],
+ 'BasicBandwidthPackage' => [
+ 'description' => 'The details of the basic bandwidth plan that is associated with the Global Accelerator instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Bandwidth' => ['description' => 'The bandwidth of the basic bandwidth plan. Unit: Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'BandwidthType' => ['description' => 'The type of the bandwidth of the basic bandwidth plan. Valid values:'."\n"
+ ."\n"
+ .'- **Basic**: standard acceleration bandwidth.'."\n"
+ ."\n"
+ .'- **Enhanced**: enhanced acceleration bandwidth.'."\n"
+ ."\n"
+ .'- **Advanced**: premium acceleration bandwidth.', 'type' => 'string', 'example' => 'Basic', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the basic bandwidth plan.', 'type' => 'string', 'example' => 'gbwp-bp1d8xk8bg139j0fw****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'State' => ['description' => 'The status of the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **init**: The instance is being initialized.'."\n"
+ ."\n"
+ .'- **active**: The instance is available.'."\n"
+ ."\n"
+ .'- **configuring**: The instance is being configured.'."\n"
+ ."\n"
+ .'- **binding**: The instance is being associated.'."\n"
+ ."\n"
+ .'- **unbinding**: The instance is being disassociated.'."\n"
+ ."\n"
+ .'- **deleting**: The instance is being deleted.'."\n"
+ ."\n"
+ .'- **finacialLocked**: The instance is financially locked.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'ExpiredTime' => ['description' => 'The timestamp that indicates when the Global Accelerator instance expires.', 'type' => 'integer', 'format' => 'int64', 'example' => '1653235200', 'title' => ''],
+ 'CenId' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance that is associated with the Global Accelerator instance.', 'type' => 'string', 'example' => 'cen-hjkduu767hc****', 'title' => ''],
+ 'RegionId' => ['description' => 'The region where the Global Accelerator instance is deployed.', 'type' => 'string', 'deprecated' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ 'Spec' => ['description' => 'The specification of the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **1**: Small I.'."\n"
+ ."\n"
+ .'- **2**: Small II.'."\n"
+ ."\n"
+ .'- **3**: Small III.'."\n"
+ ."\n"
+ .'- **5**: Medium I.'."\n"
+ ."\n"
+ .'- **8**: Medium II.'."\n"
+ ."\n"
+ .'- **10**: Medium III.'."\n"
+ ."\n"
+ .'- **20**: Large I.'."\n"
+ ."\n"
+ .'- **30**: Large II.'."\n"
+ ."\n"
+ .'- **40**: Large III.'."\n"
+ ."\n"
+ .'- **50**: Large IV.'."\n"
+ ."\n"
+ .'- **60**: Large V.'."\n"
+ ."\n"
+ .'- **70**: Large VI.'."\n"
+ ."\n"
+ .'- **80**: Large VII.'."\n"
+ ."\n"
+ .'- **90**: Large VIII.'."\n"
+ ."\n"
+ .'- **100**: Super Large I.'."\n"
+ ."\n"
+ .'- **200**: Super Large II.'."\n"
+ ."\n"
+ .'> The Large III and higher specifications are available only to users on the whitelist. To use these specifications, contact your account manager.'."\n"
+ ."\n"
+ .'The definitions of different specifications vary. For more information, see [Instance specifications](~~153127~~).', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'BandwidthBillingType' => ['description' => 'The billing method of the bandwidth. Valid values:'."\n"
+ ."\n"
+ .'- **BandwidthPackage**: pay-by-bandwidth-plan.'."\n"
+ ."\n"
+ .'- **CDT**: pay-by-data-transfer.', 'type' => 'string', 'example' => 'CDT', 'title' => ''],
+ 'IpSetConfig' => [
+ 'description' => 'The configuration of the acceleration area.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessMode' => ['description' => 'The access mode of the acceleration area. Valid values:'."\n"
+ ."\n"
+ .'- **UserDefine**: custom. You can select acceleration areas and regions based on your business needs. Global Accelerator provides a separate elastic IP address (EIP) for each acceleration region.'."\n"
+ ."\n"
+ .'- **Anycast**: automatic. You do not need to configure an acceleration area. Global Accelerator provides an Anycast EIP for multiple regions. Users can connect to the nearest access point of the Alibaba Cloud network using the Anycast EIP.', 'type' => 'string', 'example' => 'UserDefine', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'CrossPrivateState' => ['description' => 'Indicates whether cross-border bandwidth is enabled.'."\n"
+ ."\n"
+ .'- **true**: enabled.'."\n"
+ ."\n"
+ .'- **false**: disabled.', 'type' => 'string', 'example' => 'false', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmw2vwdbujqbq', 'title' => ''],
+ 'Tags' => [
+ 'description' => 'The tags of the resource.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tag of the resource.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'tag-key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'tag-value', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
],
- 'HealthStatus' => [
- 'description' => 'The health status of endpoints and endpoint groups. Valid values:'."\n"
+ 'CrossBorderMode' => ['description' => 'The type of cross-border acceleration. This parameter is returned for pay-by-data-transfer instances.'."\n"
+ ."\n"
+ .'**bpgPro**: premium bandwidth for cross-border acceleration.', 'type' => 'string', 'title' => '', 'example' => 'bpgPro'],
+ 'CrossBorderStatus' => ['description' => 'Indicates whether the cross-border line feature is enabled for the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The cross-border line feature is enabled. You can use Global Accelerator to accelerate data transmission across borders.'."\n"
+ ."\n"
+ .'- **false**: The cross-border line feature is disabled. You cannot use Global Accelerator to accelerate data transmission across borders.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'UpgradableStatus' => ['description' => 'The upgrade status of the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **notUpgradable**: The instance does not need to be upgraded.'."\n"
+ ."\n"
+ .'- **upgradable**: The instance can be upgraded.'."\n"
+ ."\n"
+ .'- **upgradeFailed**: The instance failed to be upgraded.', 'type' => 'string', 'title' => '', 'example' => 'notUpgradable'],
+ 'ServiceId' => ['description' => 'The ID of the service that manages the instance.'."\n"
+ ."\n"
+ .'> This parameter is valid only when **ServiceManaged** is set to **True**.', 'type' => 'string', 'example' => 'ALB', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the instance is a managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance is a managed instance.'."\n"
+ ."\n"
+ .'- **false**: The instance is not a managed instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceManagedInfos' => [
+ 'description' => 'The actions that you can perform on the managed instance.'."\n"
."\n"
- .'* **normal**'."\n"
- .'* **abnormal**'."\n"
- .'* **partiallyAbnormal**'."\n",
- 'type' => 'string',
- 'example' => 'normal',
+ .'> - This parameter is valid only when **ServiceManaged** is set to **True**.'."\n"
+ .'>'."\n"
+ .'> - When the instance is managed, you cannot perform some operations on the instance.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The actions that you can perform on the managed instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Action' => ['description' => 'The name of the action on the managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **Create**: creates an instance.'."\n"
+ ."\n"
+ .'- **Update**: updates the current instance.'."\n"
+ ."\n"
+ .'- **Delete**: deletes the current instance.'."\n"
+ ."\n"
+ .'- **Associate**: associates the instance with other resources.'."\n"
+ ."\n"
+ .'- **UserUnmanaged**: unmanages the instance.'."\n"
+ ."\n"
+ .'- **CreateChild**: creates a child resource in the instance.', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ ."\n"
+ .'- **Listener**: listener.'."\n"
+ ."\n"
+ .'- **IpSet**: acceleration region.'."\n"
+ ."\n"
+ .'- **EndpointGroup**: endpoint group.'."\n"
+ ."\n"
+ .'- **ForwardingRule**: forwarding rule.'."\n"
+ ."\n"
+ .'- **Endpoint**: endpoint.'."\n"
+ ."\n"
+ .'- **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n"
+ ."\n"
+ .'- **EndpointPolicy**: access policy of an endpoint associated with a custom routing listener.'."\n"
+ ."\n"
+ .'> This parameter is valid only when **Action** is set to **CreateChild**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'IsManaged' => ['description' => 'Indicates whether the specified action is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The action is managed. You cannot perform the specified action on the managed instance.'."\n"
+ ."\n"
+ .'- **false**: The action is not managed. You can perform the specified action on the managed instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'EndpointGroups' => [
- 'description' => 'The information about the endpoint groups.'."\n",
+ 'DdosConfigList' => [
'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',
- ],
- ],
- ],
- ],
+ 'DdosId' => ['description' => 'The ID of the Anti-DDoS instance that is associated with the Global Accelerator instance.', 'type' => 'string', 'example' => 'ddoscoo-cn-zz11vq7j****', 'title' => ''],
+ 'DdosRegionId' => ['description' => 'The region where the Anti-DDoS instance is deployed. Valid values:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**: the Chinese mainland.'."\n"
+ ."\n"
+ .'- **ap-southeast-1**: outside the Chinese mainland.', 'type' => 'string', 'example' => 'ap-southeast-1', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'description' => 'The list of Anti-DDoS instances that are associated with the Global Accelerator instance.',
+ 'title' => '',
+ 'example' => '',
],
+ 'Bandwidth' => ['description' => 'The bandwidth of the standard Global Accelerator instance. Unit: Mbps.'."\n"
+ ."\n"
+ .'> This parameter is valid only when the access mode of the acceleration area is Anycast.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'DescribeAccelerator',
+ 'summary' => 'You can call the DescribeAccelerator operation to query information about a specified Global Accelerator instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:12:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-12-23T02:56:21.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-12-04T03:11:54.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-11-26T03:38:06.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-05-07T05:54:56.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-15T05:50:17.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-06-14T03:27:03.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-04-06T11:31:23.000Z', 'description' => 'Error codes changed, Response parameters changed'],
+ ['createdAt' => '2023-04-06T09:46:16.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-12-13T11:07:13.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-09-27T08:45:06.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeAcceleratorAutoRenewAttribute' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '42918',
- 'abilityTreeNodes' => [
- 'FEATUREga38GCGA',
- ],
+ 'abilityTreeNodes' => ['FEATUREgaQQ43JD'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'AcceleratorId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****', 'title' => ''],
+ 'AutoRenew' => ['description' => 'Indicates whether auto-renewal is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'AutoRenewDuration' => ['description' => 'The auto-renewal duration. Unit: month.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ ],
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'DescribeAcceleratorAutoRenewAttribute',
+ 'summary' => 'Queries the auto-renewal status of a Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:12:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-11-30T08:56:00.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAcceleratorAutoRenewAttribute'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeAcceleratorAutoRenewAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ 'DescribeAcceleratorServiceStatus' => [
+ 'summary' => 'Queries the status of a pay-as-you-go Global Accelerator (GA) instance.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'ListenerId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The listener ID. Only HTTPS listeners are supported.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'Certificates',
+ 'name' => 'RegionId',
'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,
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8',
- ],
- 'ListenerId' => [
- 'description' => 'The listener ID.'."\n",
+ 'RequestId' => ['title' => '', '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',
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
+ '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', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether the request was successful. Valid values: true false'."\n", 'type' => 'string', 'example' => 'True', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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.',
- ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeAcceleratorServiceStatus',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:13.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAcceleratorServiceStatus'],
],
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeAcceleratorServiceStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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",
+ '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"}]',
],
- 'DissociateAdditionalCertificatesFromListener' => [
- 'summary' => 'Disassociates an additional certificate from an HTTPS listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DescribeApplicationMonitor' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '43184',
- 'abilityTreeNodes' => [
- 'FEATUREga38GCGA',
- ],
+ 'abilityTreeCode' => '114797',
+ 'abilityTreeNodes' => ['FEATUREgaLHYOX6'],
],
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => false, 'default' => 'cn-hangzhou', 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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****',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'ListenerId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
- ],
- [
- 'name' => 'Domains',
+ 'name' => 'TaskId',
'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,
- ],
+ 'schema' => ['description' => 'The ID of the origin probing task.', 'type' => 'string', 'required' => true, 'example' => 'sm-bp1fpdjfju9k8yr1y****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance on which the origin probing task ran.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener on which the origin probing task ran.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'TaskId' => ['description' => 'The ID of the origin probing task.', 'type' => 'string', 'example' => 'sm-bp1fpdjfju9k8yr1y****', 'title' => ''],
+ 'TaskName' => ['description' => 'The name of the origin probing task.', 'type' => 'string', 'example' => 'task1', 'title' => ''],
+ 'Address' => ['description' => 'The URL or IP address that was probed.', 'type' => 'string', 'example' => 'https://www.aliyun.com', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '{ "http_method": "get","header": "key:asd","acceptable_response_code": "500","cert_verify": true }', 'title' => ''],
+ 'IspCityList' => [
+ 'description' => 'The probe points of the Internet service provider (ISP).',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Isp' => ['description' => 'The probe point ID of the ISP.', 'type' => 'string', 'example' => '465', 'title' => ''],
+ 'IspName' => ['description' => 'The probe point name of the ISP.', 'type' => 'string', 'example' => '阿里巴巴', 'title' => ''],
+ 'City' => ['description' => 'The ID of the city in which the probe point of the ISP is deployed.', 'type' => 'string', 'example' => '375', 'title' => ''],
+ 'CityName' => ['description' => 'The name of the city in which the probe point of the ISP is deployed.', 'type' => 'string', 'example' => '新加坡', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'DetectEnable' => ['description' => 'Indicates whether the automatic diagnostics feature is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
+ 'DetectTimes' => ['description' => 'The number of times that are required to reach the threshold before the automatic diagnostics feature is triggered.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''],
+ 'RegionId' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'State' => ['description' => 'The status of the origin probing task. Valid values:'."\n"
+ ."\n"
+ .'- **init**'."\n"
+ ."\n"
+ .'- **active**'."\n"
+ ."\n"
+ .'- **updating**'."\n"
+ ."\n"
+ .'- **inactive**'."\n"
+ ."\n"
+ .'- **deleting**', 'type' => 'string', 'example' => 'active', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
+ ['errorCode' => 'NotExist.SiteMonitor', 'errorMessage' => 'The siteMonitor %s is not exist.', 'description' => 'Site monitoring% s does not exist.'],
+ ],
+ ],
+ 'title' => 'DescribeApplicationMonitor',
+ 'summary' => 'Queries the detailed information about an origin probing task.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:46.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-10-12T07:20:28.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2021-12-28T13:10:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationMonitor'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#TaskId}'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
],
- 'UpdateAdditionalCertificateWithListener' => [
- 'summary' => 'Replaces an expired additional certificate for an HTTPS listener.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DescribeBandwidthPackage' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '157568',
- 'abilityTreeNodes' => [
- 'FEATUREga38GCGA',
- ],
+ 'abilityTreeNodes' => ['FEATUREgaMVONE5'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'BandwidthPackageId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the bandwidth plan to query.', 'type' => 'string', 'required' => true, 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
- [
- 'name' => 'ClientToken',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'CbnGeographicRegionIdB' => ['description' => 'The interconnected area B of the cross-border acceleration bandwidth plan. The value is returned only as **Global**.'."\n"
+ ."\n"
+ .'This parameter is returned only on the Chinese site (Chinese mainland).', 'type' => 'string', 'example' => 'Global', 'title' => ''],
+ 'CbnGeographicRegionIdA' => ['description' => 'The interconnected area A of the cross-border acceleration bandwidth plan. The value is returned only as **China-mainland** (the Chinese mainland).'."\n"
+ ."\n"
+ .'This parameter is returned only on the Alibaba Cloud International Website (www.alibabacloud.com).', 'type' => 'string', 'example' => 'China-mainland', 'title' => ''],
+ 'Description' => ['description' => 'The description of the bandwidth plan.', 'type' => 'string', 'example' => 'testDescription', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', 'title' => ''],
+ 'CreateTime' => ['description' => 'The timestamp when the bandwidth plan was created.', 'type' => 'string', 'example' => '1578966918000', 'title' => ''],
+ 'Name' => ['description' => 'The name of the bandwidth plan.', 'type' => 'string', 'example' => 'testName', 'title' => ''],
+ 'BandwidthType' => ['description' => 'The bandwidth type. Valid values:'."\n"
+ ."\n"
+ .'- **Basic**: standard acceleration bandwidth.'."\n"
+ ."\n"
+ .'- **Enhanced**: enhanced acceleration bandwidth.'."\n"
+ ."\n"
+ .'- **Advanced**: premium acceleration bandwidth.', 'type' => 'string', 'example' => 'Basic', 'title' => ''],
+ 'Type' => ['description' => 'The type of the bandwidth plan. Valid values:'."\n"
+ ."\n"
+ .'- **Basic**: basic bandwidth plan.'."\n"
+ ."\n"
+ .'- **CrossDomain**: cross-border acceleration bandwidth plan.'."\n"
+ ."\n"
+ .'Only **Basic** is returned on the Alibaba Cloud China Website (www.aliyun.com).', 'type' => 'string', 'example' => 'Basic', 'title' => ''],
+ 'Accelerators' => [
+ 'description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA) instance attached to the bandwidth plan.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA) instance attached to the bandwidth plan.', 'type' => 'string', 'example' => 'ga-bp1qe94o52ot4pkfn****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'State' => ['description' => 'The status of the bandwidth plan. Valid values:'."\n"
+ ."\n"
+ .'- **init**: initialization.'."\n"
+ ."\n"
+ .'- **active**: active.'."\n"
+ ."\n"
+ .'- **binded**: attached.'."\n"
+ ."\n"
+ .'- **binding**: being attached.'."\n"
+ ."\n"
+ .'- **unbinding**: being disassociated.'."\n"
+ ."\n"
+ .'- **updating**: being updated.'."\n"
+ ."\n"
+ .'- **finacialLocked**: locked due to overdue payment.'."\n"
+ ."\n"
+ .'- **locked**: locked.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'ChargeType' => ['description' => 'The billing method. Valid values:'."\n"
+ .'- **PREPAY** (default): subscription.'."\n"
+ .'- **POSTPAY**: pay-as-you-go.', 'type' => 'string', 'example' => 'PREPAY', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The bandwidth value of the bandwidth plan. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'ExpiredTime' => ['description' => 'The timestamp when the bandwidth plan expires.', 'type' => 'string', 'example' => '1578966918000', 'title' => ''],
+ 'BandwidthPackageId' => ['description' => 'The bandwidth plan ID.', 'type' => 'string', 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
+ 'RegionId' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'BillingType' => ['description' => 'The billable methods for the pay-as-you-go billing method. Valid values:'."\n"
+ .'- **PayByTraffic**: pay-by-data-transfer.'."\n"
+ .'- **PayBY95**: pay-by-95th-percentile.', 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''],
+ 'Ratio' => ['description' => 'The minimum percentage for the pay-by-95th-percentile metering method. Valid values: **30** to **100**.', 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfnvueepcihjiq', 'title' => ''],
+ 'Tags' => [
+ 'description' => 'The resource tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'tag-key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'tag-value', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'title' => 'Query a bandwidth plan',
+ 'summary' => 'Queries the details of a bandwidth plan by calling the DescribeBandwidthPackage operation.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:04.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeBandwidthPackage'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'DescribeBandwidthPackageAutoRenewAttribute' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'ListenerId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener. Only HTTPS listeners are supported.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'Domain',
+ 'name' => 'RegionId',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'CertificateId',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the replacement certificate.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '6092**-cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the bandwidth plan.'."\n", 'type' => 'string', 'required' => true, 'example' => 'gbwp-bp1iquvlp8khla5emb3ia', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters of the operation.'."\n",
+ 'description' => 'The response parameters.'."\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****',
- ],
+ 'InstanceId' => ['description' => 'The ID of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'gbwp-bp1iquvlp8khla5emb3ia', 'title' => ''],
+ 'AutoRenew' => ['description' => 'Indicates whether auto-renewal is enabled.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false** (default)'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B820E9F9-D459-5AE7-8F08-A368B53C1AC3', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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',
+ 'title' => 'DescribeBandwidthPackageAutoRenewAttribute',
+ 'summary' => 'Queries the auto-renewal status of a bandwidth plan.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:15.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-05-24T09:37:04.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeBandwidthPackageAutoRenewAttribute'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeBandwidthPackageAutoRenewAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BandwidthPackageId}'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ 'DescribeCommodity' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -12396,175 +9966,188 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ '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 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',
- ],
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ListenerId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
- ],
- [
- 'name' => 'NextToken',
+ 'name' => 'CommodityCode',
'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',
- ],
+ 'schema' => ['description' => 'The commodity code.'."\n"
+ ."\n"
+ .'Valid values on the China site (aliyun.com):'."\n"
+ ."\n"
+ .'- **ga\\_gapluspre\\_public\\_cn**: GA instance.'."\n"
+ ."\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"
+ ."\n"
+ .'- **ga\\_bwppreintl\\_public\\_intl:** basic bandwidth plan.', 'type' => 'string', 'required' => true, 'example' => 'ga_gapluspre_public_cn', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'OrderType',
'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',
- ],
+ 'schema' => ['description' => 'The type of the order. Valid values:'."\n"
+ ."\n"
+ .'- **BUY**: purchase order.'."\n"
+ ."\n"
+ .'- **RENEW**: renewal order.'."\n"
+ ."\n"
+ .'- **UPGRADE**: upgrade order.', 'type' => 'string', 'required' => true, 'example' => 'BUY', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'A list of response parameters.',
'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"
+ 'CommodityCode' => ['description' => 'The commodity code.'."\n"
+ ."\n"
+ .'Examples for the China site (aliyun.com):'."\n"
+ ."\n"
+ .'- **ga\\_gapluspre\\_public\\_cn**: GA instance.'."\n"
+ ."\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"
+ ."\n"
+ .'- **ga\\_bwppreintl\\_public\\_intl**: basic bandwidth plan.', 'type' => 'string', 'example' => 'ga_gapluspre_public_cn', 'title' => ''],
+ 'CommodityName' => ['description' => 'The name of the commodity.', 'type' => 'string', 'example' => 'Global Accelerator_Instance Type (Subscription)', 'title' => ''],
+ 'Components' => [
+ 'description' => 'The information about the commodity modules.'."\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",
+ .'The returned information varies based on the commodity.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The information about the commodity module.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity.',
'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"
+ 'ComponentCode' => ['description' => 'The code of the commodity module.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.', 'type' => 'string', 'example' => 'Subscription duration', 'title' => ''],
+ 'ComponentName' => ['description' => 'The name of the commodity module.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.', 'type' => 'string', 'example' => 'Subscription duration', 'title' => ''],
+ 'Properties' => [
+ 'description' => 'The attributes of the commodity module.'."\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',
+ .'The returned information varies based on the commodity module.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The attribute of the commodity module.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'The code of the attribute.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.', 'type' => 'string', 'example' => 'ord_time', 'title' => ''],
+ 'Name' => ['description' => 'The name of the attribute.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.', 'type' => 'string', 'example' => 'Subscription duration', 'title' => ''],
+ 'PropertyValueList' => [
+ 'description' => 'The list of attribute values of the commodity module.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of attribute values of the commodity module.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Text' => ['description' => 'The content of the attribute.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.', 'type' => 'string', 'example' => '1 month', 'title' => ''],
+ 'Value' => ['description' => 'The value of the attribute.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.', 'type' => 'string', 'example' => '1:Month', 'title' => ''],
+ 'Tips' => ['description' => 'The message of the attribute.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.', 'type' => 'string', 'example' => '1 month', 'title' => ''],
+ 'OrderIndex' => ['description' => 'The sequence number of the attribute.'."\n"
+ ."\n"
+ .'The returned information varies based on the commodity module.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CommodityCode\\": \\"ga_gapluspre_public_cn\\",\\n \\"CommodityName\\": \\"Global Accelerator_Instance Type (Subscription)\\",\\n \\"Components\\": [\\n {\\n \\"ComponentCode\\": \\"Subscription duration\\",\\n \\"ComponentName\\": \\"Subscription duration\\",\\n \\"Properties\\": [\\n {\\n \\"Code\\": \\"ord_time\\",\\n \\"Name\\": \\"Subscription duration\\",\\n \\"PropertyValueList\\": [\\n {\\n \\"Text\\": \\"1 month\\",\\n \\"Value\\": \\"1:Month\\",\\n \\"Tips\\": \\"1 month\\",\\n \\"OrderIndex\\": 1\\n }\\n ]\\n }\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeCommodity',
+ 'summary' => 'Queries the pricing and specification details of Global Accelerator commodity options available for purchase.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-13T07:33:16.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCommodity'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCommodity',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeCommodityPrice' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -12572,794 +10155,904 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '90922',
- 'abilityTreeNodes' => [
- 'FEATUREgaVX8KJ1',
- ],
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'systemTags' => ['operationType' => 'get', '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' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'Orders',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
+ 'description' => 'The commodity orders.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The commodity order.',
+ '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"
+ ."\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"
+ ."\n"
+ .'- **ga\\_bwppreintl\\_public\\_intl:** basic bandwidth plan.', 'type' => 'string', 'required' => false, 'example' => 'ga_gapluspre_public_cn', 'title' => ''],
+ 'OrderType' => ['description' => 'The type of the order. Valid values:'."\n"
+ ."\n"
+ .'- **BUY**: purchase order.'."\n"
+ ."\n"
+ .'- **RENEW**: renewal order.'."\n"
+ ."\n"
+ .'- **UPGRADE**: upgrade order.', 'type' => 'string', 'required' => false, 'example' => 'BUY', 'title' => ''],
+ 'ChargeType' => ['description' => 'The billing method. Set the value to **PREPAY**, which specifies the subscription billing method.', 'type' => 'string', 'required' => false, 'example' => 'PREPAY', 'title' => ''],
+ 'PricingCycle' => ['description' => 'The billing cycle. Valid values:'."\n"
+ ."\n"
+ .'- **Month**'."\n"
+ ."\n"
+ .'- **Year**', 'type' => 'string', 'required' => false, 'example' => 'Month', 'title' => ''],
+ 'Duration' => ['description' => 'The subscription duration.'."\n"
+ ."\n"
+ .'- Valid values if you set **PricingCycle** to **Month**: **1** to **9**.'."\n"
+ ."\n"
+ .'- Valid values if you set **PricingCycle** to **Year**: **1** to **3**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''],
+ 'Quantity' => ['description' => 'The number of instances that you want to purchase.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''],
+ 'Components' => [
+ 'description' => 'The information about commodity modules.'."\n"
+ ."\n"
+ .'The information varies based on the commodity module.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the commodity module.'."\n"
+ ."\n"
+ .'The information varies based on the commodity module.',
+ '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).', 'type' => 'string', 'required' => false, 'example' => 'instance', 'title' => ''],
+ 'Properties' => [
+ 'description' => 'The attributes of commodity modules.'."\n"
+ ."\n"
+ .'The information varies based on the commodity module.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The attributes of the commodity module.'."\n"
+ ."\n"
+ .'The information varies based on the commodity module.',
+ '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).', 'type' => 'string', 'required' => false, 'example' => 'instance', 'title' => ''],
+ '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).', 'type' => 'string', 'required' => false, 'example' => 'instance_fee', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'PageSize',
+ 'name' => 'PromotionOptionNo',
'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',
- ],
+ 'schema' => ['description' => 'The coupon code.'."\n"
+ ."\n"
+ .'> This parameter is unavailable on the China site (aliyun.com).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '50003298014****'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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",
+ 'Currency' => ['description' => 'The currency unit.'."\n"
+ ."\n"
+ .'- China site: **CNY**.'."\n"
+ ."\n"
+ .'- International site: **USD**.', 'type' => 'string', 'example' => 'CNY', 'title' => ''],
+ 'OriginalPrice' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'double', 'example' => '2099', 'title' => ''],
+ 'DiscountPrice' => ['description' => 'The discount.', 'type' => 'number', 'format' => 'double', 'example' => '419.8', 'title' => ''],
+ 'TradePrice' => ['description' => 'The transaction price, which is equal to the original price minus the discount.', 'type' => 'number', 'format' => 'double', 'example' => '1679.2', 'title' => ''],
+ 'OrderDetails' => [
+ 'description' => 'The details of the commodity module.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The details of the commodity module.',
'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",
+ 'CommodityCode' => ['description' => 'The code of the commodity.', 'type' => 'string', 'example' => 'ga_gapluspre_public_cn', 'title' => ''],
+ 'CommodityName' => ['description' => 'The name of the commodity.', 'type' => 'string', 'example' => '全球加速_实例规格(包年包月)', 'title' => ''],
+ 'OriginalPrice' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'double', 'example' => '2099', 'title' => ''],
+ 'DiscountPrice' => ['description' => 'The discount.', 'type' => 'number', 'format' => 'double', 'example' => '419.8', 'title' => ''],
+ 'TradePrice' => ['description' => 'The transaction price, which is equal to the original price minus the discount.', 'type' => 'number', 'format' => 'double', 'example' => '1679.2', 'title' => ''],
+ 'Quantity' => ['description' => 'The number of instances that are purchased.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'ModuleDetails' => [
+ 'description' => 'The information about the commodity module.',
'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"]',
+ 'description' => 'The information about the commodity module.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ModuleCode' => ['description' => 'The code of the commodity module.', 'type' => 'string', 'example' => 'spec', 'title' => ''],
+ 'ModuleName' => ['description' => 'The name of the commodity module.', 'type' => 'string', 'example' => '规格', 'title' => ''],
+ 'OriginalPrice' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'double', 'example' => '200000.0', 'title' => ''],
+ 'DiscountPrice' => ['description' => 'The discount.', 'type' => 'number', 'format' => 'double', 'example' => '40000.0', 'title' => ''],
+ 'TradePrice' => ['description' => 'The transaction price, which is equal to the original price minus the discount.', 'type' => 'number', 'format' => 'double', 'example' => '160000.0', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- '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"
+ 'RuleIds' => [
+ 'description' => 'The IDs of discount rules.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the discount rule.', 'type' => 'integer', 'format' => 'int64', 'example' => '102104100786****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PromDetails' => [
+ 'description' => 'The details of the discount.'."\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",
+ .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).',
'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"
+ 'description' => 'The details about the discount.'."\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"]',
+ .'> This parameter is unavailable on the China site (aliyun.com).',
+ '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).', 'type' => 'string', 'example' => '50003298014****', 'title' => ''],
+ '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).', 'type' => 'string', 'example' => 'coupon', 'title' => ''],
+ 'FinalPromFee' => ['description' => 'The discounted price.'."\n"
+ ."\n"
+ .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).', 'type' => 'number', 'format' => 'double', 'example' => '0.01', 'title' => ''],
+ '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).', 'type' => 'string', 'example' => 'deduct', 'title' => ''],
+ '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).', 'type' => 'string', 'example' => 'youhui_quan', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'RuleDetails' => [
+ 'description' => 'The details about the discount rules.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details about the discount rule.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RuleId' => ['description' => 'The ID of the discount rule.', 'type' => 'string', 'example' => '102104100786****', 'title' => ''],
+ 'RuleName' => ['description' => 'The name of the discount rule.', 'type' => 'string', 'example' => 'GA新客户小型II规格月付-8折优惠', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Promotions' => [
+ 'description' => 'The details of the coupon.'."\n"
+ ."\n"
+ .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of coupons.'."\n"
+ ."\n"
+ .'> This parameter is unavailable on the China site (aliyun.com).',
+ 'type' => 'object',
+ 'properties' => [
+ 'PromotionOptionNo' => ['description' => 'The code of the coupon.'."\n"
+ ."\n"
+ .'> - `youhuiquan_promotion_option_id_for_blank` indicates coupons that cannot be applied to the commodity.'."\n"
+ .'>'."\n"
+ .'> - This parameter does not take effect for accounts registered on the China site (aliyun.com).', 'type' => 'string', 'title' => '', 'example' => '50003298014****'],
+ 'PromotionName' => ['description' => 'The name of the coupon.'."\n"
+ ."\n"
+ .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).', 'type' => 'string', 'title' => '', 'example' => 'youhuiquan_promotion_option_id_for_blank'],
+ 'CanPromFee' => ['description' => 'The discounted amount.'."\n"
+ ."\n"
+ .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).', 'type' => 'number', 'format' => 'double', 'title' => '', 'example' => '0'],
+ 'Selected' => ['description' => 'Indicates whether the coupon was selected.'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> This parameter does not take effect for accounts registered on the China site (aliyun.com).', 'type' => 'boolean', 'title' => '', 'example' => 'false'],
+ 'OptionCode' => ['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).', 'type' => 'string', 'title' => '', 'example' => 'youhui_quan'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
+ ['errorCode' => 'IllegalParameter.Spec', 'errorMessage' => 'The specified Spec is invalid.', 'description' => '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.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'DescribeCommodityPrice',
+ 'summary' => 'Queries the prices of commodities.',
+ 'description' => 'You can call the [DescribeCommodity](~~2253233~~) operation to query information about the commodity modules.',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-03T06:26:24.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-12-02T12:51:55.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-13T07:33:16.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCommodityPrice'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCommodityPrice',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
],
- 'CreateEndpointGroup' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DescribeCustomRoutingEndPointTrafficPolicy' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '7846',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The operation that you want to perform. Set the value to **DescribeCustomRoutingEndPointTrafficPolicy**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- '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',
+ 'name' => 'PolicyId',
'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',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'EndpointGroupRegion',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region in which to create the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the traffic policy to be queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ep-bp1d2utp8qqe2a44t****', 'title' => ''],
],
- [
- 'name' => 'ListenerId',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
+ 'title' => '',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', '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****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the GA instance to which the endpoint belongs.'."\n", 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the listener to which the endpoint belongs.'."\n", 'type' => 'string', 'example' => 'epg-bp1bpn0kn908w4nb****', 'title' => ''],
+ 'EndpointId' => ['description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", 'type' => 'string', 'example' => 'ep-2zewuzypq5e6r3pfh****', 'title' => ''],
+ 'Endpoint' => ['description' => 'The ID of the endpoint to which the traffic policy belongs.'."\n", 'type' => 'string', 'example' => 'vsw-test01', 'title' => ''],
+ 'PolicyId' => ['description' => 'The name of the vSwitch to which the traffic policy belongs.'."\n", 'type' => 'string', 'example' => 'ply-bptest2****', 'title' => ''],
+ 'Address' => ['description' => 'The ID of the traffic policy.'."\n", 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''],
+ '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', 'title' => ''],
+ 'ToPort' => ['description' => 'The last port of the port range used by the traffic destination to process requests.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the instance is managed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
],
],
- [
- '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',
- ],
+ ],
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
- [
- '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',
+ ],
+ 'title' => 'DescribeCustomRoutingEndPointTrafficPolicy',
+ 'summary' => 'Queries a traffic destination of an endpoint.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-20T08:32:20.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:51.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomRoutingEndPointTrafficPolicy'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCustomRoutingEndPointTrafficPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:trafficpolicy/{#trafficpolicyId}'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ 'DescribeCustomRoutingEndpoint' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'HealthCheckPath',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The path to which to send health check requests.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '/healthcheck',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'HealthCheckPort',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The port that is used for health checks.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'HealthCheckProtocol',
+ 'name' => 'EndpointId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ep-bp1dmlohjjz4kqaun****', 'title' => ''],
],
[
- 'name' => 'ThresholdCount',
+ 'name' => 'EndpointGroup',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'required' => false, 'example' => 'epg-bp1j184jhb9i9ubwf****', 'title' => ''],
],
- [
- 'name' => 'EndpointConfigurations',
- 'in' => 'query',
- 'style' => 'flat',
+ ],
+ 'responses' => [
+ 200 => [
'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"
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', '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****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener with which the endpoint is associated.'."\n", 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", 'type' => 'string', 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'EndpointId' => ['description' => 'The ID of the endpoint.'."\n", 'type' => 'string', 'example' => 'ep-bp1dmlohjjz4kqaun****', 'title' => ''],
+ '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', 'title' => ''],
+ 'Endpoint' => ['description' => 'The name of the endpoint (vSwitch).'."\n", 'type' => 'string', 'example' => 'vsw-test01', 'title' => ''],
+ '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', 'title' => ''],
+ 'State' => ['description' => 'The status of the endpoint.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ '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', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Is it a managed instance. Valid values:'."\n"
+ ."\n"
+ .'- true'."\n"
+ .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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"
- .'You can specify two vSwitch IDs for an endpoint group of an intelligent routing listener.'."\n"
+ .'- Create'."\n"
+ .'- Update'."\n"
+ .'- Delete'."\n"
+ .'- Associate'."\n"
+ .'- UserUnmanaged'."\n"
+ .'- CreateChild', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'Sub resource type, Valid values:'."\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****',
+ .'- 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', 'title' => ''],
+ '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', 'title' => ''],
],
- 'required' => false,
- 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
],
- 'required' => false,
+ 'example' => '',
],
],
- [
- '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',
+ ],
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'DescribeCustomRoutingEndpoint',
+ 'summary' => 'Queries a specified endpoint that is associated with a custom routing listener.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:50.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-20T08:32:20.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:51.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomRoutingEndpoint'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCustomRoutingEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#CustomRoutingEndpointId}'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ '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' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'EndpointGroupType',
+ 'name' => 'RegionId',
'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',
- ],
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PortOverrides',
+ 'name' => 'EndpointGroupId',
'in' => 'query',
- 'style' => 'repeatList',
+ 'schema' => ['description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaua****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The custom routing listener ID.'."\n", 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The endpoint group ID.'."\n", 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaua****', 'title' => ''],
+ 'Name' => ['description' => 'The name of the endpoint group.'."\n", 'type' => 'string', 'example' => 'group1', 'title' => ''],
+ 'Description' => ['description' => 'The description of the endpoint group.'."\n", 'type' => 'string', 'example' => 'EndpointGroup', 'title' => ''],
+ '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', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EndpointGroupRegion' => ['description' => 'The region ID of the endpoint group.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ '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', 'title' => ''],
+ 'SlsRegion' => ['description' => 'The region of the logs that are created in Log Service.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'SlsProjectName' => ['description' => 'The name of the Log Service project.'."\n", 'type' => 'string', 'example' => 'pn-01', 'title' => ''],
+ 'SlsLogStoreName' => ['description' => 'The name of the Logstore.'."\n", 'type' => 'string', 'example' => 'lsn-01', 'title' => ''],
+ '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', 'title' => ''],
+ 'EnableAccessLog' => ['description' => 'Indicates whether the access log feature is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the GA instance is managed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
],
- 'required' => false,
- 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
- [
- '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',
- ],
+ ],
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
- [
- '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,
+ ],
+ 'title' => 'DescribeCustomRoutingEndpointGroup',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:53.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-08-15T05:50:13.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomRoutingEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCustomRoutingEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
],
- 'required' => false,
- 'maxItems' => 21,
],
],
+ ],
+ '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":""}]',
+ ],
+ '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' => [
[
- 'name' => 'DryRun',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'HealthCheckHost',
+ 'name' => 'DestinationId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group mapping configuration.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dst-123abc****', 'title' => ''],
],
[
- 'name' => 'EndpointIpVersion',
+ 'name' => 'EndpointGroupId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'epg-bp1j184jhb9i9ubwf****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
'description' => '',
'type' => 'object',
'properties' => [
- 'EndpointGroupId' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
+ 'RequestId' => ['title' => '', '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****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener.'."\n", 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'DestinationId' => ['description' => 'The ID of the endpoint group mapping configuration.'."\n", 'type' => 'string', 'example' => 'dst-123abc****', 'title' => ''],
+ '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', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ 'FromPort' => ['description' => 'The start port of the backend service port range of the endpoint group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the backend service port range of the endpoint group.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Is it a managed instance. Valid values:'."\n"
+ ."\n"
+ .'- true'."\n"
+ .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'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.',
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'DescribeCustomRoutingEndpointGroupDestinations',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:11.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-20T08:32:20.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:51.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomRoutingEndpointGroupDestinations'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:destination/{#DestinationId}'],
+ ],
],
],
],
- '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' => ' ',
+ '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":""}]',
],
'DescribeEndpointGroup' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'summary' => 'Queries a specified endpoint group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -13372,460 +11065,370 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '7857',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'required' => true, 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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',
- ],
+ 'HealthCheckIntervalSeconds' => ['description' => 'The health check interval, in seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
+ 'TrafficPercentage' => ['description' => 'The percentage of traffic that is distributed to the endpoint group. This parameter is returned only when a listener is associated with multiple endpoint groups.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The endpoint group ID.', 'type' => 'string', 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'Description' => ['description' => 'The description of the endpoint group.', 'type' => 'string', 'example' => 'group1', 'title' => ''],
'EndpointGroupIpList' => [
- 'description' => 'The active endpoint IP addresses of the endpoint group.'."\n",
+ 'description' => 'The list of active IP addresses of the endpoints in the endpoint group.'."\n"
+ .'><notice>For an endpoint group configured for back-to-source from a private network, the console displays only the private back-to-source IP addresses and not the public IP addresses. If the network connection type for the backend service of the endpoint group changes (for example, from a private network to a public network, or to a mix of private and public networks), you must monitor the changes in the back-to-source IP addresses and update the access control list (ACL) of the backend service accordingly.></notice>',
'type' => 'array',
- 'items' => [
- 'description' => 'The active endpoint IP addresses of the endpoint group.'."\n",
- 'type' => 'string',
- 'example' => '101.XX.XX.22',
- ],
+ 'items' => ['description' => 'The IP address of an active endpoint.', 'type' => 'string', 'example' => '101.XX.XX.22', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
'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",
+ 'description' => 'A list of endpoint IP addresses pending confirmation after a Global Accelerator instance upgrade.',
'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',
- ],
+ 'items' => ['description' => 'The IP address of an endpoint pending confirmation after a Global Accelerator instance upgrade.', 'type' => 'string', 'example' => '101.XX.XX.22', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', 'title' => ''],
+ 'HealthCheckPath' => ['description' => 'The path for health check probes.', 'type' => 'string', 'example' => '/healthcheck', 'title' => ''],
+ 'ThresholdCount' => ['description' => 'The number of consecutive failed health checks before an endpoint is marked as unhealthy.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
+ 'Name' => ['description' => 'The name of the endpoint group.', 'type' => 'string', 'example' => 'group1', 'title' => ''],
+ 'EndpointGroupRegion' => ['description' => 'The region ID where the endpoint group is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'State' => ['description' => 'The status of the endpoint group.'."\n"
+ ."\n"
+ .'- **init**: The endpoint group is being initialized.'."\n"
+ ."\n"
+ .'- **active**: The endpoint group is active.'."\n"
+ ."\n"
+ .'- **updating**: The endpoint group is being updated.'."\n"
+ ."\n"
+ .'- **deleting**: The endpoint group is being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'HealthCheckProtocol' => ['description' => 'The protocol used for health checks.'."\n"
+ ."\n"
+ .'- **tcp** or **TCP**: TCP'."\n"
+ ."\n"
+ .'- **http** or **HTTP**: HTTP'."\n"
+ ."\n"
+ .'- **https** or **HTTPS**: HTTPS', 'type' => 'string', 'example' => 'tcp', 'title' => ''],
+ 'HealthCheckPort' => ['description' => 'The port used for health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'EndpointConfigurations' => [
- 'description' => 'The configurations of endpoints in the endpoint group.'."\n",
+ 'description' => 'The endpoint configurations.',
'type' => 'array',
'items' => [
- 'description' => 'The configurations of endpoints in the endpoint group.'."\n",
+ 'description' => 'An endpoint configuration.',
'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****',
- ],
+ 'Type' => ['description' => 'The type of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Domain**: A custom domain name.'."\n"
+ ."\n"
+ .'- **Ip**: A custom IP address.'."\n"
+ ."\n"
+ .'- **IpTarget**: A custom private IP address.'."\n"
+ ."\n"
+ .'- **PublicIp**: An Alibaba Cloud public IP address.'."\n"
+ ."\n"
+ .'- **ECS**: An ECS instance.'."\n"
+ ."\n"
+ .'- **SLB**: An SLB instance.'."\n"
+ ."\n"
+ .'- **ALB**: An ALB instance.'."\n"
+ ."\n"
+ .'- **OSS**: An OSS instance.'."\n"
+ ."\n"
+ .'- **ENI**: An elastic network interface.'."\n"
+ ."\n"
+ .'- **NLB**: An NLB instance.', 'type' => 'string', 'example' => 'Ip', 'title' => ''],
+ 'EnableClientIPPreservation' => ['description' => 'Indicates whether client IP preservation is enabled by using the automatic method.'."\n"
+ ."\n"
+ .'- **true**: Enabled.'."\n"
+ ."\n"
+ .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'Weight' => ['description' => 'The weight of the endpoint.', 'type' => 'integer', 'format' => 'int32', 'example' => '255', 'title' => ''],
+ 'ProbeProtocol' => ['description' => 'The protocol for latency probing. Valid values:'."\n"
+ ."\n"
+ .'- **tcp**: TCP'."\n"
+ ."\n"
+ .'- **icmp**: ICMP', 'type' => 'string', 'example' => 'tcp', 'title' => ''],
+ 'Endpoint' => ['description' => 'The IP address, domain name, or instance ID of the endpoint.', 'type' => 'string', 'example' => '120.XX.XX.21', 'title' => ''],
+ 'EnableProxyProtocol' => ['description' => 'Indicates whether client IP preservation is enabled using the Proxy Protocol.'."\n"
+ ."\n"
+ .'- **true**: Enabled.'."\n"
+ ."\n"
+ .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'ProbePort' => ['description' => 'The port used for latency probing.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ 'SubAddress' => ['description' => 'The private IP address of the elastic network interface.', 'type' => 'string', 'example' => '172.168.XX.XX', 'title' => ''],
+ 'VpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-hp30gtnxkfxj1l2xt****', 'title' => ''],
'VSwitchIds' => [
- 'description' => 'The IDs of vSwitches that are deployed in the VPC.'."\n",
+ 'description' => 'A list of VSwitch IDs.',
'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of vSwitches.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-bp1nx4sxxe1nnr1ja****',
- ],
+ 'items' => ['description' => 'The VSwitch ID.', 'type' => 'string', 'example' => 'vsw-bp1nx4sxxe1nnr1ja****', 'title' => ''],
'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Provider' => ['description' => 'The provider of the endpoint configuration.', 'type' => 'string', 'example' => 'BAILIAN', 'title' => ''],
+ 'ApiKeys' => [
+ 'type' => 'array',
+ 'items' => ['description' => 'An API key in the endpoint configuration.', 'type' => 'string', 'example' => 'sk-*******', 'title' => ''],
+ 'description' => 'The API keys for the endpoint configuration.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'PortOverrides' => [
- 'description' => 'The mappings between ports.'."\n",
+ 'description' => 'The port mapping configuration.',
'type' => 'array',
'items' => [
- 'description' => 'The mappings between ports.'."\n",
+ 'description' => 'A port mapping configuration.',
'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',
- ],
+ 'ListenerPort' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''],
+ 'EndpointPort' => ['description' => 'The endpoint port.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- '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',
- ],
+ 'EndpointRequestProtocol' => ['description' => 'The protocol used by the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP**'."\n"
+ ."\n"
+ .'- **HTTPS**', 'type' => 'string', 'example' => 'HTTP', 'title' => ''],
+ 'EndpointProtocolVersion' => ['description' => 'The version of the backend service protocol. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP1.1**'."\n"
+ ."\n"
+ .'- **HTTP2**', 'type' => 'string', 'example' => 'HTTP2', 'title' => ''],
+ 'EndpointGroupType' => ['description' => 'The type of the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **default**: A default endpoint group.'."\n"
+ ."\n"
+ .'- **virtual**: A virtual endpoint group.', 'type' => 'string', 'example' => 'default', 'title' => ''],
'ForwardingRuleIds' => [
- 'description' => 'The ID of the forwarding rule that is associated with the endpoint group.'."\n",
+ 'description' => 'The IDs of the associated forwarding rules.',
'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',
- ],
+ 'items' => ['description' => 'The forwarding rule ID.', 'type' => 'string', 'example' => 'frule-bp19a3t3yzr21q3****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'AcceleratorId' => ['description' => 'The Global Accelerator instance ID.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The listener ID.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'SlsRegion' => ['description' => 'The region of the Log Service project.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'SlsProjectName' => ['description' => 'The name of the Log Service project.', 'type' => 'string', 'example' => 'pn-01', 'title' => ''],
+ 'SlsLogStoreName' => ['description' => 'The name of the Logstore.', 'type' => 'string', 'example' => 'lsn-01', 'title' => ''],
+ 'AccessLogSwitch' => ['description' => 'The status of the access log configuration. Valid values:'."\n"
+ ."\n"
+ .'- **on**: The access log is configured.'."\n"
+ ."\n"
+ .'- **off**: The access log is not configured.'."\n"
+ ."\n"
+ .'- **binding**: The access log is being configured.'."\n"
+ ."\n"
+ .'- **unbinding**: The access log configuration is being removed.', 'type' => 'string', 'example' => 'on', 'title' => ''],
+ 'EnableAccessLog' => ['description' => 'Indicates whether access logging is enabled.'."\n"
+ ."\n"
+ .'- **true**: Access logging is enabled.'."\n"
+ ."\n"
+ .'- **false**: Access logging is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'HealthCheckEnabled' => ['description' => 'Indicates whether health checks are enabled.'."\n"
+ ."\n"
+ .'- **true**: Health checks are enabled.'."\n"
+ ."\n"
+ .'- **false**: Health checks are disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the service that manages the instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if **ServiceManaged** is set to **True**.', 'type' => 'string', 'example' => 'ALB', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the instance is a managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance is a managed instance.'."\n"
+ ."\n"
+ .'- **false**: The instance is not a managed instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'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.',
+ 'description' => 'A list of management states for actions that can be performed on the instance.'."\n"
+ ."\n"
+ .'> - This parameter is returned only if **ServiceManaged** is set to **True**.'."\n"
+ .'>'."\n"
+ .'> - When an instance is managed, some operations may be restricted.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The management state for a specific action.',
'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',
- ],
+ 'Action' => ['description' => 'The name of the action on the managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **Create**: Create an instance.'."\n"
+ ."\n"
+ .'- **Update**: Update the instance.'."\n"
+ ."\n"
+ .'- **Delete**: Delete the instance.'."\n"
+ ."\n"
+ .'- **Associate**: Associate the instance.'."\n"
+ ."\n"
+ .'- **UserUnmanaged**: Releases the instance from service management.'."\n"
+ ."\n"
+ .'- **CreateChild**: Create a child resource.', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ ."\n"
+ .'- **Listener**: A listener.'."\n"
+ ."\n"
+ .'- **IpSet**: An acceleration region.'."\n"
+ ."\n"
+ .'- **EndpointGroup**: An endpoint group.'."\n"
+ ."\n"
+ .'- **ForwardingRule**: A forwarding rule.'."\n"
+ ."\n"
+ .'- **Endpoint**: An endpoint.'."\n"
+ ."\n"
+ .'- **EndpointGroupDestination**: A protocol mapping for an endpoint group of a custom routing listener.'."\n"
+ ."\n"
+ .'- **EndpointPolicy**: A traffic policy for an endpoint of a custom routing listener.'."\n"
+ ."\n"
+ .'> This parameter is valid only when **Action** is set to **CreateChild**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'IsManaged' => ['description' => 'Indicates whether the action is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The action is managed. You cannot perform this action on the instance.'."\n"
+ ."\n"
+ .'- **false**: The action is not managed. You can perform this action on the instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'Tags' => [
- 'description' => 'The tag of the endpoint group.'."\n",
+ 'description' => 'A list of tags attached to the endpoint group.',
'type' => 'array',
'items' => [
- 'description' => 'Tag objects.'."\n",
+ 'description' => 'A tag.',
'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',
- ],
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test-key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'test-value', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'HealthCheckHost' => [
- 'type' => 'string',
- ],
- 'AccessLogRecordCustomizedHeadersEnabled' => [
- 'type' => 'boolean',
- ],
+ 'HealthCheckHost' => ['description' => 'The domain name used for health checks.', 'type' => 'string', 'example' => 'www.taobao.com', 'title' => ''],
+ 'AccessLogRecordCustomizedHeadersEnabled' => ['description' => 'Specifies whether to record custom header fields in access logs. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false** (default): No.'."\n"
+ ."\n"
+ .'> You can set this parameter to **true** only when **EnableAccessLog** is set to **true**.', 'type' => 'boolean', 'title' => '', 'example' => ''],
'AccessLogRecordCustomizedHeaderList' => [
'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- ],
- 'EndpointIpVersion' => [
- 'type' => 'string',
+ 'items' => ['description' => 'A custom header field to record in access logs.', 'type' => 'string', 'example' => '[\'sda\', \'dsaasdd\', \'dsada\']', 'title' => ''],
+ 'description' => 'The custom header fields to record in access logs.',
+ 'title' => '',
+ 'example' => '',
],
+ 'EndpointIpVersion' => ['description' => 'The IP version used to connect to the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4** (default): Global Accelerator connects to the backend service using IPv4.'."\n"
+ ."\n"
+ .'- **IPv6**: Global Accelerator connects to the backend service using IPv6.'."\n"
+ ."\n"
+ .'- **ProtocolAffinity**: Global Accelerator connects to the backend service using the same IP version as the client request.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
'EndpointPrivateIpList' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'PrivateIp' => [
- 'type' => 'string',
- ],
- 'VSwitchId' => [
- 'type' => 'string',
- ],
- 'CIDR' => [
- 'type' => 'string',
- ],
+ 'PrivateIp' => ['description' => 'The private IP address.', 'type' => 'string', 'example' => '172.16.49.***', 'title' => ''],
+ 'VSwitchId' => ['description' => 'The VSwitch ID in the VPC.', 'type' => 'string', 'example' => 'gsw-bp1rsfd2frym**', 'title' => ''],
+ 'CIDR' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'description' => 'The private IP addresses of the endpoints.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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":""}]',
+ 'responseDemo' => '[{"errorExample":"","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 \\"Provider\\": \\"BAILIAN\\",\\n \\"ApiKeys\\": [\\n \\"sk-*******\\"\\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\\": false,\\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}","type":"json"}]',
'title' => 'DescribeEndpointGroup',
- 'summary' => 'Queries information about an endpoint group.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListEndpointGroups' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-22T08:50:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T08:50:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T07:45:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T03:43:18.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-14T09:39:30.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-26T06:24:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-04-15T07:01:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-12-23T15:31:09.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-07-19T16:47:16.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-09-14T09:38:02.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-15T06:03:29.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-12-06T11:47:34.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2021-04-27T13:37:43.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeIpSet' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -13834,1045 +11437,829 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8508',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ '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' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'IpSetId',
'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',
- ],
+ '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.', 'type' => 'string', 'required' => true, 'example' => 'ips-bp11ilwqjdkjeg9r7****', 'title' => ''],
],
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpSetId' => ['description' => 'The ID of the acceleration region.', 'type' => 'string', 'example' => 'ips-bp11ilwqjdkjeg9r7****', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB', 'title' => ''],
+ 'IpVersion' => ['description' => 'The IP version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**'."\n"
+ ."\n"
+ .'- **IPv6**'."\n"
+ ."\n"
+ .'- **DUAL\\_STACK**', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'State' => ['description' => 'The status of the acceleration region. Valid values:'."\n"
+ ."\n"
+ .'- **init**: The acceleration region is being initialized.'."\n"
+ ."\n"
+ .'- **active**: The acceleration region is in the running state.'."\n"
+ ."\n"
+ .'- **updating**: The acceleration region is being configured.'."\n"
+ ."\n"
+ .'- **deleting**: The GA instance is being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The bandwidth that is allocated to the acceleration region. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **BGP\\_PRO**: BGP (Multi-ISP) Pro lines.', 'type' => 'string', 'example' => 'BGP', 'title' => ''],
+ 'IpAddressList' => [
+ 'description' => 'The list of accelerated IP addresses in the acceleration region.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The list of accelerated IP addresses in the acceleration region.', 'type' => 'string', 'example' => '121.43.XX.XX', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'AccelerateRegionId' => ['description' => 'The ID of the acceleration region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'example' => 'ga-bp1yeeq8yfoyszmqy****', 'title' => ''],
+ '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**.', 'type' => 'string', 'example' => 'ALB', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the GA instance is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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"
+ .'>'."\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"
+ ."\n"
+ .'- **Update**'."\n"
+ ."\n"
+ .'- **Delete**'."\n"
+ ."\n"
+ .'- **Associate**'."\n"
+ ."\n"
+ .'- **UserUnmanaged**'."\n"
+ ."\n"
+ .'- **CreateChild**', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ ."\n"
+ .'- **Listener**: listener.'."\n"
+ ."\n"
+ .'- **IpSet**: acceleration region.'."\n"
+ ."\n"
+ .'- **EndpointGroup**: endpoint group.'."\n"
+ ."\n"
+ .'- **ForwardingRule**: forwarding rule.'."\n"
+ ."\n"
+ .'- **Endpoint**: endpoint.'."\n"
+ ."\n"
+ .'- **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n"
+ ."\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**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **false**: The specified actions are not managed, and users can perform the actions on the managed instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'ListenerId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ ],
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
- [
- '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',
+ ],
+ 'title' => 'DescribeIpSet',
+ 'summary' => 'Returns the configuration of a specified acceleration region, including its accelerated IP addresses.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:57.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-08-15T05:50:16.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-09-27T08:45:06.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIpSet'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'DescribeListener' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '8878',
+ 'abilityTreeNodes' => ['FEATUREgaZW5ZHQ'],
+ ],
+ 'parameters' => [
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'epg-bp16jdc00bhe97sr5****',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Alibaba Cloud Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'ListenerId',
'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,
- ],
+ 'schema' => ['description' => 'The ID of the listener that you want to query.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned information.',
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
+ 'Description' => ['description' => 'The description of the listener.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', 'title' => ''],
+ 'State' => ['description' => 'The status of the listener.'."\n"
+ ."\n"
+ .'- **configuring**: The listener is being configured.'."\n"
+ ."\n"
+ .'- **init**: The listener is being initialized.'."\n"
+ ."\n"
+ .'- **updating**: The listener is being updated.'."\n"
+ ."\n"
+ .'- **deleting**: The listener is being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'CreateTime' => ['description' => 'The timestamp that indicates when the listener was created. Unit: milliseconds.', 'type' => 'string', 'example' => '1577786252000', 'title' => ''],
+ 'PortRanges' => [
+ 'description' => 'The listener port information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The listener port information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FromPort' => ['description' => 'The start of the listener port range that is used to receive and forward requests to endpoints.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ 'ToPort' => ['description' => 'The end of the listener port range that is used to receive and forward requests to endpoints.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'PageSize' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
+ 'BackendPorts' => [
+ 'description' => 'The backend port information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The backend port range.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FromPort' => ['description' => 'The start port of the backend server that is used to receive requests.'."\n"
+ ."\n"
+ .'This parameter is returned only when the listener protocol is HTTPS and the listener port is the same as the service port of the backend server.', 'type' => 'string', 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the backend server that is used to receive requests.', 'type' => 'string', 'example' => '80', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => 'A052D49E-CCC2-41DB-816C-DC3381503194 ',
+ 'Certificates' => [
+ 'description' => 'The list of SSL certificates.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of SSL certificates.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of the certificate.'."\n"
+ ."\n"
+ .'Only **Server** is returned, which indicates a server-side certificate.', 'type' => 'string', 'example' => 'Server', 'title' => ''],
+ 'Id' => ['description' => 'The ID of the SSL certificate.', 'type' => 'string', 'example' => '449****-cn-hangzhou', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'PageNumber' => [
- 'description' => 'The page number of the returned page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
+ 'Protocol' => ['description' => 'The network transport protocol that is used by the listener.'."\n"
+ ."\n"
+ .'- **TCP**: TCP.'."\n"
+ ."\n"
+ .'- **UDP**: UDP.'."\n"
+ ."\n"
+ .'- **HTTP**: HTTP.'."\n"
+ ."\n"
+ .'- **HTTPS**: HTTPS.', 'type' => 'string', 'example' => 'TCP', 'title' => ''],
+ 'ListenerId' => ['description' => 'The listener ID.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'ClientAffinity' => ['description' => 'Client affinity.'."\n"
+ ."\n"
+ .'- If **NONE** is returned, client affinity is disabled. In this case, requests from the same client may be forwarded to different endpoints.'."\n"
+ ."\n"
+ .'- If **SOURCE\\_IP** is returned, client affinity is enabled. When a client accesses a stateful application, all requests from the same client are forwarded to the same endpoint regardless of the source port or protocol.', 'type' => 'string', 'example' => 'SOURCE_IP', 'title' => ''],
+ 'Name' => ['description' => 'The name of the listener.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'RelatedAcls' => [
+ 'description' => 'The access control policy groups that are associated with the listener.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The access control policy groups that are associated with the listener.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AclId' => ['description' => 'The ID of the access control list (ACL) that is associated with the listener.', 'type' => 'string', 'example' => '123', 'title' => ''],
+ 'Status' => ['description' => 'Indicates whether the access control feature is enabled.'."\n"
+ ."\n"
+ .'- **Associated**: The access control feature is enabled.', 'type' => 'string', 'example' => 'Associated', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'EndpointGroups' => [
- 'description' => 'The configurations of the endpoint groups.'."\n",
+ 'AclType' => ['description' => 'The type of the ACL.'."\n"
+ ."\n"
+ .'- **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the ACL are forwarded. Whitelists are suitable for applications that allow access only from specific IP addresses. If you enable a whitelist but do not add an IP address to the ACL, the GA listener does not forward requests.'."\n"
+ ."\n"
+ .'- **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the ACL are denied. Blacklists are suitable for applications that deny access from specific IP addresses. If you enable a blacklist but do not add an IP address to the ACL, the GA listener forwards all requests.'."\n"
+ ."\n"
+ .'This parameter is returned when an ACL is associated with the listener.', 'type' => 'string', 'example' => 'white', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ProxyProtocol' => ['description' => 'Indicates whether the proxy protocol is used to preserve client IP addresses.'."\n"
+ ."\n"
+ .'- **true**: The proxy protocol is used to preserve client IP addresses. After this feature is enabled, you can view the original IP addresses of clients on the backend service.'."\n"
+ ."\n"
+ .'- **false**: The proxy protocol is not used to preserve client IP addresses.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'title' => ''],
+ 'XForwardedForConfig' => [
+ 'description' => 'The configurations of the `X-Forwarded-For` headers.',
+ 'type' => 'object',
+ 'properties' => [
+ 'XForwardedForGaIdEnabled' => ['description' => 'Indicates whether the `GA-ID` header is used to retrieve the ID of the GA instance.'."\n"
+ ."\n"
+ .'- **true**: yes.'."\n"
+ ."\n"
+ .'- **false**: no.'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'XForwardedForGaApEnabled' => ['description' => 'Indicates whether the `GA-AP` header is used to retrieve information about the acceleration region.'."\n"
+ ."\n"
+ .'- **true**: yes.'."\n"
+ ."\n"
+ .'- **false**: no.'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'XForwardedForProtoEnabled' => ['description' => 'Indicates whether the `GA-X-Forward-Proto` header is used to retrieve the listener protocol of the GA instance.'."\n"
+ ."\n"
+ .'- **true**: yes.'."\n"
+ ."\n"
+ .'- **false**: no.'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'XForwardedForPortEnabled' => ['description' => 'Indicates whether the `GA-X-Forward-Port` header is used to retrieve the listener port of the GA instance.'."\n"
+ ."\n"
+ .'- **true**: yes.'."\n"
+ ."\n"
+ .'- **false**: no.'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'XRealIpEnabled' => ['description' => 'Indicates whether the `X-Real-IP` header is used to retrieve the real IP addresses of clients.'."\n"
+ ."\n"
+ .'- **true**: yes.'."\n"
+ ."\n"
+ .'- **false**: no.'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'SecurityPolicyId' => ['description' => 'The ID of the security policy.'."\n"
+ ."\n"
+ .'- **tls\\_cipher\\_policy\\_1\\_0**'."\n"
+ ."\n"
+ .' - Supported TLS versions: TLS 1.0, TLS 1.1, and TLS 1.2.'."\n"
+ ."\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"
+ ."\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 versions: TLS 1.2.'."\n"
+ ."\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 versions: TLS 1.2.'."\n"
+ ."\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"
+ ."\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 for HTTPS listeners.', 'type' => 'string', 'example' => 'tls_cipher_policy_1_0', 'title' => ''],
+ 'Type' => ['description' => 'The routing type of the listener.'."\n"
+ ."\n"
+ .'- **Standard**: intelligent routing.'."\n"
+ ."\n"
+ .'- **CustomRouting**: custom routing.', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the service that manages the instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only when **ServiceManaged** is set to **True**.', 'type' => 'string', 'example' => 'ALB', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the instance is a managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance is a managed instance.'."\n"
+ ."\n"
+ .'- **false**: The instance is not a managed instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceManagedInfos' => [
+ 'description' => 'The actions that you can perform on the managed instance.'."\n"
+ ."\n"
+ .'> - This parameter is returned only when **ServiceManaged** is set to **True**.'."\n"
+ .'>'."\n"
+ .'> - When the instance is in a managed state, you cannot perform some operations on the instance.',
'type' => 'array',
'items' => [
- 'description' => 'The configurations of the endpoint group.'."\n",
+ 'description' => 'The actions that you can perform on the managed instance.',
'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',
- ],
- ],
- ],
- ],
+ 'Action' => ['description' => 'The name of the action on the managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **Create**: Create an instance.'."\n"
+ ."\n"
+ .'- **Update**: Update the current instance.'."\n"
+ ."\n"
+ .'- **Delete**: Delete the current instance.'."\n"
+ ."\n"
+ .'- **Associate**: Associate the instance with other resources.'."\n"
+ ."\n"
+ .'- **UserUnmanaged**: Unmanage the instance.'."\n"
+ ."\n"
+ .'- **CreateChild**: Create a child resource in the instance.', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ ."\n"
+ .'- **Listener**: listener.'."\n"
+ ."\n"
+ .'- **IpSet**: acceleration region.'."\n"
+ ."\n"
+ .'- **EndpointGroup**: endpoint group.'."\n"
+ ."\n"
+ .'- **ForwardingRule**: forwarding rule.'."\n"
+ ."\n"
+ .'- **Endpoint**: endpoint.'."\n"
+ ."\n"
+ .'- **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n"
+ ."\n"
+ .'- **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener.'."\n"
+ ."\n"
+ .'> This parameter is returned only when **Action** is set to **CreateChild**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'IsManaged' => ['description' => 'Indicates whether the specified action is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The specified action is managed. You cannot perform the specified action on the managed instance.'."\n"
+ ."\n"
+ .'- **false**: The specified action is not managed. You can perform the specified action on the managed instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'IdleTimeout' => ['description' => 'The timeout period for idle connections. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '900', 'title' => ''],
+ 'RequestTimeout' => ['description' => 'The timeout period for HTTP or HTTPS requests. Unit: seconds.'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners. If a backend server does not respond within the timeout period, GA returns an HTTP 504 error to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''],
+ 'HttpVersion' => ['description' => 'The maximum version of the HTTP protocol. Valid values:'."\n"
+ ."\n"
+ .'- **http3**: HTTP/3.'."\n"
+ ."\n"
+ .'- **http2**: HTTP/2.'."\n"
+ ."\n"
+ .'- **http1.1**: HTTP/1.1.'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTPS listeners.', 'type' => 'string', 'example' => 'http2', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
- ],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'listener %s is not exist', 'description' => 'The listener %s 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.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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.',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'DescribeListener',
+ 'summary' => 'Describes the configurations of a specific listener.',
+ 'description' => 'This operation queries the configuration of a specified listener, such as its routing type, status, creation timestamp, and port information.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'UpdateEndpointGroup' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:11.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-12-23T15:31:10.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-03-27T02:06:00.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-11-06T12:24:53.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-15T05:50:15.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-04-06T09:46:15.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeListener'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeLogStoreOfEndpointGroup' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8509',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ 'abilityTreeCode' => '153954',
+ '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',
- ],
+ 'schema' => ['description' => 'The region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-xxxxxxxxxxxxx', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
- ],
+ 'schema' => ['description' => 'The ID of the listener.'."\n", 'type' => 'string', 'required' => true, 'example' => 'lsr-xxxxxxxxxxxxxxx', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'EndpointGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'epg-xxxxxxxxxxxxxxx', 'title' => ''],
],
- [
- 'name' => 'Description',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => '',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener.'."\n", 'type' => 'string', 'example' => 'lsr-xxxxxxxxxxxxxxx', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'example' => 'epg-xxxxxxxxxxxxxxx', 'title' => ''],
+ 'SlsRegionId' => ['description' => 'The region ID of the Simple Log Service project.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'SlsProjectName' => ['description' => 'The name of the Simple Log Service project.'."\n", 'type' => 'string', 'example' => 'ga_project_name', 'title' => ''],
+ 'SlsLogStoreName' => ['description' => 'The name of the Logstore.'."\n", 'type' => 'string', 'example' => 'ga_log', 'title' => ''],
+ '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', 'title' => ''],
+ 'AccessLogRecordCustomizedHeadersEnabled' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ 'AccessLogRecordCustomizedHeaderList' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'example' => '',
],
],
- [
- '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',
+ ],
+ 'title' => 'DescribeLogStoreOfEndpointGroup',
+ 'summary' => 'Queries the Simple Log Service project and Logstore associated with an endpoint group.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-22T08:50:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T08:50:05.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T07:45:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-22T03:43:22.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-14T09:39:34.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLogStoreOfEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeLogStoreOfEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'AccessLog', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ],
],
],
+ ],
+ '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\\": false,\\n \\"AccessLogRecordCustomizedHeaderList\\": [\\n \\"\\"\\n ]\\n}","type":"json"}]',
+ ],
+ 'DescribeRegions' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
[
- 'name' => 'HealthCheckIntervalSeconds',
+ 'name' => 'RegionId',
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
- [
- 'name' => 'HealthCheckPath',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The path to which health check requests are sent.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '/healthcheck',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', 'title' => ''],
+ 'Regions' => [
+ 'description' => 'The available regions.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The available regions.',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => ['description' => 'The region name.', 'type' => 'string', 'example' => '杭州', 'title' => ''],
+ 'RegionId' => ['description' => 'The region ID. Only **cn-hangzhou** is returned.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- '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',
- ],
+ ],
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
- [
- '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',
- ],
+ ],
+ 'title' => 'DescribeRegions',
+ 'summary' => 'Queries the regions where Global Accelerator (GA) instances are deployed.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:10.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'],
],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeRegions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BusiRegion', 'arn' => 'acs:ga:{#regionId}:{#accountId}:region/{#regionId}'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"杭州\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'DetachDdosFromAccelerator' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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,
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '8880',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
+ ],
+ 'parameters' => [
[
- 'name' => 'EndpointRequestProtocol',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'EndpointProtocolVersion',
+ 'name' => 'RegionId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PortOverrides',
+ 'name' => 'DdosConfigList',
'in' => 'query',
- 'style' => 'repeatList',
+ 'style' => 'flat',
'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',
- ],
+ 'DdosId' => ['description' => 'The ID of the Anti-DDoS Pro or Anti-DDoS Premium instance that is associated with the Global Accelerator instance.', 'type' => 'string', 'required' => false, 'example' => 'ddosDip-cn-pj64b8cz101', 'title' => ''],
+ 'DdosRegionId' => ['description' => 'The region where the Anti-DDoS Pro or Anti-DDoS Premium instance is deployed. Valid values:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**: the Chinese mainland.'."\n"
+ ."\n"
+ .'- **ap-southeast-1**: outside the Chinese mainland.', 'type' => 'string', 'required' => false, 'example' => 'ap-southeast-1', 'title' => ''],
],
+ 'description' => 'A list of Anti-DDoS Pro or Anti-DDoS Premium instances that are associated with the Global Accelerator instance.',
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'description' => 'A list of Anti-DDoS Pro or Anti-DDoS Premium instances that are associated with the Global Accelerator instance.',
'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',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'EndpointIpVersion',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ '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 format, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the system returns an HTTP 2xx status code.'."\n"
+ ."\n"
+ .'- **false** (default): sends a normal request. After the request passes the check, an HTTP 2xx status code is returned and the instance is detached.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ',
- ],
+ 'DdosId' => ['description' => 'The ID of the Anti-DDoS Pro or Anti-DDoS Premium instance that is detached from the Global Accelerator instance.', 'type' => 'string', 'deprecated' => true, 'example' => 'ddoscoo-cn-zz11vq7j****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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',
- ],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'accelerator %s is not exist', 'description' => 'The GA instance %s does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'Accelerator.NotBindingDdos', 'errorMessage' => 'The accelerator has not bound a DDoS instance.', 'description' => 'The accelerator has not bound a DDoS instance.'],
],
],
- '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"
+ 'title' => 'DetachDdosFromAccelerator',
+ 'summary' => 'Call the DetachDdosFromAccelerator operation to detach an Anti-DDoS Pro or Anti-DDoS Premium instance from a Global Accelerator instance.',
+ 'description' => '- **DetachDdosFromAccelerator** is an asynchronous operation. After you send a request, the system returns a request ID and performs the operation in the background. The Anti-DDoS Pro or Anti-DDoS Premium instance is not immediately detached. You can call [DescribeAccelerator](~~153235~~) or [ListAccelerators](~~153236~~) to query the state of the Global Accelerator instance:'."\n"
+ ."\n"
+ .' - If the Global Accelerator instance is in the **configuring** state, the Anti-DDoS Pro or Anti-DDoS Premium instance is being detached. In this state, you can only perform query operations.'."\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"
+ .' - If the Global Accelerator instance is in the **active** state, the Anti-DDoS Pro or Anti-DDoS Premium instance is detached.'."\n"
."\n"
- .'* The **UpdateEndpointGroup** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.',
+ .'- The **DetachDdosFromAccelerator** operation does not support concurrent requests to detach Anti-DDoS instances from the same Global Accelerator instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'UpdateEndpointGroupAttribute' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:12:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:45.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-05-07T05:54:56.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2024-07-09T07:55:29.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachDdosFromAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DetachDdosFromAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DdosId\\": \\"ddoscoo-cn-zz11vq7j****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ ],
+ 'DetachLogStoreFromEndpointGroup' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -14884,599 +12271,510 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8894',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ '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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1ple63864a5hyj5****',
- ],
+ 'schema' => ['description' => 'The ID of the listener.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'EndpointGroupIds',
'in' => 'query',
+ 'style' => 'repeatList',
'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',
+ '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****\', ...]', 'title' => ''],
+ 'required' => true,
+ 'docRequired' => true,
+ 'maxItems' => 10,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'Description',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF'],
],
+ 'example' => '',
],
],
],
'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.Accelerator', 'errorMessage' => 'accelerator %s is not exist', 'description' => 'The GA instance %s does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
],
- 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.',
+ ],
+ 'title' => 'DetachLogStoreFromEndpointGroup',
+ 'summary' => 'Disassociates a Log Service Logstore from an endpoint group.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:13.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T13:37:43.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachLogStoreFromEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:DetachLogStoreFromEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
],
],
- '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' => ' ',
+ '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":""}]',
],
- 'DeleteEndpointGroup' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DetectApplicationMonitor' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '7851',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ 'abilityTreeCode' => '117053',
+ 'abilityTreeNodes' => ['FEATUREgaLHYOX6'],
],
'parameters' => [
[
- 'name' => 'ClientToken',
+ '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 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 ',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'TaskId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
- ],
+ '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****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'InvalidateTaskId.ApplicationMonitor', 'errorMessage' => 'The application monitor task %s is not exist.', 'description' => 'The source station probe task ID 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.',
+ ],
+ 'title' => 'DetectApplicationMonitor',
+ 'summary' => 'Enables the diagnostic feature for an origin probing task.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:46.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-09T07:55:29.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2021-12-28T13:10:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:DetectApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#TaskId}'],
+ ],
],
],
],
- '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' => ' ',
+ '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":""}]',
],
- 'DescribeLogStoreOfEndpointGroup' => [
- 'summary' => 'Queries the Simple Log Service project and Logstore associated with an endpoint group.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DisableApplicationMonitor' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '153954',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ 'abilityTreeCode' => '114794',
+ 'abilityTreeNodes' => ['FEATUREgaLHYOX6'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-xxxxxxxxxxxxx',
- ],
- ],
- [
- 'name' => 'ListenerId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-xxxxxxxxxxxxxxx',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'TaskId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-xxxxxxxxxxxxxxx',
- ],
+ 'schema' => ['description' => 'The ID of the origin probing task that you want to disable.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sm-bp1fpdjfju9k8yr1y****', 'title' => ''],
],
],
'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',
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.SiteMonitor', 'errorMessage' => 'The siteMonitor %s is not exist.', 'description' => 'Site monitoring% s does not exist.'],
+ ['errorCode' => 'InvalidateTaskId.ApplicationMonitor', 'errorMessage' => 'The application monitor task %s is not exist.', 'description' => 'The source station probe task ID does not exist.'],
+ ['errorCode' => 'InvalidateTaskState.ApplicationMonitor', 'errorMessage' => 'The application task state is invalidate.', 'description' => 'The origin probing task is in an invalid state.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'DisableApplicationMonitor',
+ 'summary' => 'Disables an origin probing task.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:42.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-09T07:55:28.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2021-12-28T13:10:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:DisableApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#sitemonitorId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DisassociateResources' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '17771',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '285203',
+ 'abilityTreeNodes' => ['FEATUREga231EJR'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'Alibaba Cloud Global Accelerator (GA) instance ID. ', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'SlsProjectName',
+ 'name' => 'AssociatedResourceType',
'in' => 'query',
'schema' => [
- 'description' => 'The name of the Log Service project.'."\n",
+ 'description' => 'Resource type of the linked peripheral resource. ',
'type' => 'string',
'required' => true,
- 'example' => 'pn-01',
+ 'enum' => ['WAF'],
+ 'example' => 'WAF',
+ 'title' => '',
],
],
[
- 'name' => 'SlsLogStoreName',
+ 'name' => 'AssociatedResourceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the Logstore.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'lsn-01',
- ],
+ 'schema' => ['description' => 'Linked instance ID. ', 'type' => 'string', 'required' => true, 'example' => 'cd498437eb9a346c38be8482689800e91', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'AssociatedResourceRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'Region ID of the linked instance. ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ListenerId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ 'schema' => ['description' => 'Region ID of the Alibaba Cloud Global Accelerator (GA) instance. Valid value: **cn-hangzhou** only. ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'SlsRegionId',
+ 'name' => 'DryRun',
'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to perform a dry run of the request. Valid values: '."\n"
+ .'- **true**: Sends a dry run request without detaching the resource. The system checks whether required parameters are specified, whether the request format is valid, and whether business limits are met. If the check fails, an error is returned. If the check passes, an HTTP 2xx status code is returned. '."\n"
+ .'- **false** (default): Sends a normal request. If the check passes, an HTTP 2xx status code is returned and the endpoint group is created immediately. ', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The region ID of the Log Service project.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ 'description' => 'Schema of Response ',
+ 'title' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'ID of the request ', 'title' => '', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6'],
+ 'AcceleratorId' => ['description' => 'Alibaba Cloud Global Accelerator (GA) instance ID. ', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'AssociatedResourceId' => ['description' => 'Linked instance ID. ', 'type' => 'string', 'example' => 'c66d65f411b9143bab253bfef61c03c48', 'title' => ''],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Ga::2019-11-20::DescribeAccelerator', 'callbackInterval' => 10000, 'maxCallbackTimes' => 30],
+ 'title' => 'Detach peripheral resource from Alibaba Cloud Global Accelerator (GA) instance ',
+ 'summary' => 'Detach integrated cloud product from GA ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DisassociateResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"AcceleratorId\\": \\"ga-bp1odcab8tmno0hdq****\\",\\n \\"AssociatedResourceId\\": \\"c66d65f411b9143bab253bfef61c03c48\\"\\n}","type":"json"}]',
+ ],
+ 'DissociateAclsFromListener' => [
+ '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' => 'EndpointGroupIds',
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'AclIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of the endpoint groups.'."\n",
+ 'description' => 'The ID of the ACL. You can disassociate up to two ACLs from a listener.',
'type' => 'array',
- 'items' => [
- 'description' => 'The IDs of the endpoint groups.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[\'epg-bp1dmlohjjz4kqaun****\',\'epg-bp1v1u72cx35ogofe****\', ...]',
- ],
+ '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****', 'title' => ''],
'required' => true,
'docRequired' => true,
'maxItems' => 10,
'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ListenerId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the listener.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
- 'name' => 'AccessLogRecordCustomizedHeaderList',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'allowEmptyValue' => true,
- 'style' => 'repeatList',
- 'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- 'maxItems' => 100,
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AccessLogRecordCustomizedHeadersEnabled',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'type' => 'boolean',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'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',
+ 'RequestId' => ['title' => '', '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'ListenerId' => ['description' => 'The ID of the listener.'."\n", 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
+ 'example' => '',
],
],
],
'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',
- ],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'listener %s is not exist', 'description' => 'The listener %s does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'listener %s is not active', 'description' => 'The listener %s is unavailable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'accelerator %s is not exist', 'description' => 'The GA instance %s does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ['errorCode' => 'NotExist.Acl', 'errorMessage' => 'acl %s is not exist', 'description' => 'The ACL %s does not exist.'],
+ ['errorCode' => 'StateError.Acl', 'errorMessage' => 'acl state %s is illegal', 'description' => 'The status of the ACL %s is invalid.'],
+ ['errorCode' => 'AclNotBindListener', 'errorMessage' => 'acl %s not bind listener', 'description' => ''],
],
],
- '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"
+ 'title' => 'DissociateAclsFromListener',
+ 'summary' => 'Disassociates access control lists (ACLs) from a listener.',
+ 'description' => '## Description'."\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"
+ .'* **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"
- .'* 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',
+ .' * 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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:42.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DissociateAclsFromListener'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:DissociateAclsFromListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'DissociateAdditionalCertificatesFromListener' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -15488,136 +12786,165 @@
'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,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ 'schema' => ['description' => 'The ID of the listener.'."\n", 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
- 'name' => 'EndpointGroupIds',
+ 'name' => 'Domains',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of endpoint groups.',
+ '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 IDs of endpoint groups.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '[\'epg-bp1dmlohjjz4kqaun****\',\'epg-bp1v1u72cx35ogofe****\', ...]',
- ],
+ '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', 'title' => ''],
'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****',
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8'],
],
+ 'example' => '',
],
],
],
'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',
- ],
+ ['errorCode' => 'AlreadyInBandwidthPackage.Accelerator', 'errorMessage' => 'The accelerated instance is already in the bandwidth package.', 'description' => '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.', 'description' => '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.', 'description' => 'The GA instance is already associated with a bandwidth plan.'],
+ ['errorCode' => 'BindExist.BandwidthPackage', 'errorMessage' => 'The bandwidth package is already bound.', 'description' => 'The bandwidth plan is already associated.'],
+ ['errorCode' => 'BindExist.EndPointGroup', 'errorMessage' => 'The endpoint group %s contains binding.', 'description' => 'The endpoint group contains binding.'],
+ ['errorCode' => 'EndPointGroupTypeIllegal.EndpointGroup', 'errorMessage' => 'The endpoint group type is illegal.', 'description' => 'The endpoint group type is illegal.'],
+ ['errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', 'errorMessage' => 'The endpoint group request protocol is illegal.', 'description' => 'The endpoint group request protocol is illegal.'],
+ ['errorCode' => 'Exist.EndpointGroup', 'errorMessage' => 'The endpoint group already exists.', 'description' => 'The endpoint group already exists.'],
+ ['errorCode' => 'Exist.ForwardingRule', 'errorMessage' => 'The forwarding rule already exists.', 'description' => 'The forwarding rule already exists.'],
+ ['errorCode' => 'Exist.IpSet', 'errorMessage' => 'The IpSet already exists.', 'description' => 'The acceleration region already exists.'],
+ ['errorCode' => 'Exist.Listener', 'errorMessage' => 'The listener already exists.', 'description' => 'The listener already exists.'],
+ ['errorCode' => 'Exist.VirtualEndpointGroup', 'errorMessage' => 'A virtual endpoint group already exists.', 'description' => 'A virtual endpoint group has been added, so that it is not allowed to change the listener protocol .'],
+ ['errorCode' => 'GaSpecExceeded.IpSet', 'errorMessage' => 'The number of IpSet exceeds the specification of the GA instance.', 'description' => 'The number of accelerated IP addresses has reached the upper limit supported by the GA instance.'],
+ ['errorCode' => 'GreaterThanGa.IpSetBandwidth', 'errorMessage' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.', 'description' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.'],
+ ['errorCode' => 'IllegalBandwidth.IpSet', 'errorMessage' => 'The bandwidth of IpSet is invalid.', 'description' => 'The bandwidth of IpSet is invalid.'],
+ ['errorCode' => 'IllegalParameter.BandwidthType', 'errorMessage' => 'The parameter BandwidthType is illegal.', 'description' => 'The parameter BandwidthType is illegal.'],
+ ['errorCode' => 'IllegalParameter.Spec', 'errorMessage' => 'The specified Spec is invalid.', 'description' => 'The specified Spec is invalid.'],
+ ['errorCode' => 'IllegalParameter.Type', 'errorMessage' => 'The specified Type is invalid.', 'description' => 'The specified Type is invalid.'],
+ ['errorCode' => 'MissingParameter.BandwidthType', 'errorMessage' => 'You must specify BandwidthType.', 'description' => 'You must specify BandwidthType.'],
+ ['errorCode' => 'NoPermission.EnableHealthCheck', 'errorMessage' => 'You do not have permission to enable health check.', 'description' => 'The current account does not have the permissions to enable health checks.'],
+ ['errorCode' => 'NoPermission.GaDdosRoleSession', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: ddos.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaAntiDDos. Permission: ram:CreateServiceLinkedRole.'],
+ ['errorCode' => 'NoPermission.VpcEndpoint', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
+ ['errorCode' => 'NotActive.IpSet', 'errorMessage' => 'The state of IpSet is not active.', 'description' => 'The accelerated IP address is in an unstable state.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'NotExist.BandwidthPackage', 'errorMessage' => 'The bandwidth package does not exist.', 'description' => 'The bandwidth package does not exist.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'NotExist.BusinessRegion', 'errorMessage' => 'The business region does not exist.', 'description' => 'The business region does not exist.'],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'The endpoint group does not exist.', 'description' => 'The endpoint group does not exist.'],
+ ['errorCode' => 'NotExist.IpSet', 'errorMessage' => 'The IpSet does not exist.', 'description' => 'The acceleration region does not exist.'],
+ ['errorCode' => 'NotExist.IpSets', 'errorMessage' => 'The IpSet does not exist.', 'description' => 'The acceleration region does not exist.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotExist.ListenerPort', 'errorMessage' => 'The listening port %s does not exist.', 'description' => 'The listening port does not exist.'],
+ ['errorCode' => 'NotInBandwidthPackage.Accelerator', 'errorMessage' => 'The accelerated instance is not in the bandwidth package.', 'description' => 'The GA instance is not associated with a bandwidth plan.'],
+ ['errorCode' => 'PortConflict.Listener', 'errorMessage' => 'The listener port configuration is in conflict.', 'description' => 'The listener port configurations are in conflict.'],
+ ['errorCode' => 'PortRangeIllegal.Count', 'errorMessage' => 'The hugePort listener only supports one port range.', 'description' => 'The mass port listener (port number greater than 300) only supports one port range.'],
+ ['errorCode' => 'PortRangeIllegal.Listener', 'errorMessage' => 'The specified listener port range is invalid.', 'description' => 'The specified listener port range is invalid.'],
+ ['errorCode' => 'PortRanges.MustOne', 'errorMessage' => 'The portRanges must be one for HTTPS and HTTP type listener.', 'description' => 'Only one port is supported for HTTPS and HTTP type listeners.'],
+ ['errorCode' => 'ProtocalIllegal.Listener', 'errorMessage' => 'The specified listener protocol is invalid.', 'description' => 'The specified listener protocol is invalid.'],
+ ['errorCode' => 'QuotaExceeded.EndPoint', 'errorMessage' => 'The maximum number of endpoints is exceeded.', 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['errorCode' => 'QuotaExceeded.ForwardingRule', 'errorMessage' => 'The number of forwarding rule exceeds the limit.', 'description' => 'The number of forwarding rule exceeds the limit.'],
+ ['errorCode' => 'QuotaExceeded.Listener', 'errorMessage' => 'The maximum number of listeners is exceeded.', 'description' => 'The maximum number of listeners is exceeded.'],
+ ['errorCode' => 'QuotaExceeded.ListenerPort', 'errorMessage' => 'The maximum number of listener ports is exceeded.', 'description' => 'The maximum number of listener ports is exceeded.'],
+ ['errorCode' => 'QuotaExceeded.PortOverride', 'errorMessage' => 'The number of port override exceeds the limit.', 'description' => 'The number of port override exceeds the limit.'],
+ ['errorCode' => 'QuotaExceeded.RuleConditionConfig', 'errorMessage' => 'The number of path and host exceeds the limit.', 'description' => ''],
+ ['errorCode' => 'RegionRepeat.IpSet', 'errorMessage' => 'Only one IpSet can be created in an accelerated region.', 'description' => 'An acceleration region supports only one accelerated IP address.'],
+ ['errorCode' => 'Repeat.IpSets', 'errorMessage' => 'The configuration of IpSet is duplicated.', 'description' => 'Duplicate accelerated IP addresses exist.'],
+ ['errorCode' => 'RepeatPathAndHost.ForwardingRule', 'errorMessage' => 'The path and host %s are duplicated.', 'description' => 'The path and host are duplicated.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'StateError.BandwidthPackage', 'errorMessage' => 'The state of bandwidth package is invalid.', 'description' => 'The bandwidth plan is in an invalid state.'],
+ ['errorCode' => 'StateError.BandwidthPackageBind', 'errorMessage' => 'The state of binding for the bandwidth package is invalid.', 'description' => 'The association status of the bandwidth plan is invalid.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'The specified state of endpoint group is invalid.', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'StateError.ForwardingRule', 'errorMessage' => 'The forwarding rule state %s is illegal.', 'description' => 'The forwarding rule state is illegal.'],
+ ['errorCode' => 'StateError.IpSet', 'errorMessage' => 'The state of IpSet is invalid.', 'description' => 'The acceleration region is in an invalid state.'],
+ ['errorCode' => 'TooManySpareIp.Accelerator', 'errorMessage' => 'Too many SpareIp accepted under the same Accelerator', 'description' => 'Too many spare IP addresses are accepted under the same accelerator.'],
+ ['errorCode' => 'UpgradeError.BandwidthPackage', 'errorMessage' => 'The bandwidth package configurations should be either all upgrades or all downgrades.', 'description' => 'You cannot upgrade and downgrade a bandwidth plan at the same time. You can only upgrade or downgrade the bandwidth plan.'],
],
],
- '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',
+ 'title' => 'DissociateAdditionalCertificatesFromListener',
+ 'summary' => 'Disassociates an additional certificate from an HTTPS listener.',
'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"
+ .'* **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 endpoint group is in the **active** state, the Log Service Logstore is disassociated from the endpoint group.'."\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 **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',
+ .'* The **DissociateAdditionalCertificatesFromListener** operation cannot be repeatedly called for the same Global Accelerator (GA) instance with a specific period of time.'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:35.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-08-04T19:13:05.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DissociateAdditionalCertificatesFromListener'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:DissociateAdditionalCertificatesFromListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'EnableApplicationMonitor' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -15626,1161 +12953,870 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '35744',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ 'abilityTreeCode' => '114795',
+ 'abilityTreeNodes' => ['FEATUREgaLHYOX6'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ '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****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidateTaskId.ApplicationMonitor', 'errorMessage' => 'The application monitor task %s is not exist.', 'description' => 'The source station probe task ID does not exist.'],
+ ['errorCode' => 'InvalidateTaskState.ApplicationMonitor', 'errorMessage' => 'The application task state is invalidate.', 'description' => 'The origin probing task is in an invalid state.'],
+ ['errorCode' => 'ListenerNeed.ApplicationMonitor', 'errorMessage' => 'The listener must be configured.', 'description' => 'To run origin probing tasks, you must first create listeners.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'listener %s is not exist', 'description' => 'The listener %s does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'listener %s is not active', 'description' => 'The listener %s is unavailable.'],
+ ],
+ ],
+ 'title' => 'EnableApplicationMonitor',
+ 'summary' => 'Enables an origin probing task.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:48.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-09T07:55:28.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2021-12-28T13:10:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:EnableApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#sitemonitorId}'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ 'GetAcl' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'ListenerId',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '21724',
+ 'abilityTreeNodes' => ['FEATUREgaUP4965'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
'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****',
- ],
+ 'schema' => ['description' => 'The operation that you want to perform. Set the value to **GetAcl**.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'EndpointGroupConfigurations',
- 'in' => 'formData',
- 'style' => 'flat',
+ '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****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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"
+ 'title' => '',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', '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****', 'title' => ''],
+ 'AddressIPVersion' => ['description' => 'The ID of the network ACL.'."\n", 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'AclStatus' => ['description' => 'The IP version of the network ACL. Valid values:'."\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,
+ .'* **IPv4**'."\n"
+ .'* **IPv6**'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''],
+ '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', 'title' => ''],
+ 'EntryDescription' => ['description' => 'The description of the ACL entry.'."\n", 'type' => 'string', 'example' => 'test-entry', 'title' => ''],
],
- 'required' => false,
- 'maxItems' => 5,
+ 'title' => '',
+ 'example' => '',
],
- '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,
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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****', 'title' => ''],
+ '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', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
- 'required' => false,
- 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
- '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,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'AclName' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'test-acl', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The name of the network ACL.'."\n", 'type' => 'string', 'example' => 'rg-acfmx7itmygzsza', 'title' => ''],
+ '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', 'title' => ''],
+ 'Value' => ['description' => 'The value of tag N that is add to the ACL.'."\n", 'type' => 'string', 'example' => 'tag-value', 'title' => ''],
],
- 'required' => false,
- 'maxItems' => 20,
- ],
- 'HealthCheckHost' => [
- 'type' => 'string',
- ],
- 'EndpointIpVersion' => [
- 'type' => 'string',
+ 'title' => '',
+ 'example' => '',
],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
],
- 'required' => true,
- 'maxItems' => 200,
+ 'example' => '',
],
],
],
+ 'title' => 'GetAcl',
+ 'summary' => 'Queries an access control list (ACL).',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:35.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAcl'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'GetBasicAccelerateIp' => [
+ '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' => '', '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' => '', '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' => '', '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' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned data.'."\n",
+ 'description' => 'The response parameters.'."\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****',
- ],
- ],
+ 'RequestId' => ['title' => '', '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****', 'title' => ''],
+ 'IpSetId' => ['title' => '', '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****', 'title' => ''],
+ 'AccelerateIpAddress' => ['description' => 'The accelerated IP address of the basic GA instance.'."\n", 'type' => 'string', 'example' => '116.132.XX.XX', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
+ 'title' => 'GetBasicAccelerateIp',
+ 'summary' => 'Queries the status of an accelerated IP address of a basic Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:13.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetBasicAccelerateIp'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicAccelerateIp',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'UpdateEndpointGroups' => [
- 'summary' => 'Modifies the endpoint groups that are associated with a listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetBasicAccelerateIpEndpointRelation' => [
+ 'summary' => 'Queries the attachment information of an accelerated IP address or endpoint of a basic Global Accelerator (GA) instance.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '35764',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
- ],
+ '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,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '', 'description' => 'The region ID of the Global Accelerator instance. Set the value to **cn-hangzhou**.', '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',
- ],
+ 'schema' => ['title' => '', '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 **RequestId** value as the **ClientToken** value. The **RequestId** value of each API request is different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The instance ID of the basic Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
[
- 'name' => 'EndpointGroupConfigurations',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'style' => 'flat',
+ 'schema' => ['title' => '', 'description' => 'The endpoint ID of the basic Global Accelerator (GA) instance.'."\n"
+ ."\n"
+ .'> **EndpointId** and **AccelerateIpId** cannot both be empty.', 'type' => 'string', 'required' => false, 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
+ ],
+ [
+ 'name' => 'AccelerateIpId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The accelerated IP address instance ID of the basic Global Accelerator (GA) instance.'."\n"
+ .'> **EndpointId** and **AccelerateIpId** cannot both be empty.', 'type' => 'string', 'required' => false, 'example' => 'gaip-bp1****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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,
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointId' => ['title' => '', 'description' => 'The endpoint ID of the basic Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
+ 'EndpointName' => ['title' => '', 'description' => 'The name of the endpoint of the basic Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'ep01'],
+ 'EndpointType' => ['title' => '', 'description' => 'The endpoint type. Valid values:'."\n"
+ .'- **ENI**: an Alibaba Cloud elastic network interface (ENI).'."\n"
+ .'- **SLB**: an Alibaba Cloud Classic Load Balancer (CLB) instance.'."\n"
+ .'- **ECS**: an Alibaba Cloud ECS instance.'."\n"
+ .'- **NLB**: an Alibaba Cloud Network Load Balancer (NLB) instance.', 'type' => 'string', 'example' => 'ENI'],
+ 'EndpointAddress' => ['title' => '', 'description' => 'The address of the endpoint.', 'type' => 'string', 'example' => 'eni-bp1a05txelswuj8g****'],
+ 'EndpointSubAddress' => ['title' => '', 'description' => 'The secondary address of the endpoint.'."\n"
+ ."\n"
+ .'This parameter is returned when the endpoint type attached to the accelerated IP address is **ECS**, **ENI**, or **NLB**.'."\n"
+ .'- If the endpoint type is **ECS**, EndpointSubAddress is the secondary private IP address or the primary private IP address of the primary network interface controller (NIC).'."\n"
+ .'- If the endpoint type is **ENI**, EndpointSubAddress is the secondary private IP address or the primary private IP address of the secondary elastic network interface (ENI).'."\n"
+ .'- If the endpoint type is **NLB**, EndpointSubAddress is the primary private IP address of the NLB backend server.', 'type' => 'string', 'example' => '172.16.XX.XX'],
+ 'EndpointSubAddressType' => ['title' => '', 'description' => 'The type of the secondary address of the endpoint. Valid values:'."\n"
+ .'- **primary**: The secondary address type is the primary private IP address.'."\n"
+ .'- **secondary**: The secondary address type is the secondary private IP address.'."\n"
+ ."\n"
+ .'This parameter is returned when the endpoint type bound to the accelerated IP address is **ECS**, **ENI**, or **NLB**. If the endpoint type is **NLB**, only **primary** is returned.', 'type' => 'string', 'example' => 'primary'],
+ 'EndpointZoneId' => ['title' => '', 'description' => 'The zone ID of the endpoint.'."\n"
+ ."\n"
+ .'Currently, this parameter is returned only when the endpoint type bound to the accelerated IP address is **NLB**.', 'type' => 'string', 'example' => 'cn-hangzhou-g'],
+ 'AccelerateIpId' => ['description' => 'The accelerated IP address instance ID of the basic Global Accelerator (GA) instance.', 'type' => 'string', 'example' => 'gaip-bp1****', 'title' => ''],
+ 'IpAddress' => ['description' => 'The accelerated IP address of the basic Global Accelerator (GA) instance.', 'type' => 'string', 'example' => '116.132.XX.XX', 'title' => ''],
+ 'State' => ['description' => 'The status of the attachment between the accelerated IP address and the endpoint of the basic Global Accelerator (GA) instance.'."\n"
+ ."\n"
+ .'The value **active** indicates that the accelerated IP address is attached to the endpoint.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'AcceleratorId' => ['description' => 'The instance ID of the basic Global Accelerator (GA) instance.', 'type' => 'string', 'example' => ' ga-bp11v53zfftax68b0daws', 'title' => ''],
],
- 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'title' => 'Query the attachment information of an accelerated IP address or endpoint of a basic global accelerator instance',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-12-08T10:07:32.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBasicAccelerateIpEndpointRelation'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- 'name' => 'ListenerId',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicAccelerateIpEndpointRelation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'GetBasicAccelerateIpIdleCount' => [
+ 'summary' => 'Invokes the GetBasicAccelerateIpIdleCount operation to query the number of idle accelerated IP addresses of a basic Alibaba Cloud 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' => '', 'description' => 'The region ID of Global Accelerator. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'ClientToken',
'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The client token that is used to ensure the idempotence of a request.'."\n"
+ ."\n"
+ .'Generate a parameter value from your client to ensure that the value is unique among different requests. ClientToken supports only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'],
+ ],
+ [
+ 'name' => 'IpSetId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The acceleration region instance ID of the basic Alibaba Cloud Global Accelerator (GA) instance that you want to query.'."\n"
+ ."\n"
+ .'You can invoke [GetBasicAccelerator](~~2253380~~) to query the acceleration region instance ID.', 'type' => 'string', 'required' => true, 'example' => 'ips-bp11r5jb8ogp122xl****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The listener ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'TotalCount' => ['description' => 'The number of entries returned, which indicates the number of idle accelerated IP addresses.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'Query the number of idle accelerated IP addresses of a basic global accelerator instance',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:23.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetBasicAccelerateIpIdleCount'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicAccelerateIpIdleCount',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"TotalCount\\": 1\\n}","type":"json"}]',
+ ],
+ 'GetBasicAccelerator' => [
+ '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' => '', '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' => '', 'description' => 'The ID of the basic GA instance that you want to query.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
+ ],
+ ],
'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',
+ 'Description' => ['title' => '', 'description' => 'The description of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'BasicAccelerator'],
+ 'RequestId' => ['title' => '', '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' => '', 'description' => 'The ID of the cross-border acceleration bandwidth plan.'."\n", 'type' => 'string', 'example' => 'gbwp-bp1d8xk8bg139j0fw****'],
+ ],
+ 'example' => '',
],
- 'EndpointGroupIds' => [
- 'description' => 'The IDs of the endpoint groups.'."\n",
+ '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' => '', 'description' => 'The ID of the basic bandwidth plan.'."\n", 'type' => 'string', 'example' => 'gbwp-bp1d8xk8bg139j0fw****'],
+ ],
+ 'example' => '',
+ ],
+ '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' => '', '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' => '', 'description' => 'The ID of the region where the basic GA instance is deployed.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou'],
+ 'AcceleratorId' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****'],
+ 'BasicEndpointGroupId' => ['title' => '', 'description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****'],
+ 'BasicIpSetId' => ['title' => '', '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', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the basic GA instance belongs.'."\n", 'type' => 'string', 'example' => 'rg-aekzrnd67gq****', 'title' => ''],
+ 'Tags' => [
+ 'description' => 'The tags of the basic GA instance.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The endpoint group ID.'."\n",
- 'type' => 'string',
- 'example' => '[\'epg-bp1dmlohjjz4kqaun****\',\'epg-bp1v1u72cx35ogofe****\', ...]',
+ 'description' => 'The tags of the basic GA instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'tag-key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'tag-value', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'title' => 'GetBasicAccelerator',
+ 'summary' => 'Queries the information about a basic Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:53.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-06T11:31:23.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetBasicAccelerator'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BasicAcceleratorId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'ConfigEndpointProbe' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetBasicEndpoint' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '7843',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
- ],
+ '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',
- ],
+ 'schema' => ['title' => '', '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',
- ],
+ 'schema' => ['title' => '', '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',
+ 'name' => 'EndpointId',
'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The ID of the endpoint that you want to query.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The endpoint group ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
+ 'description' => 'A list of response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AcceleratorId' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****'],
+ 'EndpointGroupId' => ['title' => '', 'description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****'],
+ 'EndPointId' => ['title' => '', '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', 'title' => ''],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'title' => 'GetBasicEndpoint',
+ 'summary' => 'Queries detailed information about an endpoint that is associated with a basic Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:38.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBasicEndpoint'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#EndPointId}'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ 'GetBasicEndpointGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'Endpoint',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '127.0.XX.XX',
- ],
+ 'schema' => ['title' => '', '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' => 'ProbeProtocol',
+ 'name' => 'ClientToken',
'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',
- ],
+ 'schema' => ['title' => '', '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' => 'ProbePort',
+ 'name' => 'EndpointGroupId',
'in' => 'query',
+ 'schema' => ['title' => '', 'description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The port that is used to monitor latency. Valid values: **0** to **65535**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '80',
+ 'description' => 'The returned information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'AcceleratorId' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****'],
+ 'EndpointGroupId' => ['title' => '', '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' => '', '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'],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'GetBasicEndpointGroup',
+ 'summary' => 'Queries the information about the endpoint group of a basic GA instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-09-27T08:51:27.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBasicEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#BasicEndpointGroupId}'],
+ ],
],
],
+ ],
+ '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":""}]',
+ ],
+ 'GetBasicIpSet' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'Enable',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
'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',
- ],
+ 'schema' => ['title' => '', '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' => '', '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' => '', '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' => [
@@ -16789,674 +13825,601 @@
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB'],
+ 'AccelerateRegionId' => ['title' => '', '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' => '', 'description' => 'The ID of the acceleration region of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'ips-bp11ilwqjdkjeg9r7****'],
+ 'IpAddress' => ['title' => '', 'description' => 'The accelerated IP address.'."\n", 'type' => 'string', 'example' => '118.31.XX.XX'],
+ 'AcceleratorId' => ['title' => '', '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'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'title' => 'GetBasicIpSet',
+ 'summary' => 'Queries the information about the acceleration region of a basic Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-09-27T08:45:05.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetBasicIpSet'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#BasicIpSetId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'DeleteEndpointGroups' => [
- 'summary' => 'Deletes endpoint groups.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetGlobalAcceleratorResources' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '35765',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
- ],
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '285204',
+ 'abilityTreeNodes' => ['FEATUREga231EJR'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA). ', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
'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',
- ],
+ 'schema' => ['description' => 'The Region ID where the Alibaba Cloud Global Accelerator (GA) instance is located. The only valid value is cn-hangzhou. ', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'AssociatedResourceType',
'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',
- ],
+ 'schema' => ['description' => 'The resource type of the linked peripheral resource. ', 'type' => 'string', 'required' => false, 'example' => 'WAF', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AssociatedResourceRegionId',
'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',
- ],
+ 'schema' => ['description' => 'The Region ID where the linked instance is located. ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'EndpointGroupIds',
+ 'name' => 'AssociatedResourceId',
'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,
- ],
+ 'schema' => ['description' => 'The ID of the linked peripheral resource. ', 'type' => 'string', 'required' => false, 'example' => 'waf_v2_public_cn-x0r****gr1i', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'Schema of Response ',
+ 'title' => '',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8',
+ 'RequestId' => ['description' => 'ID of the request ', 'title' => '', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6'],
+ 'AssociatedResources' => [
+ 'description' => 'List of linked instances. ',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Details of a linked instance. ',
+ 'type' => 'object',
+ 'properties' => [
+ 'AssociatedResourceType' => ['description' => 'Resource type of the linked instance. ', 'type' => 'string', 'example' => 'WAF', 'title' => ''],
+ 'AssociatedResourceId' => ['description' => 'ID of the linked instance. ', 'type' => 'string', 'example' => 'waf_v2_public_cn-x0r****gr1i', 'title' => ''],
+ 'AssociatedResourceRegionId' => ['description' => 'Region ID of the linked instance. ', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'AssociatedMode' => ['description' => 'Association pattern: '."\n"
+ .'- **Managed**: Managed mode, where GA restricts user operations based on management policies. '."\n"
+ .'- **Associated** (default): Loose coupling association, where GA does not restrict user operations; WAF uses loose coupling. ', 'type' => 'string', 'example' => 'Associated', 'title' => ''],
+ 'State' => ['description' => 'Status of the association between the Alibaba Cloud Global Accelerator (GA) instance and other cloud product resources. '."\n"
+ ."\n"
+ .'- **active**: The resource is active. '."\n"
+ ."\n"
+ .'- **binding**: The resource is being attached. '."\n"
+ ."\n"
+ .'- **unBinding**: The resource is being detached. '."\n"
+ ."\n"
+ .'- **wafRelease**: The WAF instance has been released. ', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'Instance ID of Alibaba Cloud Global Accelerator (GA).', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****'."\n", 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'BindExist.EndPointGroup',
- 'errorMessage' => 'EndPointGroup %s exist bind.',
- ],
- [
- 'errorCode' => 'StateError.Accelerator',
- 'errorMessage' => 'accelerator state %s is illegal',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Query peripheral resources associated with a Global Accelerator (GA) instance ',
+ 'summary' => 'Obtain the cloud products associated with a Global Accelerator (GA) instance ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetGlobalAcceleratorResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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",
+ '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"}]',
],
- 'CreateCustomRoutingEndpointGroups' => [
- 'summary' => 'Creates endpoint groups for a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetHealthStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '146731',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
+ 'abilityTreeCode' => '35853',
+ '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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\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',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
'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',
- ],
+ '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"
+ ."\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.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance that you want to query.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the custom routing listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ 'schema' => ['description' => 'The ID of the listener.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
- [
- 'name' => 'EndpointGroupConfigurations',
- 'in' => 'query',
- 'style' => 'repeatList',
+ ],
+ 'responses' => [
+ 200 => [
'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"
+ 'title' => '',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF'],
+ 'ListenerId' => ['description' => 'The ID of the listener.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'HealthStatus' => ['description' => 'The health status of endpoints and endpoint groups. Valid values:'."\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"
+ .'- **normal**'."\n"
+ ."\n"
+ .'- **abnormal**'."\n"
+ ."\n"
+ .'- **partiallyAbnormal**', 'type' => 'string', 'example' => 'normal', 'title' => ''],
+ 'EndpointGroups' => [
+ 'description' => 'The information about the endpoint groups.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the endpoint group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'EndpointGroupType' => ['description' => 'The type of the endpoint group. Valid values:'."\n"
."\n"
- .'You need to specify the backend service ports and protocols for the endpoint group. The ports are mapped to listener ports.'."\n"
+ .'- **default:** the default endpoint group.'."\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"
+ .'- **virtual:** a virtual endpoint group.', 'type' => 'string', 'example' => 'default', 'title' => ''],
+ 'HealthStatus' => ['description' => 'The health status of the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **init:** The endpoint group is being initialized.'."\n"
+ ."\n"
+ .'- **normal:** The endpoint group is normal.'."\n"
+ ."\n"
+ .'- **abnormal:** The endpoint group is abnormal.'."\n"
+ ."\n"
+ .'- **partiallyAbnormal:** The endpoint group is partially abnormal.', 'type' => 'string', 'example' => 'normal', 'title' => ''],
+ 'ForwardingRuleIds' => [
+ 'description' => 'The IDs of the forwarding rules.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'example' => 'frule-bp134k63nmtwmnwee****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Endpoints' => [
+ 'description' => 'The information about the endpoints.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the endpoints.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointId' => ['description' => 'The ID of the endpoint.', 'type' => 'string', 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
+ 'Address' => ['description' => 'The IP address of the endpoint.', 'type' => 'string', 'example' => '47.0.XX.XX', 'title' => ''],
+ 'HealthStatus' => ['description' => 'The health status of the endpoint. Valid values:'."\n"
."\n"
- .'* **TCP**: TCP'."\n"
- .'* **UDP**: UDP'."\n"
- .'* **TCP,UDP**: TCP and UDP'."\n"
+ .'- **init:** The endpoint is being initialized.'."\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"
+ .'- **normal:** The endpoint is normal.'."\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,
+ .'- **abnormal:** The endpoint is abnormal.', 'type' => 'string', 'example' => 'normal', 'title' => ''],
+ 'HealthDetail' => ['description' => 'The health check details of the endpoint.'."\n"
+ ."\n"
+ .'> This parameter is unavailable.', 'type' => 'string', 'example' => '无', 'title' => ''],
+ 'Port' => ['description' => 'The port that is used to connect to the endpoint.', 'type' => 'integer', 'format' => 'int64', 'example' => '80', 'title' => ''],
+ 'Type' => ['description' => 'The type of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Domain:** a custom domain name.'."\n"
+ ."\n"
+ .'- **Ip:** a custom IP address.'."\n"
+ ."\n"
+ .'- **PublicIp:** a public IP address provided by Alibaba Cloud.'."\n"
+ ."\n"
+ .'- **ECS:** an Elastic Compute Service (ECS) instance.'."\n"
+ ."\n"
+ .'- **SLB:** a Classic Load Balancer (CLB) instance.'."\n"
+ ."\n"
+ .'- **ALB:** an Application Load Balancer (ALB) instance.'."\n"
+ ."\n"
+ .'- **OSS:** an Object Storage Service (OSS) bucket.'."\n"
+ ."\n"
+ .'- **ENI:** an elastic network interface (ENI).'."\n"
+ ."\n"
+ .'- **NLB:** a Network Load Balancer (NLB) instance.', 'type' => 'string', 'example' => 'Ip', 'title' => ''],
],
- 'required' => false,
- 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
],
- 'required' => false,
- 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
],
- 'required' => true,
- 'maxItems' => 5,
+ 'example' => '',
],
],
],
+ 'title' => 'GetHealthStatus',
+ 'summary' => 'Queries the health status of the endpoints and endpoint groups of a listener.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:12.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-22T05:52:48.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-22T05:52:47.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetHealthStatus'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetHealthStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'GetInvalidDomainCount' => [
+ 'summary' => 'Calls the GetInvalidDomainCount operation to retrieve the total 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 region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'default' => 'cn-hangzhou', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ ],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned information.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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****',
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'InvalidDomainCount' => ['description' => 'The number of invalid domain names.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'StateError.Accelerator',
- 'errorMessage' => 'accelerator state %s is illegal',
- ],
- [
- 'errorCode' => 'NotExist.Accelerator',
- 'errorMessage' => 'accelerator %s is not exist',
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
+ ],
+ ],
+ 'title' => 'Retrieve the total number of invalid domain names',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:25.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:46.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetInvalidDomainCount'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetInvalidDomainCount',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"InvalidDomainCount\\": \\"1\\"\\n}","type":"json"}]',
],
- 'UpdateCustomRoutingEndpointGroupAttribute' => [
- 'summary' => 'Modifies the name and description of an endpoint group that is associated with a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
+ 'GetIpsetsBandwidthLimit' => [
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the GA instance to be queried.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****', 'title' => ''],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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', 'title' => ''],
+ 'BandwidthAllocationType' => ['description' => 'The type of the bandwidth that is allocated.'."\n"
+ ."\n"
+ .'* **ShareBandwidth:** shared bandwidth.'."\n"
+ .'* **ExclusiveBandwidth:** dedicated bandwidth.'."\n", 'type' => 'string', 'example' => 'ShareBandwidth', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'GetIpsetsBandwidthLimit',
+ 'summary' => 'Queries the maximum bandwidth of an acceleration area.',
+ 'description' => '本接口用于查询带宽计费方式为**按带宽**的标准型全球加速实例各加速地域的带宽峰值限额,即全球加速实例所绑定基础带宽包的带宽值。',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:13.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetIpsetsBandwidthLimit'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetIpsetsBandwidthLimit',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'GetSpareIp' => [
+ 'summary' => 'Queries the status of a CNAME spare IP address.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '147875',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
+ 'abilityTreeCode' => '33855',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\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',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of a request.'."\n"
+ ."\n"
+ .'Generate a unique value from your client to ensure that different requests have unique ClientToken values. ClientToken supports only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '1F4B6A4A-C89E-489E-BAF1-52777EE148EF', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint group ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
- ],
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ .'- **true**: performs a dry run without actually creating the resource. The system checks the required parameters, request syntax, and business limitations. If the check fails, the corresponding error is returned. If the check passes, the error code `DryRunOperation` is returned.'."\n"
+ .'- **false** (default): performs a dry run and sends the request. If the check passes, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA) instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'Description',
+ 'name' => 'SpareIp',
'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',
- ],
+ 'schema' => ['description' => 'The CNAME spare IP address. When an acceleration area is abnormal, traffic is switched to this IP address.', 'type' => 'string', 'required' => true, 'maxItems' => 2, 'example' => '47.100.XX.XX', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8'],
+ 'State' => ['description' => 'The status of the CNAME spare IP address. Valid values:'."\n"
+ .'- **active**: active.'."\n"
+ .'- **inuse**: in use.', 'type' => 'string', 'example' => 'active', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NotExist.EndPointGroup',
- 'errorMessage' => 'endpoint group %s is not exist',
- ],
- [
- 'errorCode' => 'StateError.EndPointGroup',
- 'errorMessage' => 'endpoint group state %s is illegal',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
],
],
- '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',
+ 'title' => 'Query the status of a CNAME spare IP address',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:12:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:26.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:46.000Z', 'description' => 'Error codes changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetSpareIp'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetSpareIp',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"State\\": \\"active\\"\\n}","type":"json"}]',
+ ],
+ 'ListAccelerateAreas' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -17465,223 +14428,100 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
+ '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' => 'EndpointGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaua****',
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'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",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
+ 'Areas' => [
+ 'description' => 'The information about the areas.',
'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',
+ 'LocalName' => ['description' => 'The name of the area.', 'type' => 'string', 'example' => 'North China', 'title' => ''],
+ 'AreaId' => ['description' => 'The area ID.', 'type' => 'string', 'example' => 'cn-huabei', 'title' => ''],
+ 'RegionList' => [
+ 'description' => 'The regions in the acceleration area.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'China (Qingdao)', 'title' => ''],
+ 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''],
+ ],
+ 'description' => 'The regions in the acceleration area.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => 'The information about the areas.',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"Areas\\": [\\n {\\n \\"LocalName\\": \\"North China\\",\\n \\"AreaId\\": \\"cn-huabei\\",\\n \\"RegionList\\": [\\n {\\n \\"LocalName\\": \\"China (Qingdao)\\",\\n \\"RegionId\\": \\"cn-qingdao\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'ListAccelerateAreas',
+ 'summary' => 'Queries available acceleration areas and regions.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:30.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAccelerateAreas'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListAccelerateAreas',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'AccelerateArea', 'arn' => 'acs:ga:{#regionId}:{#accountId}:region/*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'ListAccelerators' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -17693,824 +14533,858 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '147622',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
+ 'abilityTreeCode' => '8882',
+ 'abilityTreeNodes' => ['FEATUREga231EJR'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'deprecated' => true, 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'required' => false, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'ListenerId',
+ 'name' => 'State',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the custom routing listener.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ 'schema' => ['description' => 'The state of the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **init**: The instance is being initialized.'."\n"
+ ."\n"
+ .'- **active**: The instance is active.'."\n"
+ ."\n"
+ .'- **configuring**: The instance is being configured.'."\n"
+ ."\n"
+ .'- **binding**: The instance is being bound.'."\n"
+ ."\n"
+ .'- **unbinding**: The instance is being unbound.'."\n"
+ ."\n"
+ .'- **deleting**: The instance is being deleted.'."\n"
+ ."\n"
+ .'- **finacialLocked**: The instance is locked due to an overdue payment.', 'type' => 'string', 'required' => false, 'example' => 'active', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'epg-bp14sz7ftcwwjgrdm****',
- ],
+ 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-aekztkx4zwc****', 'title' => ''],
],
[
- 'name' => 'AccessLogSwitch',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'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',
+ 'title' => '',
+ 'description' => 'The tags of the resource.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags of the resource.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key of the Global Accelerator resource. The tag key cannot be an empty string.'."\n"
+ ."\n"
+ .'The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 tag keys.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'tag-key'],
+ 'Value' => ['description' => 'The tag value of the Global Accelerator resource. The tag value can be an empty string.'."\n"
+ ."\n"
+ .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'You can specify up to 20 tag values.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'tag-value'],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response contains a list of items.',
'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",
+ 'TotalCount' => ['description' => 'The number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', 'title' => ''],
+ 'Accelerators' => [
+ 'description' => 'The details of the Global Accelerator instances.',
'type' => 'array',
'items' => [
- 'description' => 'The configuration information about the endpoint groups.',
+ 'description' => 'The details of the Global Accelerator instances.',
'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',
+ 'DnsName' => ['description' => 'The canonical name (CNAME) assigned to the Global Accelerator instance.', 'type' => 'string', 'example' => 'ga-bp15u1i2hmtbk8c3i****.aliyunga0019.com', 'title' => ''],
+ 'Type' => ['description' => 'This parameter is invalid.', 'type' => 'string', 'example' => 'None', 'title' => ''],
+ 'SecondDnsName' => ['description' => 'The CNAME that is assigned to the Global Accelerator instance after it is associated with an Anti-DDoS Pro/Premium instance.', 'type' => 'string', 'example' => 'ga-bp1f609c76zg6zuna****-1.aliyunga0047.com', 'title' => ''],
+ 'Spec' => ['description' => 'The instance type of the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **1**: Small I'."\n"
+ ."\n"
+ .'- **2**: Small II'."\n"
+ ."\n"
+ .'- **3**: Small III'."\n"
+ ."\n"
+ .'- **5**: Medium I'."\n"
+ ."\n"
+ .'- **8**: Medium II'."\n"
+ ."\n"
+ .'- **10**: Medium III'."\n"
+ ."\n"
+ .'- **20**: Large I'."\n"
+ ."\n"
+ .'- **30**: Large II'."\n"
+ ."\n"
+ .'- **40**: Large III'."\n"
+ ."\n"
+ .'- **50**: Large IV'."\n"
+ ."\n"
+ .'- **60**: Large V'."\n"
+ ."\n"
+ .'- **70**: Large VI'."\n"
+ ."\n"
+ .'- **80**: Large VII'."\n"
+ ."\n"
+ .'- **90**: Large VIII'."\n"
+ ."\n"
+ .'- **100**: Extra Large I'."\n"
+ ."\n"
+ .'- **200**: Extra Large II'."\n"
+ ."\n"
+ .'> Currently, the Large III and higher instance types are available only to users on the whitelist. To use these instance types, contact your account manager.'."\n"
+ ."\n"
+ .'Different instance types have different definitions. For more information, see [Instance types](~~153127~~).', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'State' => ['description' => 'The state of the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **init**: The instance is being initialized.'."\n"
+ ."\n"
+ .'- **active**: The instance is active.'."\n"
+ ."\n"
+ .'- **configuring**: The instance is being configured.'."\n"
+ ."\n"
+ .'- **binding**: The instance is being bound.'."\n"
+ ."\n"
+ .'- **unbinding**: The instance is being unbound.'."\n"
+ ."\n"
+ .'- **deleting**: The instance is being deleted.'."\n"
+ ."\n"
+ .'- **finacialLocked**: The instance is locked due to an overdue payment.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'CreateTime' => ['description' => 'The timestamp that indicates when the Global Accelerator instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1650643200', 'title' => ''],
+ 'CenId' => ['description' => 'The Cloud Enterprise Network (CEN) instance that is bound to the Global Accelerator instance.', 'type' => 'string', 'example' => 'cen-hjfufhjfuwff****', 'title' => ''],
+ 'DdosId' => ['description' => 'The ID of the Anti-DDoS Pro/Premium instance that is associated with the Global Accelerator instance.', 'type' => 'string', 'deprecated' => true, 'example' => 'ddoscoo-cn-zz11vq7j****', 'title' => ''],
+ 'BasicBandwidthPackage' => [
+ 'description' => 'The details of the basic bandwidth plan that is associated with the Global Accelerator instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Bandwidth' => ['description' => 'The bandwidth of the basic bandwidth plan. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'BandwidthType' => ['description' => 'The type of the bandwidth. Valid values:'."\n"
+ ."\n"
+ .'- **Basic**: standard acceleration bandwidth.'."\n"
+ ."\n"
+ .'- **Enhanced**: enhanced acceleration bandwidth.'."\n"
+ ."\n"
+ .'- **Advanced**: premium acceleration bandwidth.', 'type' => 'string', 'example' => 'Basic', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the basic bandwidth plan.', 'type' => 'string', 'example' => 'gbwp-bp1d8xk8bg139j0fw****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'RegionId' => ['description' => 'The region ID of the Global Accelerator instance. The value is set to **cn-hangzhou**.', 'type' => 'string', 'deprecated' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ 'InstanceChargeType' => ['description' => 'The billing method of the Global Accelerator instance.', 'type' => 'string', 'example' => 'PREPAY', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'Description' => ['description' => 'The description of the Global Accelerator instance.', 'type' => 'string', 'example' => 'Accelerator', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The bandwidth of the Global Accelerator instance. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
+ 'BandwidthBillingType' => ['description' => 'The billing method for the bandwidth.'."\n"
+ ."\n"
+ .'- **BandwidthPackage**: pay-by-bandwidth-plan.'."\n"
+ ."\n"
+ .'- **CDT**: pay-by-data-transfer.', 'type' => 'string', 'example' => 'CDT', 'title' => ''],
+ 'ExpiredTime' => ['description' => 'The timestamp that indicates when the Global Accelerator instance expires.', 'type' => 'integer', 'format' => 'int64', 'example' => '1653235200', 'title' => ''],
+ 'Name' => ['description' => 'The name of the Global Accelerator instance.', 'type' => 'string', 'example' => 'Accelerator', 'title' => ''],
+ 'CrossDomainBandwidthPackage' => [
+ 'description' => 'The details of the cross-domain acceleration bandwidth plan that is associated with the Global Accelerator instance.'."\n"
+ ."\n"
+ .'This array is returned only by the Alibaba Cloud International Website (www\\.alibabacloud.com).',
+ 'type' => 'object',
+ 'properties' => [
+ 'Bandwidth' => ['description' => 'The bandwidth of the cross-domain acceleration bandwidth plan. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the cross-domain acceleration bandwidth plan.', 'type' => 'string', 'example' => 'gbwp-bp1d8xk8bg139j0fw****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
- 'Description' => [
- 'description' => 'The description of the endpoint group.'."\n",
- 'type' => 'string',
- 'example' => 'EndpointGroup',
+ 'IpSetConfig' => [
+ 'title' => '',
+ 'description' => 'The configuration of the acceleration area.',
+ '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 needs. Global Accelerator provides a separate elastic IP address (EIP) for each acceleration region.'."\n"
+ ."\n"
+ .'- **Anycast**: automatic nearby access mode. You do not need to configure an acceleration area. Global Accelerator provides an Anycast EIP for multiple regions across the globe. Users can connect to the nearest access point of the Alibaba Cloud network using the Anycast EIP.', 'type' => 'string', 'title' => '', 'example' => 'UserDefine'],
+ ],
+ 'example' => '',
],
- 'EndpointGroupIpList' => [
- 'description' => 'The endpoint group IP addresses.'."\n",
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-aekztkx4zwc****', 'title' => ''],
+ 'Tags' => [
+ 'description' => 'The tags of the resource.',
'type' => 'array',
'items' => [
- 'description' => 'The endpoint group IP address.'."\n",
- 'type' => 'string',
- 'example' => '203.0.XX.XX',
+ 'description' => 'The tags of the resource.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test-key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'tast-value', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
],
- 'EndpointGroupUnconfirmedIpList' => [
- 'description' => 'The endpoint group IP addresses to be confirmed after the GA instance is upgraded.'."\n",
+ 'CrossBorderMode' => ['description' => 'The type of cross-border acceleration for the instance that uses the pay-by-data-transfer billing method. Valid values:'."\n"
+ ."\n"
+ .'- **bpgPro**: premium bandwidth for cross-border acceleration.'."\n"
+ ."\n"
+ .'- **private**: <props="china">China Unicom leased line for cross-border acceleration.</props><props="intl">Leased line for cross-domain acceleration.</props>', 'type' => 'string', 'example' => 'bpgPro', 'title' => ''],
+ 'CrossBorderStatus' => ['description' => 'Indicates whether cross-border data transfer is enabled for the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Cross-border data transfer is enabled, which can accelerate data transfer across borders.'."\n"
+ ."\n"
+ .'- **false**: Cross-border data transfer is disabled, which cannot accelerate data transfer across borders.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'UpgradableStatus' => ['description' => 'The upgrade status of the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **notUpgradable**: The instance does not need to be upgraded.'."\n"
+ ."\n"
+ .'- **upgradable**: The instance can be upgraded to the latest version.'."\n"
+ ."\n"
+ .'- **upgradeFailed**: The instance failed to be upgraded.', 'type' => 'string', 'title' => '', 'example' => 'notUpgradable'],
+ 'ServiceId' => ['description' => 'The ID of the service that manages the instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only when **ServiceManaged** is set to **True**.', 'type' => 'string', 'title' => '', 'example' => 'ALB'],
+ 'ServiceManaged' => ['description' => 'Indicates whether the instance is a managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance is a managed instance.'."\n"
+ ."\n"
+ .'- **false**: The instance is not a managed instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceManagedInfos' => [
+ 'description' => 'The actions that you can perform on the managed instance.'."\n"
+ ."\n"
+ .'> - This parameter is returned only when **ServiceManaged** is set to **True**.'."\n"
+ .'>'."\n"
+ .'> - When the instance is in a managed state, you have limited permissions to perform operations on the instance.',
'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',
+ 'description' => 'The actions that you can perform on the managed instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Action' => ['description' => 'The name of the action on the managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **Create**: create an instance.'."\n"
+ ."\n"
+ .'- **Update**: update the current instance.'."\n"
+ ."\n"
+ .'- **Delete**: delete the current instance.'."\n"
+ ."\n"
+ .'- **Associate**: associate the instance with other resources.'."\n"
+ ."\n"
+ .'- **UserUnmanaged**: disassociate the instance from the service.'."\n"
+ ."\n"
+ .'- **CreateChild**: create a child resource in the instance.', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ ."\n"
+ .'- **Listener**: listener.'."\n"
+ ."\n"
+ .'- **IpSet**: acceleration region.'."\n"
+ ."\n"
+ .'- **EndpointGroup**: endpoint group.'."\n"
+ ."\n"
+ .'- **ForwardingRule**: forwarding rule.'."\n"
+ ."\n"
+ .'- **Endpoint**: endpoint.'."\n"
+ ."\n"
+ .'- **EndpointGroupDestination**: protocol mapping of an endpoint group associated with a custom routing listener.'."\n"
+ ."\n"
+ .'- **EndpointPolicy**: traffic policy of an endpoint associated with a custom routing listener.'."\n"
+ ."\n"
+ .'> This parameter is returned only when **Action** is set to **CreateChild**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'IsManaged' => ['description' => 'Indicates whether the specified action is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The specified action is managed, and you cannot perform the specified action on the managed instance.'."\n"
+ ."\n"
+ .'- **false**: The specified action is not managed, and you can perform the specified action on the managed instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- '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",
+ 'DdosConfigList' => [
'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',
- ],
+ 'DdosId' => ['description' => 'The ID of the Anti-DDoS Pro/Premium instance.', 'type' => 'string', 'example' => 'ddoscoo-cn-a8w4ekcb**', 'title' => ''],
+ 'DdosRegionId' => ['description' => 'The region ID of the Anti-DDoS Pro/Premium instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
+ 'description' => 'The list of Anti-DDoS Pro/Premium configurations.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ 'title' => 'ListAccelerators',
+ 'summary' => 'Queries a list of Global Accelerator instances.',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:12:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-12-23T02:56:21.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-12-04T03:11:53.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-11-26T03:38:07.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:32.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-05-07T05:54:56.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-15T05:50:17.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-07-20T14:02:46.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-06-14T03:27:03.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-04-06T11:31:23.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-12-13T11:07:13.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-09-27T08:45:05.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAccelerators'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListAccelerators',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
],
],
],
- '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",
+ 'extraInfo' => ' ',
],
- 'DeleteCustomRoutingEndpointGroups' => [
- 'summary' => 'Deletes multiple endpoint groups that are associated with a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListAcls' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '146781',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
+ 'abilityTreeCode' => '21718',
+ '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,
- 'example' => 'cn-hangzhou',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AclIds',
'in' => 'query',
+ 'style' => 'flat',
'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',
+ '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****', 'title' => ''],
'required' => false,
- 'example' => 'false',
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'AclName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance that you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'EndpointGroupIds',
+ '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****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-aek2lgw4evw****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Tag',
'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",
+ 'title' => '',
+ 'description' => 'The tag of the ACL.'."\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',
+ '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,
- 'example' => 'epg-bp1dmlohjjz4kqaua****',
+ 'title' => '',
+ 'example' => '',
],
- 'required' => true,
- 'maxItems' => 10,
+ 'required' => false,
+ 'maxItems' => 21,
+ 'example' => '',
],
],
],
'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',
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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****', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ '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****', 'title' => ''],
+ 'AclName' => ['description' => 'The name of the network ACL.'."\n", 'type' => 'string', 'example' => 'test-acl', 'title' => ''],
+ 'AddressIPVersion' => ['description' => 'The IP version of the network ACL. Valid values:'."\n"
+ ."\n"
+ .'* **IPv4**'."\n"
+ .'* **IPv6**'."\n", 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ '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', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-aek2lgw4evw****', 'title' => ''],
+ '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', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the network ACL.'."\n", 'type' => 'string', 'example' => 'tag-value', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NotExist.EndPointGroup',
- 'errorMessage' => 'endpoint group %s is not exist',
- ],
- [
- 'errorCode' => 'StateError.EndPointGroup',
- 'errorMessage' => 'endpoint group state %s is illegal',
+ 'title' => 'ListAcls',
+ 'summary' => 'Queries a list of access control lists (ACLs).',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:19.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAcls'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListAcls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/*'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'CreateCustomRoutingEndpointGroupDestinations' => [
- 'summary' => 'Creates mappings for an endpoint group that is associated with a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListApplicationMonitor' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '146833',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
+ 'abilityTreeCode' => '114803',
+ 'abilityTreeNodes' => ['FEATUREgaLHYOX6'],
],
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => false, 'default' => 'cn-hangzhou', 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint group ID.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'example' => '1', 'default' => '1', 'required' => false, 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'PageSize',
'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****',
- ],
+ 'schema' => ['description' => 'The number of entries per page. Maximum value: **100**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'required' => false, 'title' => ''],
],
[
- 'name' => 'DestinationConfigurations',
+ 'name' => 'SearchValue',
'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,
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => 'aliyun', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The request ID.'."\n",
+ 'description' => 'The response parameters.',
'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",
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'ApplicationMonitors' => [
+ 'description' => 'The list of origin probing tasks.',
'type' => 'array',
'items' => [
'description' => '',
- 'type' => 'string',
- 'example' => 'dst-abc123****',
+ 'type' => 'object',
+ 'properties' => [
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance on which the origin probing task runs.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener on which the origin probing task runs.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'TaskId' => ['description' => 'The origin probing task ID.', 'type' => 'string', 'example' => 'sm-bp1fpdjfju9k8yr1y****', 'title' => ''],
+ 'TaskName' => ['description' => 'The origin probing task name.', 'type' => 'string', 'example' => 'task1', 'title' => ''],
+ 'Address' => ['description' => 'The URL or IP address that was probed.', 'type' => 'string', 'example' => 'https://www.aliyun.com', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => '{ "http_method": "get","header": "key:asd","acceptable_response_code": "500","cert_verify": true }', 'title' => ''],
+ 'DetectEnable' => ['description' => 'Indicates whether the automatic diagnostics feature is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'DetectThreshold' => ['description' => 'The threshold that is used to trigger the automatic diagnostics feature.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'DetectTimes' => ['description' => 'The number of times that are required to reach the threshold before the automatic diagnostics feature can be triggered.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''],
+ 'State' => ['description' => 'The status of the origin probing task. Valid values:'."\n"
+ ."\n"
+ .'- **active:** The origin probing task is running.'."\n"
+ ."\n"
+ .'- **inactive:** The origin probing task is stopped.'."\n"
+ ."\n"
+ .'- **init:** The origin probing task is being initialized.'."\n"
+ ."\n"
+ .'- **deleting:** The origin probing task is being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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',
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
+ ],
+ ],
+ 'title' => 'ListApplicationMonitor',
+ 'summary' => 'Queries origin probing tasks.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:01.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:45.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2021-12-28T13:10:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplicationMonitor'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/*'],
+ ],
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
],
- 'UpdateCustomRoutingEndpointGroupDestinations' => [
- 'summary' => 'Modifies the mapping configurations of an endpoint group that is associated with a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListApplicationMonitorDetectResult' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '146981',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
+ 'abilityTreeCode' => '117707',
+ 'abilityTreeNodes' => ['FEATUREgaLHYOX6'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'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',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'PageSize',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'TaskId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
- ],
+ 'schema' => ['description' => 'The origin probing task ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sm-bp1fpdjfju9k8yr1y****', 'title' => ''],
],
[
- 'name' => 'DestinationConfigurations',
+ 'name' => 'BeginTime',
'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,
- ],
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned information.'."\n",
+ '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',
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener on which the origin probing task runs.'."\n", 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'TaskId' => ['description' => 'The origin probing task ID.'."\n", 'type' => 'string', 'example' => 'sm-bp1fpdjfju9k8yr1y****', 'title' => ''],
+ 'Port' => ['description' => 'The listener port.'."\n", 'type' => 'string', 'example' => '80', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'StatusCode' => ['description' => 'The error code returned by the origin probing task.'."\n", 'type' => 'string', 'example' => '502', 'title' => ''],
+ 'Content' => ['description' => 'The response content returned by the origin probing task.'."\n", 'type' => 'string', 'example' => '502 BadGateway', 'title' => ''],
+ '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', 'title' => ''],
+ 'DetectTime' => ['description' => 'The time when the diagnosis of the origin probing task ends.'."\n", 'type' => 'string', 'example' => '1663205460', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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',
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
+ ],
+ ],
+ 'title' => 'ListApplicationMonitorDetectResult',
+ 'summary' => 'Queries the diagnostic results of origin probing tasks.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:10.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:45.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-01-05T02:22:02.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplicationMonitorDetectResult'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListApplicationMonitorDetectResult',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- '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',
- ],
+ 'ListAvailableAccelerateAreas' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -18519,200 +15393,147 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '8883',
+ '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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'DestinationId',
+ 'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group mapping configuration.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'dst-123abc****',
- ],
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'required' => false, 'example' => 'ga-bp1yeeq8yfoyszmqy****', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'AccessMode',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'epg-bp1j184jhb9i9ubwf****',
- ],
+ 'schema' => ['description' => 'The access mode of the acceleration area. Valid values:'."\n"
+ ."\n"
+ .'- anycast: queries the supported anycast acceleration areas.'."\n"
+ ."\n"
+ .'- Other values: queries the supported non-anycast acceleration areas.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'anycast'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
+ 'description' => 'The information returned.',
'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.',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A9B4E54C-9CCD-4002-91A9-D38C6C209192', 'title' => ''],
+ 'Areas' => [
+ 'description' => 'The list of areas.',
'type' => 'array',
'items' => [
- 'description' => 'A list of action policies that users can execute on this managed instance.',
+ 'description' => 'The list of areas.',
'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',
+ 'LocalName' => ['description' => 'The name of the area.', 'type' => 'string', 'example' => 'China North', 'title' => ''],
+ 'AreaId' => ['description' => 'The ID of the area.', 'type' => 'string', 'example' => 'cn-huabei', 'title' => ''],
+ 'RegionList' => [
+ 'description' => 'The list of regions.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of regions.',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'China (Qingdao)', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''],
+ 'IspTypeList' => [
+ 'description' => 'The line type of the public IP address in the acceleration region.'."\n"
+ ."\n"
+ .'- **BGP** (default): BGP (Multi-ISP) line.'."\n"
+ ."\n"
+ .'- **BGP\\_PRO**: BGP (Multi-ISP) Pro line.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The line type of the public IP address in the acceleration region.'."\n"
+ ."\n"
+ .'- **BGP** (default): BGP (Multi-ISP) line.'."\n"
+ ."\n"
+ .'- **BGP\\_PRO**: BGP (Multi-ISP) Pro line.', 'type' => 'string', 'example' => 'BGP', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'ChinaMainland' => ['description' => 'Indicates whether the region is in the Chinese mainland. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The region is in the Chinese mainland.'."\n"
+ ."\n"
+ .'- **false**: The region is not in the Chinese mainland.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'SupportIpv6' => ['description' => 'Indicates whether IPv6 is supported. Valid values:'."\n"
+ ."\n"
+ .'- **true**: IPv6 is supported.'."\n"
+ ."\n"
+ .'- **false**: IPv6 is not supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'MultiAz' => ['description' => 'Indicates whether multi-zone deployment is supported. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Multi-zone deployment is supported.'."\n"
+ ."\n"
+ .'- **false**: Multi-zone deployment is not supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'ListAvailableAccelerateAreas',
+ 'summary' => 'You can call the ListAvailableAccelerateAreas operation to query available acceleration areas.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:23.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-31T03:38:40.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-07-31T03:38:37.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-05-07T05:34:17.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-01-23T06:28:54.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-07-06T06:39:31.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableAccelerateAreas'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListAvailableAccelerateAreas',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
],
- 'ListCustomRoutingEndpointGroupDestinations' => [
- 'summary' => 'Queries endpoint group mapping configurations of a custom routing listener of a Global Accelerator (GA) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListAvailableBusiRegions' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -18724,404 +15545,183 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '147631',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
+ 'abilityTreeCode' => '8884',
+ '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' => '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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'required' => false, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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",
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', 'title' => ''],
+ 'Regions' => [
+ 'description' => 'The information about the regions.',
'type' => 'array',
'items' => [
- 'description' => 'The details about the endpoint group mappings.'."\n",
+ 'description' => 'The information about the region.',
'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',
- ],
- ],
- ],
- ],
+ 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'China (Qingdao)', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''],
+ 'Pop' => ['description' => 'Indicates whether it is a point of presence (PoP) of Alibaba Cloud. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'ChinaMainland' => ['description' => 'Indicates whether the region is in the Chinese mainland. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"China (Qingdao)\\",\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"Pop\\": false,\\n \\"ChinaMainland\\": true\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'ListAvailableBusiRegions',
+ 'summary' => 'Queries the available acceleration regions of a Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:24.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-07-06T06:39:30.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableBusiRegions'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListAvailableBusiRegions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'ListBandwidthPackages' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '146983',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
- ],
+ '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",
- 'example' => 'cn-hangzhou',
- 'required' => true,
- 'type' => 'string',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'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',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'PageSize',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'State',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint group ID.'."\n"
- ."\n"
- .'**'."\n"
- ."\n"
- .'****'."\n",
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
- 'required' => true,
- 'type' => 'string',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'DestinationIds',
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'BandwidthPackageId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the bandwidth plan.'."\n", 'type' => 'string', 'required' => false, 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-aek2ry6mp2c****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The IDs of the endpoint group mappings.'."\n",
+ 'title' => '',
+ 'description' => 'The tag of the bandwidth plan.'."\n",
+ 'type' => 'array',
'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****',
+ '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,
- 'type' => 'string',
+ 'title' => '',
+ 'example' => '',
],
- 'maxItems' => 4000,
'required' => false,
- 'type' => 'array',
+ 'maxItems' => 21,
+ 'example' => '',
],
],
],
@@ -19129,528 +15729,421 @@
200 => [
'schema' => [
'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
- 'title' => 'Id of the request',
- 'type' => 'string',
+ 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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', 'title' => ''],
+ 'BandwidthType' => ['description' => 'The type of the bandwidth. Valid values:'."\n"
+ ."\n"
+ .'* **Basic**'."\n"
+ .'* **Enhanced**'."\n"
+ .'* **Advanced**'."\n", 'type' => 'string', 'example' => 'Basic', 'title' => ''],
+ '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', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the bandwidth plan was created.'."\n", 'type' => 'string', 'example' => '1578966918000', 'title' => ''],
+ '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', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region where the GA instance is deployed. **cn-hangzhou** is returned.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ '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', 'title' => ''],
+ 'BandwidthPackageId' => ['description' => 'The ID of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The bandwidth value of the bandwidth plan. Unit: Mbit/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'Description' => ['description' => 'The description of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'testDescription', 'title' => ''],
+ 'ExpiredTime' => ['description' => 'The expiration time of the bandwidth plan.'."\n", 'type' => 'string', 'example' => '1578966918000', 'title' => ''],
+ '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ 'Name' => ['description' => 'The name of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'testName', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-aek2ry6mp2c****', 'title' => ''],
+ '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', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'tag-value', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
- 'title' => 'Schema of Response',
- 'type' => 'object',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NotExist.EndPointGroup',
- 'errorMessage' => 'endpoint group %s is not exist',
- ],
- [
- 'errorCode' => 'StateError.EndPointGroup',
- 'errorMessage' => 'endpoint group state %s is illegal',
+ 'title' => 'ListBandwidthPackages',
+ 'summary' => 'Queries bandwidth plans.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:24.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-07-20T14:02:46.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBandwidthPackages'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBandwidthPackages',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/*'],
+ ],
],
],
],
- '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',
+ '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":""}]',
],
- 'CreateCustomRoutingEndpoints' => [
- 'summary' => 'Creates endpoints for a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListBandwidthackages' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '146857',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\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',
- ],
+ 'schema' => ['description' => 'The page number of the list. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'PageSize',
'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,
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **100**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned information.'."\n",
+ 'description' => 'The response parameters.',
'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",
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', 'title' => ''],
+ 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'BandwidthPackages' => [
+ 'description' => 'The details of the bandwidth plans.',
'type' => 'array',
'items' => [
- 'description' => 'The IDs of the endpoints.'."\n",
- 'type' => 'string',
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
+ 'description' => 'The details of the bandwidth plans.',
+ 'type' => 'object',
+ 'properties' => [
+ 'BandwidthPackageId' => ['description' => 'The ID of the bandwidth plan.', 'type' => 'string', 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The bandwidth of the bandwidth plan. Unit: Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'Description' => ['description' => 'The description of the bandwidth plan.', 'type' => 'string', 'example' => 'testDescription', 'title' => ''],
+ 'ExpiredTime' => ['description' => 'The timestamp that indicates when the bandwidth plan expires.', 'type' => 'string', 'example' => '1578966918000', 'title' => ''],
+ 'State' => ['description' => 'The status of the bandwidth plan.'."\n"
+ ."\n"
+ .'- **init**: The bandwidth plan is being initialized.'."\n"
+ ."\n"
+ .'- **active**: The bandwidth plan is available.'."\n"
+ ."\n"
+ .'- **binded**: The bandwidth plan is bound.'."\n"
+ ."\n"
+ .'- **binding**: The bandwidth plan is being bound.'."\n"
+ ."\n"
+ .'- **unbinding**: The bandwidth plan is being unbound.'."\n"
+ ."\n"
+ .'- **updating**: The bandwidth plan is being updated.'."\n"
+ ."\n"
+ .'- **finacialLocked**: The bandwidth plan is financially locked.'."\n"
+ ."\n"
+ .'- **locked**: The bandwidth plan is locked.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'CreateTime' => ['description' => 'The timestamp that indicates when the bandwidth plan was created.', 'type' => 'string', 'example' => '1578966918000', 'title' => ''],
+ 'ChargeType' => ['description' => 'The billing method.'."\n"
+ ."\n"
+ .'- **PREPAY** (default): subscription.'."\n"
+ ."\n"
+ .'- **POSTPAY**: pay-as-you-go.', 'type' => 'string', 'example' => 'PREPAY', 'title' => ''],
+ 'Accelerators' => [
+ 'description' => 'The IDs of the Global Accelerator instances that are associated with the bandwidth plan.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the Global Accelerator instance that is associated with the bandwidth plan.', 'type' => 'string', 'example' => 'ga-bp1qe94o52ot4pkfn****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Name' => ['description' => 'The name of the bandwidth plan.', 'type' => 'string', 'example' => 'Accelerator', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-aekzzwgr7vz2liy', 'title' => ''],
+ 'Tags' => [
+ 'description' => 'The tags of the resource.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'tag-key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'tag-value', 'title' => ''],
+ ],
+ 'description' => 'The tags of the bandwidth plans.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'title' => 'ListBandwidthackages',
+ 'summary' => 'Queries a list of bandwidth plans.',
+ 'description' => 'This operation is deprecated. Use [ListBandwidthPackages](~~2253239~~) instead.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-07-20T14:02:46.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBandwidthackages'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBandwidthackages',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
],
- 'UpdateCustomRoutingEndpoints' => [
- 'summary' => 'Modifies the endpoints of a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '146862',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
- ],
+ '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',
- ],
+ 'schema' => ['title' => '', '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',
- ],
+ 'schema' => ['title' => '', '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',
+ 'name' => 'AcceleratorId',
'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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
[
- 'name' => 'EndpointConfigurations',
+ 'name' => 'EndpointId',
'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,
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the endpoint.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
+ ],
+ [
+ 'name' => 'AccelerateIpId',
+ 'in' => 'query',
+ 'schema' => ['title' => '', '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****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
+ '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',
- ],
- 'EndpointIds' => [
- 'description' => 'The IDs of the endpoints.'."\n",
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ '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****', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''],
+ 'AccelerateIpEndpointRelations' => [
+ 'description' => 'A list of accelerated IP addresses and the endpoints with which the accelerated IP addresses are associated.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The IDs of the endpoints.'."\n",
- 'type' => 'string',
- 'example' => 'ep-bp1dmlohjjz4kqaun****',
+ 'description' => 'A list of accelerated IP addresses and the endpoints with which the accelerated IP addresses are associated.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AccelerateIpId' => ['title' => '', 'description' => 'The ID of the accelerated IP address.'."\n", 'type' => 'string', 'example' => 'gaip-bp1****'],
+ 'IpAddress' => ['title' => '', 'description' => 'The accelerated IP address of the basic GA instance.'."\n", 'type' => 'string', 'example' => '116.132.XX.XX'],
+ 'EndpointId' => ['title' => '', 'description' => 'The ID of the endpoint.'."\n", 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
+ 'EndpointName' => ['description' => 'The name of the endpoint.'."\n", 'type' => 'string', 'example' => 'ep01', 'title' => ''],
+ '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' => ['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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'title' => 'ListBasicAccelerateIpEndpointRelations',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:18.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-12-08T10:07:31.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBasicAccelerateIpEndpointRelations'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBasicAccelerateIpEndpointRelations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'DescribeCustomRoutingEndpoint' => [
- 'summary' => 'Queries a specified endpoint that is associated with a custom routing listener.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListBasicAccelerateIps' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -19658,188 +16151,129 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ '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',
- ],
+ 'schema' => ['title' => '', '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' => 'EndpointId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ep-bp1dmlohjjz4kqaun****',
- ],
+ 'schema' => ['title' => '', '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' => 'EndpointGroup',
+ 'name' => 'IpSetId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'epg-bp1j184jhb9i9ubwf****',
- ],
+ 'schema' => ['title' => '', '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' => '', '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' => '', '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****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
+ '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' => '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.',
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ '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****', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'AccelerateIps' => [
+ 'description' => 'The accelerated IP addresses of the basic GA instance.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'A list of action policies that users can execute on this managed instance.',
+ 'description' => 'The accelerated IP addresses of the basic GA instance.'."\n",
'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',
- ],
+ 'AcceleratorId' => ['description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****', 'title' => ''],
+ 'IpSetId' => ['description' => 'The ID of the acceleration region.'."\n", 'type' => 'string', 'example' => 'ips-bp11r5jb8ogp122xl****', 'title' => ''],
+ 'AccelerateIpId' => ['description' => 'The ID of the accelerated IP address of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'gaip-bp1****', 'title' => ''],
+ 'AccelerateIpAddress' => ['description' => 'The accelerated IP address of the basic GA instance.'."\n", 'type' => 'string', 'example' => '116.132.XX.XX', 'title' => ''],
+ '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', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 'title' => 'ListBasicAccelerateIps',
+ 'summary' => 'Queries the accelerated IP addresses in the acceleration region of a basic Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-12-08T10:55:07.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBasicAccelerateIps'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBasicAccelerateIps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#IpSetId}'],
+ ],
],
],
],
- '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',
+ '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":""}]',
],
- 'ListCustomRoutingEndpoints' => [
- 'summary' => 'Queries the configurations of an endpoint.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListBasicAccelerators' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -19847,813 +16281,808 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '147625',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
- ],
+ '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',
- ],
+ 'schema' => ['title' => '', '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' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ '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' => [
- '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',
- ],
+ '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' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
[
- 'name' => 'ListenerId',
+ 'name' => 'State',
'in' => 'query',
- 'schema' => [
- 'description' => 'The listener ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ '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' => 'EndpointGroupId',
+ '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****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The endpoint group ID.'."\n",
- 'type' => 'string',
+ 'title' => '',
+ '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,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'epg-bp16jdc00bhe97sr5****',
+ 'maxItems' => 21,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => '',
'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",
+ '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' => '', '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' => [
- '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',
+ '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' => '', 'description' => 'The ID of the basic bandwidth plan.'."\n", 'type' => 'string', 'example' => 'gbwp-bp1d8xk8bg139j0fw****'],
+ ],
+ 'example' => '',
],
- 'ServiceManaged' => [
- 'description' => 'Indicates whether the GA instance is managed. Valid values:'."\n"
+ 'RegionId' => ['title' => '', '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' => '', '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"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
+ .'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' => '', 'description' => 'The ID of the cross-region acceleration bandwidth plan.'."\n", 'type' => 'string', 'example' => 'gbwp-bp1d8xk8bg139j0fw****'],
+ ],
+ 'example' => '',
],
- '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",
+ 'BasicEndpointGroupId' => ['title' => '', 'description' => 'The ID of the endpoint group that is associated with the basic GA instance.'."\n", 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****'],
+ 'BasicIpSetId' => ['title' => '', '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****', 'title' => ''],
+ 'Tags' => [
+ 'description' => 'The tags of the basic GA 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',
- ],
+ 'Key' => ['description' => 'The tag key of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'Keytest', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the basic GA instance.'."\n", 'type' => 'string', 'example' => 'Valuetest', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
],
+ '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', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
+ 'PageNumber' => ['title' => '', 'description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'ListBasicAccelerators',
+ 'summary' => 'Queries basic Global Accelerator (GA) instances.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:16.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-04-06T11:31:22.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-09-27T08:45:05.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBasicAccelerators'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBasicAccelerators',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
],
],
],
- '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',
+ '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":""}]',
],
- 'DeleteCustomRoutingEndpoints' => [
- 'summary' => 'Deletes endpoints from a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListBasicEndpoints' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '146953',
- 'abilityTreeNodes' => [
- 'FEATUREgaNBCRGX',
- ],
- ],
+ '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,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['title' => '', '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 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',
- ],
+ 'schema' => ['title' => '', '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 ID of the endpoint group to which the endpoint that you want to delete belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1bpn0kn908w4nb****',
- ],
+ 'schema' => ['title' => '', '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' => 'EndpointIds',
+ 'name' => 'EndpointType',
'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,
- ],
+ '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' => '', '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****', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'A list of 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',
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ '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****', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''],
+ '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****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
+ 'EndpointId' => ['description' => 'The ID of the endpoint that is associated with the basic GA instance.'."\n", 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'Name' => ['description' => 'The name of the endpoint.'."\n", 'type' => 'string', 'example' => 'ep01', 'title' => ''],
+ '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', 'title' => ''],
+ 'EndpointAddress' => ['description' => 'The address of the endpoint.'."\n", 'type' => 'string', 'example' => 'eni-bp1a05txelswuj8g****', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'title' => 'ListBasicEndpoints',
+ 'summary' => 'Queries the endpoints that are associated with a basic Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:03.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBasicEndpoints'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBasicEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#EndpointGroupId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'CreateCustomRoutingEndpointTrafficPolicies' => [
- 'summary' => 'Creates traffic destinations for an endpoint that is associated with a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListBusiRegions' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '146955',
- 'abilityTreeNodes' => [
- 'FEATUREgaYJ70J9',
- ],
+ '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**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', 'title' => ''],
+ 'Regions' => [
+ 'description' => 'The information about the acceleration regions that are supported by GA.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the region.',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => '杭州', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ ],
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'ListBusiRegions',
+ 'summary' => 'Queries the acceleration regions that are supported by Global Accelerator (GA).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:22.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-08-15T05:05:46.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBusiRegions'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- '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',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBusiRegions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BusiRegion', 'arn' => 'acs:ga:{#regionId}:{#accountId}:region/*'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"杭州\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListCommonAreas' => [
+ 'summary' => 'Queries the available acceleration areas and regions by calling the ListCommonAreas operation.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'EndpointId',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'],
+ 'parameters' => [
+ [
+ 'name' => 'IpVersion',
'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****',
- ],
+ 'schema' => ['description' => 'The IP address protocol used to connect to Global Accelerator (GA). Valid values:'."\n"
+ .'- **IPv4** (default): IPv4 address protocol. Queries regions that support IPv4.'."\n"
+ .'- **IPv6**: IPv6 address protocol. Queries regions that support IPv6.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
],
[
- 'name' => 'PolicyConfigurations',
+ 'name' => 'IsIpSet',
'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,
- ],
+ 'schema' => ['description' => 'Specifies whether the region is an acceleration area supported by Global Accelerator.'."\n"
+ .'- **true**: Yes.'."\n"
+ .'- **false** (default): No.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ [
+ 'name' => 'IsEpg',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether the region is an endpoint group region supported by Global Accelerator.'."\n"
+ .'- **true**: Yes.'."\n"
+ .'- **false** (default): No.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned information.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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",
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6'],
+ 'Areas' => [
+ 'description' => 'The area information.',
'type' => 'array',
'items' => [
- 'description' => 'The IDs of the traffic destinations.'."\n",
- 'type' => 'string',
- 'example' => 'ply-bptest2****',
+ 'description' => 'The area information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => ['description' => 'The area name.', 'type' => 'string', 'example' => 'North China', 'title' => ''],
+ 'AreaId' => ['description' => 'The area ID.', 'type' => 'string', 'example' => 'cn-huabei', 'title' => ''],
+ 'RegionList' => [
+ 'description' => 'The region list.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The region list.',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => ['description' => 'The region name.', 'type' => 'string', 'example' => 'China (Qingdao)', 'title' => ''],
+ 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'StateError.EndPointGroup',
- 'errorMessage' => 'endpoint group state %s is illegal',
+ 'title' => 'Query regions supported by acceleration services',
+ 'description' => 'This operation is used to query the available acceleration areas and regions for the intelligent recommendation and free trial on the Global Accelerator wizard page. You can filter results based on specified conditions.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:13.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCommonAreas'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCommonAreas',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\",\\n \\"Areas\\": [\\n {\\n \\"LocalName\\": \\"North China\\",\\n \\"AreaId\\": \\"cn-huabei\\",\\n \\"RegionList\\": [\\n {\\n \\"LocalName\\": \\"China (Qingdao)\\",\\n \\"RegionId\\": \\"cn-qingdao\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
],
- 'UpdateCustomRoutingEndpointTrafficPolicies' => [
- 'summary' => 'Modifies the traffic policies for an endpoint that is associated with a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListCustomRoutingEndpointGroupDestinations' => [
+ 'summary' => 'Invokes the ListCustomRoutingEndpointGroupDestinations operation to query the destination configurations of an endpoint group for a custom route listener.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '146967',
- 'abilityTreeNodes' => [
- 'FEATUREgaYJ70J9',
- ],
+ 'abilityTreeCode' => '147631',
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\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',
- ],
+ 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'example' => '1', 'default' => '1', 'required' => false, 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'PageSize',
'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****',
- ],
+ 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'required' => false, 'title' => ''],
],
[
- 'name' => 'PolicyConfigurations',
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA) instance for which you want to query endpoint group destination configurations.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the listener for which you want to query endpoint group destination configurations.', 'type' => 'string', 'required' => false, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the endpoint group for which you want to query destination configurations.', 'type' => 'string', 'required' => false, 'example' => 'epg-bp16jdc00bhe97sr5****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Protocols',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The access policies.'."\n"
+ 'description' => 'The protocol type of the backend service of the endpoint group. Valid values:'."\n"
."\n"
- .'You can specify a maximum of 500 traffic policies for each endpoint.'."\n",
+ .'- **TCP**: TCP protocol.'."\n"
+ ."\n"
+ .'- **UDP**: UDP protocol.'."\n"
+ ."\n"
+ .'- **TCP,UDP**: TCP and UDP protocols.'."\n"
+ ."\n"
+ .'If this parameter is left empty, all protocol types are queried.'."\n"
+ ."\n"
+ .'You can specify up to 10 protocol entries.',
'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,
+ 'items' => ['description' => 'The protocol type of the backend service of the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **TCP**: TCP protocol.'."\n"
+ ."\n"
+ .'- **UDP**: UDP protocol.'."\n"
+ ."\n"
+ .'- **TCP,UDP**: TCP and UDP protocols.'."\n"
+ ."\n"
+ .'If this parameter is left empty, all protocol types are queried.'."\n"
+ ."\n"
+ .'You can specify up to 10 protocol entries.', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'FromPort',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The start port of the backend service of the endpoint group.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65499**. The value of **FromPort** must be less than or equal to the value of **ToPort**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ [
+ 'name' => 'ToPort',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The end port of the backend service of the endpoint group.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65499**. The value of **FromPort** must be less than or equal to the value of **ToPort**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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",
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page in a paging query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'Destinations' => [
+ 'description' => 'The destination configurations of the endpoint group.',
'type' => 'array',
'items' => [
- 'description' => 'The IDs of the traffic destinations.'."\n",
- 'type' => 'string',
- 'example' => 'ply-bptest2****',
+ 'description' => 'The destination configurations of the endpoint group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AcceleratorId' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA) instance to which the endpoint group destination configuration belongs.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener to which the endpoint group destination configuration belongs.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group to which the destination configuration belongs.', 'type' => 'string', 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'DestinationId' => ['description' => 'The ID of the endpoint group destination configuration.', 'type' => 'string', 'example' => 'dst-123abc****', 'title' => ''],
+ 'Protocols' => [
+ 'description' => 'The Protocol Type of the backend service of the endpoint group.'."\n"
+ ."\n"
+ .'- **TCP**: TCP protocol.'."\n"
+ ."\n"
+ .'- **UDP**: UDP protocol.'."\n"
+ ."\n"
+ .'- **TCP,UDP**: TCP and UDP protocols.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The Protocol Type of the backend service of the endpoint group.'."\n"
+ ."\n"
+ .'- **TCP**: TCP protocol.'."\n"
+ ."\n"
+ .'- **UDP**: UDP protocol.'."\n"
+ ."\n"
+ .'- **TCP,UDP**: TCP and UDP protocols.', 'type' => 'string', 'example' => 'TCP', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'FromPort' => ['description' => 'The start port of the backend service of the endpoint group.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the backend service of the endpoint group.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the service to which the managed instance belongs.'."\n"
+ .'> This parameter is valid only when **ServiceManaged** is set to **True**.', 'type' => 'string', 'example' => 'ALB', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the instance is managed. Valid values: '."\n"
+ ."\n"
+ .'- true: The instance is managed. '."\n"
+ ."\n"
+ .'- false: The instance is not managed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceManagedInfos' => [
+ 'description' => 'The list of action policies that the user can execute on the managed instance.'."\n"
+ .'> This parameter is valid only when **ServiceManaged** is set to **True**.'."\n"
+ .'> - When the instance is in the managed state, user operations on the instance are restricted, and certain operations are prohibited.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of action policies that the user can execute on the managed instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Action' => ['description' => 'The name of the managed policy action. Valid values:'."\n"
+ .'- **Create**: Create an instance.'."\n"
+ .'- **Update**: Update the current instance.'."\n"
+ .'- **Delete**: Delete the current instance.'."\n"
+ .'- **Associate**: Reference or be referenced by the current instance.'."\n"
+ .'- **UserUnmanaged**: Unmanage the instance.'."\n"
+ .'- **CreateChild**: Create a child resource under the current instance.', 'type' => 'string', 'example' => 'Create', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ .'- **Listener**: listener resource.'."\n"
+ .'- **IpSet**: acceleration region resource.'."\n"
+ .'- **EndpointGroup**: endpoint group resource.'."\n"
+ .'- **ForwardingRule**: forwarding rule resource.'."\n"
+ .'- **Endpoint**: endpoint resource.'."\n"
+ .'- **EndpointGroupDestination**: protocol mapping resource of the endpoint group under a custom routing listener.'."\n"
+ .'- **EndpointPolicy**: endpoint traffic policy resource under a custom routing listener.'."\n"
+ .'> This parameter is valid only when **Action** is set to **CreateChild**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'IsManaged' => ['description' => 'Indicates whether the managed policy action is managed. Valid values:'."\n"
+ .'- **true**: The managed policy action is managed. The user cannot perform the action specified by Action on the managed instance.'."\n"
+ .'- **false**: The managed policy action is not managed. The user can perform the action specified by Action on the managed instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'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',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
],
],
- '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',
+ 'title' => 'Query destination configurations of an endpoint group',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:08.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:45.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-09-08T08:47:01.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingEndpointGroupDestinations'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListCustomRoutingEndpointGroups' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -20662,209 +17091,210 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '147622',
+ 'abilityTreeNodes' => ['FEATUREgaNBCRGX'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'PolicyId',
+ 'name' => 'PageNumber',
'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****',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the custom routing listener.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ ],
+ [
+ 'name' => 'AccessLogSwitch',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the traffic policy to be queried.'."\n",
+ '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' => 'ep-bp1d2utp8qqe2a44t****',
+ 'example' => 'on',
+ 'enum' => ['on'],
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'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.',
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned on each page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'EndpointGroups' => [
+ 'description' => 'The configuration information about the endpoint group.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'A list of action policies that users can execute on this managed instance.',
+ 'description' => 'The configuration information about the endpoint groups.',
'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',
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the custom routing listener.'."\n", 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'Name' => ['description' => 'The name of the endpoint group.'."\n", 'type' => 'string', 'example' => 'group1', 'title' => ''],
+ 'Description' => ['description' => 'The description of the endpoint group.'."\n", 'type' => 'string', 'example' => 'EndpointGroup', 'title' => ''],
+ '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', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ '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', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
- 'IsManaged' => [
- 'description' => 'Indicates whether the specified actions are managed.'."\n"
+ 'EndpointGroupRegion' => ['description' => 'The ID of the region where the endpoint group is created.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'State' => ['description' => 'The status of the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'* **init**'."\n"
+ .'* **active**'."\n"
+ .'* **updating**'."\n"
+ .'* **deleting**'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''],
+ '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', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the GA instance is managed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceManagedInfos' => [
+ 'description' => 'The actions that users can perform on the managed instance.'."\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',
+ .'> '."\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', 'title' => ''],
+ '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', 'title' => ''],
+ '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' => 'true', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ 400 => [
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
+ ],
+ ],
+ 'title' => 'ListCustomRoutingEndpointGroups',
+ 'summary' => 'Queries the endpoint groups that are associated with a custom routing listener.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:23.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:26.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-12-25T04:47:02.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-08-15T05:50:13.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-04-20T08:32:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:51.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingEndpointGroups'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ],
],
],
],
- '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',
+ '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":""}]',
+ '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",
],
'ListCustomRoutingEndpointTrafficPolicies' => [
- 'summary' => 'Queries the traffic policies of an endpoint that belongs to a custom routing listener.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'summary' => 'Invokes the ListCustomRoutingEndpointTrafficPolicies operation to query the list of endpoint traffic policies for a custom routing type listener.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -20877,401 +17307,363 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '147629',
- 'abilityTreeNodes' => [
- 'FEATUREgaYJ70J9',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **ap-southeast-1**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The page number of the list. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'example' => '1', 'default' => '1', 'required' => false, 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The number of entries per page for a paged query. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'required' => false, 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA) instance for which you want to query traffic policies.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the listener for which you want to query traffic policies.', 'type' => 'string', 'required' => false, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group for which you want to query traffic policies.', 'type' => 'string', 'required' => false, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint for which you want to query traffic policies.', 'type' => 'string', 'required' => false, 'example' => 'ep-bp16jdc00bhe97sr5****', 'title' => ''],
],
[
'name' => 'Address',
'in' => 'query',
- 'schema' => [
- 'description' => 'The IP address of the traffic destination.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '10.0.XX.XX',
- ],
+ 'schema' => ['description' => 'The IP address of the traffic policy destination.', 'type' => 'string', 'required' => false, 'example' => '10.0.XX.XX', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page in a paging query.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Policies' => [
- 'description' => 'A list of traffic policies.'."\n",
+ 'description' => 'The list of traffic policies.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The list of traffic policies.',
'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',
- ],
+ 'AcceleratorId' => ['description' => 'The instance ID of the Alibaba Cloud Global Accelerator (GA) instance to which the endpoint belongs.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the custom routing type listener to which the endpoint belongs.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group to which the endpoint belongs.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointId' => ['description' => 'The ID of the endpoint to which the traffic policy belongs.', 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'PolicyId' => ['description' => 'The traffic policy ID.', 'type' => 'string', 'example' => 'ply-bp1dmlohjjz4kqaun****', 'title' => ''],
+ 'Address' => ['description' => 'The IP address of the traffic policy destination.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''],
'PortRanges' => [
- 'description' => 'The port range of the traffic policy.'."\n",
+ 'description' => 'The port range of the traffic policy destination.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The port range of the traffic policy destination.',
'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',
- ],
+ 'FromPort' => ['description' => 'The start port of the traffic policy destination for processing requests.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the traffic policy destination for processing requests.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
- ],
- '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',
- ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'ServiceId' => ['description' => 'The ID of the service to which the managed instance belongs.'."\n"
+ .'> This parameter is valid only when **ServiceManaged** is set to **True**.', 'type' => 'string', 'example' => 'ALB', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the instance is managed. Valid values:'."\n"
+ .'- **true**: The instance is managed.'."\n"
+ .'- **false**: The instance is not managed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'ServiceManagedInfos' => [
- 'description' => 'The actions that users can perform on the managed instance.'."\n"
+ 'description' => 'The list of action policies that the user 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.',
+ .'> - This parameter is valid only when **ServiceManaged** is set to **True**.'."\n"
+ .'> - When the instance is in the managed state, user operations on the instance are restricted, and certain operations are prohibited.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The list of action policies that the user can perform on the managed instance.',
'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',
- ],
+ 'Action' => ['description' => 'The name of the managed policy action. Valid values:'."\n"
+ .'- **Create**: Create an instance.'."\n"
+ .'- **Update**: Update the current instance.'."\n"
+ .'- **Delete**: Delete the current instance.'."\n"
+ .'- **Associate**: Reference or be referenced by the current instance.'."\n"
+ .'- **UserUnmanaged**: Unmanage the instance.'."\n"
+ .'- **CreateChild**: Create a child resource under the current instance.', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ ."\n"
+ .'- **Listener**: listener resource.'."\n"
+ ."\n"
+ .'- **IpSet**: acceleration region resource.'."\n"
+ ."\n"
+ .'- **EndpointGroup**: endpoint group resource.'."\n"
+ ."\n"
+ .'- **ForwardingRule**: forwarding rule resource.'."\n"
+ ."\n"
+ .'- **Endpoint**: endpoint resource.'."\n"
+ ."\n"
+ .'- **EndpointGroupDestination**: protocol mapping resource of the endpoint group under the custom routing listener.'."\n"
+ ."\n"
+ .'- **EndpointPolicy**: traffic policy resource of the endpoint under the custom routing listener.'."\n"
+ ."\n"
+ .'> This parameter is valid only when **Action** is set to **CreateChild**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'IsManaged' => ['description' => 'Indicates whether the managed policy action is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The managed policy action is managed. The user cannot perform the action specified by Action on the managed instance.'."\n"
+ ."\n"
+ .'- **false**: The managed policy action is not managed. The user can perform the action specified by Action on the managed instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => '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',
+ 'title' => 'Query endpoint traffic policies',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:21.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:25.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:51.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingEndpointTrafficPolicies'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingEndpointTrafficPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListCustomRoutingEndpoints' => [
+ 'summary' => 'Queries the configurations of an endpoint.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '146971',
- 'abilityTreeNodes' => [
- 'FEATUREgaYJ70J9',
- ],
+ 'abilityTreeCode' => '147625',
+ '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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'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',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'PageSize',
'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****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'PolicyIds',
+ 'name' => 'AcceleratorId',
'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,
- ],
+ 'schema' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The listener ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The endpoint group ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'epg-bp16jdc00bhe97sr5****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The returned information.'."\n",
+ 'title' => '',
+ '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',
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener to which the endpoint belongs.'."\n", 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group to which the endpoint belongs.'."\n", 'type' => 'string', 'example' => 'epg-bp16jdc00bhe97sr5****', 'title' => ''],
+ 'EndpointId' => ['description' => 'The endpoint ID.'."\n", 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ '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', 'title' => ''],
+ 'Endpoint' => ['description' => 'The name of the vSwitch that is specified as an endpoint.'."\n", 'type' => 'string', 'example' => 'vsw-test01', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the GA instance is managed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NotExist.EndPoints',
- 'errorMessage' => 'endpoint %s not exist.',
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
+ ],
+ ],
+ 'title' => 'ListCustomRoutingEndpoints',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:56.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:25.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:51.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingEndpoints'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
'ListCustomRoutingPortMappings' => [
- 'summary' => 'Queries the port mapping table of a custom routing listener.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -21284,219 +17676,145 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '147538',
- 'abilityTreeNodes' => [
- 'FEATUREga3XB3RZ',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'example' => '1', 'default' => '1', 'required' => false, 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'required' => false, 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance whose port mapping table you want to query.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ 'schema' => ['description' => 'The ID of the listener whose port mapping table you want to query.', 'type' => 'string', 'required' => false, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
'name' => 'EndpointGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'epg-bp16jdc00bhe97sr5****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group whose port mapping table you want to query.', 'type' => 'string', 'required' => false, 'example' => 'epg-bp16jdc00bhe97sr5****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
+ 'title' => '',
+ 'description' => 'The list of returned information.',
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PortMappings' => [
- 'description' => 'Details about the port mapping table.'."\n",
+ 'description' => 'The information about the port mappings.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The information about the port mapping.',
'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',
- ],
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance to which the port mapping belongs.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the custom routing listener to which the port mapping belongs.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'EndpointId' => ['description' => 'The ID of the endpoint.', 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'EndpointGroupRegion' => ['description' => 'The ID of the region to which the endpoint group belongs.', 'type' => 'string', 'example' => 'us-west-1', 'title' => ''],
+ 'Vswitch' => ['description' => 'The name of the vSwitch of the endpoint.', 'type' => 'string', 'example' => 'vsw-test01', 'title' => ''],
+ 'AcceleratorPort' => ['description' => 'The acceleration port.', 'type' => 'integer', 'format' => 'int32', 'example' => '3000', 'title' => ''],
'Protocols' => [
'description' => 'The protocol of the backend service.'."\n"
."\n"
- .'* **tcp**: TCP'."\n"
- .'* **udp**: UDP'."\n",
+ .'- **TCP**: the TCP protocol.'."\n"
+ ."\n"
+ .'- **UDP**: the UDP protocol.',
'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'tcp',
- ],
- ],
- 'DestinationTrafficState' => [
- 'description' => 'The access policy of traffic for the backend instance. Valid values:'."\n"
+ 'items' => ['description' => 'The protocol of the backend service.'."\n"
+ ."\n"
+ .'- **TCP**: the TCP protocol.'."\n"
."\n"
- .'* **allow**: allows traffic to the backend instance.'."\n"
- .'* **deny**: denies traffic to the backend instance.'."\n",
- 'type' => 'string',
- 'example' => 'allow',
+ .'- **UDP**: the UDP protocol.', 'type' => 'string', 'example' => 'TCP', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'DestinationTrafficState' => ['description' => 'The traffic policy for the backend instance.'."\n"
+ ."\n"
+ .'- **allow**: allows the backend instance to receive traffic.'."\n"
+ ."\n"
+ .'- **deny**: denies the backend instance from receiving traffic.', 'type' => 'string', 'example' => 'allow', 'title' => ''],
'DestinationSocketAddress' => [
- 'description' => 'The service IP address and port of the backend instance.'."\n",
+ 'description' => 'The IP address and port of the backend service.',
'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',
- ],
+ 'IpAddress' => ['description' => 'The IP address of the backend service.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''],
+ 'Port' => ['description' => 'The port of the backend service.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => '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.',
+ 'summary' => 'Queries the port mapping table of a custom routing listener.',
+ 'description' => 'After you configure a custom routing listener and an endpoint group, the Global Accelerator (GA) instance generates a port mapping table. This table is based on the listener port range, the protocols and port ranges of the destination endpoint group, and the IP addresses of the endpoints (vSwitches). A custom routing listener uses this port mapping table to deterministically route traffic to specific IP addresses and ports in a vSwitch. This operation queries the generated port mapping table.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:09.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:25.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:51.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingPortMappings'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingPortMappings',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingPortMapping', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
],
'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',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -21509,1107 +17827,846 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '147617',
- 'abilityTreeNodes' => [
- 'FEATUREga3XB3RZ',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'example' => '1', 'default' => '1', 'required' => false, 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'required' => false, 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint to which the backend instance belongs.', 'type' => 'string', 'required' => true, 'example' => 'ep-bp16jdc00bhe97sr5****', 'title' => ''],
],
[
'name' => 'DestinationAddress',
'in' => 'query',
- 'schema' => [
- 'description' => 'The service IP address of the backend instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '10.0.XX.XX',
- ],
+ 'schema' => ['description' => 'The service IP address of the backend instance.', 'type' => 'string', 'required' => true, 'example' => '10.0.XX.XX', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
+ 'title' => '',
+ 'description' => 'The response.',
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'String 04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PortMappings' => [
- 'description' => 'Details about the port mapping table.'."\n",
+ 'description' => 'The information about the port mappings.',
'type' => 'array',
'items' => [
- 'description' => '',
+ 'description' => 'The information about the port mapping.',
'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',
- ],
+ 'AcceleratorId' => ['description' => 'The ID of the Global Accelerator instance to which the port mapping belongs.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the custom routing listener to which the port mapping belongs.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'example' => 'epg-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'EndpointId' => ['description' => 'The ID of the endpoint.', 'type' => 'string', 'example' => 'ep-bp14sz7ftcwwjgrdm****', 'title' => ''],
+ 'EndpointGroupRegion' => ['description' => 'The ID of the region where the endpoint group is deployed.', 'type' => 'string', 'example' => 'us-west-1', 'title' => ''],
+ 'Vswitch' => ['description' => 'The name of the vSwitch instance of the endpoint.', 'type' => 'string', 'example' => 'vsw-test01', 'title' => ''],
+ 'AcceleratorPort' => ['description' => 'The acceleration port.', 'type' => 'integer', 'format' => 'int32', 'example' => '3000', 'title' => ''],
'Protocols' => [
'description' => 'The protocol of the backend service.'."\n"
."\n"
- .'* **tcp**: TCP'."\n"
- .'* **udp**: UDP'."\n",
+ .'- **TCP**: TCP.'."\n"
+ ."\n"
+ .'- **UDP**: UDP.',
'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'tcp',
- ],
- ],
- 'DestinationTrafficState' => [
- 'description' => 'The access policy of traffic for the backend instance.'."\n"
+ 'items' => ['description' => 'The protocol of the backend service.'."\n"
."\n"
- .'* **allow**: allows traffic to the backend instance.'."\n"
- .'* **deny**: denies all traffic to the backend instance.'."\n",
- 'type' => 'string',
- 'example' => 'allow',
+ .'- **TCP**: TCP.'."\n"
+ ."\n"
+ .'- **UDP**: UDP.', 'type' => 'string', 'example' => 'TCP', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'DestinationTrafficState' => ['description' => 'The traffic policy for the backend instance.'."\n"
+ ."\n"
+ .'- **allow**: allows the backend instance to receive traffic.'."\n"
+ ."\n"
+ .'- **deny**: denies the backend instance from receiving traffic.', 'type' => 'string', 'example' => 'allow', 'title' => ''],
'DestinationSocketAddress' => [
- 'description' => 'The service IP address and port of the backend instance.'."\n",
+ 'description' => 'The service IP address and port of the backend instance.',
'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',
- ],
+ 'IpAddress' => ['description' => 'The service IP address of the backend instance.', 'type' => 'string', 'example' => '10.0.XX.XX', 'title' => ''],
+ 'Port' => ['description' => 'The service port of the backend instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => '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',
+ 'summary' => 'Call the ListCustomRoutingPortMappingsByDestination operation to query the port mappings of a specified backend instance for a custom route listener.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:25.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-09-08T08:47:00.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingPortMappingsByDestination'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingPortMappingsByDestination',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:*:{#accountId}:customroutingendpoint/{#customroutingendpointId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListDomains' => [
+ 'summary' => 'Queries accelerated domain names.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '8510',
- 'abilityTreeNodes' => [
- 'FEATUREgaRQQP6R',
- ],
- ],
+ '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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'AcceleratorId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4q****',
- ],
+ 'schema' => ['description' => 'The accelerated domain name that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'www.example.com', 'title' => ''],
],
[
- 'name' => 'ListenerId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1s0vzbi5bxlx5****',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'ForwardingRules',
- 'in' => 'formData',
- 'style' => 'flat',
+ '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', 'title' => ''],
+ ],
+ [
+ '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', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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",
+ 'title' => '',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ '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' => [
- 'Values' => [
- 'description' => 'The domain name.'."\n"
+ 'AcceleratorId' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'Name' => ['description' => 'The name of the GA instance.'."\n", 'type' => 'string', 'example' => 'Accelerator', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'ServiceManagedInfos' => [
+ 'description' => 'The actions that you can perform on the managed instance.'."\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"
+ .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n"
."\n"
- .'> We recommend that you use **RuleActionType** and **RuleActionValue** rather than this parameter to configure forwarding conditions.'."\n",
+ .'* You can perform only specific actions on a managed instance.'."\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",
+ 'description' => '',
'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****',
- ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
],
- 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
- 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
],
- 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
+ 'Domain' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'www.example.com', 'title' => ''],
+ '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', 'title' => ''],
],
- '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',
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'required' => false,
],
- 'required' => true,
- 'maxItems' => 200,
- 'example' => 'test',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'ListDomains',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:17.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-07-20T14:02:45.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListDomains'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListDomains',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Domain', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
],
],
],
+ '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":""}]',
+ ],
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupRegion',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'required' => false, 'example' => 'ga-bp17frjjh0udz4q****', 'title' => ''],
+ ],
+ ],
'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",
+ 'EndpointGroupRegion' => ['description' => 'The region ID of the endpoint group.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'IpAddressCidrBlocks' => [
+ 'description' => 'The CIDR blocks.'."\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****',
- ],
- ],
- ],
+ 'items' => ['description' => 'The CIDR block.'."\n", 'type' => 'string', 'example' => '10.x.x.x/24', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the endpoint group belongs.'."\n", 'type' => 'string', 'example' => 'rg-aekztkx4zwc****', 'title' => ''],
+ 'State' => ['description' => 'The status of the endpoint group.'."\n", 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '4B6DBBB0-2D01-4C6A-A384-4129266E6B78', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
+ '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.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:03.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-19T16:48:10.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:ListEndpointGroupIpAddressCidrBlocks',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
],
- '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' => ' ',
+ '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"}]',
],
- 'UpdateForwardingRules' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListEndpointGroups' => [
+ 'summary' => 'Lists endpoint groups.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8512',
- 'abilityTreeNodes' => [
- 'FEATUREgaRQQP6R',
- ],
+ 'abilityTreeCode' => '8508',
+ '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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
+ ],
+ [
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the listener.', 'type' => 'string', 'required' => false, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupType',
'in' => 'query',
'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ 'description' => 'The type of the endpoint group. Valid values:'."\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"
+ .'- **default**: a default endpoint group.'."\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",
+ .'- **virtual**: a virtual endpoint group.'."\n"
+ ."\n"
+ .'- If you omit this parameter, the operation returns all default and virtual endpoint groups.',
'type' => 'string',
+ 'enum' => ['default', 'virtual'],
'required' => false,
- 'example' => '02fb3da4****',
+ 'example' => 'virtual',
+ 'title' => '',
],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'AccessLogSwitch',
'in' => 'query',
- 'schema' => [
- 'description' => 'The GA instance ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4q****',
- ],
+ 'schema' => ['description' => 'Whether to enable the access log. Valid values:'."\n"
+ ."\n"
+ .'- **on**: enables the access log.'."\n"
+ ."\n"
+ .'- **off** (default): disables the access log.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''],
],
[
- 'name' => 'ListenerId',
+ 'name' => 'EndpointGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The listener ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1s0vzbi5bxlx5****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'required' => false, 'example' => 'epg-bp16jdc00bhe97sr5****', 'title' => ''],
],
[
- 'name' => 'ForwardingRules',
+ 'name' => 'Tag',
'in' => 'query',
- 'style' => 'flat',
+ 'allowEmptyValue' => false,
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The configurations of the forwarding rules.'."\n",
+ 'title' => '',
+ 'description' => 'The tags used to filter endpoint groups. You can specify up to 20 tags.',
'type' => 'array',
'items' => [
- 'description' => 'The configurations of the forwarding rules.'."\n",
+ 'description' => 'A tag.',
'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",
+ 'Key' => ['description' => 'The tag key. The tag key cannot be an empty string.'."\n"
+ ."\n"
+ .'The tag key can be up to 64 characters long and cannot start with `aliyun` or `acs:`, or contain `http://` or `https://`.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'test-key'],
+ 'Value' => ['description' => 'The tag value. The tag value can be an empty string.'."\n"
+ ."\n"
+ .'The tag value can be up to 128 characters long and cannot start with `aliyun` or `acs:`, or contain `http://` or `https://`.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'test-value'],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'minItems' => 0,
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A052D49E-CCC2-41DB-816C-DC3381503194 ', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'EndpointGroups' => [
+ 'description' => 'The list of endpoint groups.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of endpoint groups.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'example' => 'epg-bp16jdc00bhe97sr5****', 'title' => ''],
+ 'EndpointGroupIpList' => [
+ 'description' => 'A list of public egress IP addresses of the endpoint group.'."\n"
+ ."\n"
+ .'><notice>'."\n"
+ ."\n"
+ .'For endpoint groups connected to private backend services, the console shows only the private source IP addresses, not the public ones. If the network connection type of a backend service changes (for example, from private to public), monitor the source IP addresses and update the backend service\'s access control list (ACL).'."\n"
+ ."\n"
+ .'></notice>',
+ 'type' => 'array',
+ 'items' => ['description' => 'A public egress IP address of the endpoint group.', 'type' => 'string', 'example' => '47.1.XX.XX', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EndpointGroupUnconfirmedIpList' => [
+ 'description' => 'The list of new IP addresses in the endpoint group that require confirmation after a Global Accelerator instance is upgraded.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A new IP address in the endpoint group that requires confirmation after a Global Accelerator instance is upgraded.', 'type' => 'string', 'example' => '47.1.XX.XX', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'State' => ['description' => 'The state of the endpoint group.'."\n"
+ ."\n"
+ .'- **init**: The endpoint group is initializing.'."\n"
+ ."\n"
+ .'- **active**: The endpoint group is stable.'."\n"
+ ."\n"
+ .'- **updating**: The endpoint group is updating.'."\n"
+ ."\n"
+ .'- **deleting**: The endpoint group is deleting.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'HealthCheckPath' => ['description' => 'The health check path.', 'type' => 'string', 'example' => '/healthcheck', 'title' => ''],
+ 'EndpointGroupRegion' => ['description' => 'The ID of the region where the endpoint group is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'HealthCheckIntervalSeconds' => ['description' => 'The health check interval, in seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
+ 'TrafficPercentage' => ['description' => 'The percentage of traffic routed to the endpoint group. This parameter applies only if a listener is associated with multiple endpoint groups.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
+ 'HealthCheckProtocol' => ['description' => 'The protocol used for health checks.'."\n"
+ ."\n"
+ .'- **tcp** or **TCP**: TCP'."\n"
+ ."\n"
+ .'- **http** or **HTTP**: HTTP'."\n"
+ ."\n"
+ .'- **https** or **HTTPS**: HTTPS', 'type' => 'string', 'example' => 'tcp', 'title' => ''],
+ 'ThresholdCount' => ['description' => 'The number of consecutive failed health checks required to mark an endpoint as unhealthy.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'EndpointConfigurations' => [
+ 'description' => 'A list of endpoint configurations.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'An endpoint configuration.',
'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' => ['description' => 'The type of endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Domain**: a custom domain name.'."\n"
+ ."\n"
+ .'- **Ip**: a custom IP address.'."\n"
+ ."\n"
+ .'- **IpTarget**: a custom private IP address.'."\n"
+ ."\n"
+ .'- **PublicIp**: an Alibaba Cloud public IP address.'."\n"
+ ."\n"
+ .'- **ECS**: an Alibaba Cloud ECS instance.'."\n"
+ ."\n"
+ .'- **SLB**: an Alibaba Cloud SLB instance.'."\n"
+ ."\n"
+ .'- **ALB**: an Alibaba Cloud ALB instance.'."\n"
+ ."\n"
+ .'- **OSS**: an Alibaba Cloud OSS bucket.'."\n"
+ ."\n"
+ .'- **ENI**: an Alibaba Cloud elastic network interface.'."\n"
+ ."\n"
+ .'- **NLB**: an Alibaba Cloud NLB instance.', 'type' => 'string', 'example' => 'Ip', 'title' => ''],
+ 'EnableClientIPPreservation' => ['description' => 'Specifies whether to preserve client IP addresses.'."\n"
+ ."\n"
+ .'- **true**: Client IP preservation is enabled.'."\n"
+ ."\n"
+ .'- **false**: Client IP preservation is disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'Weight' => ['description' => 'The weight of the endpoint.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ 'ProbeProtocol' => ['description' => 'The protocol that is used for latency monitoring probes.'."\n"
+ ."\n"
+ .'- **icmp**: ICMP'."\n"
+ ."\n"
+ .'- **tcp**: TCP', 'type' => 'string', 'example' => 'tcp', 'title' => ''],
+ 'Endpoint' => ['description' => 'The endpoint\'s IP address, domain name, or instance ID.', 'type' => 'string', 'example' => '47.1.XX.XX', 'title' => ''],
+ 'EnableProxyProtocol' => ['description' => 'Specifies whether to use Proxy Protocol to preserve client IP addresses.'."\n"
+ ."\n"
+ .'- **true**: Proxy Protocol is enabled.'."\n"
+ ."\n"
+ .'- **false**: Proxy Protocol is disabled.', 'type' => 'boolean', 'title' => '', 'example' => ''],
+ 'ProbePort' => ['description' => 'The port used for latency monitoring probes.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
+ 'EndpointId' => ['description' => 'The ID of the endpoint.', 'type' => 'string', 'example' => 'ep-bp1d2utp8qqe2a44t****', 'title' => ''],
+ 'SubAddress' => ['description' => 'The private IP address of the elastic network interface.', 'type' => 'string', 'example' => '172.168.XX.XX', 'title' => ''],
+ 'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'vpc-8vbhucmd5b2q2fpqqu****', 'title' => ''],
+ 'VSwitchIds' => [
+ 'description' => 'A list of vSwitches in the VPC.',
'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,
+ 'items' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-hp3xwc2aebg2u30ln****', 'title' => ''],
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Provider' => ['description' => 'The service provider.', 'type' => 'string', 'example' => 'BAILIAN', 'title' => ''],
+ 'ApiKeys' => [
+ 'type' => 'array',
+ 'items' => ['description' => 'An API key of the endpoint.', 'type' => 'string', 'example' => 'sk-*******', 'title' => ''],
+ 'description' => 'The API keys in the endpoint configuration.',
+ 'title' => '',
+ 'example' => '',
],
],
- 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
- '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",
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PortOverrides' => [
+ 'description' => 'The port mappings.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port mappings.',
'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,
- ],
+ 'ListenerPort' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''],
+ 'EndpointPort' => ['description' => 'The endpoint port.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''],
],
- 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ 'ForwardingRuleIds' => [
+ 'description' => 'The IDs of forwarding rules associated with the endpoint group.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of a forwarding rule associated with the endpoint group.', 'type' => 'string', 'example' => 'frule-bp19a3t3yzr21q3****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EndpointGroupType' => ['description' => 'The type of the endpoint group. Valid values:'."\n"
+ ."\n"
+ .'- **default**: a default endpoint group.'."\n"
+ ."\n"
+ .'- **virtual**: a virtual endpoint group.', 'type' => 'string', 'example' => 'default', 'title' => ''],
+ 'EndpointRequestProtocol' => ['description' => 'The protocol of the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP**: HTTP'."\n"
+ ."\n"
+ .'- **HTTPS**: HTTPS', 'type' => 'string', 'example' => 'HTTP', 'title' => ''],
+ 'EndpointProtocolVersion' => ['description' => 'The version of the backend service protocol. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP1.1**: HTTP/1.1'."\n"
+ ."\n"
+ .'- **HTTP2**: HTTP/2', 'type' => 'string', 'example' => 'HTTP1.1', 'title' => ''],
+ 'Description' => ['description' => 'The description of the endpoint group.', 'type' => 'string', 'example' => 'group1', 'title' => ''],
+ 'Name' => ['description' => 'The name of the endpoint group.', 'type' => 'string', 'example' => 'group1', 'title' => ''],
+ 'HealthCheckPort' => ['description' => 'The port used for health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'HealthCheckEnabled' => ['description' => 'Specifies whether to enable health checks.'."\n"
+ ."\n"
+ .'- **true**: Health checks are enabled.'."\n"
+ ."\n"
+ .'- **false**: Health checks are disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the service that manages the instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if **ServiceManaged** is **true**.', 'type' => 'string', 'example' => 'ALB', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Specifies whether the instance is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance is a managed instance.'."\n"
+ ."\n"
+ .'- **false**: The instance is not a managed instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceManagedInfos' => [
+ 'description' => 'The actions that you can perform on the managed instance.'."\n"
+ ."\n"
+ .'> - This parameter is returned only if **ServiceManaged** is **true**.'."\n"
+ .'>'."\n"
+ .'> - Your permissions to operate on a managed instance are restricted.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The actions that you can perform on the managed instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Action' => ['description' => 'The name of the action on the managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **Create**: creates an instance.'."\n"
+ ."\n"
+ .'- **Update**: updates the instance.'."\n"
+ ."\n"
+ .'- **Delete**: deletes the instance.'."\n"
+ ."\n"
+ .'- **Associate**: associates the instance with other resources.'."\n"
+ ."\n"
+ .'- **UserUnmanaged**: Reverts the instance to an unmanaged state.'."\n"
+ ."\n"
+ .'- **CreateChild**: creates a child resource for the instance.', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ ."\n"
+ .'- **Listener**: a listener.'."\n"
+ ."\n"
+ .'- **IpSet**: an acceleration region.'."\n"
+ ."\n"
+ .'- **EndpointGroup**: an endpoint group.'."\n"
+ ."\n"
+ .'- **ForwardingRule**: a forwarding rule.'."\n"
+ ."\n"
+ .'- **Endpoint**: an endpoint.'."\n"
+ ."\n"
+ .'- **EndpointGroupDestination**: a protocol mapping for an endpoint group of a custom routing listener.'."\n"
+ ."\n"
+ .'- **EndpointPolicy**: a traffic policy for an endpoint of a custom routing listener.'."\n"
+ ."\n"
+ .'> This parameter is returned only if **Action** is set to **CreateChild**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'IsManaged' => ['description' => 'Specifies whether the action is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The action is managed. You cannot perform the specified action on the managed instance.'."\n"
+ ."\n"
+ .'- **false**: The action is not managed. You can perform the specified action on the managed instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
- '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",
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Tags' => [
+ 'description' => 'The tags attached to the endpoint group.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A tag of the endpoint group.',
'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,
- ],
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test-key', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'test-value', 'title' => ''],
],
- 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
+ 'maxItems' => 10,
+ 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
],
- '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****',
+ 'HealthCheckHost' => ['description' => 'The domain name used for health checks.', 'type' => 'string', 'example' => 'www.taobao.com', 'title' => ''],
+ 'EndpointIpVersion' => ['description' => 'The IP protocol of the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4** (default): Connections to the backend service use IPv4.'."\n"
+ ."\n"
+ .'- **IPv6**: Connections to the backend service use IPv6.'."\n"
+ ."\n"
+ .'- **ProtocolAffinity**: The connection to the backend service uses the same IP protocol as the client request.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'EndpointPrivateIpList' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'PrivateIp' => ['description' => 'The private IP address.', 'type' => 'string', 'example' => '172.19.115.37', 'title' => ''],
+ 'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'gsw-0jl6tmriqep1ga***', 'title' => ''],
+ 'CIDR' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'A list of private IP addresses of the endpoints.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
+ ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","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\\": false,\\n \\"ProbePort\\": 80,\\n \\"EndpointId\\": \\"ep-bp1d2utp8qqe2a44t****\\",\\n \\"SubAddress\\": \\"172.168.XX.XX\\",\\n \\"VpcId\\": \\"vpc-8vbhucmd5b2q2fpqqu****\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-hp3xwc2aebg2u30ln****\\"\\n ],\\n \\"Provider\\": \\"BAILIAN\\",\\n \\"ApiKeys\\": [\\n \\"sk-*******\\"\\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}","type":"json"}]',
+ 'title' => 'ListEndpointGroups',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-02T12:09:30.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:20.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-26T06:24:03.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-04-15T07:01:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-12-23T15:31:09.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-07-19T16:47:16.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-09-14T09:38:02.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-15T05:50:14.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-07-20T14:02:46.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-04-27T03:02:10.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-12-06T11:47:34.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ['createdAt' => '2021-04-27T13:37:43.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
+ ],
+ ],
+ ],
+ ],
],
'ListForwardingRules' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -22622,563 +18679,453 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '8514',
- 'abilityTreeNodes' => [
- 'FEATUREgaRQQP6R',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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****',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4****', 'title' => ''],
],
[
'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-bp1s0vzbi5bxlx5pw****',
- ],
+ 'schema' => ['description' => 'The ID of the listener.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1s0vzbi5bxlx5pw****', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qzk****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qzk****', 'title' => ''],
],
[
'name' => 'ForwardingRuleId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the forwarding rule.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'frule-bp19a3t3yzr21q3****',
- ],
+ 'schema' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'required' => false, 'example' => 'frule-bp19a3t3yzr21q3****', 'title' => ''],
],
[
'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****',
- ],
+ '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"
+ ."\n"
+ .'- If a next query is to be sent, set the value to the value of **NextToken** that is returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '20', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CFC67ED9-4AB1-431F-B6E3-A752B7B8CCD4', 'title' => ''],
+ 'TotalCount' => ['description' => 'The number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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"
+ ."\n"
+ .'- If **NextToken** is returned, the value indicates the token that is used for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'ForwardingRules' => [
- 'description' => 'The forwarding rules.'."\n",
+ 'description' => 'The forwarding rules.',
'type' => 'array',
'items' => [
- 'description' => 'The forwarding rules.'."\n",
+ 'description' => 'The forwarding rules.',
'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',
- ],
+ '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.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''],
+ 'ForwardingRuleId' => ['description' => 'The forwarding rule ID.', 'type' => 'string', 'example' => 'frule-bp19a3t3yzr21q3****', 'title' => ''],
+ 'ForwardingRuleName' => ['description' => 'The forwarding rule name.', 'type' => 'string', 'example' => 'auto_named_rule', 'title' => ''],
+ '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.', 'type' => 'string', 'example' => 'request', 'title' => ''],
+ 'ForwardingRuleStatus' => ['description' => 'The state of the forwarding rule. Valid values:'."\n"
+ ."\n"
+ .'- **active:** The forwarding rule is normal.'."\n"
+ ."\n"
+ .'- **configuring:** The forwarding rule is being modified.'."\n"
+ ."\n"
+ .'- **deleting:** The forwarding rule is being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''],
'RuleConditions' => [
- 'description' => 'The conditions that trigger the forwarding rule.'."\n",
+ 'description' => 'The conditions that trigger the forwarding rule.',
'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"]',
- ],
+ 'RuleConditionType' => ['description' => 'The type of the forwarding condition. Valid values:'."\n"
+ ."\n"
+ .'- **Host:** domain name.'."\n"
+ ."\n"
+ .'- **Path:** path.'."\n"
+ ."\n"
+ .'- **RequestHeader:** HTTP header.'."\n"
+ ."\n"
+ .'- **Query:** query string.'."\n"
+ ."\n"
+ .'- **Method:** HTTP method.'."\n"
+ ."\n"
+ .'- **Cookie:** cookie.'."\n"
+ ."\n"
+ .'- **SourceIP:** source IP address.', 'type' => 'string', 'example' => 'Host', 'title' => ''],
+ '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"
+ ."\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"
+ ."\n"
+ .'- If you set **RuleConditionType** to **RequestHeader**, an HTTP header condition that consists of key-value pairs is returned.'."\n"
+ ."\n"
+ .'- If you set **RuleConditionType** to **Query**, a query string condition that consists of key-value pairs is returned.'."\n"
+ ."\n"
+ .'- If you set **RuleConditionType** to **Method**, an HTTP method condition is returned.'."\n"
+ ."\n"
+ .'- If you set **RuleConditionType** to **Cookie**, a cookie condition that consists of key-value pairs is returned.'."\n"
+ ."\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.', 'type' => 'string', 'example' => '["www.example.com", "www.aliyun.com"]', 'title' => ''],
'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",
+ .'> 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.',
'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",
+ .'> 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.',
'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',
- ],
+ '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.', 'type' => 'string', 'example' => '/test', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
'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",
+ .'> 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.',
'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",
+ .'> 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.',
'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',
- ],
+ '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.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
'RuleActions' => [
- 'description' => 'The forwarding actions.'."\n",
+ 'description' => 'The forwarding actions.',
'type' => 'array',
'items' => [
- 'description' => 'The forwarding actions.'."\n",
+ 'description' => 'The forwarding actions.',
'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****"}]',
- ],
+ 'Order' => ['description' => 'The forwarding priority.'."\n"
+ ."\n"
+ .'> This parameter does not take effect.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'RuleActionType' => ['description' => 'The type of the forwarding action. Valid values:'."\n"
+ ."\n"
+ .'- **ForwardGroup**: forwards a request.'."\n"
+ ."\n"
+ .'- **Redirect**: redirects a request.'."\n"
+ ."\n"
+ .'- **FixResponse**: returns a fixed response.'."\n"
+ ."\n"
+ .'- **Rewrite**: rewrites a request.'."\n"
+ ."\n"
+ .'- **AddHeader**: adds a header to a request.'."\n"
+ ."\n"
+ .'- **RemoveHeaderConfig**: deletes the header from a request.'."\n"
+ ."\n"
+ .'- **Drop**: drops a request.', 'type' => 'string', 'example' => 'ForwardGroup', 'title' => ''],
+ '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"
+ ."\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"
+ ."\n"
+ .' - `domain`: the domain name to which requests are redirected.'."\n"
+ ."\n"
+ .' - `port`: the port to which requests are redirected.'."\n"
+ ."\n"
+ .' - `path`: the path to which requests are redirected.'."\n"
+ ."\n"
+ .' - `query`: the query string of the requests that are redirected.'."\n"
+ ."\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"
+ ."\n"
+ .' - `type`: the content type of the response.'."\n"
+ ."\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"
+ ."\n"
+ .' - `type`: the content type of the HTTP header.'."\n"
+ ."\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"
+ ."\n"
+ .' - `path`: the path to which requests are redirected.'."\n"
+ ."\n"
+ .' - `query`: the query string of the requests that are redirected.'."\n"
+ ."\n"
+ .'- If you set **RuleActionType** to **Drop**, an empty string is returned.', 'type' => 'string', 'example' => '[{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}]', 'title' => ''],
'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",
+ .'> 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.',
'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",
+ .'> 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.',
'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",
+ .'> 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.',
'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****',
- ],
+ '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.', 'type' => 'string', 'example' => 'epg-bp1enpdcrqhl78g6r****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- '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',
- ],
+ 'ListenerId' => ['description' => 'The listener ID.', 'type' => 'string', 'example' => 'lsr-bp1s0vzbi5bxlx5****', 'title' => ''],
+ '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**.', 'type' => 'string', 'example' => 'ALB', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the GA instance is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The GA instance is managed.'."\n"
+ ."\n"
+ .'- **false**: The GA instance is not managed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'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"
+ .'> This parameter takes effect only if **ServiceManaged** is set to **True**.'."\n"
."\n"
- .'* You can perform only specific actions on the managed instance.'."\n",
+ .'- You can perform only specific actions on the managed instance.',
'type' => 'array',
'items' => [
- 'description' => 'The actions that you can perform on the managed instance.'."\n",
+ 'description' => 'The actions that you can perform on the managed instance.',
'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',
- ],
+ 'Action' => ['description' => 'The name of the action that you can perform on the managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **Create**: Create an instance.'."\n"
+ ."\n"
+ .'- **Update**: Update the current instance.'."\n"
+ ."\n"
+ .'- **Delete**: Delete the current instance.'."\n"
+ ."\n"
+ .'- **Associate**: Reference the current instance.'."\n"
+ ."\n"
+ .'- **UserUnmanaged**: Unmanage the instance.'."\n"
+ ."\n"
+ .'- **CreateChild**: Create a child resource on the current instance.', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ ."\n"
+ .'- **Listener**: listener.'."\n"
+ ."\n"
+ .'- **IpSet**: acceleration region.'."\n"
+ ."\n"
+ .'- **EndpointGroup**: endpoint group.'."\n"
+ ."\n"
+ .'- **ForwardingRule**: forwarding rule.'."\n"
+ ."\n"
+ .'- **Endpoint**: endpoint.'."\n"
+ ."\n"
+ .'- **EndpointGroupDestination**: the protocol mapping of an endpoint group associated with a custom routing listener.'."\n"
+ ."\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**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **false**: The specified actions are not managed, and users can perform the specified actions on the managed instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BusinessRegion', 'errorMessage' => 'The business region does not exist.', 'description' => 'The business region does not exist.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'QuotaExceeded.EndPoint', 'errorMessage' => 'The maximum number of endpoints is exceeded.', 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['errorCode' => 'Exist.EndpointGroup', 'errorMessage' => 'The endpoint group already exists.', 'description' => 'The endpoint group already exists.'],
+ ['errorCode' => 'NoPermission.VpcEndpoint', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
],
],
- '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",
+ 'description' => '> Queries only custom forwarding rules. The default forwarding rule is not included in the results.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DeleteForwardingRules' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-08-30T03:47:05.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-08-15T05:50:12.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2021-07-21T11:30:41.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListForwardingRules'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListForwardingRules',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
+ ],
+ 'ListIpSets' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '8513',
- 'abilityTreeNodes' => [
- 'FEATUREgaRQQP6R',
- ],
+ 'abilityTreeCode' => '8889',
+ '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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'PageNumber',
'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',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'ForwardingRuleIds',
+ 'name' => 'PageSize',
'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,
- ],
+ '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', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1yeeq8yfoyszmqy****', 'title' => ''],
],
],
'responses' => [
@@ -23187,770 +19134,1045 @@
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'ForwardingRules' => [
- 'description' => 'The forwarding rules.'."\n",
+ 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A9B4E54C-9CCD-4002-91A9-D38C6C209192', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'IpSets' => [
+ 'description' => 'The acceleration regions.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The forwarding rule ID.'."\n",
+ 'description' => 'Details of the acceleration regions.'."\n",
'type' => 'object',
'properties' => [
- 'ForwardingRuleId' => [
- 'description' => 'The forwarding rule ID.'."\n",
- 'type' => 'string',
- 'example' => 'frule-bp19a3t3yzr21q3****',
+ 'AccelerateRegionId' => ['description' => 'The ID of the acceleration region.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'IpVersion' => ['description' => 'The IP version. Valid values:'."\n"
+ ."\n"
+ .'* **IPv4**'."\n"
+ .'* **IPv6**'."\n"
+ .'* **DUAL_STACK**'."\n", 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The bandwidth that is allocated to the acceleration region. Unit: **Mbit/s**.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'IpSetId' => ['description' => 'The ID of the acceleration region.'."\n", 'type' => 'string', 'example' => 'ips-bp11r5jb8ogp122xl****', 'title' => ''],
+ 'IpAddressList' => [
+ 'description' => 'The accelerated IP addresses.'."\n",
+ 'type' => 'array',
+ 'items' => ['description' => 'The accelerated IP address.'."\n", 'type' => 'string', 'example' => '121.43..XX.XX', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the instance is managed. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'CFC67ED9-4AB1-431F-B6E3-A752B7B8CCD4',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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',
- ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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",
+ 'title' => 'ListIpSets',
+ 'summary' => 'Queries acceleration regions.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'CreateAcl' => [
- 'summary' => 'Creates an access control list (ACL).',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:08.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-08-15T05:50:16.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-07-20T14:02:46.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-09-27T08:45:06.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListIpSets'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListIpSets',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'ListIspTypes' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '21653',
- 'abilityTreeNodes' => [
- 'FEATUREgaUP4965',
- ],
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'BusinessRegionId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the acceleration region to be queried.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'AclName',
+ 'name' => 'AcceleratorType',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AddressIPVersion',
+ '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****', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => '',
+ 'description' => 'A list of response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
],
+ 'example' => '',
],
],
+ ],
+ 'title' => 'ListIspTypes',
+ 'summary' => 'Queries the line types of elastic IP addresses (EIPs) that are supported in an acceleration region.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:18.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-04-20T08:32:18.000Z', 'description' => 'Response parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListIspTypes'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
[
- '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,
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListIspTypes',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- 'required' => false,
- 'maxItems' => 50,
],
],
+ ],
+ '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":""}]',
+ ],
+ 'ListListenerCertificates' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'ClientToken',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ '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', 'title' => ''],
+ ],
+ [
+ 'name' => 'AcceleratorId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Role',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ 'description' => 'The type of the certificate. Valid values:'."\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"
+ .'* **default**'."\n"
+ .'* **additional**'."\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",
+ .'If you do not specify this parameter, default and additional certificates are returned by default.'."\n",
'type' => 'string',
'required' => false,
- 'example' => '5A2CFF0E-5718-45B5-9D4D-70B3FF3898',
+ 'example' => 'default',
+ 'enum' => ['additional', 'default'],
+ 'title' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ListenerId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the listener.'."\n", 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfmwj7wvng3jbi',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'MaxResults',
'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,
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
+ 'description' => 'The response parameters.'."\n",
'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****',
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
+ 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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', 'title' => ''],
+ 'MaxResults' => ['description' => 'The maximum number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ 'Certificates' => [
+ 'description' => 'The certificates.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CertificateId' => ['description' => 'The certificate ID.'."\n", 'type' => 'string', 'example' => '6092**-cn-hangzhou', 'title' => ''],
+ 'IsDefault' => ['description' => 'Indicates whether the certificate is a default one.'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'IsExist.AclEntriesIsExist',
- 'errorMessage' => 'acl entries %s is exist',
- ],
- [
- 'errorCode' => 'QuotaExceeded.AclEntries',
- 'errorMessage' => 'The number of acl entries exceeds the limit',
+ 'title' => 'ListListenerCertificates',
+ 'summary' => 'Queries the certificates associated with a listener.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-11-02T14:07:25.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2021-08-04T19:13:05.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListListenerCertificates'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListListenerCertificates',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
],
],
],
- '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.',
+ '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":""}]',
],
- 'UpdateAclAttribute' => [
- 'summary' => 'Modifies the attributes of an access control list (ACL) of a Global Accelerator (GA) instance.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListListeners' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '21726',
- 'abilityTreeNodes' => [
- 'FEATUREga7ASVBS',
- ],
+ 'abilityTreeCode' => '8890',
+ 'abilityTreeNodes' => ['FEATUREgaZW5ZHQ'],
],
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'AclId',
+ 'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ACL ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'nacl-hp34s2h0xx1ht4nwo****',
- ],
+ 'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'AclName',
+ 'name' => 'PageSize',
'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',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. The maximum value is **50**. The default value is **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'AcceleratorId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'Protocol',
'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',
- ],
+ 'schema' => ['description' => 'The transport layer protocol used by the listener.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'A list of returned information.',
'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****',
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ 'Listeners' => [
+ 'description' => 'The details of the listeners.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the listener.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Certificates' => [
+ 'description' => 'The details of the SSL certificate.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the SSL certificate.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of the certificate.'."\n"
+ ."\n"
+ .'Only **Server**, which indicates a server-side certificate, is returned.', 'type' => 'string', 'example' => 'Server', 'title' => ''],
+ 'Id' => ['description' => 'The ID of the SSL certificate.', 'type' => 'string', 'example' => '44983xxxx-cn-hangzhou', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'BackendPorts' => [
+ 'description' => 'The port mapping of the backend server.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port mapping of the backend server.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FromPort' => ['description' => 'The start port of the backend server.', 'type' => 'string', 'example' => '80', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port of the backend server.', 'type' => 'string', 'example' => '80', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'ListenerId' => ['description' => 'The ID of the listener.', 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ 'Description' => ['description' => 'The description of the listener.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'State' => ['description' => 'The status of the listener.'."\n"
+ ."\n"
+ .'- **active**: The listener is running.'."\n"
+ ."\n"
+ .'- **init**: The listener is being initialized.'."\n"
+ ."\n"
+ .'- **updating**: The listener is being updated.'."\n"
+ ."\n"
+ .'- **deleting**: The listener is being deleted.', 'type' => 'string', 'example' => 'active', 'title' => ''],
+ 'ClientAffinity' => ['description' => 'Client affinity.'."\n"
+ ."\n"
+ .'- **NONE**: Client affinity is disabled. Requests from the same client are not always routed to the same endpoint.'."\n"
+ ."\n"
+ .'- **SOURCE\\_IP**: Client affinity is enabled. When a client accesses a stateful application, all requests from the same client are routed to the same endpoint regardless of the source port or protocol.', 'type' => 'string', 'example' => 'SOURCE_IP', 'title' => ''],
+ 'Protocol' => ['description' => 'The transport layer protocol used by the listener.'."\n"
+ ."\n"
+ .'- **TCP**: TCP.'."\n"
+ ."\n"
+ .'- **UDP**: UDP.'."\n"
+ ."\n"
+ .'- **HTTP**: HTTP.'."\n"
+ ."\n"
+ .'- **HTTPS**: HTTPS.', 'type' => 'string', 'example' => 'TCP', 'title' => ''],
+ 'CreateTime' => ['description' => 'The UNIX timestamp that indicates when the listener was created. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1577786252000', 'title' => ''],
+ 'PortRanges' => [
+ 'description' => 'The listener port range.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The listener port range.',
+ 'type' => 'object',
+ 'properties' => [
+ 'FromPort' => ['description' => 'The start port used to receive and forward requests to endpoints.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ 'ToPort' => ['description' => 'The end port used to receive and forward requests to endpoints.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Name' => ['description' => 'The name of the listener.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'ProxyProtocol' => ['description' => 'Indicates whether the proxy protocol is used to preserve client IP addresses.'."\n"
+ ."\n"
+ .'- **true**: The proxy protocol is used to preserve client IP addresses. After you enable the proxy protocol, you can retrieve the source IP addresses of clients from the backend servers.'."\n"
+ ."\n"
+ .'- **false**: The proxy protocol is not used to preserve client IP addresses.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'true', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ 'XForwardedForConfig' => [
+ 'description' => 'The configuration of the `XForward` fields.',
+ 'type' => 'object',
+ 'properties' => [
+ 'XForwardedForGaIdEnabled' => ['description' => 'Indicates whether the `GA-ID` header is used to retrieve the ID of the GA instance.'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'XRealIpEnabled' => ['description' => 'Indicates whether the `X-Real-IP` header is used to retrieve the real IP address of the client.'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'XForwardedForGaApEnabled' => ['description' => 'Indicates whether the `GA-AP` header is used to retrieve the acceleration region information.'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'XForwardedForProtoEnabled' => ['description' => 'Indicates whether the `GA-X-Forward-Proto` header is used to retrieve the listener protocol of the GA instance.'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'XForwardedForPortEnabled' => ['description' => 'Indicates whether the `GA-X-Forward-Port` header is used to retrieve the listener port of the GA instance.'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'SecurityPolicyId' => ['description' => 'The ID of the security policy instance.'."\n"
+ ."\n"
+ .'- **tls\\_cipher\\_policy\\_1\\_0**'."\n"
+ ."\n"
+ .' - Supported TLS versions: TLSv1.0, TLSv1.1, and TLSv1.2.'."\n"
+ ."\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: TLSv1.1 and TLSv1.2.'."\n"
+ ."\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: TLSv1.2.'."\n"
+ ."\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: TLSv1.2.'."\n"
+ ."\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: TLSv1.2 and TLSv1.3.'."\n"
+ ."\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 for HTTPS listeners.', 'type' => 'string', 'example' => 'tls_cipher_policy_1_0', 'title' => ''],
+ 'Type' => ['description' => 'The routing type of the listener.'."\n"
+ ."\n"
+ .'- **Standard**: smart routing.'."\n"
+ ."\n"
+ .'- **CustomRouting**: custom routing.', 'type' => 'string', 'example' => 'Standard', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the service that manages the instance.'."\n"
+ ."\n"
+ .'> This parameter is returned only if **ServiceManaged** is set to **True**.', 'type' => 'string', 'example' => 'ALB', 'title' => ''],
+ 'ServiceManaged' => ['description' => 'Indicates whether the instance is a managed instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The instance is a managed instance.'."\n"
+ ."\n"
+ .'- **false**: The instance is not a managed instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceManagedInfos' => [
+ 'description' => 'The actions that you can perform on the managed instance.'."\n"
+ ."\n"
+ .'> - This parameter is returned only if **ServiceManaged** is set to **True**.'."\n"
+ .'>'."\n"
+ .'> - When an instance is managed, you cannot perform some operations on the instance.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The actions that you can perform on the managed instance.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Action' => ['description' => 'The name of the managed policy action. Valid values:'."\n"
+ ."\n"
+ .'- **Create**: Create an instance.'."\n"
+ ."\n"
+ .'- **Update**: Update the current instance.'."\n"
+ ."\n"
+ .'- **Delete**: Delete the current instance.'."\n"
+ ."\n"
+ .'- **Associate**: Associate the instance with other resources.'."\n"
+ ."\n"
+ .'- **UserUnmanaged**: Unmanage the instance.'."\n"
+ ."\n"
+ .'- **CreateChild**: Create a child resource in the current instance.', 'type' => 'string', 'example' => 'Update', 'title' => ''],
+ 'ChildType' => ['description' => 'The type of the child resource. Valid values:'."\n"
+ ."\n"
+ .'- **Listener**: listener.'."\n"
+ ."\n"
+ .'- **IpSet**: acceleration region.'."\n"
+ ."\n"
+ .'- **EndpointGroup**: endpoint group.'."\n"
+ ."\n"
+ .'- **ForwardingRule**: forwarding rule.'."\n"
+ ."\n"
+ .'- **Endpoint**: endpoint.'."\n"
+ ."\n"
+ .'- **EndpointGroupDestination**: protocol mapping of an endpoint group that is associated with a custom routing listener.'."\n"
+ ."\n"
+ .'- **EndpointPolicy**: traffic policy for an endpoint that is associated with a custom routing listener.'."\n"
+ ."\n"
+ .'> This parameter is returned only if the value of **Action** is **CreateChild**.', 'type' => 'string', 'example' => 'Listener', 'title' => ''],
+ 'IsManaged' => ['description' => 'Indicates whether the specified action is managed. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The action is managed. You cannot perform the specified action on the managed instance.'."\n"
+ ."\n"
+ .'- **false**: The action is not managed. You can perform the specified action on the managed instance.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'IdleTimeout' => ['description' => 'The timeout period of idle connections. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '900', 'title' => ''],
+ 'RequestTimeout' => ['description' => 'The timeout period for HTTP or HTTPS requests. Unit: seconds.'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTP and HTTPS listeners. If a backend server does not respond within the timeout period, Global Accelerator returns an HTTP 504 error to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''],
+ 'HttpVersion' => ['description' => 'The maximum version of the HTTP protocol. Valid values:'."\n"
+ ."\n"
+ .'- **http3**: HTTP/3.'."\n"
+ ."\n"
+ .'- **http2**: HTTP/2.'."\n"
+ ."\n"
+ .'- **http1.1**: HTTP/1.1.'."\n"
+ ."\n"
+ .'> This parameter is available only for HTTPS listeners.', 'type' => 'string', 'example' => 'http2', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
500 => [
- [
- 'errorCode' => 'NotExist.Acl',
- 'errorMessage' => 'acl is not exist',
- ],
- [
- 'errorCode' => 'StateError.Acl',
- 'errorMessage' => 'acl state is illegal',
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'ListListeners',
+ 'summary' => 'Retrieves a list of listeners.',
+ 'description' => 'This operation retrieves the listeners of a Global Accelerator instance. The response includes the routing type, status, creation timestamp, and port details for each listener.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-04T05:39:03.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2025-12-04T03:11:54.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-11-26T07:42:08.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-11-26T03:38:07.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-11-26T03:25:48.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:55:57.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-12-23T15:31:10.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2024-03-27T02:06:00.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-11-06T12:24:53.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-08-15T05:50:15.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2023-07-20T14:02:46.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListListeners'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListListeners',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/*'],
+ ],
],
],
],
- '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',
+ 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]',
],
- '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',
- ],
+ 'ListSpareIps' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '22289',
- 'abilityTreeNodes' => [
- 'FEATUREga7ASVBS',
- ],
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREgaAFDOJS'],
],
'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****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AclEntries',
+ 'name' => 'ClientToken',
'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,
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'DryRun',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'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****',
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'title' => 'ListSpareIps',
+ 'summary' => 'Queries the information about the secondary IP addresses that are associated with a CNAME.',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:12:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:03.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSpareIps'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListSpareIps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'RemoveEntriesFromAcl' => [
- 'summary' => 'Deletes IP entries from an access control list (ACL).',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListSystemSecurityPolicies' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '22290',
- 'abilityTreeNodes' => [
- 'FEATUREga7ASVBS',
- ],
+ 'abilityTreeCode' => '90922',
+ 'abilityTreeNodes' => ['FEATUREgaVX8KJ1'],
+ '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,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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', 'title' => ''],
],
[
- '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',
+ 'name' => 'PageNumber',
'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',
- ],
+ 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'PageSize',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
+ 'title' => '',
'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****',
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
+ 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
+ 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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', 'title' => ''],
+ '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"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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"]', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'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',
+ ['errorCode' => 'NoPermission', 'errorMessage' => 'No permissions.', 'description' => 'No permissions.'],
+ ],
+ ],
+ 'title' => 'ListSystemSecurityPolicies',
+ 'summary' => 'Queries the TLS security policies that are supported by HTTPS listeners.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:56.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-23T09:34:45.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-07-20T14:02:46.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSystemSecurityPolicies'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListSystemSecurityPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'SystemSecurityPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'ListAcls' => [
- 'summary' => 'Queries a list of access control lists (ACLs).',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListTagResources' => [
+ 'summary' => 'Queries the tags that are added to Global Accelerator (GA) resources.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -23962,100 +20184,71 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '21718',
- 'abilityTreeNodes' => [
- 'FEATUREgaUP4965',
- ],
+ 'abilityTreeCode' => '152999',
+ 'abilityTreeNodes' => ['FEATUREgaZTNSJU'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'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****',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'ResourceType',
'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',
- ],
+ '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' => 'ResourceGroupId',
+ 'name' => 'ResourceId',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
+ 'title' => '',
+ '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****', 'title' => ''],
'required' => false,
- 'example' => 'rg-aek2lgw4evw****',
+ 'maxItems' => 51,
+ 'example' => '',
],
],
[
@@ -24063,443 +20256,275 @@
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'title' => '标签列表,最多包含20个子项',
- 'description' => 'The tag of the ACL.'."\n",
+ 'title' => '',
+ 'description' => 'An array of tags of GA resources.'."\n"
+ ."\n"
+ .'You can specify up to 20 tags.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The tag of the resource.'."\n",
+ '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 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',
- ],
+ '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,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
'maxItems' => 21,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned information.'."\n",
+ 'description' => 'The response parameters.'."\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',
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''],
+ 'TotalCount' => ['description' => 'The number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
+ '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****', 'title' => ''],
+ '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' => '', 'description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => 'ga-bp149u6o36qt1as9b****'],
+ 'TagKey' => ['title' => '', 'description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'valueTest'],
],
- 'maxItems' => 10,
- 'minItems' => 0,
+ 'title' => '',
+ 'example' => '',
],
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:53.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-24T05:56:32.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListTagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'OpenAcceleratorService' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '21724',
- 'abilityTreeNodes' => [
- 'FEATUREgaUP4965',
- ],
+ 'abilityTreeCode' => '174750',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
+ 'tenantRelevance' => 'publicInformation',
],
'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',
- ],
+ 'schema' => ['description' => 'The region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'AclId',
+ 'name' => 'ClientToken',
'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****',
- ],
+ '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', 'title' => ''],
],
],
'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,
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B49B60F6-F6C8-49E5-B06B-E33E3A469A92', 'title' => ''],
+ 'OrderId' => ['description' => 'The ID of the order.', 'type' => 'integer', 'format' => 'int64', 'example' => '208257****', 'title' => ''],
+ 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => '200', 'title' => ''],
+ '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', 'title' => ''],
+ 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => '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.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:06.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OpenAcceleratorService'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ga:OpenAcceleratorService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ '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"}]',
+ ],
+ 'QueryCrossBorderApprovalStatus' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '21659',
- 'abilityTreeNodes' => [
- 'FEATUREgaUP4965',
- ],
- ],
+ '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,
- '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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters'."\n",
+ 'title' => '',
+ 'description' => '',
'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****',
- ],
+ 'RequestId' => ['title' => '', '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', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NotExist.Acl',
- 'errorMessage' => 'acl %s is not exist',
- ],
- [
- 'errorCode' => 'StateError.Acl',
- 'errorMessage' => 'acl state %s is illegal',
- ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'QueryCrossBorderApprovalStatus',
+ 'summary' => 'Queries the approval status of cross-border permissions for an Alibaba Cloud account (main account).',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:10.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCrossBorderApprovalStatus'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:QueryCrossBorderApprovalStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F96E634B-A523-587F-9A09-AE8B2FD04B9C\\",\\n \\"ApprovalStatus\\": \\"UNAPPLIED\\"\\n}","type":"json"}]',
+ ],
+ 'RemoveEntriesFromAcl' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -24511,181 +20536,125 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '22291',
- 'abilityTreeNodes' => [
- 'FEATUREgaZ38IM8',
- ],
+ 'abilityTreeCode' => '22290',
+ '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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AclIds',
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ACL ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
+ ],
+ [
+ 'name' => 'AclEntries',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The ID of the ACL. You can associate up to two ACL IDs.',
+ 'description' => 'The entries that you want to delete. You can delete up to 50 entries at a time.'."\n",
'type' => 'array',
'items' => [
- 'description' => 'The ID of the ACL. You can associate up to two ACL IDs.'."\n",
- 'type' => 'string',
+ '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', 'title' => ''],
+ ],
'required' => false,
- 'example' => 'nacl-hp34s2h0xx1ht4nwo****',
+ 'title' => '',
+ 'example' => '',
],
'required' => true,
'docRequired' => true,
- 'maxItems' => 2,
+ 'maxItems' => 50,
'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',
- ],
+ 'title' => '',
+ 'example' => '',
],
],
[
'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the 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****',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
+ 'title' => '',
+ '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',
- ],
- '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****',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF'],
+ 'AclId' => ['description' => 'The ACL ID.'."\n", 'type' => 'string', 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
],
+ 'example' => '',
],
],
],
'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' => 'NotExist.Acl', 'errorMessage' => 'acl %s is not exist', 'description' => 'The ACL %s does not exist.'],
+ ['errorCode' => 'StateError.Acl', 'errorMessage' => 'acl state %s is illegal', 'description' => 'The status of the ACL %s is invalid.'],
+ ['errorCode' => 'NotExist.AclEntries', 'errorMessage' => 'acl entries is not exist', 'description' => ''],
],
],
- '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"
+ 'title' => 'RemoveEntriesFromAcl',
+ 'summary' => 'Deletes IP entries from an access control list (ACL).',
+ '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 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"
+ .' * 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 **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',
+ .'* 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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:06.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-23T16:02:47.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-23T16:02:41.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-11T04:02:01.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveEntriesFromAcl'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:RemoveEntriesFromAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'ReplaceBandwidthPackage' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -24693,169 +20662,95 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '22292',
- 'abilityTreeNodes' => [
- 'FEATUREgaZ38IM8',
- ],
- ],
+ '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' => '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,
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ListenerId',
+ 'name' => 'BandwidthPackageId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the listener.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'lsr-bp1bpn0kn908w4nbw****',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'TargetBandwidthPackageId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the bandwidth plan that you want to replace.'."\n", 'type' => 'string', 'required' => true, 'example' => 'gbwp-o978hgeb61yhcymow****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The GA instance ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ga-bp17frjjh0udz4qz****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => '',
+ 'description' => 'The response parameters.'."\n",
'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****',
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A0EA8CCA-F081-4338-9790-A1C791CCA779', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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',
- ],
+ ['errorCode' => 'NotExist.BandwidthPackage', 'errorMessage' => 'The bandwidth package does not exist.', 'description' => 'The bandwidth package does not exist.'],
+ ['errorCode' => 'StateError.BandwidthPackage', 'errorMessage' => 'The state of bandwidth package is invalid.', 'description' => 'The bandwidth plan is in an invalid state.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
],
],
- '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"
+ '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"
- .'* **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"
+ .'* The GA instance continues to forward network traffic.'."\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"
+ .'* **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"
- .'* 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',
+ .' * 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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:55.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-11-15T08:48:59.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReplaceBandwidthPackage'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:ReplaceBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'TagResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -24864,612 +20759,487 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '152997',
+ 'abilityTreeNodes' => ['FEATUREgaZTNSJU'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'OptionsJson',
+ 'name' => 'ResourceType',
'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 }',
- ],
+ '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' => 'DetectEnable',
+ 'name' => 'ResourceId',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to enable the automatic diagnostics feature. Valid values:'."\n"
+ 'title' => '',
+ 'description' => 'The ID of the resource to which you want to add tags.'."\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"
+ .'* 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"
- .'Valid values: **0** to **100**.'."\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"
- .'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"
+ .'* 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"
- .'Valid values: **1** to **20**. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
+ .'This parameter is required. You can enter up to 50 GA resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ga-bp149u6o36qt1as9b****', 'title' => ''],
+ 'required' => true,
+ 'maxItems' => 51,
+ 'example' => '',
],
],
[
- 'name' => 'SilenceTime',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'repeatList',
'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"
+ 'title' => '',
+ 'description' => 'The tags of GA resources.'."\n"
."\n"
- .'Unit: seconds. Valid values: **300** to **86400**. Default value: **300**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '300',
+ .'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,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 21,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters of the operation.'."\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****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NotExist.Listener',
- 'errorMessage' => 'The listener does not exist.',
+ 'title' => 'TagResources',
+ 'summary' => 'Adds tags to Global Accelerator (GA) resources.',
+ '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.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:57:10.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-24T05:56:32.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:TagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthpackageId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#basicGaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#EndpointGroupId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'UpdateApplicationMonitor' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UntagResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '114792',
- 'abilityTreeNodes' => [
- 'FEATUREgaLHYOX6',
- ],
+ 'abilityTreeCode' => '152998',
+ 'abilityTreeNodes' => ['FEATUREgaZTNSJU'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'TaskId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the origin probing task that you want to modify.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'sm-bp1fpdjfju9k8yr1y****',
- ],
+ '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' => 'ListenerId',
+ 'name' => 'All',
'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****',
- ],
+ 'schema' => ['title' => '', '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' => 'TaskName',
+ 'name' => 'ResourceId',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The name of the origin probing task.'."\n"
+ 'title' => '',
+ 'description' => 'The IDs of the resources whose tags you want to remove.'."\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"
+ .'* 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"
- .'* **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"
+ .'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"
- .'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"
+ .'* 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"
- .'Valid values: **1** to **20**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
+ .'You can specify up to 50 GA resource IDs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ga-bp149u6o36qt1as9b****', 'title' => ''],
+ 'required' => true,
+ 'maxItems' => 51,
+ 'example' => '',
],
],
[
- 'name' => 'SilenceTime',
+ 'name' => 'TagKey',
'in' => 'query',
+ 'style' => 'repeatList',
'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"
+ 'title' => '',
+ '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"
- .'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"
+ .'The system removes all tags with this tag key.'."\n"
+ ."\n"
+ .'You can specify up to 20 tag keys.'."\n"
."\n"
- .'Unit: seconds. Valid values: **300** to **86400**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
+ .'> If the **All** parameter is set to **true**, this parameter does not take effect.'."\n", 'type' => 'string', 'required' => false, 'example' => 'valueTest', 'title' => ''],
'required' => false,
- 'example' => '300',
+ 'maxItems' => 21,
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The list of response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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.',
+ 'title' => 'UntagResources',
+ 'summary' => 'Removes tags from Global Accelerator (GA) resources.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:18.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-09-24T05:56:32.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UntagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#basicGaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- 'DisableApplicationMonitor' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateAccelerator' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '114794',
- 'abilityTreeNodes' => [
- 'FEATUREgaLHYOX6',
- ],
+ 'abilityTreeCode' => '8892',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'default' => 'cn-hangzhou', 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'Generate a parameter value from your client to make sure that the value 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 **RequestId** of the request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '123e4567****', 'title' => ''],
],
[
- 'name' => 'TaskId',
+ 'name' => 'Name',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the origin probing task that you want to disable.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'sm-bp1fpdjfju9k8yr1y****',
- ],
+ 'schema' => ['description' => 'The name of the GA instance.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length, start with a letter or a Chinese character, and can contain digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'Accelerator', 'title' => ''],
],
- ],
- '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.',
- ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The description of the GA instance. The description can be up to 200 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Accelerator', 'title' => ''],
],
- ],
- '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' => [],
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '114795',
- 'abilityTreeNodes' => [
- 'FEATUREgaLHYOX6',
+ [
+ 'name' => 'Spec',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The specification of the GA instance. Valid values:'."\n"
+ ."\n"
+ .'- **1**: Small I'."\n"
+ ."\n"
+ .'- **2**: Small II'."\n"
+ ."\n"
+ .'- **3**: Small III'."\n"
+ ."\n"
+ .'- **5**: Medium I'."\n"
+ ."\n"
+ .'- **8**: Medium II'."\n"
+ ."\n"
+ .'- **10**: Medium III'."\n"
+ ."\n"
+ .'- **20**: Large I'."\n"
+ ."\n"
+ .'- **30**: Large II'."\n"
+ ."\n"
+ .'- **40**: Large III'."\n"
+ ."\n"
+ .'- **50**: Large IV'."\n"
+ ."\n"
+ .'- **60**: Large V'."\n"
+ ."\n"
+ .'- **70**: Large VI'."\n"
+ ."\n"
+ .'- **80**: Large VII'."\n"
+ ."\n"
+ .'- **90**: Large VIII'."\n"
+ ."\n"
+ .'- **100**: Ultra-large I'."\n"
+ ."\n"
+ .'- **200**: Ultra-large II'."\n"
+ ."\n"
+ .'> Large III and higher specifications are available only to whitelisted users. To use these specifications, contact your account manager.'."\n"
+ ."\n"
+ .'The definitions of instance types vary. For more information, see [Instance types](~~153127~~).', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
- ],
- 'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'AutoPay',
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n"
+ ."\n"
+ .'- **false** (default): Disables automatic payment. After an order is generated, you must go to the [Order Hub](https://usercenter2-intl.aliyun.com/order/list) to complete the payment.'."\n"
+ ."\n"
+ .'- **true**: Enables automatic payment. The system automatically pays the bill.'."\n"
+ ."\n"
+ .'> This parameter is valid only for upgrade orders.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'AutoUseCoupon',
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to automatically use a coupon to pay for the bill. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Use a coupon.'."\n"
+ ."\n"
+ .'- **false** (default): Do not use a coupon.'."\n"
+ ."\n"
+ .'> This parameter is valid only if **AutoPay** is set to **true**.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'TaskId',
+ 'name' => 'Bandwidth',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the origin probing task that you want to enable.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'sm-bp1fpdjfju9k8yr1y****',
- ],
+ 'schema' => ['description' => 'The bandwidth of the standard GA instance. Unit: **Mbps**.'."\n"
+ ."\n"
+ .'Valid values: 200 to 5000.'."\n"
+ ."\n"
+ .'> This parameter is valid only when the access mode of the acceleration area is Anycast.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The data returned.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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',
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'IllegalParameter.Spec', 'errorMessage' => 'The specified Spec is invalid.', 'description' => 'The specified Spec is invalid.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA 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.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","type":"json"}]',
+ 'title' => 'UpdateAccelerator',
+ 'summary' => 'Use the UpdateAccelerator operation to modify a Global Accelerator instance.',
+ 'description' => '- **UpdateAccelerator** is an asynchronous operation. After you send a request, the system returns a request ID and performs the modification in the background. You can call the [DescribeAccelerator](~~153235~~) operation to query the state of a Global Accelerator (GA) instance:'."\n"
+ ."\n"
+ .' - If the GA instance is in the **configuring** state, the instance is being modified. In this state, you can only perform query operations.'."\n"
+ ."\n"
+ .' - If the GA instance is in the **active** state, the modification is complete.'."\n"
+ ."\n"
+ .'- You cannot call the **UpdateAccelerator** operation concurrently on the same GA instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:13:03.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-12-23T02:56:21.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:56:07.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-05-07T05:34:17.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
],
],
- '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',
- ],
+ 'UpdateAcceleratorAutoRenewAttribute' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -25478,320 +21248,224 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '114848',
- 'abilityTreeNodes' => [
- 'FEATUREgaLHYOX6',
- ],
+ 'abilityTreeNodes' => ['FEATUREgaQQ43JD'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => false, 'default' => 'cn-hangzhou', 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ '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 **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'TaskId',
+ 'name' => 'Name',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the origin probing task that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'sm-bp1fpdjfju9k8yr1y****',
- ],
+ 'schema' => ['description' => 'The name of the Global Accelerator instance.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length, start with a letter or a Chinese character, and can contain letters, digits, underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ ],
+ [
+ 'name' => 'AcceleratorId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****', 'title' => ''],
+ ],
+ [
+ 'name' => 'AutoRenew',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to enable auto-renewal for the instance. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Auto-renewal is enabled.'."\n"
+ ."\n"
+ .'- **false** (default): Auto-renewal is disabled.'."\n"
+ ."\n"
+ .'> You must specify at least one of **AutoRenew** and **RenewalStatus**.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'RenewalStatus',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The auto-renewal status of the Global Accelerator instance. Valid values:'."\n"
+ ."\n"
+ .'- **AutoRenewal**: The instance is configured for auto-renewal.'."\n"
+ ."\n"
+ .'- **Normal**: The instance is configured for manual renewal.'."\n"
+ ."\n"
+ .'- NotRenewal: The instance is not renewed. The system does not send expiration reminders, but sends a non-renewal reminder three days before the expiration date. You can change the renewal status from **NotRenewal** to **Normal** to manually renew the instance, or change the renewal status to **AutoRenewal**.'."\n"
+ ."\n"
+ .'> * You must specify at least one of **AutoRenew** and **RenewalStatus**.'."\n"
+ .'>'."\n"
+ .'> * The **RenewalStatus** parameter takes precedence over the **AutoRenew** parameter. If you do not specify **RenewalStatus**, the value of **AutoRenew** is used.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''],
+ ],
+ [
+ '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 when **AutoRenew** is set to **true**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters'."\n",
+ 'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', 'title' => ''],
+ 'AcceleratorId' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'example' => 'ga-bp17frjjh0udz4qz****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NotExist.SiteMonitor',
- 'errorMessage' => 'The siteMonitor %s is not exist.',
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA 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.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'UpdateAcceleratorAutoRenewAttribute',
+ 'summary' => 'You can call the UpdateAcceleratorAutoRenewAttribute operation to modify the auto-renewal property of a Global Accelerator instance.',
+ 'description' => 'The **UpdateAcceleratorAutoRenewAttribute** operation does not support concurrent modifications to the auto-renewal property of the same Global Accelerator instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-23T03:13:03.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:55:56.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-11-30T08:56:00.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAcceleratorAutoRenewAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F591955F-5CB5-4CCE-A75D-17CF2085CE22\\",\\n \\"AcceleratorId\\": \\"ga-bp17frjjh0udz4qz****\\"\\n}","type":"json"}]',
],
- 'ListApplicationMonitor' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateAcceleratorConfirm' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '114803',
- 'abilityTreeNodes' => [
- 'FEATUREgaLHYOX6',
- ],
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region where the GA instance is deployed. Set the value to **cn-hangzhou**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- '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',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned information.'."\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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
- ],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA 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.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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',
+ 'title' => 'UpdateAcceleratorConfirm',
+ 'summary' => 'Confirms the updated specification of a Global Accelerator (GA) instance.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:07.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAcceleratorConfirm'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAcceleratorConfirm',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateAcceleratorCrossBorderMode' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '114797',
- 'abilityTreeNodes' => [
- 'FEATUREgaLHYOX6',
- ],
+ 'abilityTreeCode' => '161146',
+ 'abilityTreeNodes' => ['FEATUREga231EJR'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'default' => 'cn-hangzhou', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ClientToken',
@@ -25799,701 +21473,429 @@
'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"
+ .'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",
+ .'> 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.',
'type' => 'string',
+ 'enum' => [],
'required' => false,
'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
],
],
[
- 'name' => 'TaskId',
+ 'name' => 'AcceleratorId',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the origin probing task.'."\n",
+ 'description' => 'The GA instance ID.'."\n"
+ ."\n"
+ .'> The bandwidth metering method of the GA instance must be pay-by-data-transfer.',
'type' => 'string',
'required' => true,
- 'example' => 'sm-bp1fpdjfju9k8yr1y****',
+ 'enum' => [],
+ 'example' => 'ga-bp1odcab8tmno0hdq****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'CrossBorderMode',
+ 'in' => 'query',
+ 'schema' => [
+ '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"
+ ."\n"
+ .'- **private**: cross-border Express Connect circuit. Cross-border Express Connect circuits provide better acceleration performance but require real-name verification.',
+ 'type' => 'string',
+ 'required' => true,
+ 'enum' => [],
+ 'title' => '',
+ 'example' => 'bgpPro',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
- ],
- [
- 'errorCode' => 'NotExist.SiteMonitor',
- 'errorMessage' => 'The siteMonitor %s is not exist.',
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotSupportChangeCrossBorderMode.Accelerator', 'errorMessage' => 'Currently Accelerator does not support to update cross-border mode.', 'description' => 'The current GA instance does not allow you change the 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.', 'description' => 'You cannot enable cross-border Express Connect circuits for the current instance before your application is approved.'],
+ ['errorCode' => 'CrossBorderStatusNotOpen.Accelerator', 'errorMessage' => 'The cross-border mode does not allow modification because the cross-border switch is not turned on.', 'description' => 'You cannot modify the cross-border acceleration mode because cross-border acceleration is disabled.'],
+ ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'UpdateAcceleratorCrossBorderMode',
+ 'summary' => 'Changes the type of transmission network for a Global Accelerator (GA) instance.',
+ 'description' => 'Changes 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"
+ ."\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~~).',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:59.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAcceleratorCrossBorderMode',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
],
],
],
- '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.',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
],
- 'DetectApplicationMonitor' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateAcceleratorCrossBorderStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '117053',
- 'abilityTreeNodes' => [
- 'FEATUREgaLHYOX6',
- ],
+ 'abilityTreeCode' => '172921',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to cn-hangzhou.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'TaskId',
+ 'name' => 'AcceleratorId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
+ ],
+ [
+ '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"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters'."\n",
+ 'title' => '',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'InvalidateTaskId.ApplicationMonitor',
- 'errorMessage' => 'The application monitor task %s is not exist.',
+ ['errorCode' => 'CrossBorderStatusUnsupported.Accelerator', 'errorMessage' => 'The current instance does not support enabling or disabling the cross-border switch.', 'description' => 'You cannot enable or disable cross-border acceleration for the current instance.'],
+ ['errorCode' => 'CrossBorderStatusTurnOffInvalid.Accelerator', 'errorMessage' => 'If there are any cross-border lines, it is not allowed to turn off the cross-border switch.', 'description' => 'Cross-border acceleration cannot be disabled because cross-border connections are used.'],
+ ['errorCode' => 'Error.ComplianceIssue', 'errorMessage' => 'The current instance is not allowed to use the cross-border special line before obtaining cross-border qualification.', 'description' => 'You cannot enable cross-border Express Connect circuits for the current instance before your application is approved.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotOpen.CrossBorderStatus', 'errorMessage' => 'Cross-border acceleration has not been enabled for the instance.', 'description' => 'Cross-border acceleration is disabled for the current instance.'],
+ ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'UpdateAcceleratorCrossBorderStatus',
+ 'summary' => 'Enables cross-border data transmission for a Global Accelerator (GA) instance.',
+ 'description' => 'Enables or disables cross-border data transmission for basic or standard GA instances that use Cloud Data Transfer (CDT) to bill data transfers.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:12.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAcceleratorCrossBorderStatus'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAcceleratorCrossBorderStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
],
],
],
- '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.',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
],
- 'ListApplicationMonitorDetectResult' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '117707',
- 'abilityTreeNodes' => [
- 'FEATUREgaLHYOX6',
- ],
+ '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' => 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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'AclId',
'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',
- ],
+ 'schema' => ['description' => 'The ACL ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
],
[
- 'name' => 'TaskId',
+ 'name' => 'AclName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The origin probing task ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'sm-bp1fpdjfju9k8yr1y****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'BeginTime',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'EndTime',
+ 'name' => 'DryRun',
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF'],
+ 'AclId' => ['description' => 'The ACL ID.'."\n", 'type' => 'string', 'example' => 'nacl-hp34s2h0xx1ht4nwo****', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
- ],
+ 500 => [
+ ['errorCode' => 'NotExist.Acl', 'errorMessage' => 'acl is not exist', 'description' => ''],
+ ['errorCode' => 'StateError.Acl', 'errorMessage' => 'acl state is illegal', 'description' => ''],
],
],
- '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',
+ 'title' => 'UpdateAclAttribute',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:56.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-04-27T15:27:15.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateAclAttribute'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAclAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateAdditionalCertificateWithListener' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '149715',
- 'abilityTreeNodes' => [
- 'FEATUREgaN8JEXK',
- ],
+ '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' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AcceleratorIds',
+ 'name' => 'DryRun',
'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,
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Domain',
+ 'name' => 'ClientToken',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AcceleratorId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
- ],
- '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',
+ 'name' => 'ListenerId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the listener. Only HTTPS listeners are supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
- ],
- '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',
- ],
+ 'schema' => ['description' => 'The domain name associated with the additional certificate that you want to replace.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'CertificateId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the replacement certificate.'."\n", 'type' => 'string', 'required' => true, 'example' => '6092**-cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters of the operation.'."\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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
+ 'ListenerId' => ['description' => 'The ID of the listener.'."\n", 'type' => 'string', 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NotExist.Domain',
- 'errorMessage' => 'The domain %s is not exist.',
- ],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'ResourceNotFound.CertificateDomain', 'errorMessage' => 'The specified domain is not found.', 'description' => ''],
+ ['errorCode' => 'CertificateNotSupportDomain', 'errorMessage' => 'The certificate does not support the current domain, please check.', 'description' => 'The certificate does not match the current domain name.'],
+ ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
+ 'title' => 'UpdateAdditionalCertificateWithListener',
+ 'summary' => 'Replaces an expired additional certificate for an HTTPS listener.',
+ '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"
- .'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',
+ .'* **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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2023-10-09T11:27:55.000Z', 'description' => 'Error codes changed'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateAdditionalCertificateWithListener'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAdditionalCertificateWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'AdditionalCertificate', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#ListenerId}'],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ ],
+ 'UpdateApplicationMonitor' => [
+ 'summary' => 'Modifies the configuration of an origin probing task by calling the UpdateApplicationMonitor operation.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -26505,802 +21907,411 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '149722',
- 'abilityTreeNodes' => [
- 'FEATUREgaN8JEXK',
- ],
+ '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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => false, 'default' => 'cn-hangzhou', 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'TargetDomain',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The accelerated domain name to be modified.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'example.com',
- ],
+ '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 **RequestId** value as the **ClientToken** value. The **RequestId** value of each API request is different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'Domain',
+ 'name' => 'TaskId',
'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',
- ],
- ],
- ],
+ 'schema' => ['description' => 'The ID of the origin probing task that you want to modify.', 'type' => 'string', 'required' => true, 'example' => 'sm-bp1fpdjfju9k8yr1y****', 'title' => ''],
],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NotExist.Domain',
- 'errorMessage' => 'The domain %s is not exist.',
- ],
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The instance ID of the listener associated with the origin probing task that you want to modify.', 'type' => 'string', 'required' => false, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
- ],
- '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' => [],
+ '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 must start with a letter or a Chinese character. It can contain digits, periods (.), underscores (_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'task1', 'title' => ''],
],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'Address',
'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',
- ],
+ 'schema' => ['description' => 'The URL or IP address to be probed.', 'type' => 'string', 'required' => false, 'example' => 'https://www.aliyun.com', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'OptionsJson',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance that you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
- ],
+ 'schema' => ['description' => 'The advanced extension options for the listener protocol type of the origin probing task. Different listener protocol types correspond to different extension options.', 'type' => 'string', 'required' => false, 'example' => '{ "http_method": "get","header": "key:asd","acceptable_response_code": "500","cert_verify": true }', 'title' => ''],
],
[
- 'name' => 'Domain',
+ 'name' => 'DetectEnable',
'in' => 'query',
- 'schema' => [
- 'description' => 'The accelerated domain name that you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'www.example.com',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable the automatic diagnostics feature. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Enabled.'."\n"
+ ."\n"
+ .'- **false** (default): Disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'PageNumber',
+ 'name' => 'DetectThreshold',
'in' => 'query',
- 'schema' => [
- 'description' => 'The page number. Default value: **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'minimum' => '1',
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['description' => 'The threshold that triggers automatic diagnostics. When the origin availability rate falls below this threshold, automatic diagnostics is triggered.'."\n"
+ ."\n"
+ .'Valid values: **0** to **100**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''],
],
[
- 'name' => 'PageSize',
+ 'name' => 'DetectTimes',
'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',
- ],
+ 'schema' => ['description' => 'The number of consecutive times that the availability rate must fall below the threshold before automatic diagnostics is triggered.'."\n"
+ ."\n"
+ .'Valid values: **1** to **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'State',
+ 'name' => 'SilenceTime',
'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',
- ],
+ 'schema' => ['description' => 'The silence period for automatic diagnostics. This specifies the interval between automatic diagnostics triggers when the availability rate does not recover to normal after diagnostics is triggered.'."\n"
+ ."\n"
+ .'When the availability rate falls below the automatic diagnostics threshold for consecutive times (as specified by **DetectTimes**), automatic diagnostics is triggered. If the availability rate remains below the threshold during the silence period, automatic diagnostics is not triggered again within the silence period. If the availability rate has not recovered after the silence period expires, automatic diagnostics is triggered again.'."\n"
+ ."\n"
+ .'Unit: seconds. Valid values: **300** to **86400**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response parameters.',
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'InvalidateTaskId.ApplicationMonitor', 'errorMessage' => 'The application monitor task %s is not exist.', 'description' => 'The source station probe task ID does not exist.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'listener %s is not exist', 'description' => 'The listener %s does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'listener %s is not active', 'description' => 'The listener %s is unavailable.'],
+ ['errorCode' => 'ListenerNotSupport.ApplicationMonitor', 'errorMessage' => 'when the listener protocol is udp, application monitor is not supported.', 'description' => 'Origin probing tasks do not support UDP listeners.'],
+ ['errorCode' => 'InvalidatePort.ApplicationMonitor', 'errorMessage' => 'The address port not in listener port range.', 'description' => 'The port of the domain name that is probed is not within the port range of the listener.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'Modify origin probing task configuration',
+ 'description' => '**UpdateApplicationMonitor** is an asynchronous operation. After you call this operation, the system returns a request ID, but the origin probing task is not yet modified. The modification task continues to run in the background. You can call [DescribeApplicationMonitor](~~408463~~) or [ListApplicationMonitor](~~408462~~) to check whether the origin probing task configuration has been modified:'."\n"
+ ."\n"
+ .'- If the modified parameter values have not changed, the origin probing task is still being modified. In this case, you can only perform query operations and cannot perform other operations.'."\n"
+ ."\n"
+ .'- If the modified parameter values have changed, the origin probing task has been modified.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:08.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:25.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2021-12-28T13:10:48.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#TaskId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateBandwidthPackagaAutoRenewAttribute' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '149767',
- 'abilityTreeNodes' => [
- 'FEATUREgaN8JEXK',
- ],
+ 'abilityTreeNodes' => ['FEATUREgaQQ43JD'],
],
'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',
- ],
+ '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', 'title' => ''],
],
- ],
- '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.',
- ],
+ [
+ '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', 'title' => ''],
],
- ],
- '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' => [],
+ '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', 'title' => ''],
],
- ],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '149754',
- 'abilityTreeNodes' => [
- 'FEATUREgaN8JEXK',
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the bandwidth plan.'."\n", 'type' => 'string', 'required' => true, 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
- ],
- 'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'AutoRenew',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AcceleratorIds',
+ 'name' => 'RenewalStatus',
'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,
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'Domain',
+ 'name' => 'AutoRenewDuration',
'in' => 'query',
- 'schema' => [
- 'description' => 'The accelerated domain name to be disassociated.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The list of response parameters.'."\n",
+ '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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22', 'title' => ''],
+ 'InstanceId' => ['description' => 'The ID of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
+ ['errorCode' => 'NotExist.BandwidthPackage', 'errorMessage' => 'The bandwidth package does not exist.', 'description' => 'The bandwidth package does not exist.'],
+ ['errorCode' => 'ParamIllegal.SpInstanceAutoRenew', 'errorMessage' => 'The param AutoRenew and RenewalStatus cannot be empty at the same time.', 'description' => 'The AutoRenew and RenewalStatus parameters cannot be left 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.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ],
+ ],
+ 'title' => 'UpdateBandwidthPackagaAutoRenewAttribute',
+ 'summary' => 'Changes the auto-renewal status of a bandwidth plan.',
+ 'description' => 'You cannot repeatedly call the **UpdateBandwidthPackagaAutoRenewAttribute** operation to modify the auto-renewal settings of a bandwidth plan.'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:00.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-05-24T09:37:04.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBandwidthPackagaAutoRenewAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BandwidthPackageId}'],
+ ],
],
],
],
- '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",
+ '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":""}]',
],
- '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',
- ],
+ 'UpdateBandwidthPackage' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'paid',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
],
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'PromotionOptionNo',
+ 'name' => 'BandwidthPackageId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the bandwidth plan that you want to modify.', 'type' => 'string', 'required' => true, 'example' => 'gbwp-bp1sgzldyj6b4q7cx****', 'title' => ''],
],
[
- 'name' => 'AutoRenew',
+ 'name' => 'Name',
'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',
- ],
+ 'schema' => ['description' => 'The name of the bandwidth plan.'."\n"
+ .'The name must be 1 to 128 characters in length, start with a letter or a Chinese character, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'testName', 'title' => ''],
],
[
- 'name' => 'AutoRenewDuration',
+ 'name' => 'Description',
'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',
- ],
+ 'schema' => ['description' => 'The description of the bandwidth plan.'."\n"
+ ."\n"
+ .'The description can be up to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'testDescription', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'Bandwidth',
'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****',
- ],
+ 'schema' => ['description' => 'The bandwidth of the bandwidth plan. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'Valid values: **2** to **2000**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''],
],
[
- 'name' => 'ChargeType',
+ 'name' => 'BandwidthType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The billing method. Valid values:'."\n"
- ."\n"
- .'* **PREPAY** (default)'."\n"
- .'* **POSTPAY**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'PREPAY',
- ],
+ 'schema' => ['description' => 'The bandwidth type. Valid values:'."\n"
+ ."\n"
+ .'- **Basic**: standard bandwidth.'."\n"
+ ."\n"
+ .'- **Enhanced**: enhanced bandwidth.'."\n"
+ ."\n"
+ .'- **Advanced**: premium bandwidth.'."\n"
+ ."\n"
+ .'> You can upgrade a Basic bandwidth plan to Enhanced, or downgrade an **Enhanced** bandwidth plan to **Basic**. You cannot change the bandwidth type of an **Advanced** bandwidth plan.', 'type' => 'string', 'required' => false, 'example' => 'Basic', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AutoPay',
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n"
+ ."\n"
+ .'- **false** (default): disables automatic payment. After an order is generated, you must go to the <props="china">[Order Hub](https://usercenter2.aliyun.com/order/list)</props><props="intl">[Order Hub](https://usercenter2-intl.aliyun.com/order/list)</props> to complete the payment.'."\n"
+ ."\n"
+ .'- **true**: enables automatic payment. The system automatically pays the bill.'."\n"
+ ."\n"
+ .'> This parameter is required only for upgrade orders.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'Tag',
+ 'name' => 'AutoUseCoupon',
'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,
- ],
+ 'schema' => ['description' => 'Specifies whether to use coupons. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes.'."\n"
+ ."\n"
+ .'- **false** (default): no.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The response.',
'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****',
- ],
+ 'BandwidthPackage' => ['description' => 'The ID of the bandwidth plan.', 'type' => 'string', 'example' => 'gbwp-bp1eo4f57z1kbbcmn****', 'title' => ''],
+ 'Description' => ['description' => 'The description of the bandwidth plan.', 'type' => 'string', 'example' => 'testDescription', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1DF3A3CB-B621-44F8-9870-C20D034D7AB', 'title' => ''],
+ 'Name' => ['description' => 'The name of the bandwidth plan.', 'type' => 'string', 'example' => 'testName', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ 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.', 'description' => ''],
+ ['errorCode' => 'StateError.BandwidthPackage', 'errorMessage' => 'The state of bandwidth package is invalid.', 'description' => 'The bandwidth plan is in an invalid state.'],
+ ['errorCode' => 'NotExist.BandwidthPackage', 'errorMessage' => 'The bandwidth package does not exist.', 'description' => 'The bandwidth package does not exist.'],
+ ['errorCode' => 'UpgradeError.BandwidthPackage', 'errorMessage' => 'The bandwidth package configurations should be either all upgrades or all downgrades.', 'description' => 'You cannot upgrade and downgrade a bandwidth plan at the same time. You can only upgrade or downgrade the bandwidth plan.'],
],
],
- '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"
+ 'title' => 'UpdateBandwidthPackage',
+ 'summary' => 'You can call the UpdateBandwidthPackage operation to modify the configuration of a bandwidth plan.',
+ 'description' => 'Before you call this operation, note the following:'."\n"
+ ."\n"
+ .'- If you do not change the bandwidth value, **UpdateBandwidthPackage** is a synchronous operation. The modification takes effect immediately.'."\n"
+ ."\n"
+ .'- If you change the bandwidth value of a bandwidth plan that is not associated with a Global Accelerator (GA) instance, **UpdateBandwidthPackage** is an asynchronous operation. The system returns a request ID, but the modification is not complete. The system performs the task in the background. You can call the [DescribeBandwidthPackage](~~153241~~) operation to query whether the configuration of the bandwidth plan is modified:'."\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",
+ .' - If the values of the parameters that you want to modify remain unchanged, the bandwidth plan is being modified. In this case, you can only perform query operations.'."\n"
+ ."\n"
+ .' - If the values of the parameters that you want to modify have changed, the modification is complete.'."\n"
+ ."\n"
+ .'- If you change the bandwidth value of a bandwidth plan that is associated with a GA instance, **UpdateBandwidthPackage** is an asynchronous operation. The system returns a request ID, but the modification is not complete. The system performs the task in the background. You can call the [DescribeAccelerator](~~153235~~) operation and query the status of the GA instance to check whether the bandwidth plan is modified:'."\n"
+ ."\n"
+ .' - If the GA instance is in the **configuring** state, the bandwidth plan that is associated with the GA instance is being modified. In this case, you can only perform query operations.'."\n"
+ ."\n"
+ .' - If the GA instance is in the **active** state, the bandwidth plan that is associated with the GA instance has been modified.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **UpdateBandwidthPackage** operation to modify the configuration of the same bandwidth plan.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:57.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2021-12-28T11:40:17.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BandwidthPackage\\": \\"gbwp-bp1eo4f57z1kbbcmn****\\",\\n \\"Description\\": \\"testDescription\\",\\n \\"RequestId\\": \\"1DF3A3CB-B621-44F8-9870-C20D034D7AB\\",\\n \\"Name\\": \\"testName\\"\\n}","type":"json"}]',
],
'UpdateBasicAccelerator' => [
'summary' => 'Modifies the name and description of a basic Global Accelerator (GA) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -27308,75 +22319,40 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ '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',
- ],
+ 'schema' => ['title' => '', '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****',
- ],
+ 'schema' => ['title' => '', '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',
- ],
+ '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',
- ],
+ '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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the basic GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4qz****'],
],
],
'responses' => [
@@ -27385,429 +22361,87 @@
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F591955F-5CB5-4CCE-A75D-17CF2085CE22'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA 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.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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,
- ],
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:01.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBasicAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BasicAcceleratorId}'],
],
],
],
],
- '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',
+ '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":""}]',
],
- 'ListBasicAccelerators' => [
- 'summary' => 'Queries basic Global Accelerator (GA) instances.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateBasicEndpoint' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update', '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',
- ],
+ 'schema' => ['title' => '', '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' => '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',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'title' => '全球加速实例Id',
- 'description' => 'The ID of the basic GA instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ga-bp17frjjh0udz4qz****',
- ],
+ 'schema' => ['title' => '', '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' => 'State',
+ 'name' => 'EndpointGroupId',
'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',
- ],
+ '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' => 'ResourceGroupId',
+ 'name' => 'EndpointId',
'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****',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the endpoint that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ep-bp14sz7ftcwwjgrdm****'],
],
[
- 'name' => 'Tag',
+ 'name' => 'Name',
'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,
- ],
+ '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' => [
@@ -27816,535 +22450,179 @@
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8'],
+ 'EndpointGroupId' => ['title' => '', 'description' => 'The ID of the endpoint group to which the endpoints belong.'."\n", 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****'],
+ 'EndpointId' => ['title' => '', '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'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ 400 => [
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
],
],
- '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',
+ 'title' => 'UpdateBasicEndpoint',
+ 'summary' => 'Modifies the name of an endpoint that is associated with a basic Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:52.000Z', 'description' => 'OpenAPI offline'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateBasicEndpoint'],
],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'riskType' => 'high',
- 'chargeType' => 'paid',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- '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****',
- ],
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBasicEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#EndPointId}'],
],
],
],
],
- '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",
+ '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":""}]',
],
- 'CreateBasicIpSet' => [
- 'summary' => 'Creates an acceleration region for a basic Global Accelerator (GA) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateBasicEndpointGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
+ 'systemTags' => ['operationType' => 'update', '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',
- ],
+ 'schema' => ['title' => '', 'description' => 'The ID of the region where the basic GA instance is deployed. Set the value to **cn-hangzhou**.', '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',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655440000'],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'EndpointGroupId',
'in' => 'query',
- 'schema' => [
- 'title' => '基础版全球加速实例Id',
- 'description' => 'The ID of the basic GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'epg-bp1dmlohjjz4kqaun****'],
],
[
- 'name' => 'AccelerateRegionId',
+ 'name' => 'Name',
'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',
- ],
+ '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 (-). It must start with a letter.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'group1'],
],
[
- 'name' => 'IspType',
+ 'name' => 'Description',
'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',
- ],
+ '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://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'BasicEndpointGroup'],
],
[
- 'name' => 'Bandwidth',
+ 'name' => 'EndpointType',
'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',
- ],
+ 'schema' => ['description' => 'The type of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **ENI**: elastic network interface (ENI).'."\n"
+ ."\n"
+ .'- **SLB**: Classic Load Balancer (CLB) instance.'."\n"
+ ."\n"
+ .'- **ECS**: Elastic Compute Service (ECS) instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ENI'],
+ ],
+ [
+ 'name' => 'EndpointAddress',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The address of the endpoint.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'eni-bp1a05txelswuj8g****'],
+ ],
+ [
+ 'name' => 'EndpointSubAddress',
+ 'in' => 'query',
+ 'schema' => ['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"
+ ."\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.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '172.16.XX.XX'],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters'."\n",
+ 'description' => 'The response parameters.',
'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****',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'The endpoint group does not exist.', 'description' => 'The endpoint group does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'The specified state of endpoint group is invalid.', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
],
],
- '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"
+ 'title' => 'UpdateBasicEndpointGroup',
+ 'summary' => 'Updates the configurations of an endpoint group that is associated with a basic Global Accelerator (GA) instance.',
+ '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"
- .'* **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"
+ .' - 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"
."\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"
+ .' - If the basic GA instance is in the **active** state, the configurations of the endpoint group are modified.'."\n"
."\n"
- .'* You cannot call the **CreateBasicIpSet** operation again on the same GA instance before the previous task is completed.'."\n",
+ .'- The **UpdateBasicEndpointGroup** operation cannot be repeatedly called for the same basic GA instance within a specific period of time.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:52.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2022-11-17T09:06:12.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2022-09-27T08:51:27.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateBasicEndpointGroup'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBasicEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#BasicEndpointGroupId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
],
'UpdateBasicIpSet' => [
- 'summary' => 'Modifies the bandwidth of an acceleration region of a basic Global Accelerator (GA) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -28357,57 +22635,34 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '155456',
- 'abilityTreeNodes' => [
- 'FEATUREgaQQ43JD',
- ],
+ '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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the acceleration region of the basic GA instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ips-bp11r5jb8ogp122xl****', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -28416,65 +22671,33 @@
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB',
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'NotExist.IpSet', 'errorMessage' => 'The IpSet does not exist.', 'description' => 'The acceleration region does not exist.'],
+ ['errorCode' => 'StateError.IpSet', 'errorMessage' => 'The state of IpSet is invalid.', 'description' => 'The acceleration region is in an invalid state.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'GreaterThanGa.IpSetBandwidth', 'errorMessage' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.', 'description' => '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.',
- ],
+ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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',
+ 'summary' => 'Modifies the bandwidth of an acceleration region of a basic Global Accelerator (GA) instance.',
'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"
@@ -28485,165 +22708,33 @@
.' * 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',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:55.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateBasicIpSet'],
],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- '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',
- ],
- ],
+ 'ramActions' => [
[
- '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',
- ],
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBasicIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipsetId}'],
],
],
],
],
- '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',
+ '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":""}]',
],
- 'DeleteBasicIpSet' => [
- 'summary' => 'Deletes the acceleration region of a basic Global Accelerator (GA) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateCustomRoutingEndpointGroupAttribute' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -28652,1378 +22743,1210 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '147875',
+ 'abilityTreeNodes' => ['FEATUREgaNBCRGX'],
],
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'You can use the client to generate a 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 **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'IpSetId',
+ 'name' => 'EndpointGroupId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the endpoint group.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length, start with a letter or a Chinese character, and can contain digits, underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'group1', 'title' => ''],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The description of the endpoint group.'."\n"
+ ."\n"
+ .'The description can be up to 256 characters in length and cannot contain `http://` or `https://` characters.', 'type' => 'string', 'required' => false, 'example' => 'EndpointGroup', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned information.'."\n",
+ 'title' => '',
+ 'description' => 'The response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '6D2BFF54-6AF2-4679-88C4-2F2E187F16CB',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
],
- 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.',
+ ],
+ 'title' => 'UpdateCustomRoutingEndpointGroupAttribute',
+ 'summary' => 'You can call the UpdateCustomRoutingEndpointGroupAttribute operation to modify the name and description of an endpoint group associated with a custom routing listener.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:55.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:25.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-08-11T13:15:51.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCustomRoutingEndpointGroupAttribute'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateCustomRoutingEndpointGroupAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
],
- 'CreateBasicAccelerateIp' => [
- 'summary' => 'Creates an accelerated IP address for a basic Global Accelerator (GA) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ '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' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '146981',
+ 'abilityTreeNodes' => ['FEATUREgaNBCRGX'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'title' => '基础版全球加速实例Id',
- 'description' => 'The ID of the basic GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'IpSetId',
+ 'name' => 'EndpointGroupId',
'in' => 'query',
+ 'schema' => ['description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
+ ],
+ [
+ 'name' => 'DestinationConfigurations',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => '加速地域Id',
- 'description' => 'The ID of the acceleration region.'."\n"
+ 'description' => 'The mapping configurations of endpoint group.'."\n"
."\n"
- .'You can call the [GetBasicAccelerator](~~2253380~~) operation to query the region ID.'."\n",
- 'type' => 'string',
+ .'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', 'title' => ''],
+ 'required' => false,
+ 'maxItems' => 4,
+ 'title' => '',
+ 'example' => '',
+ ],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ 'DestinationId' => ['description' => 'The ID of the mapping configuration of the endpoint group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'dst-abc123****', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => true,
- 'example' => 'ips-bp11r5jb8ogp122xl****',
+ 'maxItems' => 2000,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ '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****',
- ],
- '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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'listener %s is not exist', 'description' => 'The listener %s does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'listener %s is not active', 'description' => 'The listener %s is unavailable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'accelerator %s is not exist', 'description' => 'The GA instance %s does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
],
],
- '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"
+ '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 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"
+ .' * 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 **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',
+ .'* The **UpdateCustomRoutingEndpointGroupDestinations** operation cannot be repeatedly called for the same Global Accelerator (GA) instance within a specific period of time.'."\n",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:54.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:24.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-04-20T08:32:19.000Z', 'description' => 'Response parameters changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCustomRoutingEndpointGroupDestinations'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ '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' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '146967',
+ 'abilityTreeNodes' => ['FEATUREgaYJ70J9'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'AccelerateIpId',
+ '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****', 'title' => ''],
+ ],
+ [
+ 'name' => 'PolicyConfigurations',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => '基础版全球加速Ip实例Id',
- 'description' => 'The ID of the basic GA instance that you want to query.'."\n"
+ 'description' => 'The access policies.'."\n"
."\n"
- .'You can call the [ListBasicAccelerateIps](~~2253393~~) operation to query the ID of the accelerated IP address.'."\n",
- 'type' => 'string',
+ .'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****', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => true,
- 'example' => 'gaip-bp1****',
+ 'maxItems' => 500,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
'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',
+ 'RequestId' => ['title' => '', '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.EndPoints', 'errorMessage' => 'endpoint %s not exist.', 'description' => 'Endpoint% s does not exist'],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'listener %s is not exist', 'description' => 'The listener %s does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'listener %s is not active', 'description' => 'The listener %s is unavailable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'accelerator %s is not exist', 'description' => 'The GA instance %s does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'accelerator state %s is illegal', 'description' => 'The GA instance is in an invalid state %s.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:24.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-08-11T13:15:52.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCustomRoutingEndpointTrafficPolicies'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateCustomRoutingEndpointTrafficPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#CustomRoutingEndpointTrafficPolicyId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateCustomRoutingEndpoints' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '146862',
+ 'abilityTreeNodes' => ['FEATUREgaNBCRGX'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'IpSetId',
+ '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****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointConfigurations',
'in' => 'query',
+ 'style' => 'repeatList',
'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',
+ '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', 'title' => ''],
+ '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****', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ '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', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => true,
- 'example' => 'ips-bp11r5jb8ogp122xl****',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'title' => '',
+ 'description' => '',
'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',
+ 'RequestId' => ['title' => '', '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****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'endpoint group %s is not exist', 'description' => 'The endpoint group %s does not exist.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'listener %s is not exist', 'description' => 'The listener %s does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'endpoint group state %s is illegal', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'listener %s is not active', 'description' => 'The listener %s is unavailable.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'UpdateCustomRoutingEndpoints',
+ 'summary' => 'Modifies the endpoints of a custom routing listener.',
+ '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",
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:08.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:24.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2022-09-08T08:47:00.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCustomRoutingEndpoints'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateCustomRoutingEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateDomain' => [
+ 'summary' => 'Calls the UpdateDomain operation to update a domain name.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '149722',
+ 'abilityTreeNodes' => ['FEATUREgaN8JEXK'],
],
'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****',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'default' => 'cn-hangzhou', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'TargetDomain',
'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****',
- ],
+ 'schema' => ['description' => 'The accelerated domain name that you want to update.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'Domain',
'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',
- ],
+ 'schema' => ['description' => 'The new accelerated domain name.'."\n"
+ ."\n"
+ .'Only primary domain names are supported, such as `example.net`.', 'type' => 'string', 'required' => true, 'example' => 'example.net', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
],
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NotExist.Domain', 'errorMessage' => 'The domain %s is not exist.', 'description' => 'Domain % s does not exist'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => 'Update an accelerated domain name',
+ 'description' => 'This operation is used to update an accelerated domain name. If the new accelerated domain name is deployed in the Chinese mainland, the domain name must have obtained an ICP filing.'."\n"
+ ."\n"
+ .'The **UpdateDomain** operation does not support concurrent updates of accelerated domain names within the same account.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:10.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:24.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateDomain'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateDomainState' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '158418',
- 'abilityTreeNodes' => [
- 'FEATUREgaLMO5F2',
- ],
+ 'abilityTreeCode' => '149766',
+ 'abilityTreeNodes' => ['FEATUREgaN8JEXK'],
],
'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',
+ 'name' => 'Domain',
'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',
- ],
+ 'schema' => ['description' => 'The accelerated domain name whose ICP filing status you want to update.', 'type' => 'string', 'required' => true, 'example' => 'www.example.com', 'title' => ''],
],
[
- 'name' => 'AccelerateIpId',
+ 'name' => 'RegionId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'default' => 'cn-hangzhou', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response parameters.',
'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****',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'],
+ 'Domain' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''],
+ 'State' => ['description' => 'The ICP filing status of the accelerated domain name. Valid values:'."\n"
+ ."\n"
+ .'- **illegal:** The domain name is illegal.'."\n"
+ ."\n"
+ .'- **inactive:** The domain name has not completed ICP filing.'."\n"
+ ."\n"
+ .'- **active:** The domain name has a valid ICP number.'."\n"
+ ."\n"
+ .'- **unknown:** The ICP filing status is unknown.', 'type' => 'string', 'example' => 'active', 'title' => ''],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'StateError.Accelerator',
- 'errorMessage' => 'accelerator state %s is illegal',
- ],
- [
- 'errorCode' => 'NoPermission',
- 'errorMessage' => 'No permissions.',
- ],
+ ['errorCode' => 'NotExist.Domain', 'errorMessage' => 'The domain %s is not exist.', 'description' => 'Domain % s does not exist'],
],
],
- '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"
+ 'title' => 'UpdateDomainState',
+ 'summary' => 'Queries and updates the ICP filing status of an accelerated domain name.',
+ 'description' => 'This operation queries the latest ICP filing status of an accelerated domain name and updates the status accordingly.'."\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',
+ .'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.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:58.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-07-11T02:28:24.000Z', 'description' => 'Error codes changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateDomainState'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateDomainState',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"State\\": \\"active\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateEndpointGroup' => [
+ 'summary' => 'Updates the configuration of an endpoint group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '8509',
+ 'abilityTreeNodes' => ['FEATUREgaMGA0JD'],
],
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the GA instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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****',
- ],
+ 'schema' => ['description' => 'A client-generated token to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'The token must be unique across requests and can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** is unique for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'EndpointGroupRegion',
+ 'name' => 'EndpointGroupId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The name of the endpoint group.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters long, start with a letter or a Chinese character, and can contain digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'group1', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The description of the endpoint group.'."\n"
+ ."\n"
+ .'The description can be up to 200 characters long and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'EndpointGroup', 'title' => ''],
],
[
- 'name' => 'EndpointType',
+ 'name' => 'EndpointGroupRegion',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint group is deployed.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'EndpointAddress',
+ 'name' => 'TrafficPercentage',
'in' => 'query',
- 'schema' => [
- 'title' => '终端节点地址',
- 'description' => 'The endpoint address.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'eni-bp1a05txelswuj8g****',
- ],
+ 'schema' => ['description' => 'The weight of the endpoint group when the listener is associated with multiple endpoint groups.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
- 'name' => 'EndpointSubAddress',
+ 'name' => 'HealthCheckIntervalSeconds',
'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',
- ],
- ],
- ],
+ 'schema' => ['description' => 'The interval between health checks, in seconds. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
],
- ],
- '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.',
- ],
+ [
+ 'name' => 'HealthCheckPath',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The path for health checks.', 'type' => 'string', 'required' => false, 'example' => '/healthcheck', 'title' => ''],
],
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ [
+ 'name' => 'HealthCheckPort',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
- ],
- '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' => [],
+ 'name' => 'HealthCheckProtocol',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The protocol for health checks. Valid values:'."\n"
+ ."\n"
+ .'- **tcp** or **TCP**'."\n"
+ ."\n"
+ .'- **http** or **HTTP**'."\n"
+ ."\n"
+ .'- **https** or **HTTPS**', 'type' => 'string', 'required' => false, 'example' => 'HTTPS', 'title' => ''],
],
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- ],
- 'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'ThresholdCount',
'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',
- ],
+ 'schema' => ['description' => 'The number of consecutive successful or failed health checks required to change an endpoint\'s health status.'."\n"
+ ."\n"
+ .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'EndpointConfigurations',
'in' => 'query',
+ 'style' => 'flat',
'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',
+ 'description' => 'The configurations of the endpoints.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configurations of the endpoints.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Domain**: a custom domain name.'."\n"
+ ."\n"
+ .'- **Ip**: a custom IP address.'."\n"
+ ."\n"
+ .'- **IpTarget**: a custom private IP address.'."\n"
+ ."\n"
+ .'- **PublicIp**: an Alibaba Cloud public IP address.'."\n"
+ ."\n"
+ .'- **ECS**: an ECS instance.'."\n"
+ ."\n"
+ .'- **SLB**: an SLB instance.'."\n"
+ ."\n"
+ .'- **ALB**: an ALB instance.'."\n"
+ ."\n"
+ .'- **OSS**: an OSS instance.'."\n"
+ ."\n"
+ .'- **ENI**: an elastic network interface.'."\n"
+ ."\n"
+ .'- **NLB**: an NLB instance.'."\n"
+ ."\n"
+ .'> * If the endpoint type is **ECS**, **ENI**, **SLB**, or **IpTarget**, and the service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaVpcEndpoint.'."\n"
+ .'>'."\n"
+ .'> * If the endpoint type is **ALB**, and the service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaAlb.'."\n"
+ .'>'."\n"
+ .'> * If the endpoint type is **OSS**, and the service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaOss.'."\n"
+ .'>'."\n"
+ .'> * If the endpoint type is **NLB**, and the service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaNlb.'."\n"
+ .'>'."\n"
+ .'> > For more information, see [service-linked roles](~~178360~~).', 'type' => 'string', 'required' => true, 'example' => 'Ip', 'title' => ''],
+ 'EnableClientIPPreservation' => ['description' => 'Specifies whether to preserve client source IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Preserves client source IP addresses.'."\n"
+ ."\n"
+ .'- **false** (default): Does not preserve client source IP addresses.'."\n"
+ ."\n"
+ .'> * For endpoint groups of TCP or UDP listeners, this feature is disabled by default but can be enabled if needed.'."\n"
+ .'>'."\n"
+ .'> * For endpoint groups of HTTP or HTTPS listeners, client source IP addresses are preserved by default. The client IP addresses are retrieved from the X-Forwarded-For header. You cannot disable this feature.'."\n"
+ .'>'."\n"
+ .'> * You cannot set both `EnableClientIPPreservation` and `EnableProxyProtocol` to `true`.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [preserve client source IP addresses](~~158080~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ '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, Global Accelerator stops distributing traffic to the endpoint. Proceed with caution.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''],
+ 'EnableProxyProtocol' => ['description' => 'Specifies whether to use the Proxy Protocol to preserve client source IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Preserves client source IP addresses.'."\n"
+ ."\n"
+ .'- **false** (default): Does not preserve client source IP addresses.'."\n"
+ ."\n"
+ .'> * You can configure this parameter only for endpoint groups of TCP listeners.'."\n"
+ .'>'."\n"
+ .'> * You cannot set both `EnableClientIPPreservation` and `EnableProxyProtocol` to `true`.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [preserve client source IP addresses](~~158080~~).', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'Endpoint' => ['description' => 'Enter an IP address, a domain name, or an instance ID based on the value of the `Type` parameter.', 'type' => 'string', 'required' => true, 'example' => '120.XX.XX.21', 'title' => ''],
+ 'SubAddress' => ['description' => 'The private IP address of the elastic network interface.'."\n"
+ ."\n"
+ .'> If the endpoint type is **ENI**, you can specify this parameter. If you omit this parameter, the primary private IP address of the ENI is used.', 'type' => 'string', 'required' => false, 'example' => '172.168.XX.XX', 'title' => ''],
+ 'VpcId' => ['description' => 'The ID of the VPC.'."\n"
+ ."\n"
+ .'You can specify at most one VPC ID for an endpoint group that is associated with an intelligent routing listener.'."\n"
+ ."\n"
+ .'> This parameter is required only when the endpoint type is **IpTarget**.', 'type' => 'string', 'required' => false, 'example' => 'vpc-2zen6t0u7xhm0k5iz****', 'title' => ''],
+ 'VSwitchIds' => [
+ 'description' => 'A list of vSwitches in the VPC.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The vSwitch ID.'."\n"
+ ."\n"
+ .'You can specify at most two vSwitch IDs for an endpoint group that is associated with an intelligent routing listener.'."\n"
+ ."\n"
+ .'> This parameter is required only when the endpoint type is **IpTarget**.'."\n"
+ .'>'."\n"
+ .'> - The vSwitch must belong to the VPC specified by the `VpcId` parameter.', 'type' => 'string', 'required' => false, 'example' => 'vsw-2ze2dbtkxabpvpqxc****', 'title' => ''],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Provider' => ['type' => 'string', 'example' => 'BAILIAN', 'description' => '', 'title' => ''],
+ 'ApiKeys' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => 'sk-******', 'description' => '', 'title' => ''],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'EndpointRequestProtocol',
'in' => 'query',
- 'schema' => [
- 'title' => '终端节点组Id',
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
- ],
+ 'schema' => ['description' => 'The backend service protocol. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP**'."\n"
+ ."\n"
+ .'- **HTTPS**'."\n"
+ ."\n"
+ .'> * You can configure this parameter only for endpoint groups of HTTP or HTTPS listeners.'."\n"
+ .'>'."\n"
+ .'> * For an HTTP listener, the backend service protocol must be HTTP.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'EndpointProtocolVersion',
'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',
- ],
+ 'schema' => ['description' => 'The version of the backend service protocol. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP1.1**'."\n"
+ ."\n"
+ .'- **HTTP2**'."\n"
+ ."\n"
+ .'> You can configure this parameter only when `EndpointRequestProtocol` is set to HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTP1.1', 'title' => ''],
],
[
- 'name' => 'Description',
+ 'name' => 'PortOverrides',
'in' => 'query',
+ 'style' => 'repeatList',
'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',
+ 'description' => 'The port override settings.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port override settings.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerPort' => ['description' => 'The listener port in the port override settings.'."\n"
+ ."\n"
+ .'> - For TCP listeners, virtual endpoint groups do not support port overrides. If a listener is already associated with a virtual endpoint group, you cannot configure port overrides for the default endpoint group. If the default endpoint group has port overrides configured, you cannot add a virtual endpoint group.'."\n"
+ .'>'."\n"
+ .'> - After you configure port overrides, you can change the listener protocol only between HTTP and HTTPS.'."\n"
+ .'>'."\n"
+ .'> - The updated listener port range must include all listener ports in the configured port overrides. For example, if the listener port range is 80-82 and port overrides are configured to map the ports to endpoint ports 100-102, you cannot update the listener port range to 80-81.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '443', 'title' => ''],
+ 'EndpointPort' => ['description' => 'The endpoint port in the port override settings.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'BasicEndpointGroup',
+ 'maxItems' => 200,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'EndpointType',
+ 'name' => 'HealthCheckEnabled',
'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',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable health checks. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Enables health checks.'."\n"
+ ."\n"
+ .'- **false** (default): Disables health checks.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
- 'name' => 'EndpointAddress',
+ 'name' => 'HealthCheckHost',
'in' => 'query',
- 'schema' => [
- 'title' => '终端节点地址',
- 'description' => 'The address of the endpoint.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'eni-bp1a05txelswuj8g****',
- ],
+ 'schema' => ['description' => 'The domain name for the health check.', 'type' => 'string', 'required' => false, 'example' => 'www.taobao.com', 'title' => ''],
],
[
- 'name' => 'EndpointSubAddress',
+ 'name' => 'EndpointIpVersion',
'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',
- ],
+ 'schema' => ['description' => 'Specifies the IP protocol that GA uses to communicate with endpoints. Valid values: ● **IPv4** (default): Use IPv4. ● **IPv6**: Use IPv6. ● **ProtocolAffinity**: Use the same IP protocol as the client request.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The data returned in the response.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'title' => '请求Id',
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'NoPermission.EnableHealthCheck', 'errorMessage' => 'You do not have permission to enable health check.', 'description' => 'The current account does not have the permissions to enable health checks.'],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'The endpoint group does not exist.', 'description' => 'The endpoint group does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'The specified state of endpoint group is invalid.', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'QuotaExceeded.EndPoint', 'errorMessage' => 'The maximum number of endpoints is exceeded.', 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['errorCode' => 'NoPermission.VpcEndpoint', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
+ ['errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', 'errorMessage' => 'endpoint group request protoco is illegal', 'description' => ''],
+ ['errorCode' => 'QuotaExceeded.PortOverride', 'errorMessage' => 'The number of port override exceeds the limit.', 'description' => 'The number of port override exceeds the limit.'],
+ ['errorCode' => 'NotExist.ListenerPort', 'errorMessage' => 'listener port %s is not exist', 'description' => ''],
],
],
- '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"
+ 'title' => 'UpdateEndpointGroup',
+ 'description' => '- The **UpdateEndpointGroup** API is an asynchronous API. After you call this API, the system returns a request ID and starts the update in the background; the configuration is not modified immediately. Call [DescribeEndpointGroup](~~153260~~) to check the status of the endpoint group:'."\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"
+ .' - If an endpoint group is in the **updating** status, its configuration is being modified, and you can only perform queries.'."\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',
+ .' - If an endpoint group is in the **active** status, the update is complete.'."\n"
+ ."\n"
+ .'- The **UpdateEndpointGroup** API does not support concurrent updates to endpoint groups in the same Global Accelerator (GA) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-12-03T06:29:35.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-10-16T06:55:51.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-26T06:24:04.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-04-15T07:01:19.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-12-23T15:31:09.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-07-19T16:47:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-11-22T09:04:07.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-09-14T09:38:02.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-06-20T02:10:21.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateEndpointGroupAttribute' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '8894',
+ 'abilityTreeNodes' => ['FEATUREgaMGA0JD'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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',
- ],
+ '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', 'title' => ''],
],
[
'name' => 'EndpointGroupId',
'in' => 'query',
- 'schema' => [
- 'title' => '终端节点组Id',
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint group.'."\n", 'type' => 'string', 'required' => true, 'example' => 'epg-bp1ple63864a5hyj5****', 'title' => ''],
],
- ],
- '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',
+ 'name' => 'Name',
'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',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'Description',
'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****',
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
@@ -30032,1173 +23955,1395 @@
'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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
- ],
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'The endpoint group does not exist.', 'description' => 'The endpoint group does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'The specified state of endpoint group is invalid.', 'description' => 'The endpoint group is in an invalid state.'],
],
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.',
- ],
+ ['errorCode' => 'Forbbiden.SubUser', 'errorMessage' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
],
500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
- ],
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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',
+ 'title' => 'UpdateEndpointGroupAttribute',
+ 'summary' => 'Modifies the name and description of an endpoint group.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:55.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateEndpointGroupAttribute'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateEndpointGroupAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateEndpointGroups' => [
+ 'summary' => 'Modifies endpoint groups for a listener in a batch.',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '35764',
+ 'abilityTreeNodes' => ['FEATUREgaMGA0JD'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'Generate a value for this parameter on your client. Make sure that the value 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 **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
- 'name' => 'EndpointType',
+ 'name' => 'DryRun',
'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',
- ],
+ '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 format, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, a 2xx HTTP status code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): sends the request. If the request passes the check, a 2xx HTTP status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
- 'name' => 'EndpointAddress',
+ 'name' => 'EndpointGroupConfigurations',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'title' => '终端节点地址',
- 'description' => 'The address of the endpoint.'."\n",
- 'type' => 'string',
+ 'description' => 'The configurations of the endpoint group.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configurations of the endpoint group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointGroupName' => ['description' => 'The name of the endpoint group.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length, start with a letter or a Chinese character, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'group1', 'title' => ''],
+ 'EndpointGroupDescription' => ['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\\://.', 'type' => 'string', 'required' => false, 'example' => 'group1', 'title' => ''],
+ 'TrafficPercentage' => ['description' => 'The traffic distribution ratio. If a listener is associated with multiple endpoint groups, you can specify this parameter to distribute traffic to the endpoint groups.'."\n"
+ ."\n"
+ .'Valid values: **1** to **100**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
+ 'HealthCheckEnabled' => ['description' => 'Specifies whether to enable the health check feature.'."\n"
+ ."\n"
+ .'- **true**: enables the health check feature.'."\n"
+ ."\n"
+ .'- **false** (default): disables the health check feature.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ 'HealthCheckIntervalSeconds' => ['description' => 'The interval between two consecutive health checks. Unit: seconds. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''],
+ 'HealthCheckPath' => ['description' => 'The path of the health check.', 'type' => 'string', 'required' => false, 'example' => '/healthcheck', 'title' => ''],
+ 'HealthCheckPort' => ['description' => 'The port that is used for health checks.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
+ 'HealthCheckProtocol' => ['description' => 'The protocol that is used for health checks.'."\n"
+ ."\n"
+ .'- **tcp** or **TCP**: TCP'."\n"
+ ."\n"
+ .'- **http** or **HTTP**: HTTP'."\n"
+ ."\n"
+ .'- **https** or **HTTPS**: HTTPS', 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''],
+ 'ThresholdCount' => ['description' => 'The number of consecutive health checks that an endpoint must pass to be considered healthy, or fail to be considered unhealthy.'."\n"
+ ."\n"
+ .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''],
+ 'EndpointConfigurations' => [
+ 'description' => 'The configurations of the endpoint.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configurations of the endpoint.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => 'The type of the endpoint.'."\n"
+ ."\n"
+ .'- **Domain**: a custom domain name.'."\n"
+ ."\n"
+ .'- **Ip**: a custom IP address.'."\n"
+ ."\n"
+ .'- **IpTarget**: a custom private IP address.'."\n"
+ ."\n"
+ .'- **PublicIp**: an Alibaba Cloud public IP address.'."\n"
+ ."\n"
+ .'- **ECS**: an Alibaba Cloud Elastic Compute Service (ECS) instance.'."\n"
+ ."\n"
+ .'- **SLB**: an Alibaba Cloud Server Load Balancer (SLB) instance.'."\n"
+ ."\n"
+ .'- **ALB**: an Alibaba Cloud Application Load Balancer (ALB) instance.'."\n"
+ ."\n"
+ .'- **OSS**: an Alibaba Cloud Object Storage Service (OSS) bucket.'."\n"
+ ."\n"
+ .'- **ENI**: an Alibaba Cloud Elastic Network Interface (ENI).'."\n"
+ ."\n"
+ .'- **NLB**: an Alibaba Cloud Network Load Balancer (NLB) instance.'."\n"
+ ."\n"
+ .'> * If you set the endpoint type to **ECS**, **ENI**, **SLB**, **NLB**, or **IpTarget**, and the service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaVpcEndpoint.'."\n"
+ .'>'."\n"
+ .'> * If you set the endpoint type to **ALB**, and the service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaAlb.'."\n"
+ .'>'."\n"
+ .'> * If you set the endpoint type to **OSS**, and the service-linked role does not exist, the system automatically creates a service-linked role named AliyunServiceRoleForGaOss.'."\n"
+ .'>'."\n"
+ .'> > For more information, see [](t1963894.xdita#).', 'type' => 'string', 'required' => true, 'example' => 'Ip', 'title' => ''],
+ '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. Handle this with care.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '20', 'title' => ''],
+ 'Endpoint' => ['description' => 'The IP address, domain name, or instance ID of the endpoint, based on the value of Type.', 'type' => 'string', 'required' => true, 'example' => '47.0.XX.XX', 'title' => ''],
+ 'SubAddress' => ['description' => 'The private IP address of the ENI.'."\n"
+ ."\n"
+ .'> - This parameter is available only when the endpoint type is ENI. You can specify this parameter. If you do not specify this parameter, the primary private IP address of the ENI is used.', 'type' => 'string', 'required' => false, 'example' => '172.168.XX.XX', 'title' => ''],
+ 'EnableClientIPPreservation' => ['description' => 'Specifies whether to preserve client IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: preserves client IP addresses.'."\n"
+ ."\n"
+ .'- **false** (default): does not preserve client IP addresses.'."\n"
+ ."\n"
+ .'> * By default, client IP address preservation is disabled for endpoint groups of TCP and UDP listeners. You can enable it based on your business needs.'."\n"
+ .'>'."\n"
+ .'> * Client IP address preservation is enabled by default for endpoint groups of HTTP and HTTPS listeners. The client IP addresses are retrieved from the X-Forwarded-For header field. You cannot disable this feature.'."\n"
+ .'>'."\n"
+ .'> * EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [](t1863665.xdita#).', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''],
+ 'EnableProxyProtocol' => ['description' => 'Specifies whether to use the Proxy Protocol to preserve client IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: uses the Proxy Protocol.'."\n"
+ ."\n"
+ .'- **false** (default): does not use the Proxy Protocol.'."\n"
+ ."\n"
+ .'> * This parameter is available only for endpoint groups of TCP listeners.'."\n"
+ .'>'."\n"
+ .'> * EnableClientIPPreservation and EnableProxyProtocol cannot be set to true at the same time.'."\n"
+ .'>'."\n"
+ .'> * For more information, see [](t1863665.xdita#).', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''],
+ 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).'."\n"
+ ."\n"
+ .'You can specify at most one VPC ID for an endpoint group that is associated with a listener that uses smart routing.'."\n"
+ ."\n"
+ .'> This parameter is required and takes effect only when the endpoint type is **IpTarget**.', 'type' => 'string', 'required' => false, 'example' => 'vpc-uf66oesmrqge1t2gs****', 'title' => ''],
+ 'VSwitchIds' => [
+ 'description' => 'The list of vSwitches in the VPC.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the vSwitch.'."\n"
+ ."\n"
+ .'You can specify at most two vSwitch IDs for an endpoint group that is associated with a listener that uses smart routing.'."\n"
+ ."\n"
+ .'> This parameter is required and takes effect only when the endpoint type is IpTarget.'."\n"
+ .'>'."\n"
+ .'> - The vSwitch must belong to the VPC specified by the VpcId parameter.', 'type' => 'string', 'required' => false, 'example' => 'vsw-uf6r0due94mypz1i9****', 'title' => ''],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Provider' => ['type' => 'string', 'example' => 'BAILIAN', 'title' => '', 'description' => ''],
+ 'ApiKeys' => [
+ 'type' => 'array',
+ 'items' => ['type' => 'string', 'example' => 'sk-*******', 'title' => '', 'description' => ''],
+ 'title' => '',
+ 'description' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EndpointRequestProtocol' => ['description' => 'The protocol of the backend service. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP**: HTTP'."\n"
+ ."\n"
+ .'- **HTTPS**: HTTPS'."\n"
+ ."\n"
+ .'> * You can set this parameter only when you create an endpoint group for an HTTP or HTTPS listener.'."\n"
+ .'>'."\n"
+ .'> * For an HTTP listener, the backend service protocol must be HTTP.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
+ 'EndpointProtocolVersion' => ['description' => 'The version of the backend service protocol for endpoints in a listener that uses smart routing. Valid values:'."\n"
+ ."\n"
+ .'- **HTTP1.1** (default): HTTP/1.1'."\n"
+ ."\n"
+ .'- **HTTP2**: HTTP/2'."\n"
+ ."\n"
+ .'> This parameter is available only when you set EndpointRequestProtocol to HTTPS.', 'type' => 'string', 'required' => false, 'example' => 'HTTP1.1', 'title' => ''],
+ 'PortOverrides' => [
+ 'description' => 'The port mapping.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port mapping.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerPort' => ['description' => 'The listener port.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65499**.'."\n"
+ ."\n"
+ .'> - For TCP listeners, virtual endpoint groups do not support port mapping. If a virtual endpoint group already exists under the listener, you cannot configure port mapping for the default endpoint group. If port mapping is already configured for the default endpoint group, you cannot add a virtual endpoint group.'."\n"
+ .'>'."\n"
+ .'> - After you configure port mapping, the following limits apply to subsequent listener modifications: You cannot change the listener protocol, except for changing it between HTTP and HTTPS.'."\n"
+ .'>'."\n"
+ .'> - Listener port: The modified listener port range must include all listener ports that are currently mapped. For example, if the listener port range is 80-82 and the ports are mapped to endpoint ports 100-102, you cannot change the listener port range to 80-81.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '443', 'title' => ''],
+ 'EndpointPort' => ['description' => 'The endpoint port.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65499**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 200,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'EnableClientIPPreservationToa' => ['description' => 'Specifies whether to use the TCP Option Address (TOA) module to preserve client IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes.'."\n"
+ ."\n"
+ .'- **false**: no.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'EnableClientIPPreservationProxyProtocol' => ['description' => 'Specifies whether to use the Proxy Protocol to preserve client IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes.'."\n"
+ ."\n"
+ .'- **false**: no.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'required' => true, 'example' => 'ep-bp1d2utp8qqe2a44t****', 'title' => ''],
+ 'HealthCheckHost' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''],
+ 'EndpointIpVersion' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'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',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'EndpointZoneId',
+ 'name' => 'ListenerId',
'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',
- ],
+ 'schema' => ['description' => 'The ID of the listener.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The list of response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The response.',
'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****',
+ 'RequestId' => ['title' => '', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8'],
+ 'EndpointGroupIds' => [
+ 'description' => 'The IDs of the endpoint groups.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the endpoint group.', 'type' => 'string', 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NotExist.Accelerator',
- 'errorMessage' => 'The accelerated instance does not exist.',
- ],
+ ['errorCode' => 'NoPermission.EnableHealthCheck', 'errorMessage' => 'You do not have permission to enable health check.', 'description' => 'The current account does not have the permissions to enable health checks.'],
+ ['errorCode' => 'NotExist.EndPointGroup', 'errorMessage' => 'The endpoint group does not exist.', 'description' => 'The endpoint group does not exist.'],
+ ['errorCode' => 'StateError.EndPointGroup', 'errorMessage' => 'The specified state of endpoint group is invalid.', 'description' => 'The endpoint group is in an invalid state.'],
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'QuotaExceeded.EndPoint', 'errorMessage' => 'The maximum number of endpoints is exceeded.', 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['errorCode' => 'NoPermission.VpcEndpoint', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
+ ['errorCode' => 'EndPointRequestProtocolIllegal.EndpointGroup', 'errorMessage' => 'endpoint group request protoco is illegal', 'description' => ''],
+ ['errorCode' => 'QuotaExceeded.PortOverride', 'errorMessage' => 'The number of port override exceeds the limit.', 'description' => 'The number of port override exceeds the limit.'],
+ ['errorCode' => 'NotExist.ListenerPort', 'errorMessage' => 'listener port %s is not exist', 'description' => ''],
],
],
- '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"
+ 'title' => 'UpdateEndpointGroups',
+ 'description' => '### Usage notes'."\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"
+ .'- **UpdateEndpointGroups** is an asynchronous operation. After you send a request, the system returns a request ID, but the operation continues to run in the background. You can call the or [](t2323644.xdita#)operation to query the state of an endpoint group.'."\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',
+ .' - If an endpoint group is in the **updating** state, its configuration is being modified. In this state, you can only perform query operations.'."\n"
+ ."\n"
+ .' - If an endpoint group is in the **active** state, its configuration has been modified.'."\n"
+ ."\n"
+ .'- You cannot concurrently call the **UpdateEndpointGroups** operation to modify the configurations of endpoint groups that belong to the same Global Accelerator (GA) instance.',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:56.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-06-26T06:24:01.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2025-04-15T07:01:19.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-12-23T15:31:09.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-07-19T16:47:16.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-11-22T09:04:08.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-09-14T09:38:02.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateEndpointGroups'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\",\\n \\"EndpointGroupIds\\": [\\n \\"epg-bp1dmlohjjz4kqaun****\\"\\n ]\\n}","type":"json"}]',
+ ],
+ 'UpdateForwardingRules' => [
+ 'summary' => 'To update forwarding rules, call the UpdateForwardingRules API.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '8512',
+ 'abilityTreeNodes' => ['FEATUREgaRQQP6R'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the Global Accelerator instance. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'You can 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 **RequestId** of the request as the **client token**. The **RequestId** of each request is different.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4****', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'title' => '全球加速实例Id',
- 'description' => 'The ID of the basic GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
- ],
+ 'schema' => ['description' => 'The ID of the Global Accelerator instance.', 'type' => 'string', 'required' => true, 'example' => 'ga-bp17frjjh0udz4q****', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'ListenerId',
'in' => 'query',
- 'schema' => [
- 'title' => '终端节点组Id',
- 'description' => 'The ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
- ],
+ 'schema' => ['description' => 'The ID of the listener.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1s0vzbi5bxlx5****', 'title' => ''],
],
[
- 'name' => 'Endpoints',
+ 'name' => 'ForwardingRules',
'in' => 'query',
'style' => 'flat',
'schema' => [
- 'title' => '终端节点列表',
- 'description' => 'The endpoints.'."\n",
+ 'description' => 'The configurations of the forwarding rules.',
'type' => 'array',
'items' => [
- 'description' => 'The endpoints in the endpoint group.'."\n",
+ 'description' => 'The configurations of the forwarding rules.',
'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',
+ 'Priority' => ['description' => 'The priority of the forwarding rule. A smaller value indicates a higher priority. Valid values: **1** to **10000**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1000', 'title' => ''],
+ 'RuleConditions' => [
+ 'description' => 'The forwarding conditions.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The forwarding conditions.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RuleConditionType' => ['description' => 'The type of the forwarding condition. Valid values:'."\n"
+ ."\n"
+ .'- **Host**: matches a request based on its domain name.'."\n"
+ ."\n"
+ .'- **Path**: matches a request based on its path.'."\n"
+ ."\n"
+ .'- **RequestHeader**: matches a request based on its HTTP header.'."\n"
+ ."\n"
+ .'- **Query**: matches a request based on its query string.'."\n"
+ ."\n"
+ .'- **Method**: matches a request based on its HTTP request method.'."\n"
+ ."\n"
+ .'- **Cookie**: matches a request based on its cookie.'."\n"
+ ."\n"
+ .'- **SourceIP**: matches a request based on its source IP address.', 'type' => 'string', 'required' => true, 'example' => 'Host', 'title' => ''],
+ 'RuleConditionValue' => ['description' => 'The value of the forwarding condition.'."\n"
+ .'The value is a JSON string that varies based on the value of **RuleConditionType**.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Host**, this parameter specifies the domain configuration. A forwarding rule can contain only one Host-based rule condition. The condition can contain multiple domains that are evaluated with a logical OR. A domain must be 3 to 128 characters in length and can contain letters, digits, hyphens (-), and periods (.). You can use asterisks (\\*) and question marks (?) as wildcards. Example: `["www.example.com", "www.aliyun.com"]`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Path**, this parameter specifies the path configuration. A forwarding rule can contain multiple path-based rule conditions, which are evaluated with a logical OR. Each condition can contain multiple paths, which are also evaluated with a logical OR. A path must be 1 to 128 characters in length, start with a forward slash (/), and contain only letters, digits, and the following special characters: `$`, `-`, `_`, `.`, `+`, `/`, `&`, `~`, `@`, `:`, and `\'`. You can use asterisks (\\*) and question marks (?) as wildcards. Example: `["/a", "/b/"]`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **RequestHeader**, this parameter specifies the HTTP header configuration, which consists of key-value pairs. The values for a specific header must be unique. Example: `[{"header1":["value1","value2"]}]`.'."\n"
+ ."\n"
+ .' - Key: The key of the HTTP header. The key must be 1 to 40 characters in length and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n"
+ ."\n"
+ .' - Value: The value of the HTTP header. The value must be 1 to 128 characters in length and can contain printable ASCII characters whose character codes are in the range of `ch >= 32 && ch < 127`. The value cannot start or end with a space.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Query**, this parameter specifies the query string configuration, which consists of key-value pairs. Example: `[{"query1":["value1"]}, {"query2":["value2"]}]`.'."\n"
+ ."\n"
+ .' - Key: The key of the query string. The key must be 1 to 100 characters in length and can contain printable ASCII characters whose character codes are in the range of `ch >= 32 && ch < 127`. The letters must be in lowercase. Spaces and the following characters are not allowed: `[]{}<>\\;/?:@&=+,$%|"^~`.'."\n"
+ ."\n"
+ .' - Value: The value of the query string. The value must be 1 to 128 characters in length and can contain printable ASCII characters whose character codes are in the range of `ch >= 32 && ch < 127`. The letters must be in lowercase. Spaces and the following characters are not allowed: `[]{}<>\\;/?:@&=+,$%|"^~`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Method**, this parameter specifies the HTTP request method configuration. Valid values: **HEAD**, **GET**, **POST**, **OPTIONS**, **PUT**, **PATCH**, and **DELETE**. Example: `["GET", "OPTIONS", "POST"]`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **Cookie**, this parameter specifies the cookie configuration, which consists of key-value pairs. Example: `[{"cookie1":["value1"]}, {"cookie2":["value2"]}]`'."\n"
+ ."\n"
+ .' - Key: The key of the cookie. The key must be 1 to 100 characters in length and can contain printable ASCII characters whose character codes are in the range of `ch >= 32 && ch < 127`. The letters must be in lowercase. Spaces and the following characters are not allowed: `#[]{}\\|<>&`.'."\n"
+ ."\n"
+ .' - Value: The value of the cookie. The value must be 1 to 128 characters in length and can contain printable ASCII characters whose character codes are in the range of `ch >= 32 && ch < 127`. The letters must be in lowercase. Spaces and the following characters are not allowed: `#[]{}\\|<>&`.'."\n"
+ ."\n"
+ .'- If **RuleConditionType** is set to **SourceIP**, this parameter specifies the source IP configuration. You can specify IP addresses such as 1.1.XX.XX/32 or CIDR blocks such as 2.2.XX.XX/24. A forwarding rule can contain only one source IP-based rule condition, which can contain multiple source IP addresses or CIDR blocks that are evaluated with a logical OR. Example: `["1.1.XX.XX/32", "2.2.XX.XX/24"]`.', 'type' => 'string', 'required' => false, 'example' => '["www.example.com", "www.aliyun.com"]', 'title' => ''],
+ 'PathConfig' => [
+ 'description' => 'The path configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use the **RuleConditionType** and **RuleConditionValue** parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Values' => [
+ 'description' => 'The path configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use the **RuleConditionType** and **RuleConditionValue** parameters.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The path configuration.'."\n"
+ ."\n"
+ .'The path must be 1 to 128 characters in length, start with a forward slash (/), and can contain only letters, digits, and the following special characters: `$`, `-`, `_`, `.`, `+`, `/`, `&`, `~`, `@`, `:`, and `\'`. You can use asterisks (\\*) and question marks (?) as wildcards.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use the **RuleConditionType** and **RuleConditionValue** parameters.', 'type' => 'string', 'required' => false, 'example' => '/test', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'HostConfig' => [
+ 'description' => 'The domain configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use the **RuleConditionType** and **RuleConditionValue** parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Values' => [
+ 'description' => 'The domain configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use the **RuleConditionType** and **RuleConditionValue** parameters.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The domain configuration.'."\n"
+ ."\n"
+ .'The domain must be 3 to 128 characters in length and can contain letters, digits, hyphens (-), and periods (.). You can use asterisks (\\*) and question marks (?) as wildcards.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
- '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',
+ 'RuleActions' => [
+ 'description' => 'The actions that are performed when the forwarding conditions are met.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The actions that are performed when the forwarding conditions are met.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Order' => ['description' => 'The priority of the action.'."\n"
+ ."\n"
+ .'> This parameter is not in use. You do not need to specify this parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''],
+ 'RuleActionType' => [
+ 'description' => 'The type of the action. Valid values:'."\n"
+ ."\n"
+ .'- **ForwardGroup**: forwards a request to an endpoint group.'."\n"
+ ."\n"
+ .'- **Redirect**: redirects a request.'."\n"
+ ."\n"
+ .'- **FixResponse**: returns a fixed response.'."\n"
+ ."\n"
+ .'- **Rewrite**: rewrites a request.'."\n"
+ ."\n"
+ .'- **AddHeader**: adds a header to a request.'."\n"
+ ."\n"
+ .'- **RemoveHeader**: removes a header from a request.'."\n"
+ ."\n"
+ .'- **Drop**: drops a request.',
+ 'type' => 'string',
+ 'required' => true,
+ 'default' => 'ForwardGroup',
+ 'enum' => ['ForwardGroup', 'Redirect', 'FixResponse', 'AddHeader', 'RemoveHeader', 'Rewrite', 'Drop', 'ForwardGroupMirror'],
+ 'example' => 'ForwardGroup',
+ 'title' => '',
+ ],
+ 'RuleActionValue' => ['description' => 'The value of the action.'."\n"
+ ."\n"
+ .'The value is a JSON string that varies based on the value of **RuleActionType**.'."\n"
+ ."\n"
+ .'A forwarding rule can have at most one action of the **ForwardGroup**, **Redirect**, or **FixResponse** type. The `Rewrite`, `AddHeader`, and `RemoveHeader` actions must precede a `ForwardGroup` action.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **ForwardGroup**, this parameter specifies the endpoint group configuration. You can forward requests to only one endpoint group. Example: `{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}`, where:'."\n"
+ ."\n"
+ .' - `type`: Set the value to `endpointgroup`.'."\n"
+ ."\n"
+ .' - `value`: The ID of the destination endpoint group.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **Redirect**, this parameter specifies the redirect configuration. In a **Redirect** action, at least one of the following fields must be specified with a non-default value: `protocol`, `domain`, `port`, `path`, or `query`. Example: `{"protocol":"HTTP", "domain":"www.example.com", "port":"80", "path":"/a","query":"value1", "code":"301" }`, where:'."\n"
+ ."\n"
+ .' - `protocol`: The protocol to which requests are redirected. Valid values: `${protocol}` (default), `HTTP`, and `HTTPS`.'."\n"
+ ."\n"
+ .' - `domain`: The domain to which requests are redirected. The default value is `${host}`. You can also specify another domain. The domain must be 3 to 128 characters in length and can contain only lowercase letters, digits, and the following special characters: `.-?=~_-+/^*!$&|()[]`.'."\n"
+ ."\n"
+ .' - `port`: The port to which requests are redirected. The default value is `${port}`. You can also specify another port. Valid values: 1 to 63335.'."\n"
+ ."\n"
+ .' - `path`: The path to which requests are redirected. The default value is `${path}`. The path must be 1 to 128 characters in length. A regular expression-based path must start with a tilde (\\~) and can contain letters, digits, and the following special characters: `.-_/=?~^*$:()[]+|`. A path that is not a regular expression must start with a forward slash (/) and can contain letters, digits, and the following special characters: `.-_/=?:`.'."\n"
+ ."\n"
+ .' - `query`: The query string to which requests are redirected. The default value is `${query}`. You can also specify another query string. The query string must be 1 to 128 characters in length and can contain printable ASCII characters whose character codes are in the range of `ch >= 32 && ch < 127`. The letters must be in lowercase. Spaces and the following characters are not allowed: `[]{}<>\\#|&`.'."\n"
+ ."\n"
+ .' - `code`: The redirect type. Valid values: `301`, `302`, `303`, `307`, and `308`.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **FixResponse**, this parameter specifies the fixed response configuration. Example: `{"code":"200", "type":"text/plain", "content":"dssacav" }`, where:'."\n"
+ ."\n"
+ .' - `code`: The HTTP status code. You can specify a numeric string that represents a `2xx`, `4xx`, or `5xx` status code, where `x` indicates a digit.'."\n"
+ ."\n"
+ .' - `type`: The content type of the response body. Valid values: **text/plain**, **text/css**, **text/html**, **application/javascript**, and **application/json**.'."\n"
+ ."\n"
+ .' - `content`: The content of the response body. The content can be up to 1,024 characters in length and cannot contain Chinese characters.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **AddHeader**, this parameter specifies the configuration for adding an HTTP header. An **AddHeader** action must be used together with a **ForwardGroup** action. Example: `[{"name":"header1","type":"user-defined", "value":"value"}]`, where:'."\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 header names specified for **AddHeader** must be unique and cannot be the same as those specified for **RemoveHeader**.'."\n"
+ ."\n"
+ .' - `type`: The content type of the HTTP header. Valid values: `user-defined`, `ref` (reference), and `system-defined`.'."\n"
+ ."\n"
+ .' - `value`: The content of the HTTP header. This parameter cannot be left empty. If `type` is set to `user-defined`, the content must be 1 to 128 characters in length and can contain printable ASCII characters whose character codes are in the range of `ch >= 32 && ch < 127`. The content can include letters, digits, hyphens (-), and underscores (\\_). The content cannot start or end with a space. If `type` is set to `ref` (reference), 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. If `type` is set to `system-defined`, the only valid value is `ClientSrcIp`.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **RemoveHeader**, this parameter specifies the configuration for removing an HTTP header. A **RemoveHeader** action must be used together with a **ForwardGroup** action. The header name 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 rewrite configuration. A **Rewrite** action must be used together with a **ForwardGroup** action. Example: `{"domain":"value1", "path":"value2", "query":"value3"}`, where:'."\n"
+ ."\n"
+ .' - `domain`: The domain to which requests are rewritten. The default value is `${host}`. You can also specify another domain. The domain must be 3 to 128 characters in length and can contain only lowercase letters, digits, and the following special characters: `.-?=~_-+/^*!$&|()[]`.'."\n"
+ ."\n"
+ .' - `path`: The path to which requests are rewritten. The default value is `${path}`. The path must be 1 to 128 characters in length. A regular expression-based path must start with a tilde (\\~) and can contain letters, digits, and the following special characters: `.-_/=?~^*$:()[]+|`. A path that is not a regular expression must start with a forward slash (/) and can contain letters, digits, and the following special characters: `.-_/=?:`.'."\n"
+ ."\n"
+ .' - `query`: The query string to which requests are rewritten. The default value is `${query}`. You can also specify another query string. The query string must be 1 to 128 characters in length and can contain printable ASCII characters whose character codes are in the range of `ch >= 32 && ch < 127`. The letters must be in lowercase. Spaces and the following characters are not allowed: `[]{}<>\\#|&`.'."\n"
+ ."\n"
+ .'- If **RuleActionType** is set to **Drop**, you do not need to specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '[{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}]', 'title' => ''],
+ 'ForwardGroupConfig' => [
+ 'description' => 'The forwarding configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use the **RuleActionType** and **RuleActionValue** parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ServerGroupTuples' => [
+ 'description' => 'The endpoint group configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use the **RuleActionType** and **RuleActionValue** parameters.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The endpoint group configuration.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use the **RuleActionType** and **RuleActionValue** parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndpointGroupId' => ['description' => 'The ID of the endpoint group.'."\n"
+ ."\n"
+ .'> This parameter is deprecated. We recommend that you use the **RuleActionType** and **RuleActionValue** parameters.', 'type' => 'string', 'required' => true, 'example' => 'epg-bp1ieei9664r5nv****', 'title' => ''],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
],
+ 'ForwardingRuleId' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'required' => true, 'example' => 'frule-bp1dii16gu9qdvb34****', 'title' => ''],
+ 'ForwardingRuleName' => ['description' => 'The name of the forwarding rule.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, start with a letter or a Chinese character, and can contain digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
+ 'RuleDirection' => ['description' => 'The direction of the rule. You do not need to specify this parameter.'."\n"
+ ."\n"
+ .'This parameter is set to **request** by default, which indicates that the rule applies to inbound requests.', 'type' => 'string', 'required' => false, 'example' => 'request', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => true,
- 'maxItems' => 20,
+ 'example' => 'test',
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'description' => 'The data returned.',
'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",
+ 'ForwardingRules' => [
+ 'description' => 'A list of forwarding rules.',
'type' => 'array',
'items' => [
- 'description' => 'The endpoints in the endpoint group.'."\n",
+ 'description' => 'Details about the forwarding rule.',
'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',
- ],
+ 'ForwardingRuleId' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'example' => 'frule-bp1dii16gu9qdvb34****', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'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.',
+ ['errorCode' => 'NotExist.Listener', 'errorMessage' => 'The listener does not exist.', 'description' => 'The listener does not exist.'],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'QuotaExceeded.EndPoint', 'errorMessage' => 'The maximum number of endpoints is exceeded.', 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['errorCode' => 'Exist.EndpointGroup', 'errorMessage' => 'The endpoint group already exists.', 'description' => 'The endpoint group already exists.'],
+ ['errorCode' => 'NoPermission.VpcEndpoint', 'errorMessage' => 'You are not authorized to perform the operation.', 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System busy, please try again later.', 'description' => ''],
+ ['errorCode' => 'RepeatPathAndHost.ForwardingRule', 'errorMessage' => 'The path and host %s are duplicated.', 'description' => 'The path and host are duplicated.'],
+ ['errorCode' => 'QuotaExceeded.RuleConditionConfig', 'errorMessage' => 'The number of paths and hosts exceeds the limit.', 'description' => 'The number of paths and hosts exceeds the limit.'],
+ ['errorCode' => 'NotExist.BusinessRegion', 'errorMessage' => 'The business region does not exist.', 'description' => 'The business region does not exist.'],
+ ['errorCode' => 'NotExist.ForwardingRule', 'errorMessage' => 'The forwarding rule %s does not exist.', 'description' => 'The forwarding rule does not exist.'],
+ ],
+ ],
+ 'title' => 'UpdateForwardingRules',
+ 'description' => '- **UpdateForwardingRules** is an asynchronous API. A call to this API returns a request ID and runs the update in the background. You can call [ListForwardingRules](~~205817~~) to query the status of the forwarding rule:'."\n"
+ ."\n"
+ .' - A status of **configuring** indicates that the forwarding rule is being updated. During this process, you can only perform query operations.'."\n"
+ ."\n"
+ .' - A status of **active** indicates that the update is complete.'."\n"
+ ."\n"
+ .'- You cannot use **UpdateForwardingRules** to concurrently update forwarding rules within the same Global Accelerator instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:59.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-11-15T07:39:53.000Z', 'description' => 'Error codes changed'],
+ ['createdAt' => '2023-10-18T01:38:25.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateForwardingRules'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateForwardingRules',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
],
],
],
- '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",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ForwardingRules\\": [\\n {\\n \\"ForwardingRuleId\\": \\"frule-bp1dii16gu9qdvb34****\\"\\n }\\n ],\\n \\"RequestId\\": \\"64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF\\"\\n}","type":"json"}]',
],
- 'UpdateBasicEndpoint' => [
- 'summary' => 'Modifies the name of an endpoint that is associated with a basic Global Accelerator (GA) instance.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'UpdateIpSet' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '8895',
+ 'abilityTreeNodes' => ['FEATUREgaC1Y0Y9'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
'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****',
- ],
+ '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', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'IpSetId',
'in' => 'query',
- 'schema' => [
- 'title' => '终端节点Id',
- 'description' => 'The ID of the endpoint that you want to modify.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ep-bp14sz7ftcwwjgrdm****',
- ],
+ 'schema' => ['description' => 'The ID of the acceleration region that you want to modify.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ips-bp11r5jb8ogp122xl****', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'Bandwidth',
'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,
- ],
+ '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', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => '',
+ 'description' => 'A list of response parameters.'."\n",
'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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7D2F7E4E-B958-439C-9821-56D6213A31EC', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NotExist.Accelerator',
- 'errorMessage' => 'The accelerated instance does not exist.',
- ],
+ ['errorCode' => 'Resource.QuotaFull', 'errorMessage' => 'The resource quota is exceeded.', 'description' => 'The number of resources has reached the upper limit.'],
+ ['errorCode' => 'NotExist.IpSet', 'errorMessage' => 'The IpSet does not exist.', 'description' => 'The acceleration region does not exist.'],
+ ['errorCode' => 'StateError.IpSet', 'errorMessage' => 'The state of IpSet is invalid.', 'description' => 'The acceleration region is in an invalid state.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'GreaterThanGa.IpSetBandwidth', 'errorMessage' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.', 'description' => '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.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
+ ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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',
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:55.000Z', 'description' => 'OpenAPI offline'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateIpSet'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateIpSets' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '8896',
+ 'abilityTreeNodes' => ['FEATUREgaC1Y0Y9'],
],
'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',
- ],
+ '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', 'title' => ''],
],
[
- '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',
+ 'name' => 'IpSets',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => '终端节点Id',
- 'description' => 'The ID of the endpoint that you want to query.'."\n",
- 'type' => 'string',
+ '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', 'title' => ''],
+ '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****', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => true,
- 'example' => 'ep-bp14sz7ftcwwjgrdm****',
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'description' => 'The 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',
- ],
+ 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '685662FF-B1CE-4D5C-A4C8-2FF3C2146BFC', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'Repeat.IpSets', 'errorMessage' => 'The configuration of IpSet is duplicated.', 'description' => 'Duplicate accelerated IP addresses exist.'],
+ ['errorCode' => 'NotExist.IpSets', 'errorMessage' => 'The IpSet does not exist.', 'description' => 'The acceleration region does not exist.'],
+ ['errorCode' => 'NotActive.IpSet', 'errorMessage' => 'The state of IpSet is not active.', 'description' => 'The accelerated IP address is in an unstable state.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'NotExist.BasicBandwidthPackage', 'errorMessage' => 'You must specify the basic bandwidth package.', 'description' => 'You must specify the basic bandwidth package.'],
+ ['errorCode' => 'GreaterThanGa.IpSetBandwidth', 'errorMessage' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.', 'description' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ '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' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:58.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateIpSets'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateIpSets',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateListener' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '8897',
+ 'abilityTreeNodes' => ['FEATUREgaZW5ZHQ'],
],
'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',
- ],
+ 'schema' => ['description' => 'The ID of the region where the Global Accelerator (GA) instance is deployed. Set the value to **cn-hangzhou**.', 'type' => 'string', 'required' => false, 'default' => 'cn-hangzhou', 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000 ', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'Name',
'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****',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => 'Listener', 'title' => ''],
],
[
- 'name' => 'EndpointType',
+ 'name' => 'Description',
'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',
- ],
+ '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://`.', 'type' => 'string', 'required' => false, 'example' => 'Listener', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'ClientAffinity',
'in' => 'query',
- 'schema' => [
- 'title' => '终端节点Id',
- 'description' => 'The ID of the endpoint that you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ep-bp14sz7ftcwwjgrdm****',
- ],
+ '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"
+ ."\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.', 'type' => 'string', 'required' => false, 'example' => 'SOURCE_IP', 'title' => ''],
],
[
- 'name' => 'Name',
+ 'name' => 'Protocol',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The network transmission protocol that is used by the listener. Valid values:'."\n"
+ ."\n"
+ .'- **tcp**: TCP'."\n"
+ ."\n"
+ .'- **udp**: UDP'."\n"
+ ."\n"
+ .'- **http**: HTTP'."\n"
+ ."\n"
+ .'- **https**: HTTPS', 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''],
+ ],
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the listener.', 'type' => 'string', 'required' => true, 'example' => 'lsr-bp1bpn0kn908w4nbw****', 'title' => ''],
+ ],
+ [
+ '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"
+ ."\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~~).', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'PortRanges',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => '终端节点名称',
- 'description' => 'The name of the endpoint that you want to query.'."\n"
+ 'description' => 'The listener ports that are used to receive requests and forward the requests to endpoints.'."\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',
+ .'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~~).',
+ '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~~).',
+ '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.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''],
+ '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.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '21', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'ep01',
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'NextToken',
+ 'name' => 'Certificates',
'in' => 'query',
+ 'style' => 'repeatList',
'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',
+ 'description' => 'The SSL certificate.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The SSL certificate.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => ['description' => 'The ID of the SSL certificate.'."\n"
+ ."\n"
+ .'> This parameter is required only when you configure an HTTPS listener.', 'type' => 'string', 'required' => false, 'example' => '449****-cn-hangzhou', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'BackendPorts',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
+ 'description' => 'The range of ports that are used by backend servers to receive requests.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The range of ports that are used by backend servers to receive requests.',
+ '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.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ '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.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => '10',
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
- ],
- 'responses' => [
- 200 => [
+ [
+ 'name' => 'XForwardedForConfig',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'description' => 'The `XForward` headers.',
'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',
- ],
- ],
- ],
- ],
+ '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"
+ ."\n"
+ .'- **false** (default): no'."\n"
+ ."\n"
+ .'> This parameter is available only when you create an HTTPS or HTTP listener.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **false** (default): no'."\n"
+ ."\n"
+ .'> This parameter is available only when you create an HTTPS or HTTP listener.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ '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"
+ ."\n"
+ .'- **false** (default): no'."\n"
+ ."\n"
+ .'> This parameter is available only when you create an HTTPS or HTTP listener.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'XRealIpEnabled' => ['description' => 'Specifies whether to use the `X-Real-IP` header to retrieve client IP addresses. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes'."\n"
+ ."\n"
+ .'- **false** (default): no'."\n"
+ ."\n"
+ .'> This parameter is available only when you create an HTTPS or HTTP listener.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ 'XForwardedForGaApEnabled' => ['description' => 'Specifies whether to use the `GA-AP` header to retrieve information about acceleration regions. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes'."\n"
+ ."\n"
+ .'- **false** (default): no'."\n"
+ ."\n"
+ .'> This parameter is available only when you create an HTTPS or HTTP listener.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
- ],
- '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',
+ 'name' => 'SecurityPolicyId',
'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',
- ],
+ '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"
+ ."\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"
+ ."\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"
+ ."\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"
+ ."\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"
+ ."\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.', 'type' => 'string', 'required' => false, 'example' => 'tls_cipher_policy_1_0', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'IdleTimeout',
'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',
- ],
+ 'schema' => ['description' => 'The timeout period for idle connections. Unit: seconds.'."\n"
+ ."\n"
+ .'- TCP: 10-900. Default value: 900. Unit: seconds.'."\n"
+ ."\n"
+ .'- UDP: 10-20. Default value: 20. Unit: seconds.'."\n"
+ ."\n"
+ .'- HTTP/HTTPS: 1-60. Default value: 15. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '900', 'title' => ''],
],
[
- 'name' => 'EndpointGroupId',
+ 'name' => 'RequestTimeout',
'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****',
- ],
+ '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.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'HttpVersion',
'in' => 'query',
- 'schema' => [
- 'title' => '终端节点Id',
- 'description' => 'The ID of the endpoint that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ep-bp14sz7ftcwwjgrdm****',
- ],
+ 'schema' => ['description' => 'The maximum version of the HTTP protocol. Valid values:'."\n"
+ ."\n"
+ .'- **http3**'."\n"
+ ."\n"
+ .'- **http2**'."\n"
+ ."\n"
+ .'- **http1.1**'."\n"
+ ."\n"
+ .'> Only HTTPS listeners support this parameter.', 'type' => 'string', 'required' => false, 'example' => 'http2', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'The returned information.',
'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',
- ],
+ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6FEA0CF3-D3B9-43E5-A304-D217037876A8 ', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'Exist.EndpointGroup',
- 'errorMessage' => 'The endpoint group already exists.',
- ],
+ ['errorCode' => 'NotActive.Listener', 'errorMessage' => 'The state of the listener is not active.', 'description' => 'The listener is unstable.'],
+ ['errorCode' => 'PortRangeIllegal.Listener', 'errorMessage' => 'The specified listener port range is invalid.', 'description' => 'The specified listener port range is invalid.'],
+ ['errorCode' => 'PortConflict.Listener', 'errorMessage' => 'The listener port configuration is in conflict.', 'description' => 'The listener port configurations are in conflict.'],
+ ['errorCode' => 'QuotaExceeded.ListenerPort', 'errorMessage' => 'The maximum number of listener ports is exceeded.', 'description' => 'The maximum number of listener ports is exceeded.'],
+ ['errorCode' => 'NotExist.Accelerator', 'errorMessage' => 'The accelerated instance does not exist.', 'description' => 'The GA instance does not exist.'],
+ ['errorCode' => 'StateError.Accelerator', 'errorMessage' => 'The state of the accelerated instance is invalid.', 'description' => 'The status of the GA instance is invalid.'],
+ ['errorCode' => 'Exist.PortOverride', 'errorMessage' => 'Port override exists.', 'description' => 'The port mapping already exists.'],
+ ['errorCode' => 'RegionNotSupportHugePort.Listener', 'errorMessage' => 'The current ipSet or listener region does not support hugePort.', 'description' => ''],
+ ['errorCode' => 'PortRanges.MustOne', 'errorMessage' => 'The portRanges must be one for HTTPS and HTTP type listener.', 'description' => 'Only one port is supported for HTTPS and HTTP type listeners.'],
+ ['errorCode' => 'SecurityPolicyIdIllegal.Listener', 'errorMessage' => 'The listener security policy ID %s is illegal.', 'description' => 'The security policy ID of the listener is invalid.'],
+ ['errorCode' => 'SecurityPolicyId.NotNeed', 'errorMessage' => 'No security policy ID is required for the listener.', 'description' => '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.', 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['errorCode' => 'Forbidden', 'errorMessage' => 'The user is not authorized to operate on the specified resource.', 'description' => 'The current account does not have permissions to manage the specified resources.'],
+ ],
+ 500 => [
+ ['errorCode' => 'UnknownError', 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'description' => 'An error occurred while the request was being processed. Try again later.'],
],
],
- '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"
+ 'title' => 'UpdateListener',
+ 'summary' => 'Updates the configurations of a listener for a Global Accelerator (GA) instance.',
+ 'description' => 'Modifies the protocol, ports, and other configurations of a listener to meet your business requirements.'."\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"
+ .'When you call this operation, take note of the following items:'."\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',
+ .'- **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"
+ ."\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.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:56:10.000Z', 'description' => 'OpenAPI offline'],
+ ['createdAt' => '2024-12-23T15:31:10.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2024-03-27T02:06:01.000Z', 'description' => 'Request parameters changed'],
+ ['createdAt' => '2023-11-06T12:24:54.000Z', 'description' => 'Request parameters changed'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateListener'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FEA0CF3-D3B9-43E5-A304-D217037876A8\\\\t\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateLogStoreConfig' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -31210,128 +25355,110 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeCode' => '280607',
+ 'abilityTreeNodes' => ['FEATUREgaMGA0JD'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the Alibaba Cloud Global Accelerator (GA) instance. The only valid value is cn-hangzhou. ', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'SlsProjectName',
'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',
- ],
+ 'schema' => ['description' => 'The name of the Data Service Project. ', 'type' => 'string', 'required' => true, 'example' => 'ga-access-log', 'title' => ''],
+ ],
+ [
+ 'name' => 'SlsLogStoreName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the Logstore. ', 'type' => 'string', 'required' => true, 'example' => 'ga-access-log-epg-01', 'title' => ''],
],
[
'name' => 'AcceleratorId',
'in' => 'query',
- 'schema' => [
- 'title' => '全球加速区实例Id',
- 'description' => 'The ID of the basic GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
- ],
+ 'schema' => ['description' => 'The instance ID of Alibaba Cloud Global Accelerator (GA). ', 'type' => 'string', 'required' => true, 'example' => 'ga-bp1odcab8tmno0hdq****', 'title' => ''],
],
[
- 'name' => 'AccelerateIpEndpointRelations',
+ 'name' => 'ListenerId',
'in' => 'query',
- 'style' => 'flat',
+ 'schema' => ['description' => 'The listener ID. ', 'type' => 'string', 'required' => true, 'example' => 'lsr-xxxxxxxxxxxxxxx', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the endpoint group. ', 'type' => 'string', 'required' => true, 'example' => 'epg-bp1dmlohjjz4kqaun****', 'title' => ''],
+ ],
+ [
+ 'name' => 'AccessLogRecordCustomizedHeadersEnabled',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to include custom headers in access logs. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ .'- **false** (default): No.'."\n"
+ ."\n"
+ .'> You can set this parameter to **true** only when the **AccessLogEnabled** toggle for the instance is turned on. ', 'type' => 'boolean', 'required' => false, 'example' => 'False', 'title' => ''],
+ ],
+ [
+ 'name' => 'AccessLogRecordCustomizedHeaderList',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => '绑定关系列表',
- 'description' => 'A list of accelerated IP addresses and the endpoints with which the accelerated IP addresses are associated.'."\n",
+ 'maxItems' => 100,
+ 'description' => 'A list of custom header field names to be included in access logs. ',
'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,
+ 'items' => ['description' => 'A custom header field name to be included in access logs. ', 'type' => 'string', 'required' => false, 'example' => '[\'Content-Type\', \'User-Agent\']', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => ['description' => 'An idempotent token. ', 'title' => '', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000'],
+ ],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'A list of response parameters.'."\n",
+ 'description' => 'Schema of Response ',
+ 'title' => '',
'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****',
- ],
+ 'RequestId' => ['description' => 'The request ID. ', 'type' => 'string', 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6', 'title' => ''],
],
+ 'example' => '',
],
],
],
- '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',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'Modify access log configuration ',
+ 'summary' => 'Modify Simple Log Service log configuration ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateLogStoreConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateServiceManagedControl' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -31343,1778 +25470,3609 @@
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREgaLOR9WO'],
],
'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',
- ],
+ 'schema' => ['description' => 'The region ID of the GA instance. Set the value to cn-hangzhou.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'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',
- ],
+ '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****', 'title' => ''],
],
[
- 'name' => 'AcceleratorId',
+ 'name' => 'ResourceType',
'in' => 'query',
'schema' => [
- 'title' => '全球加速区实例Id',
- 'description' => 'The ID of the basic GA instance.'."\n",
+ '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' => 'ga-bp17frjjh0udz4qz****',
+ 'example' => 'Accelerator',
+ 'enum' => ['Accelerator'],
+ 'title' => '',
],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'ResourceId',
'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****',
- ],
+ 'schema' => ['description' => 'The ID of the resource whose control mode you want to change.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ga-bp149u6o36qt1as9b****', 'title' => ''],
],
[
- 'name' => 'AccelerateIpId',
+ 'name' => 'ServiceManaged',
'in' => 'query',
'schema' => [
- 'title' => '加速Ip Id',
- 'description' => 'The ID of the accelerated IP address.'."\n"
+ 'description' => 'The control mode of the resource.'."\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****',
+ .'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',
+ 'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => '',
'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',
- ],
+ 'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'B7770CB9-9745-4FE5-9EDA-D14B01A12A50'],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EcsCannotBind.BasicEndpoint',
- 'errorMessage' => 'The ECS instance has already been associated with another EIP.',
- ],
+ ['errorCode' => 'NotSupportResourceType.ServiceManaged', 'errorMessage' => 'Only accelerator resource type is supported.', 'description' => 'Only specific resource types can be accelerated.'],
+ ['errorCode' => 'NotSupportServiceManagedMode.ServiceManaged', 'errorMessage' => 'Only unmanaged mode is supported.', 'description' => 'You can only unmanage the resource.'],
+ ['errorCode' => 'ResourceNotManaged.ServiceManaged', 'errorMessage' => 'The instance %s is not yet managed.', 'description' => 'The current resource %s is not managed.'],
+ ['errorCode' => 'NoPermissionResourceUnmanaged.ServiceManaged', 'errorMessage' => 'You do not have permission to cancel service managed mode for %s.', 'description' => 'You are not authorized to unmanage the current instance.'],
+ ['errorCode' => 'NoPermission.ServiceManaged', 'errorMessage' => 'You do not have permission to %s %s in the service managed instance.', 'description' => 'You do not have the permissions to %s %s the managed instance.'],
],
],
- '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"
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'UpdateServiceManagedControl',
+ 'summary' => 'Changes the control mode of a resource from managed mode to unmanaged mode.',
+ 'description' => '* This operation is applicable only to **managed** Global Accelerator (GA) instances.'."\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"
+ .'* 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"
- .'* The **CreateBasicAccelerateIpEndpointRelation** API operation cannot be repeatedly called for the same basic GA instance within a period of time.'."\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>',
+ 'changeSet' => [
+ ['createdAt' => '2025-10-16T06:55:53.000Z', 'description' => 'OpenAPI offline'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'ga', 'title' => '全球加速'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateServiceManagedControl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B7770CB9-9745-4FE5-9EDA-D14B01A12A50\\"\\n}","type":"json"}]',
],
- 'GetBasicAccelerateIpEndpointRelation' => [
- 'summary' => 'Queries whether the accelerated IP address of a basic Global Accelerator (GA) instance is associated with an endpoint.',
- 'methods' => [
- 'post',
- 'get',
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ga.cn-hangzhou.aliyuncs.com', 'endpoint' => 'ga.cn-hangzhou.aliyuncs.com', 'vpc' => 'ga-vpc.cn-hangzhou.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => 'Accelerator.NotBindingDdos', 'message' => 'The accelerator has not bound a DDoS instance.', 'http_code' => 400, 'description' => 'The accelerator has not bound a DDoS instance.'],
+ ['code' => 'AlreadyInBandwidthPackage.Accelerator', 'message' => 'The accelerated instance is already in the bandwidth package.', 'http_code' => 400, 'description' => 'The accelerated instance is already in the bandwidth package.'],
+ ['code' => 'AlreadyInBandwidthPackage.Accelerator', 'message' => 'accelerator %s already in bandwidthpackage.', 'http_code' => 400, 'description' => 'GA instance% s has been bound to a bandwidth package.'],
+ ['code' => 'BandwidthIllegal.BandwidthPackage', 'message' => 'The bandwidth of the basic bandwidth package must be lower than or equal to the bandwidth of the cross-domain bandwidth package.', 'http_code' => 400, 'description' => 'The bandwidth of the basic bandwidth package must be lower than or equal to the bandwidth of the cross-domain bandwidth package.'],
+ ['code' => 'BandwidthIllegal.BandwidthPackage', 'message' => 'The bandwidth of the basic bandwidthpackage must be less than or equal to the bandwidth of the cross domain BandwidthPackage.', 'http_code' => 400, 'description' => 'The bandwidth value of the basic bandwidth plan must be less than or equal to the bandwidth value of the cross-border bandwidth plan.'],
+ ['code' => 'BandwidthPackageCannotUnbind.EndpointGroup', 'message' => 'Cross-border bandwidth package cannot be unbound, because endpointGroup contains unsupported regions after unbinding.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'BandwidthPackageCannotUnbind.HasCrossRegion', 'message' => 'BandwidthPackage cannot unbind due to has crossRegion.', 'http_code' => 400, 'description' => 'You cannot disassociate the cross-border bandwidth plan from the GA instance because the GA instance is used for cross-border acceleration.'],
+ ['code' => 'BandwidthPackageCannotUnbind.IpSet', 'message' => 'Cross-border bandwidth packets cannot be unbound because IpSet contains regions that are not supported after unbundling', 'http_code' => 400, 'description' => 'Some acceleration areas do not support cross-border bandwidth plans.'],
+ ['code' => 'BandwidthPackageCannotUnbind.IpSet', 'message' => 'Cross-border bandwidth packets cannot be unbound because IpSet contains regions that are not supported after unbundling.', 'http_code' => 400, 'description' => 'You cannot disassociate the cross-border bandwidth plan from the GA instance because the GA instance is used for cross-border acceleration.'],
+ ['code' => 'BgpProCrossBorder.OnlySupportAdvancedPackage', 'message' => 'The basic package type %s is not supported when the accelerator is on bgppro cross mode.', 'http_code' => 400, 'description' => 'You cannot associate a GA instance that is used for cross-border acceleration with a basic bandwidth plan of the %s type.'],
+ ['code' => 'BindExist.Accelerator', 'message' => 'The accelerated instance is already bound to a bandwidth package.', 'http_code' => 400, 'description' => 'The GA instance is already associated with a bandwidth plan.'],
+ ['code' => 'BindExist.BandwidthPackage', 'message' => 'The bandwidth package is already bound.', 'http_code' => 400, 'description' => 'The bandwidth plan is already associated.'],
+ ['code' => 'BindExist.EndPointGroup', 'message' => 'The endpoint group %s contains binding.', 'http_code' => 400, 'description' => 'The endpoint group contains binding.'],
+ ['code' => 'BindExist.EndPointGroup', 'message' => 'EndPointGroup %s is already bound.', 'http_code' => 400, 'description' => 'The endpoint group is already associated.'],
+ ['code' => 'BindExist.EndPointGroup', 'message' => 'EndPointGroup %s exist bind.', 'http_code' => 400, 'description' => 'A forwarding rule configuration exists for endpoint group% s.'],
+ ['code' => 'BindNotSupport.BandwidthPackageInAnycast', 'message' => 'Only premium, postPay, payByTraffic, bandwidth<=1000M bandwidthPackage is supported, when this access mode of ga is anycast.', 'http_code' => 400, 'description' => 'If you select Anycast EIP as the access mode for a GA instance, you can only associate a pay-as-you-go premium bandwidth plan whose bandwidth is less than 1,000 Mbit/s and whose billing method is pay-by-data-transfer with the GA instance.'],
+ ['code' => 'CannotBindEnhancedBandWidthPackage.BasicAccelerator', 'message' => 'basic accelerator cannot bind enhanced bandWidthPackage.', 'http_code' => 400, 'description' => 'You cannot associate bandwidth plans of the Enhanced type with a basic GA instance.'],
+ ['code' => 'CannotBindGreaterBandWidthPackage.BasicAccelerator', 'message' => 'basic accelerator cannot bind bandWidthPackage greater than 5G.', 'http_code' => 400, 'description' => 'You cannot associate bandwidth plans whose bandwidth values are greater than 5 GB with basic GA instances.'],
+ ['code' => 'CannotBindGreaterBandWidthPackage.BasicAccelerator', 'message' => 'basic accelerator cannot bind bandWidthPackage exceeds the limit.', 'http_code' => 400, 'description' => 'The sum of the bandwidth values of the bandwidth plans associated with the basic GA instance exceeds the upper limit.'],
+ ['code' => 'CannotBindPostPayBandWidthPackage.BasicAccelerator', 'message' => 'basic accelerator cannot bind postPay bandWidthPackage', 'http_code' => 400, 'description' => 'You cannot associate a basic GA instance with a pay-as-you-go bandwidth plan.'],
+ ['code' => 'CannotBindPostPayBandWidthPackage.BasicAccelerator', 'message' => 'basic accelerator cannot bind postPay bandWidthPackage.', 'http_code' => 400, 'description' => 'You cannot associate pay-as-you-go bandwidth plans with a basic GA instance.'],
+ ['code' => 'Certificate.Invalid', 'message' => 'The certificate is invalid.', 'http_code' => 400, 'description' => 'The certificate is invalid.'],
+ ['code' => 'Certificate.IsNull', 'message' => 'The certificate must exist.', 'http_code' => 400, 'description' => 'A certificate is required for the current listener.'],
+ ['code' => 'Certificate.NotChange', 'message' => 'The certificate is not change.', 'http_code' => 400, 'description' => "\n"
+ .'The certificate has not been changed.'],
+ ['code' => 'Certificate.NotNeed', 'message' => 'No certificate is required for this listener.', 'http_code' => 400, 'description' => 'You do not need to configure a certificate for the current listener.'],
+ ['code' => 'CertificateNotSupportDomain', 'message' => 'The certificate does not support the current domain, please check.', 'http_code' => 400, 'description' => 'The certificate does not match the current domain name.'],
+ ['code' => 'COMMODITY.INVALID_COMPONENT', 'message' => 'The bandwidth parameter is incorrect or out of range.', 'http_code' => 400, 'description' => 'The bandwidth parameter is incorrect or out of range.'],
+ ['code' => 'ComplianceIssue', 'message' => 'The current instance is not allowed to use the cross-border special line before obtaining cross-border qualification.', 'http_code' => 400, 'description' => 'The current instance is not allowed to use the cross-border special line before obtaining cross-border qualification.'],
+ ['code' => 'ConditionInvalidate.ForwardingRule', 'message' => 'The forwarding rule condition is invalidate.', 'http_code' => 400, 'description' => 'Invalid forwarding rule condition.'],
+ ['code' => 'ConditionValueRepeat.ForwardingRule', 'message' => 'The forwarding rule condition value is repeat.', 'http_code' => 400, 'description' => 'The forwarding rule condition value is repeat.'],
+ ['code' => 'CrossBorderStatusNotOpen.Accelerator', 'message' => 'The cross-border mode does not allow modification because the cross-border switch is not turned on.', 'http_code' => 400, 'description' => 'You cannot modify the cross-border acceleration mode because cross-border acceleration is disabled.'],
+ ['code' => 'CrossBorderStatusTurnOffInvalid.Accelerator', 'message' => 'If there are any cross-border lines, it is not allowed to turn off the cross-border switch.', 'http_code' => 400, 'description' => 'Cross-border acceleration cannot be disabled because cross-border connections are used.'],
+ ['code' => 'CrossBorderStatusUnsupported.Accelerator', 'message' => 'The current instance does not support enabling or disabling the cross-border switch.', 'http_code' => 400, 'description' => 'You cannot enable or disable cross-border acceleration for the current instance.'],
+ ['code' => 'DdosId.Error', 'message' => 'Failed to find the DDoS instance based on the DDoS ID.', 'http_code' => 400, 'description' => 'Failed to find the DDoS instance based on the DDoS ID.'],
+ ['code' => 'Domain.NotFit', 'message' => 'The domain is not fit the rule', 'http_code' => 400, 'description' => 'The domain name does not have an ICP number.'],
+ ['code' => 'Duplicate.SpareIp', 'message' => 'The spare IP address is duplicated.', 'http_code' => 400, 'description' => 'The secondary IP addresses must be unique.'],
+ ['code' => 'Duplicated.SpareIp', 'message' => 'The spare IP address %s is duplicated.', 'http_code' => 400, 'description' => 'The secondary IP address %s is duplicate.'],
+ ['code' => 'EcsCannotBind.BasicEndpoint', 'message' => 'The ECS instance has already been associated with another EIP.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointGroupExclusive.Listener', 'message' => 'All endpoint group must under the same listener.', 'http_code' => 400, 'description' => 'All the endpoint groups must be associated with the same listener.'],
+ ['code' => 'EndPointGroupTypeIllegal.EndpointGroup', 'message' => 'The endpoint group type is illegal.', 'http_code' => 400, 'description' => 'The endpoint group type is illegal.'],
+ ['code' => 'EndPointRequestProtocolIllegal.EndpointGroup', 'message' => 'The endpoint group request protocol is illegal.', 'http_code' => 400, 'description' => 'The endpoint group request protocol is illegal.'],
+ ['code' => 'EndPointRequestProtocolIllegal.EndpointGroup', 'message' => 'endpoint group request protoco is illegal.', 'http_code' => 400, 'description' => 'The terminal request protocol is illegal.'],
+ ['code' => 'ENDPOINT_VSWITCH_IS_INVALID_ERROR', 'message' => 'The vswitch %s is not valid.', 'http_code' => 400, 'description' => 'The vswitch is not valid.'],
+ ['code' => 'EPG_ALL_TRAFFIC_PERCENT_ZERO', 'message' => 'All traffic percent are zero for this listener. Please check input.', 'http_code' => 400, 'description' => 'All traffic percent are zero for this listener. Please check input.'],
+ ['code' => 'Error.CdtService', 'message' => 'The CDT service exception, please check if the real-name authentication has been completed.'."\n"
+ .'The CDT service exception: code: 503, The request has failed due to a temporary failure of the server.', 'http_code' => 400, 'description' => 'The cdt service exception, please check if the real-name authentication has been completed.'."\n"
+ .'The cdt service exception: code: 503, The request has failed due to a temporary failure of the server.'],
+ ['code' => 'Error.ComplianceIssue', 'message' => 'The current instance is not allowed to use the cross-border special line before obtaining cross-border qualification.', 'http_code' => 400, 'description' => 'You cannot enable cross-border Express Connect circuits for the current instance before your application is approved.'],
+ ['code' => 'Error.GetSubscriptionPrice', 'message' => 'Get subscription price info error.', 'http_code' => 400, 'description' => 'An error occurred while obtaining prices.'],
+ ['code' => 'Exist.EndpointGroup', 'message' => 'The GA instance already has an endpoint group.', 'http_code' => 400, 'description' => 'This operation is not executable because endpoint group has been added under the accelerated instance.'],
+ ['code' => 'Exist.EndpointGroup', 'message' => 'The endpoint group already exists.', 'http_code' => 400, 'description' => 'The endpoint group already exists.'],
+ ['code' => 'Exist.EndpointGroup', 'message' => 'Exist endpint group.The GA instance already has an endpoint group.The endpoint group already exists.', 'http_code' => 400, 'description' => 'The GA instance already has an endpoint group.The endpoint group already exists.'],
+ ['code' => 'Exist.ForwardingRule', 'message' => 'The forwarding rule already exists.', 'http_code' => 400, 'description' => 'The forwarding rule already exists.'],
+ ['code' => 'Exist.IpSet', 'message' => 'The IpSet already exists.', 'http_code' => 400, 'description' => 'The acceleration region already exists.'],
+ ['code' => 'Exist.IpSet', 'message' => 'ipset exist.', 'http_code' => 400, 'description' => 'The specified acceleration area already exists.'],
+ ['code' => 'Exist.Listener', 'message' => 'The listener already exists.', 'http_code' => 400, 'description' => 'The listener already exists.'],
+ ['code' => 'Exist.PortOverride', 'message' => 'Port override exists.', 'http_code' => 400, 'description' => 'The port mapping already exists.'],
+ ['code' => 'Exist.PortOverrride', 'message' => 'Port override exists.', 'http_code' => 400, 'description' => 'Port override exists.'],
+ ['code' => 'Exist.VirtualEndpointGroup', 'message' => 'A virtual endpoint group already exists.', 'http_code' => 400, 'description' => 'A virtual endpoint group has been added, so that it is not allowed to change the listener protocol .'],
+ ['code' => 'Forbbiden.SubUser', 'message' => 'You are not authorized to operate on the specified resource because your account was created by another user.', 'http_code' => 403, 'description' => 'The current account is a RAM user and does not have permissions to manage the specified resources.'],
+ ['code' => 'Forbidden', 'message' => 'The user is not authorized to operate on the specified resource.', 'http_code' => 403, 'description' => 'The current account does not have permissions to manage the specified resources.'],
+ ['code' => 'ForbiddenDelete.PrePayInstance', 'message' => 'The subscription instance is forbidden to be deleted.', 'http_code' => 400, 'description' => 'You are not allowed to delete a subscription instance.'],
+ ['code' => 'GaSpecExceeded.IpSet', 'message' => 'The number of IpSet exceeds the specification of the GA instance.', 'http_code' => 400, 'description' => 'The number of accelerated IP addresses has reached the upper limit supported by the GA instance.'],
+ ['code' => 'GA_AVAILABLE_IP_NOT_ENOUGH', 'message' => 'Insufficient IP resources for private endpoint.', 'http_code' => 400, 'description' => 'The number of available IPs on the vswitch where the private network endpoint is located is insufficient.'],
+ ['code' => 'GA_BASE_ENDPOINT_NOT_FOUND', 'message' => 'The endpoint %s is not found.', 'http_code' => 400, 'description' => 'Endpoint not found'],
+ ['code' => 'GA_BASE_SLB_CANNOT_BIND', 'message' => 'The clb instance %s can not be bind.', 'http_code' => 400, 'description' => 'The clb instance %s can not be bind.'],
+ ['code' => 'GA_NOT_FOUND', 'message' => 'GA instance %s not found.', 'http_code' => 400, 'description' => 'GA instance not found'],
+ ['code' => 'GreaterThanGa.IpSetBandwidth', 'message' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.', 'http_code' => 400, 'description' => 'The total bandwidth for IpSet exceeds the total bandwidth of the GA instance.'],
+ ['code' => 'GreaterThanGa.IpSetBandwidth', 'message' => 'The sum of all ipset bandwidths is greater than the bandwidth of ga.', 'http_code' => 400, 'description' => 'The sum of the bandwidth values of all acceleration regions is greater than the bandwidth value of the bandwidth plan associated with the GA instance.'],
+ ['code' => 'HeaderActionInvalidate.ForwardingRule', 'message' => 'The header action must match one of ForwardGroup, FixResponse, Redirect.', 'http_code' => 400, 'description' => 'The header action must match one of ForwardGroup, FixResponse, or Redirect.'],
+ ['code' => 'HealthCheckPath.Illegal', 'message' => 'Health check path is illegal.', 'http_code' => 400, 'description' => 'The health check path is invalid.'],
+ ['code' => 'HealthCheckPath.Illegal', 'message' => 'Health check path illegal.', 'http_code' => 400, 'description' => 'The health check path is invalid.'],
+ ['code' => 'HttpVersion.NotSupport', 'message' => 'The HttpVersion Param is not support.', 'http_code' => 400, 'description' => 'The HttpVersion Param is not support.'],
+ ['code' => 'IllegalBandwidth.IpSet', 'message' => 'The bandwidth of IpSet is invalid.', 'http_code' => 400, 'description' => 'The bandwidth of IpSet is invalid.'],
+ ['code' => 'IllegalBandwidth.IpSet', 'message' => 'ipset bandwidth should bigger than 2.', 'http_code' => 400, 'description' => 'The bandwidth value allocated to the acceleration area must be greater than 2.'],
+ ['code' => 'IllegalIpAddress.EndPoint', 'message' => 'Ip address configured in Endpoint is illegal.', 'http_code' => 400, 'description' => 'The IP address configured for the endpoint is invalid.'],
+ ['code' => 'IllegalParameter.BandwidthType', 'message' => 'The parameter BandwidthType is illegal.', 'http_code' => 400, 'description' => 'The parameter BandwidthType is illegal.'],
+ ['code' => 'IllegalParameter.BillingType', 'message' => 'The parameter BillingType is illegal.', 'http_code' => 400, 'description' => 'The parameter BillingType is illegal.'],
+ ['code' => 'IllegalParameter.Description', 'message' => 'The parameter description is invalid.', 'http_code' => 400, 'description' => 'The description is invalid.'],
+ ['code' => 'IllegalParameter.Domain', 'message' => 'The domain is illegal.', 'http_code' => 400, 'description' => 'The domain is illegal.'],
+ ['code' => 'IllegalParameter.Duration', 'message' => 'The value range is 1-12', 'http_code' => 400, 'description' => 'The auto-renewal duration is invalid.'],
+ ['code' => 'IllegalParameter.Duration', 'message' => 'The value range is 1-12.', 'http_code' => 400, 'description' => 'The valid values for Duration are 1 to 12.'],
+ ['code' => 'IllegalParameter.HealthCheckIntervalSeconds', 'message' => 'Health check interval time is illegal.', 'http_code' => 400, 'description' => 'The monitoring interval is invalid.'],
+ ['code' => 'IllegalParameter.HealthCheckPort', 'message' => 'The health check port is invalid.', 'http_code' => 400, 'description' => 'The health check port is invalid.'],
+ ['code' => 'IllegalParameter.HealthCheckProtocol', 'message' => 'The health check protocol is invalid.', 'http_code' => 400, 'description' => 'The health check protocol is illegal.'],
+ ['code' => 'IllegalParameter.Name', 'message' => 'The name parameter is illegal.', 'http_code' => 400, 'description' => 'The name is invalid.'],
+ ['code' => 'IllegalParameter.Port', 'message' => 'The parameter port is illegal.', 'http_code' => 400, 'description' => 'The port is invalid.'],
+ ['code' => 'IllegalParameter.Spec', 'message' => 'The specified Spec is invalid.', 'http_code' => 400, 'description' => 'The specified Spec is invalid.'],
+ ['code' => 'IllegalParameter.TrialAccelerator.Endpoint', 'message' => 'The endpoint only supports domain and ip', 'http_code' => 400, 'description' => 'You can specify only domain names or IP addresses as endpoints.'],
+ ['code' => 'IllegalParameter.TrialAccelerator.Endpoint', 'message' => 'The endpoint only supports domain and ip.', 'http_code' => 400, 'description' => 'This endpoint supports only domain names and IP addresses.'],
+ ['code' => 'IllegalParameter.Type', 'message' => 'The specified Type is invalid.', 'http_code' => 400, 'description' => 'The specified Type is invalid.'],
+ ['code' => 'IllegalParamFormat.SpareIp', 'message' => 'The format of spare ip is illegal.', 'http_code' => 400, 'description' => 'The format of the secondary IP address is invalid.'],
+ ['code' => 'IllegalPublicIp.EndPoint', 'message' => '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.', 'http_code' => 400, 'description' => '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.'],
+ ['code' => 'InconsistentParameter.ClientIpPreservationType', 'message' => 'The client IP preservation type of all endpoints should be consistent.', 'http_code' => 400, 'description' => 'The method to retain source IP addresses must be the same for all endpoints in the same endpoint group.'],
+ ['code' => 'InfoUpdateError.SpInstance', 'message' => 'Update instance %s information error.', 'http_code' => 500, 'description' => 'An error occurred while updating instance information.'],
+ ['code' => 'Invalid.EndPointId', 'message' => 'Invalid endpointId.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'Invalid.ResourceType', 'message' => 'The resource type is invalid.', 'http_code' => 400, 'description' => 'Illegal resource type.'],
+ ['code' => 'Invalidate.EndpointGroupTrafficPercent', 'message' => 'There must be an endpoint group with traffic percentage greater than 0.', 'http_code' => 400, 'description' => 'There must be an endpoint group with traffic percentage greater than 0.'],
+ ['code' => 'Invalidate.RuleConditionType', 'message' => 'The type of forward rule condition is invalidate.', 'http_code' => 400, 'description' => 'The condition type of the forwarding rule is invalid.'],
+ ['code' => 'Invalidate.SlbAddressType', 'message' => 'The SLB instance must be internal-facing.', 'http_code' => 400, 'description' => 'The SLB instance must be internal-facing.'],
+ ['code' => 'InvalidateIpVersion.ApplicationMonitor', 'message' => 'Application monitor not support IPV6, please check the ip version of IpSet.', 'http_code' => 400, 'description' => 'Origin probing tasks do not support IPv6. Check the IP version that you specify for the acceleration area.'],
+ ['code' => 'InvalidateName.ApplicationMonitor', 'message' => 'The application task name is exist。', 'http_code' => 400, 'description' => 'The name of the origin probing task already exists.'],
+ ['code' => 'InvalidatePort.ApplicationMonitor', 'message' => 'The address port not in listener port range.', 'http_code' => 400, 'description' => 'The port of the domain name that is probed is not within the port range of the listener.'],
+ ['code' => 'InvalidateRegion.BasicAccelerator', 'message' => 'The region of the endpoint group and the acceleration region cannot be the same.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'InvalidateTaskId.ApplicationMonitor', 'message' => 'The application monitor task %s is not exist.', 'http_code' => 400, 'description' => 'The source station probe task ID does not exist.'],
+ ['code' => 'InvalidateTaskState.ApplicationMonitor', 'message' => 'The application task state is invalidate.', 'http_code' => 400, 'description' => 'The origin probing task is in an invalid state.'],
+ ['code' => 'InvalidParameter', 'message' => 'Invalid Parameter.', 'http_code' => 400, 'description' => 'Invalid parameter, please check the parameter input.'],
+ ['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceIds are not found in our records.', 'http_code' => 400, 'description' => 'The resource ID does not exist.'],
+ ['code' => 'IpsetNeed.ApplicationMonitor', 'message' => 'One ipset must be configured.', 'http_code' => 400, 'description' => 'You must specify an acceleration area.'],
+ ['code' => 'IsExist.AclEntriesIsExist', 'message' => 'acl entries is exist', 'http_code' => 500, 'description' => 'The ACL entry already exists.'],
+ ['code' => 'IsExist.AclEntriesIsExist', 'message' => 'acl entries %s is exist', 'http_code' => 400, 'description' => 'The ACL entry %s already exists.'],
+ ['code' => 'ListenerNeed.ApplicationMonitor', 'message' => 'The listener must be configured.', 'http_code' => 400, 'description' => 'To run origin probing tasks, you must first create listeners.'],
+ ['code' => 'ListenerNotSupport.ApplicationMonitor', 'message' => 'when the listener protocol is udp, application monitor is not supported.', 'http_code' => 400, 'description' => 'Origin probing tasks do not support UDP listeners.'],
+ ['code' => 'ListenerProtocolIllegal.EndpointGroup', 'message' => 'Listener protocol is illegal, the https/http listener instance is only allowed to have one default endpoint group.', 'http_code' => 400, 'description' => 'You can configure only one default endpoint group for an HTTPS or HTTP listener.'],
+ ['code' => 'MissingAccelerateRegion', 'message' => 'AccelerateRegion is mandatory for this action.', 'http_code' => 400, 'description' => 'AccelerateRegion is mandatory for this action.'],
+ ['code' => 'MissingParameter.BandwidthType', 'message' => 'You must specify BandwidthType.', 'http_code' => 400, 'description' => 'You must specify BandwidthType.'],
+ ['code' => 'MissingParameter.EndpointGroupIdAndEndpointId', 'message' => 'You must specify at least one of endpointGroupId and endpointId.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MissingParameter.EndpointProbePort', 'message' => 'The parameter EndpointProbePort is required when EndpointProbeProtocol is tcp.', 'http_code' => 400, 'description' => 'If latency monitoring is enabled and the parameter EndpointProbeProtocol is set to tcp, you must set EndpointProbePort.'],
+ ['code' => 'MissingParameter.EndpointWeight', 'message' => 'Missing Parameter EndpointWeight.', 'http_code' => 400, 'description' => 'Missing parameter EndpointWeight.'],
+ ['code' => 'MissingParameter.HealthCheckPath', 'message' => 'Missing Parameter Health Check Path.', 'http_code' => 400, 'description' => 'Missing parameter HealthCheckPath.'],
+ ['code' => 'MissingParameter.VpcId', 'message' => 'The parameter VpcId is missing.', 'http_code' => 400, 'description' => 'The VpcId parameter is missing.'],
+ ['code' => 'MissingParameter.VSwitchIds', 'message' => 'The parameter VSwitchIds is missing.', 'http_code' => 400, 'description' => 'Missing VSwitchIds parameter.'],
+ ['code' => 'MixedClientIpPreservationType.Region', 'message' => 'Client ip preservation type must be same on same listener and same region.', 'http_code' => 400, 'description' => 'In the same region, the terminal IP retention type cannot be the same.'],
+ ['code' => 'MixedTypeNotSupportToa.EndPoint', 'message' => 'Mixed Type Endpoints does not support Toa.', 'http_code' => 400, 'description' => 'Mixed Type Endpoints does not support Toa.'],
+ ['code' => 'MixedVpc.EndPoint', 'message' => 'VPC Endpoint cannot be mixed with other types of Endpoints.', 'http_code' => 400, 'description' => 'You cannot use private endpoints with other types of endpoints.'],
+ ['code' => 'NoIcpRecord.Domain', 'message' => '%s has not been put on ICP record.', 'http_code' => 400, 'description' => '%s has not been put on ICP record'],
+ ['code' => 'NoPermission', 'message' => 'No permissions.', 'http_code' => 400, 'description' => 'No permissions.'],
+ ['code' => 'NoPermission', 'message' => 'Authentication is failed for NoPermission.', 'http_code' => 400, 'description' => 'The authentication failed because the account does not have permission.'],
+ ['code' => 'NoPermission.ApplicationMonitor', 'message' => 'You do not have permission to operator application monitor.', 'http_code' => 400, 'description' => 'You do not have the permissions to manage origin probing tasks.'],
+ ['code' => 'NoPermission.ChooseIspType', 'message' => 'You do not have permission to choose isp type.', 'http_code' => 400, 'description' => 'You do not have the permissions to change the ISP type.'],
+ ['code' => 'NoPermission.EnableClientIpPreservationPPMode', 'message' => 'You do not have permission to enable client Ip preservation on proxy protocol mode.', 'http_code' => 400, 'description' => 'You do not have the permissions to set clients to the proxy protocol mode.'],
+ ['code' => 'NoPermission.EnableHealthCheck', 'message' => 'You do not have permission to enable health check. Please submit a ticket.', 'http_code' => 400, 'description' => 'You are not authorized to enable the health check feature. Submit a ticket to apply for the permissions.'],
+ ['code' => 'NoPermission.EnableHealthCheck', 'message' => 'You do not have permission to enable health check.', 'http_code' => 400, 'description' => 'The current account does not have the permissions to enable health checks.'],
+ ['code' => 'NoPermission.GaAlbCnameRoleSession', 'message' => 'The current user does not have permission to create service linked role.', 'http_code' => 400, 'description' => 'The current user does not have the permissions to create a service-linked role.'],
+ ['code' => 'NoPermission.GaDdosRoleSession', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: ddos.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaAntiDDos. Permission: ram:CreateServiceLinkedRole.'],
+ ['code' => 'NoPermission.GaOssRoleSession', 'message' => 'The current user does not have permission to create service linked role.', 'http_code' => 400, 'description' => 'The current user does not have the permissions to create a service-linked role.'],
+ ['code' => 'NoPermission.ServiceManaged', 'message' => 'You do not have permission to %s %s in the service managed instance.', 'http_code' => 400, 'description' => 'You do not have the permissions to %s %s the managed instance.'],
+ ['code' => 'NoPermission.VpcEndpoint', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => 'The user does not have permissions to create service linked roles. Contact the Alibaba Cloud account owner or the permission administrator to grant the current user AliyunGlobalAccelerationFullAccess or create custom permission policies for service linked role. The following content describes the detailed information about custom permission policies: ServiceName: vpcendpoint.ga.aliyuncs.com. Service linked role name: AliyunServiceRoleForGaVpc. Endpoint Permission: ram:CreateServiceLinkedRole.'],
+ ['code' => 'NoPermissionResourceUnmanaged.ServiceManaged', 'message' => 'You do not have permission to cancel service managed mode for %s.', 'http_code' => 400, 'description' => 'You are not authorized to unmanage the current instance.'],
+ ['code' => 'NotActive.IpSet', 'message' => 'The state of IpSet is not active.', 'http_code' => 400, 'description' => 'The accelerated IP address is in an unstable state.'],
+ ['code' => 'NotActive.Listener', 'message' => 'The state of the listener is not active.', 'http_code' => 400, 'description' => 'The listener is unstable.'],
+ ['code' => 'NotActive.Listener', 'message' => 'listener %s is not active', 'http_code' => 400, 'description' => 'The listener %s is unavailable.'],
+ ['code' => 'NotCurrentListener.EndpointGroup', 'message' => 'Endpoint group is not under the current listener.', 'http_code' => 400, 'description' => 'The endpoint group does not belong to the current listener.'],
+ ['code' => 'NotExist.AccelerateIpId', 'message' => 'The ID %s of the accelerated IP address is not exist.', 'http_code' => 400, 'description' => 'Acceleration IP ID %s does not exist'],
+ ['code' => 'NotExist.Accelerator', 'message' => 'The accelerated instance does not exist.', 'http_code' => 400, 'description' => 'The GA instance does not exist.'],
+ ['code' => 'NotExist.Accelerator', 'message' => 'accelerator %s is not exist', 'http_code' => 400, 'description' => 'The GA instance %s does not exist.'],
+ ['code' => 'NotExist.Acl', 'message' => 'acl %s is not exist.', 'http_code' => 400, 'description' => 'The ACL %s does not exist.'],
+ ['code' => 'NotExist.Acl', 'message' => 'acl %s is not exist', 'http_code' => 400, 'description' => 'The ACL %s does not exist.'],
+ ['code' => 'NotExist.AclEntries', 'message' => 'Acl entry note exist.', 'http_code' => 400, 'description' => 'The ACL entry does not exist.'],
+ ['code' => 'NotExist.BandwidthPackage', 'message' => 'The bandwidth package does not exist.', 'http_code' => 400, 'description' => 'The bandwidth package does not exist.'],
+ ['code' => 'NotExist.BandwidthPackage', 'message' => 'BandwidthPackage %s is not exist', 'http_code' => 400, 'description' => 'The bandwidth plan %s does not exist.'],
+ ['code' => 'NotExist.BasicBandwidthPackage', 'message' => 'You must specify the basic bandwidth package.', 'http_code' => 400, 'description' => 'You must specify the basic bandwidth package.'],
+ ['code' => 'NotExist.BusinessRegion', 'message' => 'The business region does not exist.', 'http_code' => 400, 'description' => 'The business region does not exist.'],
+ ['code' => 'NotExist.Domain', 'message' => 'The domain %s is not exist.', 'http_code' => 400, 'description' => 'Domain % s does not exist'],
+ ['code' => 'NotExist.DomainAcceleratorRelation', 'message' => 'The relationship between %s and %s does not exist.', 'http_code' => 400, 'description' => 'The relationship between domain % s and IP %s does not exist'],
+ ['code' => 'NotExist.EndPointGroup', 'message' => 'The endpoint group does not exist.', 'http_code' => 400, 'description' => 'The endpoint group does not exist.'],
+ ['code' => 'NotExist.EndPointGroup', 'message' => 'endpoint group %s is not exist', 'http_code' => 400, 'description' => 'The endpoint group %s does not exist.'],
+ ['code' => 'NotExist.EndPoints', 'message' => 'endpoint %s not exist.', 'http_code' => 400, 'description' => 'Endpoint% s does not exist'],
+ ['code' => 'NotExist.ForwardingRule', 'message' => 'The forwarding rule %s does not exist.', 'http_code' => 400, 'description' => 'The forwarding rule does not exist.'],
+ ['code' => 'NotExist.IpSet', 'message' => 'The IpSet does not exist.', 'http_code' => 400, 'description' => 'The acceleration region does not exist.'],
+ ['code' => 'NotExist.IpSets', 'message' => 'The IpSet does not exist.', 'http_code' => 400, 'description' => 'The acceleration region does not exist.'],
+ ['code' => 'NotExist.Listener', 'message' => 'The listener does not exist.', 'http_code' => 400, 'description' => 'The listener does not exist.'],
+ ['code' => 'NotExist.Listener', 'message' => 'listener %s is not exist', 'http_code' => 400, 'description' => 'The listener %s does not exist.'],
+ ['code' => 'NotExist.ListenerPort', 'message' => 'The listening port %s does not exist.', 'http_code' => 400, 'description' => 'The listening port does not exist.'],
+ ['code' => 'NotExist.SiteMonitor', 'message' => 'The siteMonitor %s is not exist.', 'http_code' => 400, 'description' => 'Site monitoring% s does not exist.'],
+ ['code' => 'NotExist.SpareIp', 'message' => 'The spare ip is not exist.', 'http_code' => 400, 'description' => 'The secondary IP address does not exist.'],
+ ['code' => 'NotExist.VSwitch', 'message' => 'VSwitch %s is not exist.', 'http_code' => 400, 'description' => 'VSwitch does not exist.'],
+ ['code' => 'NotFound.ALBInstance', 'message' => 'The ALB instance %s is not found in the %s region of the endpoint group.', 'http_code' => 400, 'description' => 'The ALB instance does not exist in the region to which the endpoint group belongs.'],
+ ['code' => 'NotFound.ECSInstance', 'message' => 'The ecs instance is not found.', 'http_code' => 400, 'description' => 'The ecs instance is not found.'],
+ ['code' => 'NotFound.ENIInstance', 'message' => 'The ENI instance is not found.', 'http_code' => 400, 'description' => 'The ENI instance does not exist in the region where the Endpoint Group belongs.'],
+ ['code' => 'NotFound.OssBucket', 'message' => 'The OSS bucket %s is not found in the %s region of the endpoint group.', 'http_code' => 400, 'description' => 'The OSS bucket does not exist in the area to which the endpoint group belongs.'],
+ ['code' => 'NotInBandwidthPackage.Accelerator', 'message' => 'The accelerated instance is not in the bandwidth package.', 'http_code' => 400, 'description' => 'The GA instance is not associated with a bandwidth plan.'],
+ ['code' => 'NotInBandwidthPackage.Accelerator', 'message' => 'accelerator %s is not in bandiwdthPackage %s.', 'http_code' => 400, 'description' => 'The GA instance %s is not associated with the bandwidth plan %s.'],
+ ['code' => 'NotInPortOverride.ListenerPort', 'message' => 'Listener port %s is not in port override.', 'http_code' => 400, 'description' => 'The port range you modify must include the full listening port of the currently configured port mapping.'],
+ ['code' => 'NotMainDomain.Domain', 'message' => 'Please input main domain, the main domain of %s is %s.', 'http_code' => 400, 'description' => 'Please enter the main domain name for this domain name.'],
+ ['code' => 'NotMatch.VSwitchAndVpc', 'message' => 'VSwitch %s does not belong to Vpc %s.', 'http_code' => 400, 'description' => 'The specified VSwitch does not belong to the specified VPC.'],
+ ['code' => 'NotOpen.CrossBorderStatus', 'message' => 'Cross-border acceleration has not been enabled for the instance.', 'http_code' => 400, 'description' => 'Cross-border acceleration is disabled for the current instance.'],
+ ['code' => 'NotOpen.CrossPrivate', 'message' => 'The private cross is not open.', 'http_code' => 400, 'description' => 'Cross-border leased lines are not activated.'],
+ ['code' => 'NotSuitable.RegionSelection', 'message' => 'Region selection is not suitable', 'http_code' => 400, 'description' => 'The Area parameter does not apply.'],
+ ['code' => 'NotSuitable.RegionSelection', 'message' => 'Region selection is not suitable.', 'http_code' => 400, 'description' => 'Acceleration area is not suitable'],
+ ['code' => 'NotSupport.EndpointAddressSameAsGaAcceleratorIp', 'message' => 'The endpoint address cannot be the same as ga accelerator ip.', 'http_code' => 400, 'description' => 'the endpoint address cannot be the same as the ga acceleration ip address.'],
+ ['code' => 'NotSupport.EndpointAddressSameAsGaCNAME', 'message' => 'The endpoint address cannot be the same as ga CNAME.', 'http_code' => 400, 'description' => 'The endpoint address cannot be the same as the ga CNAME.'],
+ ['code' => 'NotSupport.EndpointAddressSameAsGaEndpointGroupIp', 'message' => 'The endpoint address cannot be the same as ga endpoint group ip.', 'http_code' => 400, 'description' => 'The endpoint address cannot be the same as the ga endpoint group address.'],
+ ['code' => 'NotSupport.EndPointType', 'message' => 'The basic bandwidth type only support aliyun service.', 'http_code' => 400, 'description' => 'This type of basic bandwidth plan supports only Alibaba Cloud services.'],
+ ['code' => 'NotSupport.PayBy95', 'message' => 'PayBy95 is not supported yet.', 'http_code' => 400, 'description' => '95 billing is not yet supported.'],
+ ['code' => 'NotSupport.PayByTraffic', 'message' => 'PayByTraffic is not supported yet.', 'http_code' => 400, 'description' => 'PayByTraffic is not supported yet.'],
+ ['code' => 'NotSupportAlbEndpoint.Accelerator', 'message' => 'The current accelerator does not support ALB endpoints.', 'http_code' => 400, 'description' => 'The current GA instance does not support endpoint groups of the ALB type.'],
+ ['code' => 'NotSupportAutoRenewal.PostPay', 'message' => 'The postPay instance do not support auto renewal.', 'http_code' => 400, 'description' => 'Pay-as-you-go instances do not support auto-renewal.'],
+ ['code' => 'NotSupportChangeCrossBorderMode.Accelerator', 'message' => 'Currently Accelerator does not support to update cross-border mode.', 'http_code' => 400, 'description' => 'The current GA instance does not allow you change the cross-border mode.'],
+ ['code' => 'NotSupportHealthCheck.Accelerator', 'message' => 'Currently Accelerator does not support health check.', 'http_code' => 400, 'description' => 'The current GA instance does not support health checks.'],
+ ['code' => 'NotSupportHugePort.EndPoint', 'message' => 'Endpoint not support hugePort', 'http_code' => 400, 'description' => 'The endpoint does not support a large number of listeners.'],
+ ['code' => 'NotSupportHugePort.IpSet', 'message' => 'Ipset not support hugePort', 'http_code' => 400, 'description' => 'The acceleration region does not support a large number of listeners.'],
+ ['code' => 'NotSupportIpTargetEndpoint.Accelerator', 'message' => 'The current accelerator does not support IpTarget endpoints.', 'http_code' => 400, 'description' => 'Global Acceleration instances do not support IpTarget types of endpoints.'],
+ ['code' => 'NotSupportIPv6.IpSetRegion', 'message' => 'The region where the IpSet is located does not support IPv6.', 'http_code' => 400, 'description' => 'This acceleration area does not support IPv6.'],
+ ['code' => 'NotSupportOriginProbing.PostPayAccelerator', 'message' => 'The postPay instance do not support origin probing.', 'http_code' => 400, 'description' => 'Pay-as-you-go GA instances do not support origin probing.'],
+ ['code' => 'NotSupportRegion.EndPoint', 'message' => 'Endpoint not support region', 'http_code' => 400, 'description' => 'The endpoint does not support this region.'],
+ ['code' => 'NotSupportRegion.IpSet', 'message' => 'Ipset not support region', 'http_code' => 400, 'description' => 'You cannot specify this region as an acceleration region.'],
+ ['code' => 'NotSupportResourceType.ServiceManaged', 'message' => 'Only accelerator resource type is supported.', 'http_code' => 400, 'description' => 'Only specific resource types can be accelerated.'],
+ ['code' => 'NotSupportServiceManagedMode.ServiceManaged', 'message' => 'Only unmanaged mode is supported.', 'http_code' => 400, 'description' => 'You can only unmanage the resource.'],
+ ['code' => 'NotSupportToa.IpTarget', 'message' => 'IpTarget endpoints do not support the preservation of client source IP addresses using the TOA method.', 'http_code' => 400, 'description' => 'IpTarget types of endpoints do not support TOA to reserve client source IP addresses.'],
+ ['code' => 'NotSupportVpcEndpoint.Accelerator', 'message' => 'The accelerator does not support private network type endpoint.', 'http_code' => 400, 'description' => 'The current GA instance does not support private endpoints.'],
+ ['code' => 'NotSupportVpcProbe.EndPoint', 'message' => 'VPC Endpoint does not support probe.', 'http_code' => 400, 'description' => 'Private endpoints do not support latency detection.'],
+ ['code' => 'NumberGreaterThanMax.VSwitchIds', 'message' => 'The number of VSwitchId must not be greater than %d.', 'http_code' => 400, 'description' => 'The number of VSwitchId list elements is greater than the maximum allowed.'],
+ ['code' => 'NumberLessThanMin.VSwitchIds', 'message' => 'The number of VSwitchId must not be less than %d.', 'http_code' => 400, 'description' => 'The number of VSwitchId list elements must be no less than the minimum.'],
+ ['code' => 'OperationUnsupported.Accelerator', 'message' => 'Currently Accelerator does not support to update cross-border status', 'http_code' => 400, 'description' => ''],
+ ['code' => 'ORDER.INST_HAS_UNPAID_ORDER', 'message' => 'The resource you have selected has an unpaid order. Please make the payment or cancel it before placing the order.', 'http_code' => 400, 'description' => 'The resource you have selected has an unpaid order. Please make the payment or cancel it before placing the order.'],
+ ['code' => 'ParamExclusive.EnableToaAndEnableProtocol', 'message' => 'EnableToa and EnableProtocol are mutually exclusive.', 'http_code' => 400, 'description' => 'You can select only TOA or Protocol as the method to retain source IP addresses.'],
+ ['code' => 'ParamExclusive.EndpointGroupType', 'message' => 'All endpoint group type must be consistent.', 'http_code' => 400, 'description' => 'All endpoint groups must be of the same type.'],
+ ['code' => 'ParamExclusive.EndpointType', 'message' => 'All endpoint backend service type group must be consistent.', 'http_code' => 400, 'description' => 'The types of endpoints in the same endpoint group must be the same.'],
+ ['code' => 'ParamIllegal.IspType', 'message' => 'The param ispType is illegal.', 'http_code' => 400, 'description' => 'The param ispType is illegal.'],
+ ['code' => 'ParamIllegal.SpInstanceAutoRenew', 'message' => 'The param AutoRenew and RenewalStatus cannot be empty at the same time.', 'http_code' => 400, 'description' => 'The AutoRenew and RenewalStatus parameters cannot be left empty at the same time.'],
+ ['code' => 'PortConflict.Listener', 'message' => 'The listener port configuration is in conflict.', 'http_code' => 400, 'description' => 'The listener port configurations are in conflict.'],
+ ['code' => 'PortOverLap.Endpoint', 'message' => 'There is overlap between the Endpoint port and the GA listening port range.', 'http_code' => 400, 'description' => 'The port range of the endpoint overlaps with the port range of the GA listener.'],
+ ['code' => 'PortRangeIllegal.Count', 'message' => 'The hugePort listener only supports one port range.', 'http_code' => 400, 'description' => 'The mass port listener (port number greater than 300) only supports one port range.'],
+ ['code' => 'PortRangeIllegal.ExceedGaAbility', 'message' => '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).', 'http_code' => 400, 'description' => '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).'],
+ ['code' => 'PortRangeIllegal.Listener', 'message' => 'The specified listener port range is invalid.', 'http_code' => 400, 'description' => 'The specified listener port range is invalid.'],
+ ['code' => 'PortRangeIllegal.UDP', 'message' => 'UDP ports 250, 4789, and 4790 are system reserved ports. In addition, when GA is PostPay, 6081 is system reserved port.', 'http_code' => 400, 'description' => 'Ports 250, 4789, and 4790 of UDP listeners are reserved by the system and unavailable to users. If you use pay-as-you-go GA instances, port 6081 is unavailable.'],
+ ['code' => 'PortRanges.MustOne', 'message' => 'The portRanges must be one for HTTPS and HTTP type listener.', 'http_code' => 400, 'description' => 'Only one port is supported for HTTPS and HTTP type listeners.'],
+ ['code' => 'PortsTooFew.ListenerPort', 'message' => 'The minimum number of ports is 16, when the listener type is customRouting.', 'http_code' => 400, 'description' => 'The minimum number of ports is 16, when the listener type is customRouting.'],
+ ['code' => 'ProtocalIllegal.Listener', 'message' => 'The specified listener protocol is invalid.', 'http_code' => 400, 'description' => 'The specified listener protocol is invalid.'],
+ ['code' => 'ProtocolUpdate.NotSupport', 'message' => 'Protocol updates between HTTP3 and UDP are not supported.', 'http_code' => 400, 'description' => 'The current HTTPS listener protocol version is HTTP/3, which does not support switching to the UDP protocol on the same port.'],
+ ['code' => 'ProtocolUpdateWithPortOverride.NotSupport', 'message' => 'Protocol update is not supported when endpoint group has portoverrides.', 'http_code' => 400, 'description' => 'Protocol update is not supported when endpoint group has portoverrides.'],
+ ['code' => 'QuotaExceeded.Accelerator', 'message' => 'The number of GA instances exceeds the limit.', 'http_code' => 400, 'description' => 'The number of GA instances exceeds the upper limit.'],
+ ['code' => 'QuotaExceeded.AclEntries', 'message' => 'The number of acl entries exceeds the limit', 'http_code' => 400, 'description' => 'The number of entries in the ACL exceeds the upper limit.'],
+ ['code' => 'QuotaExceeded.ApplicationMonitor', 'message' => 'The number of application monitor exceeds the limit.', 'http_code' => 400, 'description' => 'The quota of origin probing tasks has reached the upper limit.'],
+ ['code' => 'QuotaExceeded.EndPoint', 'message' => 'The maximum number of endpoints is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of endpoints is exceeded.'],
+ ['code' => 'QuotaExceeded.EndpointGroup', 'message' => 'The number of endpoint group exceeds the limit.', 'http_code' => 400, 'description' => 'The number of endpoint groups has reached the upper limit.'],
+ ['code' => 'QuotaExceeded.ForwardingRule', 'message' => 'The number of forwarding rule exceeds the limit.', 'http_code' => 400, 'description' => 'The number of forwarding rule exceeds the limit.'],
+ ['code' => 'QuotaExceeded.Listener', 'message' => 'The maximum number of listeners is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of listeners is exceeded.'],
+ ['code' => 'QuotaExceeded.ListenerPort', 'message' => 'The maximum number of listener ports is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of listener ports is exceeded.'],
+ ['code' => 'QuotaExceeded.PortOverride', 'message' => 'The number of port override exceeds the limit.', 'http_code' => 400, 'description' => 'The number of port override exceeds the limit.'],
+ ['code' => 'QuotaExceeded.RuleConditionConfig', 'message' => 'The number of paths and hosts exceeds the limit.', 'http_code' => 400, 'description' => 'The number of paths and hosts exceeds the limit.'],
+ ['code' => 'QuotaExceeded.SpareIp', 'message' => 'The number of spare ip is limit.', 'http_code' => 400, 'description' => 'The number of secondary IP addresses exceeds the limit.'],
+ ['code' => 'QuotaExceeded.TrialAccelerator', 'message' => 'The number of trial GA instances exceeds the limit.', 'http_code' => 400, 'description' => 'The number of free trial GA instances exceeds the upper limit.'],
+ ['code' => 'RegionConflict.EndpointGroup', 'message' => 'Endpoint group under the same listener must have different region.', 'http_code' => 400, 'description' => 'The endpoint groups that are associated with the same listener must be deployed in different regions.'],
+ ['code' => 'RegionNotSupportHugePort.Listener', 'message' => 'The current ipSet region does not support hugePort.', 'http_code' => 400, 'description' => 'The acceleration area does not support a large number of ports.'],
+ ['code' => 'RegionNotSupportHugePort.Listener', 'message' => 'Listener port not support hugePort', 'http_code' => 400, 'description' => 'The listener does not support a large number of listeners.'],
+ ['code' => 'RegionRepeat.IpSet', 'message' => 'Only one IpSet can be created in an accelerated region.', 'http_code' => 400, 'description' => 'An acceleration region supports only one accelerated IP address.'],
+ ['code' => 'Repeat.AclEntries', 'message' => 'acl entries repeat', 'http_code' => 400, 'description' => 'ACL entries are duplicate.'],
+ ['code' => 'Repeat.IpSets', 'message' => 'The configuration of IpSet is duplicated.', 'http_code' => 400, 'description' => 'Duplicate accelerated IP addresses exist.'],
+ ['code' => 'RepeatPathAndHost.ForwardingRule', 'message' => 'The path and host %s are duplicated.', 'http_code' => 400, 'description' => 'The path and host are duplicated.'],
+ ['code' => 'ReplaceNotSupport', 'message' => 'Bandwidth package replacement function is not supported in certain scenarios.', 'http_code' => 400, 'description' => 'Bandwidth package replacement function is not supported in certain scenarios.'],
+ ['code' => 'ReplaceNotSupport.BandwidthPackageNotBinded', 'message' => 'The replaced bandwidth package is not bound yet.', 'http_code' => 400, 'description' => 'The bandwidth plan for replacement is not associated.'],
+ ['code' => 'ReplaceNotSupport.IpSetRegion', 'message' => 'The Ipset region is not supported.', 'http_code' => 400, 'description' => 'Accelerated regions are not supported.'],
+ ['code' => 'Resource.QuotaFull', 'message' => 'The resource quota is exceeded.', 'http_code' => 400, 'description' => 'The number of resources has reached the upper limit.'],
+ ['code' => 'ResourceNotManaged.ServiceManaged', 'message' => 'The instance %s is not yet managed.', 'http_code' => 400, 'description' => 'The current resource %s is not managed.'],
+ ['code' => 'SecurityPolicyId.NotNeed', 'message' => 'No security policy ID is required for the listener.', 'http_code' => 400, 'description' => 'No security policy ID is required for the listener.'],
+ ['code' => 'SecurityPolicyIdIllegal.Listener', 'message' => 'The listener security policy ID %s is illegal.', 'http_code' => 400, 'description' => 'The security policy ID of the listener is invalid.'],
+ ['code' => 'SessionParamsIllegal.Listener', 'message' => 'Session Params Illegal.', 'http_code' => 400, 'description' => 'Illegal session timeout parameter'],
+ ['code' => 'StateError.Accelerator', 'message' => 'accelerator state configuring is illegal', 'http_code' => 400, 'description' => 'The status of the GA instance is invalid.'],
+ ['code' => 'StateError.Accelerator', 'message' => 'The state of the accelerated instance is invalid.', 'http_code' => 400, 'description' => 'The status of the GA instance is invalid.'],
+ ['code' => 'StateError.Accelerator', 'message' => 'accelerator state %s is illegal', 'http_code' => 400, 'description' => 'The GA instance is in an invalid state %s.'],
+ ['code' => 'StateError.Acl', 'message' => 'acl state %s is illegal', 'http_code' => 400, 'description' => 'The status of the ACL %s is invalid.'],
+ ['code' => 'StateError.BandwidthPackage', 'message' => 'The state of bandwidth package is invalid.', 'http_code' => 400, 'description' => 'The bandwidth plan is in an invalid state.'],
+ ['code' => 'StateError.BandwidthPackage', 'message' => 'bandwidthPackage state %s is illegal', 'http_code' => 400, 'description' => 'The bandwidth is in an invalid state %s.'],
+ ['code' => 'StateError.BandwidthPackageBind', 'message' => 'The state of binding for the bandwidth package is invalid.', 'http_code' => 400, 'description' => 'The association status of the bandwidth plan is invalid.'],
+ ['code' => 'StateError.EndPointGroup', 'message' => 'The specified state of endpoint group is invalid.', 'http_code' => 400, 'description' => 'The endpoint group is in an invalid state.'],
+ ['code' => 'StateError.EndPointGroup', 'message' => 'endpoint group state %s is illegal', 'http_code' => 400, 'description' => 'The endpoint group is in an invalid state.'],
+ ['code' => 'StateError.ForwardingRule', 'message' => 'The forwarding rule state %s is illegal.', 'http_code' => 400, 'description' => 'The forwarding rule state is illegal.'],
+ ['code' => 'StateError.IpSet', 'message' => 'The state of IpSet is invalid.', 'http_code' => 400, 'description' => 'The acceleration region is in an invalid state.'],
+ ['code' => 'SystemBusy', 'message' => 'System busy, please try again later.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'SystemPort.Listener', 'message' => 'Ports range includes system reserved ports 65500-65535, 25, 250, 4789 or 4790 are system reserved ports.', 'http_code' => 400, 'description' => 'Ports 65500 to 65535, 25, 250, 4789, and 4790 are reserved by the system.'],
+ ['code' => 'SystemPort.Listener', 'message' => 'Ports 65500-65535 are system reserved ports.', 'http_code' => 400, 'description' => 'Ports 65500 to 65535 are reserved by the system.'],
+ ['code' => 'TooManySpareIp.Accelerator', 'message' => 'Too many SpareIp accepted under the same Accelerator', 'http_code' => 400, 'description' => 'Too many spare IP addresses are accepted under the same accelerator.'],
+ ['code' => 'TypeConflict.Listener', 'message' => 'Standard listener can not coexist with Custom routing listener.', 'http_code' => 400, 'description' => 'Standard listener can not coexist with Custom routing listener.'],
+ ['code' => 'UdpNotSupportProxyProtocol.IpTarget', 'message' => 'IpTarget endpoints do not support the preservation of client source IP addresses using the Proxy-Protocol method when the listener protocol is udp.', 'http_code' => 400, 'description' => 'The IpTarget type endpoint under UDP listening does not support the proxy-Protocol method to reserve the source IP address of the client.'],
+ ['code' => 'UnknownError', 'message' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.', 'http_code' => 500, 'description' => 'An error occurred while the request was being processed. Try again later.'],
+ ['code' => 'UpgradeError.BandwidthPackage', 'message' => 'The bandwidth package configurations should be either all upgrades or all downgrades.', 'http_code' => 400, 'description' => 'You cannot upgrade and downgrade a bandwidth plan at the same time. You can only upgrade or downgrade the bandwidth plan.'],
+ ['code' => 'UserVSwitchIpNotEnough.EndPoint', 'message' => 'UserVSwitchIpNotEnough.', 'http_code' => 400, 'description' => 'UserVSwitchIpNotEnough.'],
+ ['code' => 'ValueIllegal.SpInstanceAutoRenewStatus', 'message' => 'Instance auto renew status value %s is illegal.', 'http_code' => 400, 'description' => 'The renewal status is invalid.'],
+ ['code' => 'NoPermission', 'message' => 'The current operation is not authorized. Please contact the account administrator for authorization.', 'http_code' => 400, 'description' => 'The current operation is not authorized. Please contact the account administrator for authorization.'],
+ ],
+ 'changeSet' => [
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ChangeResourceGroup'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'createdAt' => '2025-12-26T08:15:01.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'GetSpareIp'],
+ ['description' => 'OpenAPI offline', 'api' => 'DetachDdosFromAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListSpareIps'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeAcceleratorAutoRenewAttribute'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListAccelerators'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteSpareIps'],
+ ['description' => 'OpenAPI offline', 'api' => 'AttachDdosToAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteAccelerator'],
+ ],
+ 'createdAt' => '2025-12-23T03:12:59.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListAccelerators'],
+ ],
+ 'createdAt' => '2025-12-23T02:56:12.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ListListeners'],
],
- 'security' => [
- [
- 'AK' => [],
+ 'createdAt' => '2025-12-04T05:39:03.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeCommodityPrice'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateEndpointGroup'],
+ ],
+ 'createdAt' => '2025-12-03T06:29:35.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeCommodityPrice'],
+ ],
+ 'createdAt' => '2025-12-02T12:51:55.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ListEndpointGroups'],
+ ],
+ 'createdAt' => '2025-12-02T12:09:30.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListAccelerators'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListListeners'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListListeners'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListAccelerators'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListListeners'],
+ ],
+ 'createdAt' => '2025-11-26T03:38:06.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ListListeners'],
+ ],
+ 'createdAt' => '2025-11-26T03:25:48.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'AttachLogStoreToEndpointGroup'],
+ ],
+ 'createdAt' => '2025-10-23T02:00:51.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeLogStoreOfEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeLogStoreOfEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'AttachLogStoreToEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'AttachLogStoreToEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeEndpointGroup'],
+ ],
+ 'createdAt' => '2025-10-22T08:50:05.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'BandwidthPackageAddAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'BandwidthPackageRemoveAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'BandwidthPackageRemoveAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'BandwidthPackageAddAccelerator'],
+ ],
+ 'createdAt' => '2025-10-16T07:04:25.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateBasicEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateBasicEndpoint'],
+ ['description' => 'OpenAPI offline', 'api' => 'GetBasicAccelerator'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateServiceManagedControl'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateEndpointGroupAttribute'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateCustomRoutingEndpointGroupAttribute'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateIpSet'],
+ ['description' => 'OpenAPI offline', 'api' => 'ReplaceBandwidthPackage'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateEndpointGroups'],
+ ],
+ 'createdAt' => '2025-10-16T06:55:51.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'AttachLogStoreToEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeLogStoreOfEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeLogStoreOfEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'AttachLogStoreToEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeLogStoreOfEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'AttachLogStoreToEndpointGroup'],
+ ],
+ 'createdAt' => '2025-10-14T09:39:30.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ChangeResourceGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'UntagResources'],
+ ['description' => 'OpenAPI offline', 'api' => 'TagResources'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListTagResources'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAccelerator'],
+ ],
+ 'createdAt' => '2025-09-24T05:56:32.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ChangeResourceGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'UntagResources'],
+ ['description' => 'OpenAPI offline', 'api' => 'TagResources'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListTagResources'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAccelerator'],
+ ],
+ 'createdAt' => '2025-09-24T05:56:32.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'RemoveEntriesFromAcl'],
+ ['description' => 'OpenAPI offline', 'api' => 'AddEntriesToAcl'],
+ ['description' => 'OpenAPI offline', 'api' => 'AddEntriesToAcl'],
+ ['description' => 'OpenAPI offline', 'api' => 'RemoveEntriesFromAcl'],
+ ],
+ 'createdAt' => '2025-09-23T16:02:41.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAccelerator'],
+ ],
+ 'createdAt' => '2025-09-23T12:08:31.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAccelerator'],
+ ],
+ 'createdAt' => '2025-09-20T00:42:42.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'RemoveEntriesFromAcl'],
+ ['description' => 'OpenAPI offline', 'api' => 'AddEntriesToAcl'],
+ ],
+ 'createdAt' => '2025-09-11T04:02:01.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAccelerator'],
+ ],
+ 'createdAt' => '2025-08-26T06:37:41.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ListBusiRegions'],
+ ],
+ 'createdAt' => '2025-08-15T05:05:46.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ListAvailableAccelerateAreas'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListAvailableAccelerateAreas'],
+ ],
+ 'createdAt' => '2025-07-31T03:38:37.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'GetHealthStatus'],
+ ['description' => 'OpenAPI offline', 'api' => 'GetHealthStatus'],
+ ],
+ 'createdAt' => '2025-07-22T05:52:47.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateEndpointGroups'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateEndpointGroups'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateListener'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListEndpointGroups'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeEndpointGroup'],
+ ],
+ 'createdAt' => '2025-06-26T06:24:01.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'AttachDdosToAccelerator'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeAccelerator'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DetachDdosFromAccelerator'],
+ ['description' => 'Response parameters changed', 'api' => 'ListAccelerators'],
+ ],
+ 'createdAt' => '2025-05-07T05:55:18.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateAccelerator'],
+ ['description' => 'Request parameters changed', 'api' => 'ListAvailableAccelerateAreas'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateAccelerator'],
+ ],
+ 'createdAt' => '2025-05-07T05:34:33.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateListener'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'Response parameters changed', 'api' => 'ListEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroups'],
+ ],
+ 'createdAt' => '2025-04-15T07:01:39.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateDomain'],
+ ],
+ 'createdAt' => '2024-12-23T15:32:12.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateListener'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeListener'],
+ ['description' => 'Response parameters changed', 'api' => 'ListEndpointGroups'],
+ ['description' => 'Response parameters changed', 'api' => 'ListListeners'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateListener'],
+ ],
+ 'createdAt' => '2024-12-23T15:31:33.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'CreateForwardingRules'],
+ ['description' => 'Error codes changed', 'api' => 'UpdateForwardingRules'],
+ ],
+ 'createdAt' => '2024-11-15T07:40:12.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ListForwardingRules'],
+ ],
+ 'createdAt' => '2024-08-30T03:47:29.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'ConfigEndpointProbe'],
+ ['description' => 'Error codes changed', 'api' => 'CreateCustomRoutingEndpointGroupDestinations'],
+ ['description' => 'Error codes changed', 'api' => 'CreateCustomRoutingEndpointGroups'],
+ ['description' => 'Error codes changed', 'api' => 'CreateCustomRoutingEndpoints'],
+ ['description' => 'Error codes changed', 'api' => 'CreateCustomRoutingEndpointTrafficPolicies'],
+ ['description' => 'Error codes changed', 'api' => 'CreateDomain'],
+ ['description' => 'Error codes changed', 'api' => 'DeleteApplicationMonitor'],
+ ['description' => 'Error codes changed', 'api' => 'DeleteCustomRoutingEndpointGroupDestinations'],
+ ['description' => 'Error codes changed', 'api' => 'DeleteCustomRoutingEndpointGroups'],
+ ['description' => 'Error codes changed', 'api' => 'DeleteCustomRoutingEndpoints'],
+ ],
+ 'createdAt' => '2024-07-23T09:35:09.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ListEndpointGroupIpAddressCidrBlocks'],
+ ],
+ 'createdAt' => '2024-07-19T16:48:20.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateListener'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'Response parameters changed', 'api' => 'ListEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroups'],
+ ],
+ 'createdAt' => '2024-07-19T16:47:28.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'ListCustomRoutingEndpointGroups'],
+ ['description' => 'Error codes changed', 'api' => 'ListCustomRoutingEndpoints'],
+ ['description' => 'Error codes changed', 'api' => 'ListCustomRoutingEndpointTrafficPolicies'],
+ ['description' => 'Error codes changed', 'api' => 'ListCustomRoutingPortMappings'],
+ ['description' => 'Error codes changed', 'api' => 'ListCustomRoutingPortMappingsByDestination'],
+ ['description' => 'Error codes changed', 'api' => 'UpdateApplicationMonitor'],
+ ['description' => 'Error codes changed', 'api' => 'UpdateCustomRoutingEndpointGroupAttribute'],
+ ['description' => 'Error codes changed', 'api' => 'UpdateCustomRoutingEndpointGroupDestinations'],
+ ['description' => 'Error codes changed', 'api' => 'UpdateCustomRoutingEndpoints'],
+ ['description' => 'Error codes changed', 'api' => 'UpdateCustomRoutingEndpointTrafficPolicies'],
+ ],
+ 'createdAt' => '2024-07-11T02:28:45.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'DeleteBasicAccelerateIp'],
+ ['description' => 'Error codes changed', 'api' => 'DetachDdosFromAccelerator'],
+ ['description' => 'Error codes changed', 'api' => 'DetectApplicationMonitor'],
+ ['description' => 'Error codes changed', 'api' => 'DisableApplicationMonitor'],
+ ['description' => 'Error codes changed', 'api' => 'EnableApplicationMonitor'],
+ ],
+ 'createdAt' => '2024-07-09T07:56:03.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateForwardingRules'],
+ ],
+ 'createdAt' => '2024-04-22T13:02:16.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateListener'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeListener'],
+ ['description' => 'Response parameters changed', 'api' => 'ListListeners'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateListener'],
+ ],
+ 'createdAt' => '2024-03-27T02:06:19.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListAvailableAccelerateAreas'],
+ ],
+ 'createdAt' => '2024-01-23T06:29:13.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ListCustomRoutingEndpointGroups'],
+ ],
+ 'createdAt' => '2023-12-25T04:47:19.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroups'],
+ ],
+ 'createdAt' => '2023-11-22T09:04:27.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateListener'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeListener'],
+ ['description' => 'Response parameters changed', 'api' => 'ListListeners'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateListener'],
+ ],
+ 'createdAt' => '2023-11-06T12:25:16.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroups'],
+ ],
+ 'createdAt' => '2023-10-27T02:22:45.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateListener'],
+ ],
+ 'createdAt' => '2023-10-25T11:47:52.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'UpdateForwardingRules'],
+ ],
+ 'createdAt' => '2023-10-18T01:38:43.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationMonitor'],
+ ],
+ 'createdAt' => '2023-10-12T07:20:46.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'UpdateAdditionalCertificateWithListener'],
+ ],
+ 'createdAt' => '2023-10-09T11:29:23.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroups'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'Response parameters changed', 'api' => 'ListEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroups'],
+ ],
+ 'createdAt' => '2023-09-14T09:38:22.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ChangeResourceGroup'],
+ ],
+ 'createdAt' => '2023-09-04T08:32:37.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ChangeResourceGroup'],
+ ],
+ 'createdAt' => '2023-09-04T08:26:13.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeEndpointGroup'],
+ ],
+ 'createdAt' => '2023-08-15T06:03:54.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ListAccelerators'],
+ ['description' => 'Request parameters changed', 'api' => 'ListApplicationMonitor'],
+ ['description' => 'Request parameters changed', 'api' => 'ListApplicationMonitorDetectResult'],
+ ['description' => 'Request parameters changed', 'api' => 'ListBandwidthackages'],
+ ['description' => 'Request parameters changed', 'api' => 'ListBandwidthPackages'],
+ ['description' => 'Request parameters changed', 'api' => 'ListBasicAccelerators'],
+ ['description' => 'Request parameters changed', 'api' => 'ListCustomRoutingEndpointGroupDestinations'],
+ ['description' => 'Request parameters changed', 'api' => 'ListCustomRoutingEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'ListCustomRoutingEndpoints'],
+ ['description' => 'Request parameters changed', 'api' => 'ListCustomRoutingEndpointTrafficPolicies'],
+ ],
+ 'createdAt' => '2023-07-20T14:05:35.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListAvailableAccelerateAreas'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListAvailableBusiRegions'],
+ ],
+ 'createdAt' => '2023-07-06T06:41:25.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateEndpointGroup'],
+ ],
+ 'createdAt' => '2023-06-20T02:11:20.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeAccelerator'],
+ ['description' => 'Response parameters changed', 'api' => 'ListAccelerators'],
+ ],
+ 'createdAt' => '2023-06-14T03:27:24.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateAccelerator'],
+ ],
+ 'createdAt' => '2023-06-13T09:14:25.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'ListEndpointGroups'],
+ ],
+ 'createdAt' => '2023-04-27T03:02:29.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'CreateBasicEndpoints'],
+ ],
+ 'createdAt' => '2023-04-27T02:11:41.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'BandwidthPackageAddAccelerator'],
+ ['description' => 'Error codes changed', 'api' => 'BandwidthPackageRemoveAccelerator'],
+ ['description' => 'Error codes changed', 'api' => 'CreateBasicAccelerateIpEndpointRelation'],
+ ['description' => 'Error codes changed', 'api' => 'CreateBasicEndpointGroup'],
+ ['description' => 'Error codes changed', 'api' => 'CreateEndpointGroups'],
+ ['description' => 'Request parameters changed', 'api' => 'DescribeCommodity'],
+ ['description' => 'Error codes changed', 'api' => 'DescribeCommodityPrice'],
+ ],
+ 'createdAt' => '2023-04-13T07:33:36.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateBasicAccelerator'],
+ ],
+ 'createdAt' => '2023-04-10T06:22:26.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeAccelerator'],
+ ['description' => 'Response parameters changed', 'api' => 'GetBasicAccelerator'],
+ ['description' => 'Response parameters changed', 'api' => 'ListAccelerators'],
+ ['description' => 'Response parameters changed', 'api' => 'ListBasicAccelerators'],
+ ],
+ 'createdAt' => '2023-04-06T11:38:53.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'DescribeAccelerator'],
+ ['description' => 'Error codes changed', 'api' => 'DescribeListener'],
+ ],
+ 'createdAt' => '2023-04-06T09:46:34.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'CreateIpSets'],
+ ['description' => 'Error codes changed', 'api' => 'DeleteEndpointGroups'],
+ ],
+ 'createdAt' => '2023-04-06T02:28:32.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateAccelerator'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateAcl'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateBandwidthPackage'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateEndpointGroup'],
+ ],
+ 'createdAt' => '2023-03-31T09:00:45.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateAccelerator'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateBandwidthPackage'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateBasicAccelerator'],
+ ],
+ 'createdAt' => '2023-01-05T07:59:55.000Z',
+ 'description' => '增加代金券号码入参',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeAccelerator'],
+ ['description' => 'Response parameters changed', 'api' => 'ListAccelerators'],
+ ],
+ 'createdAt' => '2022-12-13T11:10:17.000Z',
+ 'description' => '标准版GA按流量计费(CDT)实例支持精品跨境和专线跨境线路切换',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListBasicAccelerateIps'],
+ ],
+ 'createdAt' => '2022-12-08T10:55:52.000Z',
+ 'description' => '更新listBasicAccelerateIps接口',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'GetBasicAccelerateIpEndpointRelation'],
+ ['description' => 'Response parameters changed', 'api' => 'ListBasicAccelerateIpEndpointRelations'],
+ ],
+ 'createdAt' => '2022-12-08T10:08:23.000Z',
+ 'description' => '更新GetBasicAccelerateIpEndpointRelation接口',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListEndpointGroups'],
+ ],
+ 'createdAt' => '2022-12-06T11:48:06.000Z',
+ 'description' => 'EPG支持标签。',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateBasicAccelerator'],
+ ],
+ 'createdAt' => '2022-12-06T02:06:21.000Z',
+ 'description' => '增加CustomRouting鉴权ARN定义',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateBasicEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateBasicEndpointGroup'],
+ ],
+ 'createdAt' => '2022-11-17T09:08:08.000Z',
+ 'description' => '全球加球基础型实例,支持多个加速IP,共享限速。',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ReplaceBandwidthPackage'],
+ ],
+ 'createdAt' => '2022-11-15T08:53:04.000Z',
+ 'description' => '替换带宽包接口增加Accelerator入参',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ChangeResourceGroup'],
+ ],
+ 'createdAt' => '2022-11-03T13:02:21.000Z',
+ 'description' => 'Ga支持标签、资源组。',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Response parameters changed', 'api' => 'ListListenerCertificates'],
+ ],
+ 'createdAt' => '2022-11-02T14:08:37.000Z',
+ 'description' => '证书替换接口新增',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateBasicEndpointGroup'],
+ ['description' => 'Response parameters changed', 'api' => 'GetBasicEndpointGroup'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateBasicEndpointGroup'],
+ ],
+ 'createdAt' => '2022-09-27T08:52:24.000Z',
+ 'description' => '基础型GA支持绑定ECS。',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateAccelerator'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateBasicAccelerator'],
+ ['description' => 'Request parameters changed', 'api' => 'CreateBasicIpSet'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateIpSets'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeAccelerator'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeIpSet'],
+ ['description' => 'Response parameters changed', 'api' => 'GetBasicIpSet'],
+ ['description' => 'Response parameters changed', 'api' => 'ListAccelerators'],
+ ['description' => 'Response parameters changed', 'api' => 'ListBasicAccelerators'],
+ ['description' => 'Response parameters changed', 'api' => 'ListIpSets'],
+ ],
+ 'createdAt' => '2022-09-27T08:46:56.000Z',
+ 'description' => 'cdt相关接口新增和更新',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateListener'],
+ ],
+ 'createdAt' => '2022-09-22T07:18:08.000Z',
+ 'description' => '优化监听及epg创建流程时间',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ListCustomRoutingEndpointGroupDestinations'],
+ ['description' => 'Request parameters changed', 'api' => 'ListCustomRoutingPortMappingsByDestination'],
+ ['description' => 'Request parameters changed', 'api' => 'UpdateCustomRoutingEndpoints'],
+ ],
+ 'createdAt' => '2022-09-08T08:49:51.000Z',
+ 'description' => '删除了接口配置中的冗余参数',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'CreateCustomRoutingEndpointGroupDestinations'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateCustomRoutingEndpointGroups'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateCustomRoutingEndpoints'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateCustomRoutingEndpointTrafficPolicies'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteCustomRoutingEndpointGroupDestinations'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteCustomRoutingEndpointGroups'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteCustomRoutingEndpoints'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteCustomRoutingEndpointTrafficPolicies'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeCustomRoutingEndpoint'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeCustomRoutingEndpointGroup'],
+ ],
+ 'createdAt' => '2022-08-11T13:16:43.000Z',
+ 'description' => '自定义路由功能发布',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateBandwidthPackage'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeBandwidthPackageAutoRenewAttribute'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateBandwidthPackagaAutoRenewAttribute'],
+ ],
+ 'createdAt' => '2022-05-24T09:44:27.000Z',
+ 'description' => '带宽包支持自动续费能力',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'ListApplicationMonitorDetectResult'],
+ ],
+ 'createdAt' => '2022-01-05T02:22:36.000Z',
+ 'description' => '增加诊断结果查询接口',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'CreateApplicationMonitor'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteApplicationMonitor'],
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationMonitor'],
+ ['description' => 'OpenAPI offline', 'api' => 'DetectApplicationMonitor'],
+ ['description' => 'OpenAPI offline', 'api' => 'DisableApplicationMonitor'],
+ ['description' => 'OpenAPI offline', 'api' => 'EnableApplicationMonitor'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListApplicationMonitor'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateApplicationMonitor'],
+ ],
+ 'createdAt' => '2021-12-29T07:27:48.000Z',
+ 'description' => '新增源站探测相关api',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'UpdateBandwidthPackage'],
+ ],
+ 'createdAt' => '2021-12-29T07:27:48.000Z',
+ 'description' => '优化了某些场景下的Error信息',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Error codes changed', 'api' => 'CreateBandwidthPackage'],
+ ],
+ 'createdAt' => '2021-12-28T04:35:09.000Z',
+ 'description' => '优化某些场景下Error信息提示',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'DescribeAcceleratorAutoRenewAttribute'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateAcceleratorAutoRenewAttribute'],
+ ],
+ 'createdAt' => '2021-12-01T09:28:17.000Z',
+ 'description' => '增加autorenew参数的get和update API',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateBasicAccelerator'],
+ ],
+ 'createdAt' => '2021-12-01T09:27:16.000Z',
+ 'description' => 'Ga1.0增加autorenew参数',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'CreateAccelerator'],
+ ],
+ 'createdAt' => '2021-11-24T01:57:56.000Z',
+ 'description' => 'Upadate CreateAccelerator Api',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'Request parameters changed', 'api' => 'ListForwardingRules'],
+ ],
+ 'createdAt' => '2021-08-17T07:46:47.000Z',
+ 'description' => '-',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'AssociateAdditionalCertificatesWithListener'],
+ ['description' => 'OpenAPI offline', 'api' => 'DissociateAdditionalCertificatesFromListener'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListListenerCertificates'],
+ ],
+ 'createdAt' => '2021-08-06T04:02:43.000Z',
+ 'description' => '监听支持多证书',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'AddEntriesToAcl'],
+ ['description' => 'OpenAPI offline', 'api' => 'AssociateAclsWithListener'],
+ ['description' => 'OpenAPI offline', 'api' => 'CreateAcl'],
+ ['description' => 'OpenAPI offline', 'api' => 'DeleteAcl'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeListener'],
+ ['description' => 'OpenAPI offline', 'api' => 'DissociateAclsFromListener'],
+ ['description' => 'OpenAPI offline', 'api' => 'GetAcl'],
+ ['description' => 'OpenAPI offline', 'api' => 'ListAcls'],
+ ['description' => 'OpenAPI offline', 'api' => 'RemoveEntriesFromAcl'],
+ ['description' => 'OpenAPI offline', 'api' => 'UpdateAclAttribute'],
+ ],
+ 'createdAt' => '2021-04-27T15:27:52.000Z',
+ 'description' => '全球加速支持访问控制',
+ ],
+ [
+ 'apis' => [
+ ['description' => 'OpenAPI offline', 'api' => 'AttachLogStoreToEndpointGroup'],
+ ['description' => 'Response parameters changed', 'api' => 'DescribeEndpointGroup'],
+ ['description' => 'OpenAPI offline', 'api' => 'DetachLogStoreFromEndpointGroup'],
+ ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListEndpointGroups'],
+ ],
+ 'createdAt' => '2021-04-27T13:39:51.000Z',
+ 'description' => '全球加速支持访问日志',
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIpSet'],
+ ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAcls'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingEndpointGroupDestinations'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSpareIps'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeListener'],
+ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomRoutingEndpointTrafficPolicies'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateIpSets'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ConfigEndpointProbe'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDomainAcceleratorRelation'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBasicAccelerators'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCommodity'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBandwidthPackage'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListDomains'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateBasicEndpoints'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBandwidthackages'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBasicEndpoints'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBandwidthPackage'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteBasicEndpoint'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachLogStoreFromEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomRoutingEndpoints'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateForwardingRules'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableAccelerateAreas'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSystemSecurityPolicies'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddEntriesToAcl'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplicationMonitorDetectResult'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSpareIps'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetInvalidDomainCount'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBusiRegions'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicIpSet'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateForwardingRules'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCustomRoutingEndpointGroupDestinations'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachLogStoreToEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCustomRoutingEndpointGroupDestinations'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccelerator'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicAccelerator'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListIpSets'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAcceleratorConfirm'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BandwidthPackageRemoveAccelerator'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DissociateAclsFromListener'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateIpSet'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomRoutingEndpoint'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListIspTypes'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplicationMonitor'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCommodityPrice'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicAccelerateIp'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAvailableBusiRegions'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateEndpointGroups'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'OpenAcceleratorService'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicAccelerateIpEndpointRelations'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BandwidthPackageAddAccelerator'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateAclAttribute'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAccelerators'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateListener'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBasicAccelerateIpEndpointRelation'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCustomRoutingEndpointGroupAttribute'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDomain'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetIpsetsBandwidthLimit'],
+ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingEndpointGroups'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateBasicEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachDdosFromAccelerator'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicAccelerateIpEndpointRelation'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeResourceGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCustomRoutingEndpoints'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingEndpointTrafficPolicies'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCrossBorderApprovalStatus'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccelerator'],
+ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateBasicEndpoint'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveEntriesFromAcl'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomRoutingEndpointGroupDestinations'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeBandwidthPackage'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBasicAccelerateIps'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingPortMappingsByDestination'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBandwidthPackages'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicAccelerateIp'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachDdosToAccelerator'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAcceleratorAutoRenewAttribute'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateAclsWithListener'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAcl'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListForwardingRules'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCustomRoutingEndpointTrafficPolicies'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetHealthStatus'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccelerator'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingPortMappings'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIpSets'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetBasicIpSet'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAcl'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCustomRoutingEndpointGroups'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLogStoreOfEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateBasicEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DissociateAdditionalCertificatesFromListener'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicAccelerator'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReplaceBandwidthPackage'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateEndpointGroupAttribute'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetBasicAccelerateIpIdleCount'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListListeners'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeBandwidthPackageAutoRenewAttribute'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateAdditionalCertificateWithListener'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteListener'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateAdditionalCertificatesWithListener'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomRoutingEndPointTrafficPolicy'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateCustomRoutingEndpoints'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteBasicIpSet'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomRoutingEndpointGroupDestinations'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCommonAreas'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetBasicAccelerateIp'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteForwardingRules'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAccelerateAreas'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListListenerCertificates'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAcceleratorCrossBorderStatus'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAcl'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationMonitor'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateDomain'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCustomRoutingEndpointGroups'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCustomRoutingEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateListener'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBasicEndpoint'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteEndpointGroups'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpSet'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIpSets'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateBasicAccelerateIpEndpointRelation'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateDomainState'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListBasicAccelerateIpEndpointRelations'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetBasicEndpointGroup'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCustomRoutingEndpointTrafficPolicies'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSpareIps'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateEndpointGroups'],
+ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateBasicEndpoint'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateBasicIpSet'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAcceleratorServiceStatus'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCustomRoutingEndpoints'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetBasicAccelerator'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetSpareIp'],
+ ],
+ 'product' => ['code' => 'ga', 'title' => 'Ga'],
+ ],
+ 'ram' => [
+ 'productCode' => 'Ga',
+ 'productName' => 'Global Accelerator',
+ 'ramCodes' => ['ga'],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [
+ [
+ 'name' => 'ga:AcceleratorMainland',
+ 'schema' => [
+ 'type' => 'String',
+ 'description' => 'Acceleration area',
+ 'enums' => ['ChinaMainland', 'Overseas'],
+ ],
+ ],
+ [
+ 'name' => 'ga:BandwidthPackageType',
+ 'schema' => [
+ 'type' => 'String',
+ 'description' => 'Bandwidth Package Type',
+ 'enums' => ['Basic', 'CrossDomain'],
+ ],
+ ],
+ [
+ 'name' => 'ga:TLSVersion',
+ 'schema' => [
+ 'type' => 'String',
+ 'description' => 'TLS version support',
+ 'enums' => ['tls_cipher_policy_1_0', 'tls_cipher_policy_1_1', 'tls_cipher_policy_1_2', 'tls_cipher_policy_1_2_strict', 'tls_cipher_policy_1_2_strict_with_1_3'],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ ],
+ 'ramActions' => [
+ [
+ 'apiName' => 'UpdateCustomRoutingEndpoints',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateCustomRoutingEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListDomains',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListDomains',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Domain', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetBasicIpSet',
+ 'description' => '',
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#BasicIpSetId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'DescribeAccelerator',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'DeleteBasicAccelerator',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BasicAcceleratorId}'],
],
],
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '基础版加速实例Id',
- 'description' => 'The ID of the basic GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
+ ],
+ [
+ 'apiName' => 'DescribeBandwidthPackageAutoRenewAttribute',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeBandwidthPackageAutoRenewAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BandwidthPackageId}'],
],
],
- [
- '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****',
+ ],
+ [
+ 'apiName' => 'DescribeCustomRoutingEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCustomRoutingEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
],
],
- [
- '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****',
+ ],
+ [
+ 'apiName' => 'UpdateAcceleratorCrossBorderMode',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAcceleratorCrossBorderMode',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'UpdateLogStoreConfig',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateLogStoreConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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',
+ [
+ 'apiName' => 'DetachDdosFromAccelerator',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DetachDdosFromAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'DeleteCustomRoutingEndpoints',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteCustomRoutingEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customRoutingEndpointGroupId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'UpdateBasicIpSet',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBasicIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipsetId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'CreateEndpointGroups',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:AcceleratorMainland', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteSpareIps',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteSpareIps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'QueryCrossBorderApprovalStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:QueryCrossBorderApprovalStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ChangeResourceGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:ChangeResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthpackageId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#basicGaId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateBandwidthPackagaAutoRenewAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBandwidthPackagaAutoRenewAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BandwidthPackageId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateCustomRoutingEndpointTrafficPolicies',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateCustomRoutingEndpointTrafficPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#CustomRoutingEndpointTrafficPolicyId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateDomain',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateAcceleratorCrossBorderStatus',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAcceleratorCrossBorderStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListAvailableAccelerateAreas',
+ 'description' => '',
'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ 'ramAction' => [
+ 'action' => 'ga:ListAvailableAccelerateAreas',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'ListEndpointGroups',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'CreateBasicAccelerateIp',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicAccelerateIp',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
],
],
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '全球加速区实例Id',
- 'description' => 'The ID of the basic GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
+ ],
+ [
+ 'apiName' => 'CreateIpSets',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateIpSets',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:AcceleratorMainland', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- 'name' => 'EndpointId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '终端节点Id',
- 'description' => 'The ID of the endpoint.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ep-bp14sz7ftcwwjgrdm****',
+ ],
+ [
+ 'apiName' => 'ListBandwidthackages',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBandwidthackages',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'AccelerateIpId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '加速Ip Id',
- 'description' => 'The ID of the accelerated IP address.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'gaip-bp1****',
+ ],
+ [
+ 'apiName' => 'DescribeEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
],
],
- [
- '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****',
+ ],
+ [
+ 'apiName' => 'ListBandwidthPackages',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBandwidthPackages',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'UpdateListener',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
],
],
],
- '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',
- ],
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'DetectApplicationMonitor',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:DetectApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#TaskId}'],
],
],
],
- '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',
+ [
+ 'apiName' => 'CreateBasicEndpoint',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/*'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'GetHealthStatus',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetHealthStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'GetBasicAccelerateIp',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicAccelerateIp',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'BandwidthPackageAddAccelerator',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:BandwidthPackageAddAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateBasicEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBasicEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#BasicEndpointGroupId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateForwardingRules',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateForwardingRules',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListAcls',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListAcls',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListSpareIps',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListSpareIps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteListener',
+ 'description' => '',
'operationType' => 'delete',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'UpdateBandwidthPackage',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'CreateBasicEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
],
],
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '全球加速区实例Id',
- 'description' => 'The ID of the basic GA instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp17frjjh0udz4qz****',
+ ],
+ [
+ 'apiName' => 'UpdateAccelerator',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- '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****',
+ ],
+ [
+ 'apiName' => 'DescribeLogStoreOfEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeLogStoreOfEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'AccessLog', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
],
],
- [
- '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****',
+ ],
+ [
+ 'apiName' => 'DeleteBasicAccelerateIpEndpointRelation',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicAccelerateIpEndpointRelation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'DeleteBasicAccelerateIp',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicAccelerateIp',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
],
],
],
- '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',
+ [
+ 'apiName' => 'DeleteEndpointGroups',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'ListIspTypes',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListIspTypes',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'GetBasicAccelerateIpEndpointRelation',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicAccelerateIpEndpointRelation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'ListCustomRoutingPortMappings',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingPortMappings',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingPortMapping', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'RemoveEntriesFromAcl',
+ 'description' => '',
'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ 'ramAction' => [
+ 'action' => 'ga:RemoveEntriesFromAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'UpdateBasicEndpoint',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBasicEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#EndPointId}'],
],
],
- [
- '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****',
+ ],
+ [
+ 'apiName' => 'AssociateAclsWithListener',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AssociateAclsWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#ListenerId}'],
],
],
- [
- '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',
- ],
+ ],
+ [
+ 'apiName' => 'CreateEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:AcceleratorMainland', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- '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****',
+ ],
+ [
+ 'apiName' => 'CreateApplicationMonitor',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'GetGlobalAcceleratorResources',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetGlobalAcceleratorResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'ListAccelerators',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListAccelerators',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NotSupportResourceType.ServiceManaged',
- 'errorMessage' => 'Only accelerator resource type is supported.',
+ [
+ 'apiName' => 'ConfigEndpointProbe',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:ConfigEndpointProbe',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
],
- [
- 'errorCode' => 'NotSupportServiceManagedMode.ServiceManaged',
- 'errorMessage' => 'Only unmanaged mode is supported.',
+ ],
+ ],
+ [
+ 'apiName' => 'GetInvalidDomainCount',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetInvalidDomainCount',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
- [
- 'errorCode' => 'ResourceNotManaged.ServiceManaged',
- 'errorMessage' => 'The instance %s is not yet managed.',
+ ],
+ ],
+ [
+ 'apiName' => 'CreateCustomRoutingEndpointTrafficPolicies',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateCustomRoutingEndpointTrafficPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#CustomRoutingEndpointId}'],
],
- [
- 'errorCode' => 'NoPermissionResourceUnmanaged.ServiceManaged',
- 'errorMessage' => 'You do not have permission to cancel service managed mode for %s.',
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteAccelerator',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
- [
- 'errorCode' => 'NoPermission.ServiceManaged',
- 'errorMessage' => 'You do not have permission to %s %s in the service managed instance.',
+ ],
+ ],
+ [
+ 'apiName' => 'ListEndpointGroupIpAddressCidrBlocks',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:ListEndpointGroupIpAddressCidrBlocks',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'ListListenerCertificates',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListListenerCertificates',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'DescribeCommodity',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCommodity',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'UpdateAcceleratorConfirm',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAcceleratorConfirm',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DeleteBasicEndpoint',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'ListBasicAccelerators',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBasicAccelerators',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateAccelerator',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListForwardingRules',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListForwardingRules',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListCustomRoutingEndpointTrafficPolicies',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingEndpointTrafficPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateDomain',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateDomain',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Domain', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListAccelerateAreas',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListAccelerateAreas',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'AccelerateArea', 'arn' => 'acs:ga:{#regionId}:{#accountId}:region/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListBasicAccelerateIpEndpointRelations',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBasicAccelerateIpEndpointRelations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'GetBasicAccelerator',
+ 'description' => '',
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BasicAcceleratorId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'DeleteBandwidthPackage',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'DeleteBasicIpSet',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#BasicIpSetId}'],
],
],
],
- 'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ [
+ 'apiName' => 'ListListeners',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListListeners',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'DeleteIpSet',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'UpdateIpSet',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'DeleteIpSets',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteIpSets',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'AddEntriesToAcl',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AddEntriesToAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
+ [
+ 'apiName' => 'DeleteAcl',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'ListCustomRoutingEndpoints',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'GetAcl',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'ListBasicEndpoints',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBasicEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#EndpointGroupId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'DeleteEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'AssociateAdditionalCertificatesWithListener',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AssociateAdditionalCertificatesWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DeleteCustomRoutingEndpointGroups',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteCustomRoutingEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '174750',
- 'abilityTreeNodes' => [
- 'FEATUREgaLOR9WO',
+ [
+ 'apiName' => 'CreateForwardingRules',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateForwardingRules',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
- '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',
+ [
+ 'apiName' => 'ListCommonAreas',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCommonAreas',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'ClientToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the 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',
+ ],
+ [
+ 'apiName' => 'UpdateDomainState',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateDomainState',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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' => '',
+ [
+ 'apiName' => 'GetBasicEndpoint',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#EndPointId}'],
],
],
],
- 'errorCodes' => [
- 500 => [
- [
- 'errorCode' => 'UnknownError',
- 'errorMessage' => 'An error occurred while processing your request. Please try again. If the error persists, please submit a ticket.',
+ [
+ 'apiName' => 'DescribeApplicationMonitor',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#TaskId}'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'AssociateResources',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:AssociateResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'DeleteApplicationMonitor',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#TaskId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ [
+ 'apiName' => 'UpdateBasicAccelerator',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateBasicAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BasicAcceleratorId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DissociateAdditionalCertificatesFromListener',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:DissociateAdditionalCertificatesFromListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'DeleteDomainAcceleratorRelation',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteDomainAcceleratorRelation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Domain', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListAvailableBusiRegions',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListAvailableBusiRegions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeCustomRoutingEndpoint',
+ 'description' => '',
'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '179651',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCustomRoutingEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#CustomRoutingEndpointId}'],
+ ],
],
- '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',
+ [
+ 'apiName' => 'CreateCustomRoutingEndpointGroups',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateCustomRoutingEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
],
],
- [
- 'name' => 'EndpointGroupRegion',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'DescribeRegions',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeRegions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BusiRegion', 'arn' => 'acs:ga:{#regionId}:{#accountId}:region/{#regionId}'],
],
],
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the GA instance.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ga-bp17frjjh0udz4q****',
+ ],
+ [
+ 'apiName' => 'DescribeListener',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
],
],
],
- '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' => '',
+ [
+ 'apiName' => 'UpdateApplicationMonitor',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#TaskId}'],
],
],
],
- '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',
+ [
+ 'apiName' => 'BandwidthPackageRemoveAccelerator',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:BandwidthPackageRemoveAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'DescribeBandwidthPackage',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DeleteCustomRoutingEndpointGroupDestinations',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'DeleteBasicEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteBasicEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#BasicEndpointGroupId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateBasicIpSet',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BasicAcceleratorId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DetachLogStoreFromEndpointGroup',
+ 'description' => '',
'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '280607',
- 'abilityTreeNodes' => [
- 'FEATUREgaMGA0JD',
+ 'ramAction' => [
+ 'action' => 'ga:DetachLogStoreFromEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ [
+ 'apiName' => 'CreateListener',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:TLSVersion', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/*'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- 'name' => 'SlsProjectName',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-access-log',
+ ],
+ [
+ 'apiName' => 'ListApplicationMonitor',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/*'],
],
],
- [
- 'name' => 'SlsLogStoreName',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-access-log-epg-01',
+ ],
+ [
+ 'apiName' => 'ListSystemSecurityPolicies',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListSystemSecurityPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'SystemSecurityPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
],
],
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ ],
+ [
+ 'apiName' => 'UntagResources',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UntagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#basicGaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'AttachDdosToAccelerator',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AttachDdosToAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- 'name' => 'ListenerId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsr-xxxxxxxxxxxxxxx',
+ ],
+ [
+ 'apiName' => 'OpenAcceleratorService',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ga:OpenAcceleratorService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'EndpointGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'epg-bp1dmlohjjz4kqaun****',
+ ],
+ [
+ 'apiName' => 'DisableApplicationMonitor',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:DisableApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#sitemonitorId}'],
],
],
- [
- 'name' => 'AccessLogRecordCustomizedHeadersEnabled',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'False',
+ ],
+ [
+ 'apiName' => 'GetBasicEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#BasicEndpointGroupId}'],
],
],
- [
- '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,
+ ],
+ [
+ 'apiName' => 'UpdateAcceleratorAutoRenewAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAcceleratorAutoRenewAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
],
],
- [
- 'name' => 'ClientToken',
- 'in' => 'query',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'title' => '幂等参数',
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ [
+ 'apiName' => 'EnableApplicationMonitor',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:EnableApplicationMonitor',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#sitemonitorId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6',
- ],
- ],
+ [
+ 'apiName' => 'ListBasicAccelerateIps',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBasicAccelerateIps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#IpSetId}'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'UpdateEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DE77A7F3-3B74-41C0-A5BC-CAFD188C28B6\\"\\n}","type":"json"}]',
- ],
- 'GetGlobalAcceleratorResources' => [
- 'summary' => '获取GA实例关联的云产品',
- 'methods' => [
- 'get',
- 'post',
+ [
+ 'apiName' => 'DescribeIpSet',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeIpSet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'ReplaceBandwidthPackage',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:ReplaceBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthPackageId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'UpdateIpSets',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateIpSets',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'DescribeAcceleratorAutoRenewAttribute',
+ 'description' => '',
'operationType' => 'get',
- 'abilityTreeCode' => '285204',
- 'abilityTreeNodes' => [
- 'FEATUREga231EJR',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeAcceleratorAutoRenewAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
],
- 'parameters' => [
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ [
+ 'apiName' => 'ListIpSets',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListIpSets',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'ListCustomRoutingPortMappingsByDestination',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingPortMappingsByDestination',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:*:{#accountId}:customroutingendpoint/{#customroutingendpointId}'],
],
],
- [
- 'name' => 'AssociatedResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'WAF',
+ ],
+ [
+ 'apiName' => 'UpdateAdditionalCertificateWithListener',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAdditionalCertificateWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'AdditionalCertificate', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#ListenerId}'],
],
],
- [
- 'name' => 'AssociatedResourceRegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'CreateBasicEndpoints',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/*'],
],
],
- [
- 'name' => 'AssociatedResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'waf_v2_public_cn-x0r****gr1i',
+ ],
+ [
+ 'apiName' => 'CreateAcl',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateAcl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/*'],
],
],
],
- '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",
- ],
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'CreateBandwidthPackage',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBandwidthPackage',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'ga:BandwidthPackageType', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/*'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ [
+ 'apiName' => 'ListCustomRoutingEndpointGroups',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'UpdateCustomRoutingEndpointGroupAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateCustomRoutingEndpointGroupAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'CreateBasicAccelerateIpEndpointRelations',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicAccelerateIpEndpointRelations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'UpdateEndpointGroupAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateEndpointGroupAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointGroupId}'],
+ ],
],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '285203',
- 'abilityTreeNodes' => [
- 'FEATUREga231EJR',
+ [
+ 'apiName' => 'UpdateAclAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateAclAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
],
- 'parameters' => [
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ [
+ 'apiName' => 'GetSpareIp',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetSpareIp',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- 'name' => 'AssociatedResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'WAF',
- 'enum' => [
- 'WAF',
- ],
+ ],
+ [
+ 'apiName' => 'ListCustomRoutingEndpointGroupDestinations',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
],
],
- [
- 'name' => 'AssociatedResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cd498437eb9a346c38be8482689800e91',
+ ],
+ [
+ 'apiName' => 'UpdateCustomRoutingEndpointGroupDestinations',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
],
],
- [
- 'name' => 'AssociatedResourceRegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'AttachLogStoreToEndpointGroup',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:AttachLogStoreToEndpointGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endPointGroupId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'GetBasicAccelerateIpIdleCount',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetBasicAccelerateIpIdleCount',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'DryRun',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
+ ],
+ [
+ 'apiName' => 'DeleteForwardingRules',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteForwardingRules',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'CreateCustomRoutingEndpointGroupDestinations',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NotExist.Accelerator',
- 'errorMessage' => 'The accelerated instance does not exist.',
+ [
+ 'apiName' => 'DissociateAclsFromListener',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:DissociateAclsFromListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
],
- [
- 'errorCode' => 'StateError.Accelerator',
- 'errorMessage' => 'accelerator state %s is illegal',
+ ],
+ ],
+ [
+ 'apiName' => 'DeleteCustomRoutingEndpointTrafficPolicies',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DeleteCustomRoutingEndpointTrafficPolicies',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#customroutingendpointId}'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Ga::2019-11-20::DescribeAccelerator',
- 'callbackInterval' => 10000,
- 'maxCallbackTimes' => 30,
+ [
+ 'apiName' => 'DescribeCustomRoutingEndpointGroupDestinations',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCustomRoutingEndpointGroupDestinations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:destination/{#DestinationId}'],
+ ],
+ ],
],
- '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',
+ [
+ 'apiName' => 'CreateBasicAccelerateIpEndpointRelation',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicAccelerateIpEndpointRelation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
+ ],
+ ],
],
- 'schemes' => [
- 'https',
+ [
+ 'apiName' => 'TagResources',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:TagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthpackageId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#basicGaId}'],
+ ['validationType' => 'conditional', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#EndpointGroupId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DisassociateResources',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'ga:DisassociateResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DescribeCommodityPrice',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCommodityPrice',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'CreateBasicAccelerator',
+ 'description' => '',
'operationType' => 'create',
- 'abilityTreeCode' => '285202',
- 'abilityTreeNodes' => [
- 'FEATUREga231EJR',
+ 'ramAction' => [
+ 'action' => 'ga:CreateBasicAccelerator',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ],
],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
],
- 'parameters' => [
- [
- 'name' => 'AcceleratorId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ga-bp1odcab8tmno0hdq****',
+ [
+ 'apiName' => 'UpdateServiceManagedControl',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateServiceManagedControl',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- 'name' => 'AssociatedResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'WAF',
- 'enum' => [
- 'WAF',
- ],
+ ],
+ [
+ 'apiName' => 'CreateCustomRoutingEndpoints',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateCustomRoutingEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
],
],
- [
- 'name' => 'AssociatedResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'waf_xx',
+ ],
+ [
+ 'apiName' => 'CreateSpareIps',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'ga:CreateSpareIps',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
],
],
- [
- 'name' => 'AssociatedResourceRegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'GetIpsetsBandwidthLimit',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:GetIpsetsBandwidthLimit',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'AssociatedMode',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Associated',
- 'default' => 'Associated',
- 'enum' => [
- 'Associated',
- 'Managed',
- ],
+ ],
+ [
+ 'apiName' => 'ListBusiRegions',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListBusiRegions',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'BusiRegion', 'arn' => 'acs:ga:{#regionId}:{#accountId}:region/*'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'DescribeAcceleratorServiceStatus',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeAcceleratorServiceStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'DryRun',
- 'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
+ ],
+ [
+ 'apiName' => 'ListApplicationMonitorDetectResult',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListApplicationMonitorDetectResult',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- '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****',
- ],
- ],
+ [
+ 'apiName' => 'ListTagResources',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'ga:ListTagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'StateError.Accelerator',
- 'errorMessage' => 'accelerator state %s is illegal',
- ],
- [
- 'errorCode' => 'NotExist.Accelerator',
- 'errorMessage' => 'accelerator %s is not exist',
+ [
+ 'apiName' => 'DescribeCustomRoutingEndPointTrafficPolicy',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'ga:DescribeCustomRoutingEndPointTrafficPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:trafficpolicy/{#trafficpolicyId}'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Ga::2019-11-20::DescribeAccelerator',
- 'callbackInterval' => 10000,
- 'maxCallbackTimes' => 30,
+ [
+ 'apiName' => 'UpdateEndpointGroups',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'ga:UpdateEndpointGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'Ga', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ],
+ ],
],
- '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',
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ['validationType' => 'always', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#BasicIpSetId}'],
+ ['validationType' => 'always', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#acceleratorId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BasicAcceleratorId}'],
+ ['validationType' => 'always', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#BandwidthPackageId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endPointGroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customRoutingEndpointGroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipsetId}'],
+ ['validationType' => 'always', 'resourceType' => 'EndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
+ ['validationType' => 'always', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#listenerId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/{#aclId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/{#bandwidthpackageId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#basicGaId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#CustomRoutingEndpointTrafficPolicyId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
+ ['validationType' => 'always', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
+ ['validationType' => 'always', 'resourceType' => 'BandwidthPackage', 'arn' => 'acs:ga:{#regionId}:{#accountId}:bandwidthpackage/*'],
+ ['validationType' => 'always', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#TaskId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/*'],
+ ['validationType' => 'always', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#BasicEndpointGroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'Acl', 'arn' => 'acs:ga:{#regionId}:{#accountId}:acl/*'],
+ ['validationType' => 'always', 'resourceType' => 'BasicEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/*'],
+ ['validationType' => 'always', 'resourceType' => 'AccessLog', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#endpointgroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicgaip/{#basicgaipId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicAccelerateIpEndpointRelation', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingPortMapping', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#EndPointId}'],
+ ['validationType' => 'always', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/*'],
+ ['validationType' => 'always', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:accelerator/{#AcceleratorId}'],
+ ['validationType' => 'always', 'resourceType' => 'Accelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#CustomRoutingEndpointId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:basicendpoint/{#basicendpointId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicAccelerator', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'AccelerateArea', 'arn' => 'acs:ga:{#regionId}:{#accountId}:region/*'],
+ ['validationType' => 'always', 'resourceType' => 'Listener', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/*'],
+ ['validationType' => 'always', 'resourceType' => 'IpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#ipSetId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:endpointgroup/{#EndpointGroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpoint/{#CustomRoutingEndpointId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'BusiRegion', 'arn' => 'acs:ga:{#regionId}:{#accountId}:region/{#regionId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#EndpointGroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicIpSet', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/*'],
+ ['validationType' => 'always', 'resourceType' => 'SystemSecurityPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/*'],
+ ['validationType' => 'always', 'resourceType' => 'ApplicationMonitor', 'arn' => 'acs:ga:{#regionId}:{#accountId}:sitemonitor/{#sitemonitorId}'],
+ ['validationType' => 'always', 'resourceType' => 'BasicAccelerateIp', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ipset/{#IpSetId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpoint', 'arn' => 'acs:ga:*:{#accountId}:customroutingendpoint/{#customroutingendpointId}'],
+ ['validationType' => 'always', 'resourceType' => 'AdditionalCertificate', 'arn' => 'acs:ga:{#regionId}:{#accountId}:listener/{#ListenerId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointGroup', 'arn' => 'acs:ga:*:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:ga/{#gaId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:customroutingendpointgroup/{#customroutingendpointgroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointGroupDestination', 'arn' => 'acs:ga:{#regionId}:{#accountId}:destination/{#DestinationId}'],
+ ['validationType' => 'always', 'resourceType' => 'BusiRegion', 'arn' => 'acs:ga:{#regionId}:{#accountId}:region/*'],
+ ['validationType' => 'always', 'resourceType' => 'CustomRoutingEndpointTrafficPolicy', 'arn' => 'acs:ga:{#regionId}:{#accountId}:trafficpolicy/{#trafficpolicyId}'],
],
],
];