summaryrefslogtreecommitdiff
path: root/data/en_us/privatelink
diff options
context:
space:
mode:
authorZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
committerZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
commit1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch)
tree5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/privatelink
parent7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff)
downloadafterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz
afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip
update APIs 20260712
Diffstat (limited to 'data/en_us/privatelink')
-rw-r--r--data/en_us/privatelink/2020-04-15/api-docs.php11453
1 files changed, 4680 insertions, 6773 deletions
diff --git a/data/en_us/privatelink/2020-04-15/api-docs.php b/data/en_us/privatelink/2020-04-15/api-docs.php
index cfe264d..08ade79 100644
--- a/data/en_us/privatelink/2020-04-15/api-docs.php
+++ b/data/en_us/privatelink/2020-04-15/api-docs.php
@@ -1,213 +1,168 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'Privatelink',
- 'version' => '2020-04-15',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'Privatelink', 'version' => '2020-04-15'],
'directories' => [
[
- 'id' => 176808,
- 'title' => 'PrivateLink',
+ 'children' => ['OpenPrivateLinkService', 'CheckProductOpen'],
'type' => 'directory',
- 'children' => [
- 'OpenPrivateLinkService',
- 'CheckProductOpen',
- ],
+ 'title' => 'PrivateLink',
],
[
- 'id' => 176765,
- 'title' => 'Regions and zones',
+ 'children' => ['DescribeRegions', 'DescribeZones'],
'type' => 'directory',
- 'children' => [
- 'DescribeRegions',
- 'DescribeZones',
- ],
+ 'title' => 'Regions and zones',
],
[
- 'id' => 3189,
- 'title' => 'Endpoint services',
+ 'children' => ['CreateVpcEndpointService', 'UpdateVpcEndpointServiceAttribute', 'GetVpcEndpointServiceAttribute', 'ListVpcEndpointServices', 'ListVpcEndpointServicesByEndUser', 'DeleteVpcEndpointService'],
'type' => 'directory',
- 'children' => [
- 'CreateVpcEndpointService',
- 'UpdateVpcEndpointServiceAttribute',
- 'GetVpcEndpointServiceAttribute',
- 'ListVpcEndpointServices',
- 'DeleteVpcEndpointService',
- ],
+ 'title' => 'Endpoint services',
],
[
- 'id' => 3191,
- 'title' => 'Service whitelists',
+ 'children' => ['AddUserToVpcEndpointService', 'ListVpcEndpointServiceUsers', 'RemoveUserFromVpcEndpointService'],
'type' => 'directory',
- 'children' => [
- 'AddUserToVpcEndpointService',
- 'ListVpcEndpointServiceUsers',
- 'RemoveUserFromVpcEndpointService',
- ],
+ 'title' => 'Service whitelists',
],
[
- 'id' => 3194,
- 'title' => 'Service resources',
+ 'children' => ['UpdateVpcEndpointServiceResourceAttribute', 'AttachResourceToVpcEndpointService', 'ListVpcEndpointServiceResources', 'DetachResourceFromVpcEndpointService'],
'type' => 'directory',
- 'children' => [
- 'UpdateVpcEndpointServiceResourceAttribute',
- 'AttachResourceToVpcEndpointService',
- 'ListVpcEndpointServiceResources',
- 'DetachResourceFromVpcEndpointService',
- ],
+ 'title' => 'Service resources',
],
[
- 'id' => 3198,
- 'title' => 'Endpoints',
+ 'children' => ['DeleteVpcEndpoint', 'CreateVpcEndpoint', 'UpdateVpcEndpointAttribute', 'ListVpcEndpoints', 'GetVpcEndpointAttribute'],
'type' => 'directory',
- 'children' => [
- 'DeleteVpcEndpoint',
- 'CreateVpcEndpoint',
- 'UpdateVpcEndpointAttribute',
- 'ListVpcEndpoints',
- 'GetVpcEndpointAttribute',
- 'ListVpcEndpointServicesByEndUser',
- ],
+ 'title' => 'Endpoints',
],
[
- 'id' => 3203,
- 'title' => 'Endpoint connections',
+ 'children' => ['EnableVpcEndpointConnection', 'UpdateVpcEndpointConnectionAttribute', 'ListVpcEndpointConnections', 'DisableVpcEndpointConnection'],
'type' => 'directory',
- 'children' => [
- 'EnableVpcEndpointConnection',
- 'UpdateVpcEndpointConnectionAttribute',
- 'ListVpcEndpointConnections',
- 'DisableVpcEndpointConnection',
- ],
+ 'title' => 'Endpoint connections',
],
[
- 'id' => 3207,
- 'title' => 'Endpoint zones',
+ 'children' => ['AddZoneToVpcEndpoint', 'ListVpcEndpointZones', 'RemoveZoneFromVpcEndpoint'],
'type' => 'directory',
- 'children' => [
- 'AddZoneToVpcEndpoint',
- 'ListVpcEndpointZones',
- 'RemoveZoneFromVpcEndpoint',
- ],
+ 'title' => 'Endpoint zones',
],
[
- 'id' => 176753,
- 'title' => 'Endpoint zone connections',
+ 'children' => ['DisableVpcEndpointZoneConnection', 'EnableVpcEndpointZoneConnection', 'UpdateVpcEndpointZoneConnectionResourceAttribute'],
'type' => 'directory',
- 'children' => [
- 'DisableVpcEndpointZoneConnection',
- 'EnableVpcEndpointZoneConnection',
- 'UpdateVpcEndpointZoneConnectionResourceAttribute',
- ],
+ 'title' => 'Endpoint zone connections',
],
[
- 'id' => 3212,
- 'title' => 'Security groups',
+ 'children' => ['AttachSecurityGroupToVpcEndpoint', 'ListVpcEndpointSecurityGroups', 'DetachSecurityGroupFromVpcEndpoint'],
'type' => 'directory',
- 'children' => [
- 'AttachSecurityGroupToVpcEndpoint',
- 'ListVpcEndpointSecurityGroups',
- 'DetachSecurityGroupFromVpcEndpoint',
- ],
+ 'title' => 'Security groups',
],
[
- 'id' => 176748,
- 'title' => 'Tags & Resource group',
+ 'children' => ['UntagResources', 'ListTagResources', 'TagResources', 'ChangeResourceGroup'],
'type' => 'directory',
- 'children' => [
- 'UntagResources',
- 'ListTagResources',
- 'TagResources',
- 'ChangeResourceGroup',
- ],
+ 'title' => 'Tags & resource groups',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
- 'OpenPrivateLinkService' => [
- 'summary' => 'Activates PrivateLink.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'AddUserToVpcEndpointService' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
- [
- 'APP' => [],
- ],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkWPBSZV',
+ 'systemTags' => ['operationType' => 'create'],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint service. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The account ID that you want to add to the whitelist.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '132193271328****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ServiceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', '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"
+ ."\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' => ''],
+ ],
+ [
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint service. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserARN',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The whitelist in the format of Aliyun Resource Name (ARN).', 'type' => 'string', 'required' => false, 'example' => 'acs:ram:*:<account-id>:*', 'title' => ''],
],
- 'tenantRelevance' => 'publicInformation',
],
- 'parameters' => [],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '427688B8-ADFB-4C4E-9D45-EF5C1FD6E23D',
- ],
- 'OrderId' => [
- 'description' => 'The order ID.'."\n",
- 'type' => 'string',
- 'example' => '3245****',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'AccountTypeRestricted',
- 'errorMessage' => 'Please submit the application for beta testing first. You can activate the product after the application is approved.',
- ],
- [
- 'errorCode' => 'OrderOpend',
- 'errorMessage' => 'You have already activated the service. Go to the console to start using it.',
- ],
- [
- 'errorCode' => 'InvalidAccountStatus.NotEnoughBalance',
- 'errorMessage' => 'Your account does not have enough balance.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'MissingParam.UserArn', 'errorMessage' => 'The param of UserArn is missing.', 'description' => ''],
+ ['errorCode' => 'Mismatch.UserIdAndUserArn', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"427688B8-ADFB-4C4E-9D45-EF5C1FD6E23D\\",\\n \\"OrderId\\": \\"3245****\\"\\n}","errorExample":""},{"type":"xml","example":"<OpenPrivateLinkServiceResponse>\\n <RequestId>427688B8-ADFB-4C4E-9D45-EF5C1FD6E23D</RequestId>\\n <OrderId>3245****</OrderId>\\n</OpenPrivateLinkServiceResponse>","errorExample":""}]',
- 'title' => 'OpenPrivateLinkService',
+ 'title' => 'AddUserToVpcEndpointService',
+ 'summary' => 'Adds an account ID to the whitelist of an endpoint service.',
+ 'description' => '- Before you add an account ID to the whitelist of an endpoint service, make sure that the endpoint service is in the **Active** state. You can call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the status of the endpoint service.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **AddUserToVpcEndpointService** operation to add the ID of an Alibaba Cloud account to the whitelist of an endpoint service within a specified period of time.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'CheckProductOpen' => [
- 'summary' => 'Queries whether PrivateLink is activated.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'privatelink:AddUserToVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ ],
+ 'AddZoneToVpcEndpoint' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -216,57 +171,141 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelink7YBDSO',
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '16161',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkGBNC0X'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'ZoneId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the zone that you want to add.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou-b', 'title' => ''],
+ ],
+ [
+ 'name' => 'VSwitchId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the vSwitch in the zone that you want to add. The system automatically creates an endpoint ENI in the vSwitch.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-hjkshjvdkdvd****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ip',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The IP address of the endpoint elastic network interface (ENI) in the zone that you want to add.', 'type' => 'string', 'required' => false, 'example' => '192.XX.XX.32', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the endpoint to which you want to add the zone.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', '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"
+ ."\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' => ''],
+ ],
+ [
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'Ipv6Address',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The IPv6 address of the endpoint ENI in the zone that you want to add.', 'type' => 'string', 'required' => false, 'example' => '2408:4005:3b6:****:6955:c3cb:34c:****', 'title' => ''],
],
- 'tenantRelevance' => 'publicInformation',
],
- 'parameters' => [],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B',
- ],
- 'Success' => [
- 'description' => 'Indicates whether PrivateLink is activated.'."\n"
- ."\n"
- .'Only **true** is returned. The value indicates that PrivateLink is activated.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
- 'description' => 'The returned results.'."\n",
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'NeedOpenProduct',
- 'errorMessage' => 'The product is not activated.',
- ],
+ ['errorCode' => 'OperationDenied.EndpointProtected', 'errorMessage' => 'The operation is not allowed because of EndpointProtected.', 'description' => 'Managed protection is enabled for the endpoint. Operation is not allowed.'],
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
+ ['errorCode' => 'EndpointOperationDenied', 'errorMessage' => 'The specified operation of endpoint is not allowed.', 'description' => 'The specified operation of endpoint is not allowed.'],
+ ['errorCode' => 'EndpointLocked', 'errorMessage' => 'The specified Endpoint is locked.', 'description' => 'The specified Endpoint is locked.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'EndpointZoneDuplicated', 'errorMessage' => 'The zone is duplicated for the Endpoint.', 'description' => 'The zone is duplicated for the Endpoint.'],
+ ['errorCode' => 'EndpointServiceNotSupportedZone', 'errorMessage' => 'The specified endpoint service does not support the zone.', 'description' => 'The specified endpoint service does not support the zone.'],
+ ['errorCode' => 'QuotaMisMatched', 'errorMessage' => 'The resource you applied for has exceeded the quota.', 'description' => 'The resource you applied for has exceeded the quota.'],
+ ['errorCode' => 'EndpointDuplicated', 'errorMessage' => 'The endpoint of the service already exists and cannot be created again.', 'description' => ''],
+ ['errorCode' => 'EndpointServiceDeleted', 'errorMessage' => 'The specified Service is already deleted.', 'description' => 'The specified Service is already deleted.'],
+ ['errorCode' => 'EndpointServiceResourceNotFound', 'errorMessage' => 'The specified service resource is not found.', 'description' => ''],
+ ['errorCode' => 'VSwitchNotFound', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''],
+ ['errorCode' => 'EniIpUnavailable', 'errorMessage' => 'The specified IP address is unavailable.', 'description' => 'The specified IP address is unavailable.'],
+ ['errorCode' => 'EndpointProtected', 'errorMessage' => 'The specified Endpoint is protected.', 'description' => ''],
+ ['errorCode' => 'VSwitchStatusNotAllowed', 'errorMessage' => 'The specified vswitch status is not Available.', 'description' => 'The status of the vSwitch is not available.'],
+ ['errorCode' => 'VpcNatServiceException', 'errorMessage' => 'The vpcNat service is busy', 'description' => ''],
+ ['errorCode' => 'ResourceNotEnough.VSwitchIp', 'errorMessage' => 'The specified resource of VSwitchIp is not enough.', 'description' => 'The number of vSwitch IP addresses is insufficient.'],
+ ['errorCode' => 'OperationDenied.VSwitchNotSupportDualstack', 'errorMessage' => 'The specified VSwitch does not support dualstack.', 'description' => 'The specified VSwitch does not support dualstack.'],
+ ['errorCode' => 'OperationDenied.AddressIpVersionNotSupportSpecifyIpv6', 'errorMessage' => 'The AddressIpVersion of the endpoint does not support specifying IPv6 address.', 'description' => 'The AddressIpVersion of the endpoint does not support specifying an IPv6 address.'],
+ ['errorCode' => 'IllegalParam.Ip', 'errorMessage' => 'The specified parameter IP is invalid.', 'description' => 'The specified parameter IP is invalid.'],
+ ['errorCode' => 'IllegalParam.Ipv6Address', 'errorMessage' => 'The specified parameter Ipv6Address is invalid.', 'description' => 'The specified parameter Ipv6Address is invalid.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CheckProductOpenResponse>\\n <RequestId>8D8992C1-6712-423C-BAC5-E5E817484C6B</RequestId>\\n <Success>true</Success>\\n</CheckProductOpenResponse>","errorExample":""}]',
- 'title' => 'CheckProductOpen',
- ],
- 'DescribeRegions' => [
- 'summary' => 'Queries available regions and zones.',
- 'methods' => [
- 'post',
- 'get',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'https',
+ 'title' => 'AddZoneToVpcEndpoint',
+ 'summary' => 'Adds a zone to an endpoint.',
+ 'description' => '- **AddZoneToVpcEndpoint** 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 [ListVpcEndpointZones](~~183560~~) operation to query the state of the zone.'."\n"
+ ."\n"
+ .' - If the zone is in the **Creating** state, the zone is being added.'."\n"
+ ."\n"
+ .' - If the zone is in the Wait state, the zone is added.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **AddZoneToVpcEndpoint** operation to add a zone to an endpoint within a specified period of time.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'privatelink:AddZoneToVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0c593ea1-3bea-11e9-b96b-88e9fe637760\\"\\n}","type":"json"}]',
+ ],
+ 'AttachResourceToVpcEndpointService' => [
+ 'summary' => 'Adds a service resource to an endpoint service.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -275,41 +314,70 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkX3ZDB5',
- ],
- 'autoTest' => false,
+ 'abilityTreeCode' => '16162',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkZR0ZOX'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint service is deployed.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~448570~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The type of the service resource. Valid values:'."\n"
+ ."\n"
+ .'- **slb**: Classic Load Balancer (CLB).'."\n"
+ ."\n"
+ .'- **alb**: Application Load Balancer (ALB).'."\n"
+ ."\n"
+ .'- **nlb**: Network Load Balancer (NLB).'."\n"
+ ."\n"
+ .'- **gwlb**: Gateway Load Balancer (GWLB).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'slb', 'title' => ''],
],
[
- 'name' => 'ServiceResourceType',
+ 'name' => 'ResourceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the service resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ZoneId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The zone where the service resource is located. This parameter is required if the service resource is an ALB, NLB, or GWLB instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-j', 'title' => ''],
+ ],
+ [
+ 'name' => 'ServiceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The endpoint service to which you want to add the service resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run to check the request for potential issues, including required parameters, request format, and service limits. The system does not add the service resource. If the check fails, an error message is returned. If the check passes, the `DryRunOperation` error code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): Sends a normal request. After the request passes the check, an HTTP 2xx status code is returned and the service resource is added.', '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 **ClientToken** can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the region where the endpoint service is deployed.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~448570~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
@@ -317,72 +385,67 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Regions' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Region' => [
- 'description' => 'The available regions.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'LocalName' => [
- 'description' => 'The name of the region.'."\n",
- 'type' => 'string',
- 'example' => 'China (Hangzhou)'."\n",
- ],
- 'RegionEndpoint' => [
- 'description' => 'The endpoint of the region.'."\n",
- 'type' => 'string',
- 'example' => 'privatelink.cn-hangzhou.aliyuncs.com',
- ],
- 'RegionId' => [
- 'description' => 'The region ID.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'ServiceResourceTypes' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'ServiceResourceType' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"LocalName\\": \\"华东1(杭州)\\",\\n \\"RegionEndpoint\\": \\"privatelink.cn-hangzhou.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ServiceResourceTypes\\": {\\n \\"ServiceResourceType\\": [\\n \\"slb\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <RequestId>A355E857-97F5-5054-9AC8-BCE064939652</RequestId>\\n <Regions>\\n <Region>\\n <RegionId>cn-hangzhou</RegionId>\\n <RegionEndpoint>privatelink.cn-hangzhou.aliyuncs.com</RegionEndpoint>\\n <LocalName>华东1(杭州)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-shanghai</RegionId>\\n <RegionEndpoint>privatelink.cn-shanghai.aliyuncs.com</RegionEndpoint>\\n <LocalName>华东2(上海)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-nanjing</RegionId>\\n <RegionEndpoint>privatelink.cn-nanjing.aliyuncs.com</RegionEndpoint>\\n <LocalName>华东5(南京-本地地域)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-qingdao</RegionId>\\n <RegionEndpoint>privatelink.cn-qingdao.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北1(青岛)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-beijing</RegionId>\\n <RegionEndpoint>privatelink.cn-beijing.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北2(北京)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-zhangjiakou</RegionId>\\n <RegionEndpoint>privatelink.cn-zhangjiakou.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北3(张家口)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-huhehaote</RegionId>\\n <RegionEndpoint>privatelink.cn-huhehaote.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北5(呼和浩特)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-wulanchabu</RegionId>\\n <RegionEndpoint>privatelink.cn-wulanchabu.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北6(乌兰察布)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-shenzhen</RegionId>\\n <RegionEndpoint>privatelink.cn-shenzhen.aliyuncs.com</RegionEndpoint>\\n <LocalName>华南1(深圳)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-heyuan</RegionId>\\n <RegionEndpoint>privatelink.cn-heyuan.aliyuncs.com</RegionEndpoint>\\n <LocalName>华南2(河源)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-guangzhou</RegionId>\\n <RegionEndpoint>privatelink.cn-guangzhou.aliyuncs.com</RegionEndpoint>\\n <LocalName>华南3(广州)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-chengdu</RegionId>\\n <RegionEndpoint>privatelink.cn-chengdu.aliyuncs.com</RegionEndpoint>\\n <LocalName>西南1(成都)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>cn-hongkong</RegionId>\\n <RegionEndpoint>privatelink.cn-hongkong.aliyuncs.com</RegionEndpoint>\\n <LocalName>中国香港</LocalName>\\n </Region>\\n <Region>\\n <RegionId>ap-southeast-1</RegionId>\\n <RegionEndpoint>privatelink.ap-southeast-1.aliyuncs.com</RegionEndpoint>\\n <LocalName>新加坡</LocalName>\\n </Region>\\n <Region>\\n <RegionId>ap-southeast-2</RegionId>\\n <RegionEndpoint>privatelink.ap-southeast-2.aliyuncs.com</RegionEndpoint>\\n <LocalName>澳大利亚(悉尼)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>ap-southeast-3</RegionId>\\n <RegionEndpoint>privatelink.ap-southeast-3.aliyuncs.com</RegionEndpoint>\\n <LocalName>马来西亚(吉隆坡)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>ap-southeast-5</RegionId>\\n <RegionEndpoint>privatelink.ap-southeast-5.aliyuncs.com</RegionEndpoint>\\n <LocalName>印度尼西亚(雅加达)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>ap-northeast-1</RegionId>\\n <RegionEndpoint>privatelink.ap-northeast-1.aliyuncs.com</RegionEndpoint>\\n <LocalName>日本(东京)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>eu-central-1</RegionId>\\n <RegionEndpoint>privatelink.eu-central-1.aliyuncs.com</RegionEndpoint>\\n <LocalName>德国(法兰克福)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>eu-west-1</RegionId>\\n <RegionEndpoint>privatelink.eu-west-1.aliyuncs.com</RegionEndpoint>\\n <LocalName>英国(伦敦)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>us-west-1</RegionId>\\n <RegionEndpoint>privatelink.us-west-1.aliyuncs.com</RegionEndpoint>\\n <LocalName>美国(硅谷)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>us-east-1</RegionId>\\n <RegionEndpoint>privatelink.us-east-1.aliyuncs.com</RegionEndpoint>\\n <LocalName>美国(弗吉尼亚)</LocalName>\\n </Region>\\n <Region>\\n <RegionId>ap-south-1</RegionId>\\n <RegionEndpoint>privatelink.ap-south-1.aliyuncs.com</RegionEndpoint>\\n <LocalName>印度(孟买)</LocalName>\\n </Region>\\n </Regions>\\n</DescribeRegionsResponse>","errorExample":""}]',
- 'title' => 'DescribeRegions',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointServiceOperationDenied', 'errorMessage' => 'The specified operation of endpoint service is not allowed.', 'description' => 'The specified operation of endpoint service is not allowed.'],
+ ['errorCode' => 'EndpointServiceResourceExist', 'errorMessage' => 'The specified resource already exists.', 'description' => 'The specified resource already exists.'],
+ ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The specified load balancer does not exist.', 'description' => 'The specified Alb does not exist.'],
+ ['errorCode' => 'LoadBalancerNotSupportPrivateLink', 'errorMessage' => 'The specified SLB does not support PrivateLink.', 'description' => 'The specified SLB does not support PrivateLink.'],
+ ['errorCode' => 'AlbNotFound', 'errorMessage' => 'The specified Alb does not exist.', 'description' => 'The specified Alb does not exist.'],
+ ['errorCode' => 'EndpointServiceResourceTypeNotSupport', 'errorMessage' => 'The specified resource type is not supported.', 'description' => 'The specified resource type is not supported.'],
+ ['errorCode' => 'QuotaMisMatched', 'errorMessage' => 'The resource you applied for has exceeded the quota.', 'description' => 'The resource you applied for has exceeded the quota.'],
+ ['errorCode' => 'VSwitchNotFound', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ['errorCode' => 'Mismatch.ResourceType', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => 'The %s is mismatched for %s and %s.'],
+ ['errorCode' => 'EndpointServiceNotSupportedZone', 'errorMessage' => 'The specified endpoint service does not support the zone.', 'description' => 'The specified endpoint service does not support the zone.'],
+ ['errorCode' => 'ServiceResourceNotSupportIpv6', 'errorMessage' => 'The resource is not support ipv6.', 'description' => 'The endpoint service does not support IPv6.'],
+ ['errorCode' => 'EndpointServiceResourceTypeNotEqual', 'errorMessage' => 'the service resource type not equal request type.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.ServiceResourceIpVersionMismatch', 'errorMessage' => 'The endpoint service and service resource AddressIpVersion do not match.', 'description' => 'The endpoint service and service resource AddressIpVersion do not match.'],
+ ],
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'title' => 'AttachResourceToVpcEndpointService',
+ 'description' => '- Before you add a service resource to an endpoint service, ensure that the endpoint service is in the **Active** state. Call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the status of the endpoint service.'."\n"
+ ."\n"
+ .'- The **AttachResourceToVpcEndpointService** operation does not support concurrently adding service resources to the same endpoint service instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeZones' => [
- 'summary' => 'Queries a list of zones in a specified region.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:AttachResourceToVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:alb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ ],
+ 'AttachSecurityGroupToVpcEndpoint' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -391,101 +454,250 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkVQ750H',
- ],
- 'autoTest' => false,
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '16163',
+ 'abilityTreeNodes' => ['FEATUREprivatelink57DP0F'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint with which you want to associate with the security group. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
+ ],
+ [
+ 'name' => 'SecurityGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the security group with which you want to associate the endpoint.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'sg-hp3c8qj1tyct90ej****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the endpoint with which you want to associate the security group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', '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"
+ ."\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' => ''],
+ ],
+ [
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint with which you want to associate with the security group. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The region ID of the zone. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8D778FF9-7640-4C13-BCD6-9265CA9A2F81', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
+ ['errorCode' => 'EndpointOperationDenied', 'errorMessage' => 'The specified operation of endpoint is not allowed.', 'description' => 'The specified operation of endpoint is not allowed.'],
+ ['errorCode' => 'EndpointLocked', 'errorMessage' => 'The specified Endpoint is locked.', 'description' => 'The specified Endpoint is locked.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'SecurityGroupExist', 'errorMessage' => 'The specified security group already exists.', 'description' => 'The specified security group already exists.'],
+ ['errorCode' => 'EndpointServiceDeleted', 'errorMessage' => 'The specified Service is already deleted.', 'description' => 'The specified Service is already deleted.'],
+ ['errorCode' => 'SecurityGroupNotFound', 'errorMessage' => 'The specified security group does not exist.', 'description' => 'The specified security group does not exist.'],
+ ['errorCode' => 'SecurityGroupTypeNotSupport', 'errorMessage' => 'The specified security group type is not supported.', 'description' => ''],
+ ['errorCode' => 'SecurityGroupTypeOnlySingleTypeSupporteded', 'errorMessage' => 'The specified security group only support one type.', 'description' => ''],
+ ['errorCode' => 'GatewayLoadBalancerNotSupportSecurityGroup', 'errorMessage' => 'The gateway load balancer not support security group.', 'description' => 'The gateway load balancer type does not support setting a security group.'],
+ ],
+ ],
+ 'title' => 'AttachSecurityGroupToVpcEndpoint',
+ 'summary' => 'Associates an endpoint with a security group.',
+ 'description' => '- **AttachSecurityGroupToVpcEndpoint** 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 [ListVpcEndpoints](~~183558~~) operation to query the state of the endpoint.'."\n"
+ ."\n"
+ .' - If the endpoint is in the **Pending** state, the endpoint is being associated with the security group.'."\n"
+ ."\n"
+ .' - If the endpoint is in the **Active** state, the endpoint is associated with the security group.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **AttachSecurityGroupToVpcEndpoint** operation to associate an endpoint with a security group within a specified period of time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:AttachSecurityGroupToVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8D778FF9-7640-4C13-BCD6-9265CA9A2F81\\"\\n}","type":"json"}]',
+ ],
+ 'ChangeResourceGroup' => [
+ 'summary' => 'Modifies a resource group.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'ServiceResourceType',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkEUMK18'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceType',
'in' => 'query',
- 'allowEmptyValue' => false,
'schema' => [
+ 'title' => '资源类型',
+ 'description' => 'The type of resource. Valid values:'."\n"
+ ."\n"
+ .'- **VpcEndpoint**: endpoint'."\n"
+ ."\n"
+ .'- **VpcEndpointService**: endpoint service',
'type' => 'string',
+ 'required' => false,
+ 'default' => 'VpcEndpoint',
+ 'enum' => ['VpcEndpoint', 'VpcEndpointService'],
+ 'example' => 'VpcEndpoint',
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The resource IDs. You can specify up to 50 resource IDs.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ep-hp3i05294c2d2d****'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
'in' => 'query',
+ 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'rg-acfmy*****'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The region ID of the zone. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B'],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NoPermission.ChangeResourceGroup', 'errorMessage' => 'You are not authorized to change resourcegroup', 'description' => ''],
+ ['errorCode' => 'MissingParameter.ResourceRegionId', 'errorMessage' => 'The ResourceRegionId parameters that are required for processing this request are missing', 'description' => ''],
+ ['errorCode' => 'MissingParameter.ResourceId', 'errorMessage' => 'The ResourceId parameters that are required for processing this request are missing', 'description' => ''],
+ ['errorCode' => 'MissingParameter.ResourceGroupId', 'errorMessage' => 'The ResourceGroupId parameters that are required for processing this request are missing', 'description' => ''],
+ ['errorCode' => 'InvalidResourceGroup', 'errorMessage' => 'The specified ResourceGroupId is invalid', 'description' => ''],
+ ['errorCode' => 'SystemError', 'errorMessage' => 'A system error occurred while processing your request', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound', 'errorMessage' => ' The specified resource is not found', 'description' => ''],
+ ],
+ ],
+ 'title' => 'ChangeResourceGroup',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:ChangeResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
],
],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\"\\n}","type":"json"}]',
+ ],
+ 'CheckProductOpen' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREprivatelink7YBDSO'],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F',
- ],
- 'Zones' => [
- 'type' => 'object',
- 'itemNode' => true,
- 'properties' => [
- 'Zone' => [
- 'description' => 'The returned zones.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the array object.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'LocalName' => [
- 'description' => 'The name of the zone.'."\n",
- 'type' => 'string',
- 'example' => 'Hangzhou Zone B',
- ],
- 'ZoneId' => [
- 'description' => 'The zone ID.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou-b',
- ],
- ],
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B', 'title' => ''],
+ 'Success' => ['description' => 'Indicates whether PrivateLink is activated.'."\n"
+ ."\n"
+ .'Only **true** is returned. The value indicates that PrivateLink is activated.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
+ 'description' => 'The returned results.',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\",\\n \\"Zones\\": {\\n \\"Zone\\": [\\n {\\n \\"LocalName\\": \\"华东1 可用区B\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeZonesResponse>\\r\\n <RequestId>6FEA0CF3-D3B9-43E5-A304-D217037876A8</RequestId>\\r\\n <Zones>\\r\\n <Zone>\\r\\n <ZoneId>cn-hangzhou-b</ZoneId>\\r\\n <LocalName>华东 1 可用区 B</LocalName>\\r\\n </Zone>\\r\\n <Zone>\\r\\n <ZoneId>cn-hangzhou-f</ZoneId>\\r\\n <LocalName>华东 1 可用区 F</LocalName>\\r\\n </Zone>\\r\\n <Zone>\\r\\n <ZoneId>cn-hangzhou-g</ZoneId>\\r\\n <LocalName>华东 1 可用区 G</LocalName>\\r\\n </Zone>\\r\\n <Zone>\\r\\n <ZoneId>cn-hangzhou-h</ZoneId>\\r\\n <LocalName>华东 1 可用区 H</LocalName>\\r\\n </Zone>\\r\\n <Zone>\\r\\n <ZoneId>cn-hangzhou-i</ZoneId>\\r\\n <LocalName>华东 1 可用区 I</LocalName>\\r\\n </Zone>\\r\\n <Zone>\\r\\n <ZoneId>cn-hangzhou-j</ZoneId>\\r\\n <LocalName>华东 1 可用区 J</LocalName>\\r\\n </Zone>\\r\\n <Zone>\\r\\n <ZoneId>cn-hangzhou-k</ZoneId>\\r\\n <LocalName>华东 1 可用区 K</LocalName>\\r\\n </Zone>\\r\\n </Zones>\\r\\n</DescribeZonesResponse>","errorExample":""}]',
- 'title' => 'DescribeZones',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'CreateVpcEndpointService' => [
- 'summary' => 'Creates an endpoint service.',
- 'methods' => [
- 'post',
- 'get',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'NeedOpenProduct', 'errorMessage' => 'The product is not activated.', 'description' => 'The product is not activated.'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'title' => 'CheckProductOpen',
+ 'summary' => 'Queries whether PrivateLink is activated.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'privatelink:CheckProductOpen',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"Success\\": true\\n}","type":"json"}]',
+ ],
+ 'CreateVpcEndpoint' => [
+ 'summary' => 'Creates an endpoint.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -497,259 +709,230 @@
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '16165',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkW2XK1B',
- ],
+ 'abilityTreeCode' => '16164',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkG9DJDQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint.'."\n"
+ ."\n"
+ .'You can call [DescribeRegions](~~120468~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request.'."\n"
- ."\n"
- .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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 format, 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): sends a normal request, passes the dry run, and returns an HTTP 2xx status code. The system proceeds to create an endpoint.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'ServiceDescription',
+ 'name' => 'EndpointName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the endpoint service.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'This is my EndpointService.',
- ],
+ 'schema' => ['description' => 'The name of the endpoint.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain letters, digits, hyphens (-), and underscores (_). It must start with a letter.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'AutoAcceptEnabled',
+ 'name' => 'EndpointType',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to automatically accept endpoint connection requests. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false** (default)'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['description' => 'The endpoint type. Valid values:'."\n"
+ ."\n"
+ .'- **Interface**: interface endpoint. You can add Application Load Balancer (ALB), Classic Load Balancer (CLB), and Network Load Balancer (NLB) as EPS resource types.'."\n"
+ ."\n"
+ .'- **Reverse**: reverse endpoint. You can add VPC NAT gateways as service resources.'."\n"
+ .'- **GatewayLoadBalancer**: Gateway Load Balancer endpoint (GWLBe). You can add Gateway Load Balancer (GWLB) as service resources.'."\n"
+ ."\n"
+ .'> Services that support reverse endpoints can be provided only by Alibaba Cloud and ecosystem partners. By default, you cannot create reverse endpoints on your own. To create a reverse endpoint, contact your account manager.', 'type' => 'string', 'required' => false, 'example' => 'Interface', 'title' => ''],
],
[
- 'name' => 'Payer',
+ 'name' => 'ZonePrivateIpAddressCount',
'in' => 'query',
- 'schema' => [
- 'description' => 'The payer. Valid values:'."\n"
- ."\n"
- .'* **Endpoint**: service consumer'."\n"
- .'* **EndpointService**: service provider'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Endpoint',
- ],
+ 'schema' => ['description' => 'The number of private IP addresses per endpoint ENI in each zone. Set the value to **1**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'ZoneAffinityEnabled',
+ 'name' => 'EndpointDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to first resolve the domain name of the nearest endpoint that is associated with the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false** (default)'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['description' => 'The description of the endpoint.'."\n"
+ ."\n"
+ .'The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'This is my Endpoint.', 'title' => ''],
],
[
- 'name' => 'ServiceResourceType',
+ 'name' => 'VpcId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the service resource. Valid values:'."\n"
- ."\n"
- .'* **slb**: Classic Load Balancer (CLB) instance'."\n"
- .'* **alb**: Application Load Balancer (ALB) instance'."\n"
- .'* **nlb**: Network Load Balancer (NLB) instance'."\n"
- ."\n"
- .'> You cannot access TCP/SSL listeners configured for NLB instances.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'slb',
- ],
+ 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) to which the endpoint belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-hp356stwkxg3fn2xe****', 'title' => ''],
],
[
- 'name' => 'Resource',
+ 'name' => 'ServiceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the endpoint service with which the endpoint is associated.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'epsrv-hp3xdsq46ael67lo****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ServiceName',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The name of the endpoint service with which the endpoint is associated.', 'type' => 'string', 'required' => false, 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Zone',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The service resources of the endpoint service. You can create at most 10 resources. After the resource is created, you can continue to add service resources to the endpoint.'."\n",
+ 'description' => 'The endpoint zones.',
'type' => 'array',
'items' => [
- 'description' => 'The service resources of the endpoint service.'."\n",
+ 'description' => 'The zone ID in the current region.'."\n"
+ ."\n"
+ .'The system creates resources in the specified zone.',
'type' => 'object',
'properties' => [
- 'ResourceType' => [
- 'description' => 'The type of the service resource that is added to the endpoint service. You can add up to 20 service resources to the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **slb**: CLB instance'."\n"
- .'* **alb**: ALB instance'."\n"
- .'* **nlb**: NLB instance'."\n"
- ."\n"
- .'> In regions where PrivateLink is supported, CLB instances deployed in virtual private clouds (VPCs) can serve as the service resources of the endpoint service. You cannot access TCP/SSL listeners configured for NLB instances.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'slb',
- ],
- 'ResourceId' => [
- 'description' => 'The ID of the service resource that is added to the endpoint service.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
- 'ZoneId' => [
- 'description' => 'The zone ID of the cluster.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-huhehaote-a',
- ],
+ 'VSwitchId' => ['description' => 'The ID of the vSwitch in the zone where you want to create an endpoint elastic network interface (ENI).'."\n"
+ .'You can configure up to 10 vSwitches.', 'type' => 'string', 'required' => false, 'example' => 'vsw-hp3uf6045ljdhd5zr****', 'title' => ''],
+ 'ZoneId' => ['description' => 'The zone of the endpoint.'."\n"
+ ."\n"
+ .'You can specify up to 10 zones.', 'type' => 'string', 'required' => false, 'example' => 'cn-huhehaote-b', 'title' => ''],
+ 'ip' => ['description' => 'The IPv4 address of the ENI in the specified endpoint zone.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''],
+ 'Ipv6Address' => ['description' => 'The IPv6 address of the ENI in the specified endpoint zone.'."\n"
+ .'>This parameter can be specified only when the AddressIpVersion parameter is set to DualStack.', 'type' => 'string', 'required' => false, 'example' => '2408:4005:34d:****:a58b:62a3:6b55:****', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'SecurityGroupId',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The region ID of the endpoint service.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
+ 'description' => 'The security groups associated with the endpoint elastic network interface (ENI).',
+ 'type' => 'array',
+ 'items' => ['description' => 'The security group associated with the endpoint elastic network interface (ENI). The security group controls data communication between the VPC and the endpoint ENI.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp1fg655nh68xyz9****', 'title' => ''],
+ 'required' => false,
+ 'example' => 'sg-hp33bw6ynvm2yb0e****',
+ 'maxItems' => 10,
+ 'title' => '',
],
],
[
- 'name' => 'ServiceSupportIPv6',
+ 'name' => 'ProtectedEnabled',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to enable IPv6 for the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false** (default)'."\n",
- 'type' => 'boolean',
- 'deprecated' => true,
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'Specifies whether to enable managed protection. This parameter takes effect only for STS-based calls. Valid values:'."\n"
+ .' '."\n"
+ .'- **true**: enables managed protection. After managed protection is enabled, only the same user who created the endpoint can modify or delete the endpoint by using STS.'."\n"
+ .'- **false** (default): does not enable managed protection.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The resource group ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfmy*****',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint.'."\n"
+ ."\n"
+ .'You can call [DescribeRegions](~~120468~~) to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The tags to add to the resource.'."\n",
+ 'description' => 'The tags.',
'type' => 'array',
'items' => [
- 'description' => 'The list of tags.'."\n",
+ 'description' => 'The tags.',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag to add to the resource. You can specify up to 20 tag keys. 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",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'env',
- ],
- 'Value' => [
- 'description' => 'The value of the tag to add to the resource. You can specify up to 20 tag values. 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",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'prod',
- ],
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'env', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'prod', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
[
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmy*****', 'title' => ''],
+ ],
+ [
+ 'name' => 'PolicyDocument',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The RAM access policy. For more information about the policy definition, see [Basic elements of a policy](~~93738~~).', 'type' => 'string', 'required' => false, 'example' => '{'."\n"
+ .' "Version": "1",'."\n"
+ .' "Statement": ['."\n"
+ .' {'."\n"
+ .' "Effect": "Allow",'."\n"
+ .' "Action": ['."\n"
+ .' "oss:List*",'."\n"
+ .' "oss:PutObject",'."\n"
+ .' "oss:GetObject"'."\n"
+ .' ],'."\n"
+ .' "Resource": ['."\n"
+ .' "acs:oss:oss-*:*:pvl-policy-test/policy-test.txt"'."\n"
+ .' ],'."\n"
+ .' "Principal": {'."\n"
+ .' "RAM": ['."\n"
+ .' "acs:ram::14199xxxxxx:*"'."\n"
+ .' ]'."\n"
+ .' }'."\n"
+ .' }'."\n"
+ .' ]'."\n"
+ .'}', 'title' => ''],
+ ],
+ [
'name' => 'AddressIpVersion',
'in' => 'query',
'schema' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4** (default)'."\n"
- .'* **DualStack**'."\n"
+ 'description' => 'The protocol version. Valid values:'."\n"
."\n"
- .'> You can set the protocol to DualStack only for endpoint services whose backend resource type is NLB. An endpoint service supports dual-stack only if its backend resources support dual-stack.'."\n",
+ .'- **IPv4**: IPv4 (default).'."\n"
+ .'- **DualStack**: dual-stack.'."\n"
+ .'> To use dual-stack for the endpoint, the endpoint service connected to the endpoint and the VPC in which the endpoint resides must both support dual-stack.',
+ 'enumValueTitles' => [],
'type' => 'string',
'required' => false,
- 'enumValueTitles' => [
- 'IPv4' => 'IPv4',
- 'DualStack' => 'DualStack',
- ],
'example' => 'IPv4',
+ 'title' => '',
],
],
[
- 'name' => 'SupportedRegionList',
+ 'name' => 'ZoneAffinityEnabled',
'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- ],
+ 'schema' => ['description' => 'Specifies whether to enable zone affinity for the endpoint domain name of the connected service. Valid values:'."\n"
+ ."\n"
+ .'- **true**: enabled.'."\n"
+ .'- **false** (default): disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'ServiceRegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint service. The default value is the current region where you create an endpoint.', 'type' => 'string', 'required' => false, 'example' => 'cn-huhehaote', 'title' => ''],
+ ],
+ [
+ 'name' => 'CrossRegionBandwidth',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The cross-region bandwidth. This parameter is required only when the endpoint and the endpoint service are in different regions. Unit: Mbps. Valid values:'."\n"
+ ."\n"
+ .'- **Default value**: 1000 for cross-region connections within the Chinese mainland. 100 for other scenarios.'."\n"
+ .'- **Minimum value**: 100.'."\n"
+ .'- **Maximum value**: subject to the quota of your account. For more information, see [Quotas and limits](https://www.alibabacloud.com/help/en/privatelink/quotas-and-limits).'."\n"
+ .'> Specify this parameter only when you create a cross-region endpoint.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''],
],
],
'responses' => [
@@ -757,243 +940,143 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'ServiceBusinessStatus' => [
- 'description' => 'The service state of the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **Normal**: The endpoint service runs as expected.'."\n"
- .'* **FinancialLocked**: The endpoint service is locked due to overdue payments.'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B',
- ],
- 'ServiceName' => [
- 'description' => 'The name of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****',
- ],
- 'ServiceStatus' => [
- 'description' => 'The state of the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The endpoint service is being created.'."\n"
- .'* **Pending**: The endpoint service is being modified.'."\n"
- .'* **Active**: The endpoint service is available.'."\n"
- .'* **Deleting**: The endpoint service is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'ServiceDescription' => [
- 'description' => 'The description of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'This is my EndpointService.',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the endpoint service was created.'."\n",
- 'type' => 'string',
- 'example' => '2022-01-02T19:11:12Z',
- ],
- 'ServiceDomain' => [
- 'description' => 'The domain name of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com',
- ],
- 'ZoneAffinityEnabled' => [
- 'description' => 'Indicates whether the domain name of the nearest endpoint that is associated with the endpoint service is resolved first. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'AutoAcceptEnabled' => [
- 'description' => 'Indicates whether the endpoint service automatically accepts endpoint connection requests. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'ServiceId' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- 'ServiceSupportIPv6' => [
- 'description' => 'Indicates whether IPv6 was enabled for the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- 'deprecated' => true,
- ],
- 'ResourceGroupId' => [
- 'description' => 'The resource group ID.'."\n",
- 'type' => 'string',
- 'example' => 'rg-acfmy*****',
- ],
- 'AddressIpVersion' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n",
- 'type' => 'string',
- 'example' => 'IPv4',
- ],
- 'SupportedRegionSet' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ServiceRegionId' => [
- 'type' => 'string',
- 'deprecated' => true,
- ],
- 'RegionServiceStatus' => [
- 'type' => 'string',
- ],
- 'RegionBusinessStatus' => [
- 'type' => 'string',
- ],
- 'SupportedRegionId' => [
- 'type' => 'string',
- ],
- ],
- ],
- ],
+ 'EndpointDomain' => ['description' => 'The endpoint domain name.', 'type' => 'string', 'example' => 'ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the endpoint was created.', 'type' => 'string', 'example' => '2022-01-02T19:11:12Z', 'title' => ''],
+ 'EndpointBusinessStatus' => ['description' => 'The business status of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: Normal.'."\n"
+ ."\n"
+ .'- **FinancialLocked**: locked due to overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'EndpointDescription' => ['description' => 'The description of the endpoint.', 'type' => 'string', 'example' => 'This is my Endpoint.', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the endpoint service with which the endpoint is associated.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'EndpointStatus' => ['description' => 'The endpoint status. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: being created.'."\n"
+ ."\n"
+ .'- **Active**: available.'."\n"
+ ."\n"
+ .'- **Pending**: being modified.'."\n"
+ ."\n"
+ .'- **Deleting**: being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
+ 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) to which the endpoint belongs.', 'type' => 'string', 'example' => 'vpc-hp356stwkxg3fn2xe****', 'title' => ''],
+ 'EndpointName' => ['description' => 'The name of the endpoint.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'ServiceName' => ['description' => 'The name of the endpoint service with which the endpoint is associated.', 'type' => 'string', 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The connection bandwidth of the endpoint. Unit: Mbps.', 'type' => 'integer', 'format' => 'int64', 'example' => '200', 'title' => ''],
+ 'EndpointId' => ['description' => 'The endpoint ID.', 'type' => 'string', 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
+ 'ConnectionStatus' => ['description' => 'The endpoint connection status. Valid values:'."\n"
+ ."\n"
+ .'- **Pending**: being modified.'."\n"
+ ."\n"
+ .'- **Connecting**: connecting.'."\n"
+ ."\n"
+ .'- **Connected**: connected.'."\n"
+ ."\n"
+ .'- **Disconnecting**: disconnecting.'."\n"
+ ."\n"
+ .'- **Disconnected**: disconnected.'."\n"
+ ."\n"
+ .'- **Deleting**: being deleted.', 'type' => 'string', 'example' => 'Disconnected', 'title' => ''],
+ 'AddressIpVersion' => ['description' => 'The protocol version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: IPv4 (default).'."\n"
+ .'- **DualStack**: dual-stack.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'ZoneAffinityEnabled' => ['description' => 'Indicates whether zone affinity is enabled for the endpoint domain name of the connected service. Valid values:'."\n"
+ ."\n"
+ .'- **true**: enabled.'."\n"
+ ."\n"
+ .'- **false**: disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'ServiceRegionId' => ['description' => 'The region ID of the endpoint service.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''],
+ 'CrossRegionBandwidth' => ['description' => 'The cross-region bandwidth of the endpoint. This parameter is returned only when the endpoint and the endpoint service are in different regions. Unit: Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceExist',
- 'errorMessage' => 'The specified Endpoint Service already exists.',
- ],
- [
- 'errorCode' => 'AlbNotFound',
- 'errorMessage' => 'The specified Alb does not exist.',
- ],
- [
- 'errorCode' => 'LoadBalancerNotFound',
- 'errorMessage' => 'The specified load balancer does not exist.',
- ],
- [
- 'errorCode' => 'LoadBalancerNotSupportPrivateLink',
- 'errorMessage' => 'The specified SLB does not support PrivateLink.',
- ],
- [
- 'errorCode' => 'GenerateResourceIdFailed',
- 'errorMessage' => 'Failed to generate ResourceId.',
- ],
- [
- 'errorCode' => 'QuotaMisMatched',
- 'errorMessage' => 'The resource you applied for has exceeded the quota.',
- ],
- [
- 'errorCode' => 'VSwitchNotFound',
- 'errorMessage' => 'The specified VSwitch does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServicePayerForbidden',
- 'errorMessage' => 'The parameter EndpointServicePayer is forbidden. The user is not in the whitelist.',
- ],
- [
- 'errorCode' => 'NeedOpenProduct',
- 'errorMessage' => 'The product is not activated.',
- ],
- [
- 'errorCode' => 'EndpointServiceNotSupportedZone',
- 'errorMessage' => 'The specified endpoint service does not support the zone.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.NatGateway',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'Mismatch.ResourceType',
- 'errorMessage' => 'The %s is mismatched for %s and %s.',
- ],
- [
- 'errorCode' => 'EndpointServiceNotSupportIpv6',
- 'errorMessage' => 'The param supportIpv6 of EndpointService is forbidden , resource is not support ipv6.',
- ],
- [
- 'errorCode' => 'OperationDenied.PrivateDomainNotSupport',
- 'errorMessage' => 'The operation is not allowed because of PrivateDomainNotSupport.',
- ],
- [
- 'errorCode' => 'Conflict.ServiceName',
- 'errorMessage' => 'The ServiceName %s is conflict.',
- ],
- [
- 'errorCode' => 'InvalidParam.PrivateDnsName',
- 'errorMessage' => 'The parameter of PrivateDnsName is illegal, which needs to end with aliyun.com, aliyun-inc.com, or aliyuncs.com.',
- ],
- [
- 'errorCode' => 'OperationDenied.ZoneAffinityNotSupport',
- 'errorMessage' => 'The operation is not allowed because of zone affinity not support.',
- ],
- [
- 'errorCode' => 'OperationDenied.RamPolicyNotSupport',
- 'errorMessage' => 'The operation is not allowed because of RamPolicyNotSupport.',
- ],
- [
- 'errorCode' => 'OperationDenied.ResourceTypeNotSupportDualStack',
- 'errorMessage' => 'The specified resource type does not support dualstack.',
- ],
- [
- 'errorCode' => 'OperationDenied.ServiceResourceIpVersionMismatch',
- 'errorMessage' => 'The endpoint service and service resource AddressIpVersion do not match.',
- ],
- [
- 'errorCode' => 'IllegalParam.AddressIpVersion',
- 'errorMessage' => 'The specified parameter AddressIpVersion is invalid.',
- ],
- [
- 'errorCode' => 'SpecifiedAlbNotSupport',
- 'errorMessage' => 'The specified alb %s is not supported.',
- ],
+ ['errorCode' => 'EndpointExist', 'errorMessage' => 'The specified Endpoint already exists.', 'description' => 'The specified Endpoint already exists.'],
+ ['errorCode' => 'EndpointZoneDuplicated', 'errorMessage' => 'The zone is duplicated for the Endpoint.', 'description' => 'The zone is duplicated for the Endpoint.'],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointServiceNotSupportedZone', 'errorMessage' => 'The specified endpoint service does not support the zone.', 'description' => 'The specified endpoint service does not support the zone.'],
+ ['errorCode' => 'VSwitchNotFound', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''],
+ ['errorCode' => 'SecurityGroupNotFound', 'errorMessage' => 'The specified security group does not exist.', 'description' => 'The specified security group does not exist.'],
+ ['errorCode' => 'VpcTunnelNotFound', 'errorMessage' => 'The specified VPC tunnel does not exist.', 'description' => 'The specified VPC tunnel does not exist.'],
+ ['errorCode' => 'VpcNotFound', 'errorMessage' => 'The specified VPC does not exist.', 'description' => 'The specified VPC does not exist.'],
+ ['errorCode' => 'GenerateResourceIdFailed', 'errorMessage' => 'Failed to generate ResourceId.', 'description' => 'Failed to generate ResourceId.'],
+ ['errorCode' => 'QuotaMisMatched', 'errorMessage' => 'The resource you applied for has exceeded the quota.', 'description' => 'The resource you applied for has exceeded the quota.'],
+ ['errorCode' => 'EndpointMustContainSecurityGroup', 'errorMessage' => 'The specified endpoint must have at least one security group.', 'description' => 'The specified endpoint must have at least one security group.'],
+ ['errorCode' => 'EndpointDuplicated', 'errorMessage' => 'The endpoint of the service already exists and cannot be created again.', 'description' => ''],
+ ['errorCode' => 'EndpointServiceDeleted', 'errorMessage' => 'The specified Service is already deleted.', 'description' => 'The specified Service is already deleted.'],
+ ['errorCode' => 'EndpointServiceResourceNotFound', 'errorMessage' => 'The specified service resource is not found.', 'description' => ''],
+ ['errorCode' => 'SecurityGroupTypeNotSupport', 'errorMessage' => 'The specified security group type is not supported.', 'description' => ''],
+ ['errorCode' => 'EniIpUnavailable', 'errorMessage' => 'The specified IP address is unavailable.', 'description' => 'The specified IP address is unavailable.'],
+ ['errorCode' => 'EndpointServiceNotAuthorized', 'errorMessage' => 'The specified endpoint service is not authorized to user.', 'description' => 'The specified endpoint service is not authorized to user.'],
+ ['errorCode' => 'SecurityGroupTypeOnlySingleTypeSupporteded', 'errorMessage' => 'The specified security group only support one type.', 'description' => ''],
+ ['errorCode' => 'QuotaExceeded.IpQuotaPerEp', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => ''],
+ ['errorCode' => 'Mismatch.EndpointType', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => ''],
+ ['errorCode' => 'IncorrectStatus.VpcEndpointService', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'CheckServiceLinkRoleError', 'errorMessage' => 'The ServiceLink role check error.', 'description' => 'ServiceLinkRole check error'],
+ ['errorCode' => 'ResourceNotEnough.VSwitchIp', 'errorMessage' => 'The specified resource of VSwitchIp is not enough.', 'description' => 'The number of vSwitch IP addresses is insufficient.'],
+ ['errorCode' => 'VSwitchStatusNotAllowed', 'errorMessage' => 'The specified vswitch status is not Available.', 'description' => 'The status of the vSwitch is not available.'],
+ ['errorCode' => 'QuotaExceeded.epZonePerEndpoint', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => 'The number of endpoints in a zone has reached the upper limit.'],
+ ['errorCode' => 'QuotaExceeded.totalEpPerVpc', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => 'The number of VPC endpoints has reached the upper limit.'],
+ ['errorCode' => 'QuotaExceeded.totalIdleEndpoint', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => 'The total number of idle endpoints has reached the upper limit.'],
+ ['errorCode' => 'OperationDenied.EndpointPolicyNotSupport', 'errorMessage' => 'The operation is not allowed because of EndpointPolicyNotSupport.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.PrivateDomainStatusNotSupport', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.PrivateDomainNotSupport', 'errorMessage' => 'The operation is not allowed because of PrivateDomainNotSupport.', 'description' => ''],
+ ['errorCode' => 'DependencyViolation.PrivateDnsName', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => ''],
+ ['errorCode' => 'GatewayLoadBalancerNotSupportSecurityGroup', 'errorMessage' => 'The gateway load balancer not support security group.', 'description' => 'The gateway load balancer type does not support setting a security group.'],
+ ['errorCode' => 'GatewayLoadBalancerZoneCountDeny', 'errorMessage' => 'The GatewayLoadBalancer zone count not support', 'description' => 'The number of available zones does not meet the limit and cannot be operated.'],
+ ['errorCode' => 'OperationDenied.EndpointTypeNotSupportDualstack', 'errorMessage' => 'The specified endpoint type does not support dualstack, only the Interface and GatewayLoadBalancer types support dual stack.', 'description' => 'The specified endpoint type does not support dualstack, only the Interface and GatewayLoadBalancer types support dual stack.'],
+ ['errorCode' => 'OperationDenied.EndpointServiceNotSupportDualstack', 'errorMessage' => 'The specified endpoint service does not support dualstack.', 'description' => 'The specified endpoint service does not support dualstack.'],
+ ['errorCode' => 'OperationDenied.VSwitchNotSupportDualstack', 'errorMessage' => 'The specified VSwitch does not support dualstack.', 'description' => 'The specified VSwitch does not support dualstack.'],
+ ['errorCode' => 'OperationDenied.AddressIpVersionNotSupportSpecifyIpv6', 'errorMessage' => 'The AddressIpVersion of the endpoint does not support specifying IPv6 address.', 'description' => 'The AddressIpVersion of the endpoint does not support specifying an IPv6 address.'],
+ ['errorCode' => 'IllegalParam.Ip', 'errorMessage' => 'The specified parameter IP is invalid.', 'description' => 'The specified parameter IP is invalid.'],
+ ['errorCode' => 'IllegalParam.Ipv6Address', 'errorMessage' => 'The specified parameter Ipv6Address is invalid.', 'description' => 'The specified parameter Ipv6Address is invalid.'],
+ ['errorCode' => 'IllegalParam.AddressIpVersion', 'errorMessage' => 'The specified parameter AddressIpVersion is invalid.', 'description' => 'The specified parameter AddressIpVersion does not meet the requirements.'],
+ ['errorCode' => 'SpecifiedAlbNotSupport', 'errorMessage' => 'The specified alb %s is not supported.', 'description' => 'the specified alb instance is not supported.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ServiceBusinessStatus\\": \\"Normal\\",\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceStatus\\": \\"Active\\",\\n \\"ServiceDescription\\": \\"This is my EndpointService.\\",\\n \\"CreateTime\\": \\"2022-01-02T19:11:12Z\\",\\n \\"ServiceDomain\\": \\"epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"ZoneAffinityEnabled\\": false,\\n \\"AutoAcceptEnabled\\": false,\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceSupportIPv6\\": false,\\n \\"ResourceGroupId\\": \\"rg-acfmy*****\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"SupportedRegionSet\\": [\\n {\\n \\"ServiceRegionId\\": \\"\\",\\n \\"RegionServiceStatus\\": \\"\\",\\n \\"RegionBusinessStatus\\": \\"\\",\\n \\"SupportedRegionId\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'CreateVpcEndpointService',
- 'description' => '* Before you create an endpoint service, make sure that you have created a Server Load Balancer (SLB) instance that supports PrivateLink. For more information, see [CreateLoadBalancer](~~174064~~).'."\n"
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndpointDomain\\": \\"ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"CreateTime\\": \\"2022-01-02T19:11:12Z\\",\\n \\"EndpointBusinessStatus\\": \\"Normal\\",\\n \\"EndpointDescription\\": \\"This is my Endpoint.\\",\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"EndpointStatus\\": \\"Active\\",\\n \\"VpcId\\": \\"vpc-hp356stwkxg3fn2xe****\\",\\n \\"EndpointName\\": \\"test\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****\\",\\n \\"Bandwidth\\": 200,\\n \\"EndpointId\\": \\"ep-hp33b2e43fays7s8****\\",\\n \\"ConnectionStatus\\": \\"Disconnected\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"ZoneAffinityEnabled\\": false,\\n \\"ServiceRegionId\\": \\"cn-huhehaote\\",\\n \\"CrossRegionBandwidth\\": 1000\\n}","type":"json"}]',
+ 'title' => 'Create an endpoint',
+ 'description' => '**CreateVpcEndpoint** is an asynchronous operation. After you call the operation, the system returns an instance ID while the endpoint is still being created as a background node. You can call [GetVpcEndpointAttribute](~~469349~~) to query the creation status of the endpoint:'."\n"
."\n"
- .'* **CreateVpcEndpointService** is an asynchronous operation. After a request is sent, the system returns a request ID and an instance ID and runs the task in the background. You can call the [GetVpcEndpointServiceAttribute](~~183542~~) operation to query the status of the endpoint service.'."\n"
- ."\n"
- .' * If the endpoint service is in the **Creating** state, the endpoint service is being created.'."\n"
- .' * If the endpoint service is in the **Active** state, the endpoint service is created.'."\n",
+ .'- If the endpoint is in the **Creating** state, the endpoint is being created.'."\n"
+ .'- If the endpoint is in the **Active** state, the endpoint is created.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'UpdateVpcEndpointServiceAttribute' => [
- 'summary' => 'Modifies the attributes of an endpoint service.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'privatelink:CreateVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'privatelink:VpcEndpointServiceId', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/*'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'CreateVpcEndpointService' => [
+ 'summary' => 'Calls the CreateVpcEndpointService operation to create an endpoint service.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -1002,340 +1085,373 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
- 'chargeType' => 'paid',
- 'abilityTreeCode' => '16189',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkW2XK1B',
- ],
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '16165',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkW2XK1B'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~469325~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', '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' => 'false',
- ],
- ],
- [
- 'name' => 'ServiceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ '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, the `DryRunOperation` error code is returned.'."\n"
+ ."\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' => ''],
],
[
'name' => 'ServiceDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the endpoint service.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'This is my EndpointService.',
- ],
+ 'schema' => ['description' => 'The description of the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'This is my EndpointService.', 'title' => ''],
],
[
'name' => 'AutoAcceptEnabled',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to automatically accept endpoint connection requests. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'Specifies whether to automatically accept endpoint connections. Valid values:'."\n"
+ ."\n"
+ .'- **true**: automatically accept endpoint connections.'."\n"
+ ."\n"
+ .'- **false** (default): do not automatically accept endpoint connections.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'ConnectBandwidth',
+ 'name' => 'Payer',
'in' => 'query',
- 'schema' => [
- 'description' => 'The default maximum bandwidth of the endpoint connection. Unit: Mbit/s. Default value: **3072**.'."\n"
- ."\n"
- .'Valid values: **100** to **10240**.'."\n"
- ."\n"
- .'> You can specify this parameter only if you specify Classic Load Balancer (CLB) instances or Application Load Balancer (ALB) instances as service resources.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '200',
- ],
+ 'schema' => ['description' => 'The payer. Valid values:'."\n"
+ ."\n"
+ .'- **Endpoint**: service consumer.'."\n"
+ ."\n"
+ .'- **EndpointService**: service provider.', 'type' => 'string', 'required' => false, 'example' => 'Endpoint', 'title' => ''],
],
[
'name' => 'ZoneAffinityEnabled',
'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to support zone affinity for the endpoint domain name of the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **true**: supported.'."\n"
+ ."\n"
+ .'- **false** (default): not supported.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'ServiceResourceType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The EPS resource type. Valid values:'."\n"
+ ."\n"
+ .'- **slb**: Classic Load Balancer (CLB).'."\n"
+ ."\n"
+ .'- **alb**: Application Load Balancer (ALB).'."\n"
+ .'- **nlb**: Network Load Balancer (NLB).'."\n"
+ .'- **gwlb**: Gateway Load Balancer (GWLB).'."\n"
+ ."\n"
+ .'> Access to TCPSSL listeners of NLB is not supported.', 'type' => 'string', 'required' => false, 'example' => 'slb', 'title' => ''],
+ ],
+ [
+ 'name' => 'Resource',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to first resolve the domain name of the nearest endpoint that is associated with the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **true** (default)'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
+ 'description' => 'The service resources of the endpoint service. You can add up to 10 resources during creation. After creation, you can add more resources by adding service resources to the endpoint.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The service resources of the endpoint service.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ResourceType' => ['description' => 'The EPS resource type to add to the endpoint service. You can add up to 20 service resources to an endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **slb**: Classic Load Balancer (CLB).'."\n"
+ ."\n"
+ .'- **alb**: Application Load Balancer (ALB).'."\n"
+ .'- **nlb**: Network Load Balancer (NLB).'."\n"
+ .'- **gwlb**: Gateway Load Balancer (GWLB).', 'type' => 'string', 'required' => false, 'example' => 'slb', 'title' => ''],
+ 'ResourceId' => ['description' => 'The ID of the service resource to add to the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
+ 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-huhehaote-a', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'true',
+ 'maxItems' => 10,
+ 'title' => '',
+ 'example' => '',
],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~469325~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
'name' => 'ServiceSupportIPv6',
'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether the endpoint service supports IPv6. Valid values:'."\n"
+ ."\n"
+ .'- **true**: supported.'."\n"
+ ."\n"
+ .'- **false** (default): not supported.', 'type' => 'boolean', 'deprecated' => true, 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmy*****', 'title' => ''],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to enable IPv6. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false** (default)'."\n",
- 'type' => 'boolean',
- 'deprecated' => true,
+ 'description' => 'The list of tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of tags.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key of the instance. You can specify up to 20 tag keys. 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://`.', 'type' => 'string', 'required' => false, 'example' => 'env', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the instance. You can specify up to 20 tag values. 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://`.', 'type' => 'string', 'required' => false, 'example' => 'prod', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'false',
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
],
],
[
'name' => 'AddressIpVersion',
'in' => 'query',
'schema' => [
- 'description' => 'The protocol. Valid values:'."\n"
+ 'description' => 'The protocol version. Valid values:'."\n"
."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n"
- ."\n"
- .'> You can set the protocol to DualStack only for endpoint services whose backend resource type is NLB.'."\n",
+ .'- **IPv4**: IPv4 (default).'."\n"
+ .'- **DualStack**: dual-stack.'."\n"
+ .'> Only endpoint services whose backend resource type is nlb or gwlb support the DualStack IP address protocol. If the endpoint service supports dual-stack, the backend resources must also support dual-stack.',
+ 'enumValueTitles' => [],
'type' => 'string',
'required' => false,
- 'enumValueTitles' => [
- 'IPv4' => 'IPv4',
- 'DualStack' => 'DualStack',
- ],
'example' => 'IPv4',
+ 'title' => '',
],
],
[
- 'name' => 'AddSupportedRegionSet',
- 'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
- ],
- ],
- [
- 'name' => 'DeleteSupportedRegionSet',
+ 'name' => 'SupportedRegionList',
'in' => 'query',
'style' => 'flat',
'schema' => [
+ 'description' => 'The list of regions supported by the endpoint service. Service consumers can initiate endpoint connections from the regions in the list.',
'type' => 'array',
- 'items' => [
- 'type' => 'string',
- ],
+ 'items' => ['description' => 'The ID of the region supported by the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'description' => 'The returned result.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B',
+ 'ServiceBusinessStatus' => ['description' => 'The business status of the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: normal.'."\n"
+ ."\n"
+ .'- **FinancialLocked**: financial lock.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B', 'title' => ''],
+ 'ServiceName' => ['description' => 'The service name of the endpoint service.', 'type' => 'string', 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'ServiceStatus' => ['description' => 'The endpoint service status. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: being created.'."\n"
+ ."\n"
+ .'- **Pending**: being modified.'."\n"
+ ."\n"
+ .'- **Active**: available.'."\n"
+ ."\n"
+ .'- **Deleting**: being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
+ 'ServiceDescription' => ['description' => 'The description of the endpoint service.', 'type' => 'string', 'example' => 'This is my EndpointService.', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the endpoint service was created.', 'type' => 'string', 'example' => '2022-01-02T19:11:12Z', 'title' => ''],
+ 'ServiceDomain' => ['description' => 'The service domain name of the endpoint service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com', 'title' => ''],
+ 'ZoneAffinityEnabled' => ['description' => 'Indicates whether zone affinity is supported for the endpoint domain name of the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **true**: supported.'."\n"
+ .'- **false**: not supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'AutoAcceptEnabled' => ['description' => 'Indicates whether the endpoint service is configured to automatically accept endpoint connections. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The endpoint service automatically accepts endpoint connections.'."\n"
+ .'- **false**: The endpoint service does not automatically accept endpoint connections.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the endpoint service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'ServiceSupportIPv6' => ['description' => 'Indicates whether the endpoint service supports IPv6. Valid values:'."\n"
+ ."\n"
+ .'- **true**: supported.'."\n"
+ ."\n"
+ .'- **false**: not supported.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmy*****', 'title' => ''],
+ 'AddressIpVersion' => ['description' => 'The protocol version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: IPv4.'."\n"
+ .'- **DualStack**: dual-stack.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'SupportedRegionSet' => [
+ 'description' => 'The list of regions supported by the endpoint service. Service consumers can initiate endpoint connections from the regions in the list.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ServiceRegionId' => ['type' => 'string', 'deprecated' => true, 'description' => '', 'title' => '', 'example' => ''],
+ 'RegionServiceStatus' => ['description' => 'The status of the region supported by the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Pending**: being modified.'."\n"
+ .'- **Available**: available.'."\n"
+ .'- **Deleting**: being deleted.'."\n"
+ .'- **Failed**: failed.'."\n"
+ .'- **Closed**: closed.', 'type' => 'string', 'example' => 'Available', 'title' => ''],
+ 'RegionBusinessStatus' => ['description' => 'The business status of the region supported by the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: normal.'."\n"
+ .'- **FinancialLocked**: financial lock.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'SupportedRegionId' => ['description' => 'The ID of the region supported by the endpoint service.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServiceLocked',
- 'errorMessage' => 'The specified Service is locked.',
- ],
- [
- 'errorCode' => 'EndpointServiceOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint service is not allowed.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'OperationDenied.PrivateServiceDomainBusinessStatus',
- 'errorMessage' => 'The operation is not allowed because of PrivateServiceDomainBusinessStatus.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'ServiceResourceNotSupportIpv6',
- 'errorMessage' => 'The resource is not support ipv6.',
- ],
- [
- 'errorCode' => 'EndpointServiceDowngradeNotAllowed',
- 'errorMessage' => 'The EndpointService is not allowed for downgrade.',
- ],
- [
- 'errorCode' => 'DependencyViolation.PrivateDnsName',
- 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.',
- ],
- [
- 'errorCode' => 'OperationDenied.PrivateDomainNotSupport',
- 'errorMessage' => 'The operation is not allowed because of PrivateDomainNotSupport.',
- ],
- [
- 'errorCode' => 'OperationDenied.PrivateDomainStatusNotSupport',
- 'errorMessage' => 'The operation is not allowed because of %s.',
- ],
- [
- 'errorCode' => 'Conflict.ServiceName',
- 'errorMessage' => 'The ServiceName %s is conflict.',
- ],
- [
- 'errorCode' => 'InvalidParam.PrivateDnsName',
- 'errorMessage' => 'The parameter of PrivateDnsName is illegal, which needs to end with aliyun.com, aliyun-inc.com, or aliyuncs.com.',
- ],
- [
- 'errorCode' => 'OperationDenied.ResourceTypeNotSupportDualStack',
- 'errorMessage' => 'The specified resource type does not support dualstack.',
- ],
- [
- 'errorCode' => 'OperationDenied.ServiceResourceIpVersionMismatch',
- 'errorMessage' => 'The endpoint service and service resource AddressIpVersion do not match.',
- ],
- [
- 'errorCode' => 'EndpointServiceConnectionDependence',
- 'errorMessage' => 'There are connections between the endpoint service and the dualstack endpoint, the endpoint service address ip version not support switching from dualstack to ipv4.',
- ],
+ ['errorCode' => 'EndpointServiceExist', 'errorMessage' => 'The specified Endpoint Service already exists.', 'description' => 'The specified Endpoint Service already exists.'],
+ ['errorCode' => 'AlbNotFound', 'errorMessage' => 'The specified Alb does not exist.', 'description' => 'The specified Alb does not exist.'],
+ ['errorCode' => 'LoadBalancerNotFound', 'errorMessage' => 'The specified load balancer does not exist.', 'description' => 'The specified Alb does not exist.'],
+ ['errorCode' => 'LoadBalancerNotSupportPrivateLink', 'errorMessage' => 'The specified SLB does not support PrivateLink.', 'description' => 'The specified SLB does not support PrivateLink.'],
+ ['errorCode' => 'GenerateResourceIdFailed', 'errorMessage' => 'Failed to generate ResourceId.', 'description' => 'Failed to generate ResourceId.'],
+ ['errorCode' => 'QuotaMisMatched', 'errorMessage' => 'The resource you applied for has exceeded the quota.', 'description' => 'The resource you applied for has exceeded the quota.'],
+ ['errorCode' => 'VSwitchNotFound', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''],
+ ['errorCode' => 'EndpointServicePayerForbidden', 'errorMessage' => 'The parameter EndpointServicePayer is forbidden. The user is not in the whitelist.', 'description' => ''],
+ ['errorCode' => 'NeedOpenProduct', 'errorMessage' => 'The product is not activated.', 'description' => 'The product is not activated.'],
+ ['errorCode' => 'EndpointServiceNotSupportedZone', 'errorMessage' => 'The specified endpoint service does not support the zone.', 'description' => 'The specified endpoint service does not support the zone.'],
+ ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'The parameter format of %s is illegal.'],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The parameter %s is missing.'],
+ ['errorCode' => 'ResourceNotFound.NatGateway', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ['errorCode' => 'Mismatch.ResourceType', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => 'The %s is mismatched for %s and %s.'],
+ ['errorCode' => 'EndpointServiceNotSupportIpv6', 'errorMessage' => 'The param supportIpv6 of EndpointService is forbidden , resource is not support ipv6.', 'description' => 'The endpoint service does not support IPv6.'],
+ ['errorCode' => 'OperationDenied.PrivateDomainNotSupport', 'errorMessage' => 'The operation is not allowed because of PrivateDomainNotSupport.', 'description' => ''],
+ ['errorCode' => 'Conflict.ServiceName', 'errorMessage' => 'The ServiceName %s is conflict.', 'description' => ''],
+ ['errorCode' => 'InvalidParam.PrivateDnsName', 'errorMessage' => 'The parameter of PrivateDnsName is illegal, which needs to end with aliyun.com, aliyun-inc.com, or aliyuncs.com.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.ZoneAffinityNotSupport', 'errorMessage' => 'The operation is not allowed because of zone affinity not support.', 'description' => 'The operation is not allowed because zone affinity is not supported.'],
+ ['errorCode' => 'OperationDenied.RamPolicyNotSupport', 'errorMessage' => 'The operation is not allowed because of RamPolicyNotSupport.', 'description' => 'The operation is not allowed because ram policy are not supported.'],
+ ['errorCode' => 'OperationDenied.ResourceTypeNotSupportDualStack', 'errorMessage' => 'The specified resource type does not support dualstack.', 'description' => 'The specified resource type does not support dualstack.'],
+ ['errorCode' => 'OperationDenied.ServiceResourceIpVersionMismatch', 'errorMessage' => 'The endpoint service and service resource AddressIpVersion do not match.', 'description' => 'The endpoint service and service resource AddressIpVersion do not match.'],
+ ['errorCode' => 'IllegalParam.AddressIpVersion', 'errorMessage' => 'The specified parameter AddressIpVersion is invalid.', 'description' => 'The specified parameter AddressIpVersion does not meet the requirements.'],
+ ['errorCode' => 'SpecifiedAlbNotSupport', 'errorMessage' => 'The specified alb %s is not supported.', 'description' => 'the specified alb instance is not supported.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateVpcEndpointServiceAttributeResponse>\\n <RequestId>8D8992C1-6712-423C-BAC5-E5E817484C6B</RequestId>\\n</UpdateVpcEndpointServiceAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateVpcEndpointServiceAttribute',
- 'description' => 'You cannot repeatedly call the **UpdateVpcEndpointServiceAttribute** operation to modify the attributes of an endpoint service that belongs to an Alibaba Cloud account within a specified period of time.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'GetVpcEndpointServiceAttribute' => [
- 'summary' => 'Queries the attributes of an endpoint service.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ServiceBusinessStatus\\": \\"Normal\\",\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceStatus\\": \\"Active\\",\\n \\"ServiceDescription\\": \\"This is my EndpointService.\\",\\n \\"CreateTime\\": \\"2022-01-02T19:11:12Z\\",\\n \\"ServiceDomain\\": \\"epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"ZoneAffinityEnabled\\": false,\\n \\"AutoAcceptEnabled\\": false,\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceSupportIPv6\\": false,\\n \\"ResourceGroupId\\": \\"rg-acfmy*****\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"SupportedRegionSet\\": [\\n {\\n \\"ServiceRegionId\\": \\"\\",\\n \\"RegionServiceStatus\\": \\"Available\\",\\n \\"RegionBusinessStatus\\": \\"Normal\\",\\n \\"SupportedRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'Create an endpoint service',
+ 'description' => '- Before you create an endpoint service, make sure that you have created a load balancing resource that supports PrivateLink. For more information, see [Create a load balancer instance](~~174064~~).'."\n"
+ .'- **CreateVpcEndpointService** is an asynchronous operation. After a request is sent, the system returns an instance ID, but the endpoint service is not yet created. The background node is still running. You can invoke [GetVpcEndpointServiceAttribute](~~183542~~) to query the creation status of the endpoint service:'."\n"
+ ."\n"
+ .' - If the endpoint service is in the **Creating** state, the endpoint service is being created.'."\n"
+ ."\n"
+ .' - If the endpoint service is in the **Active** state, the endpoint service is created.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'privatelink:CreateVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/*'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:alb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteVpcEndpoint' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '16175',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkW2XK1B',
- ],
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '16166',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkG9DJDQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint that you want to delete. Call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
[
- 'name' => 'ServiceId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ '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. **ClientToken** can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', '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): 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.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the endpoint that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint that you want to delete. Call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
],
'responses' => [
@@ -1343,417 +1459,192 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Payer' => [
- 'description' => 'The payer of the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **Endpoint**: the service consumer.'."\n"
- .'* **EndpointService**: the service provider.'."\n",
- 'type' => 'string',
- 'example' => 'Endpoint',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B',
- ],
- 'ServiceDescription' => [
- 'description' => 'The description of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'This is my EndpointService.',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the endpoint service was created.'."\n",
- 'type' => 'string',
- 'example' => '2020-01-02T19:11:12Z',
- ],
- 'MaxBandwidth' => [
- 'description' => 'The maximum bandwidth of the endpoint connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1024',
- ],
- 'MinBandwidth' => [
- 'description' => 'The minimum bandwidth of the endpoint connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '100',
- ],
- 'ServiceDomain' => [
- 'description' => 'The domain name of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com',
- ],
- 'AutoAcceptEnabled' => [
- 'description' => 'Indicates whether endpoint connection requests are automatically accepted. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ZoneAffinityEnabled' => [
- 'description' => 'Indicates whether the domain name of the nearest endpoint that is associated with the endpoint service is resolved first. Valid values:'."\n"
- ."\n"
- .'* **true** (default)'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ServiceId' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- 'Zones' => [
- 'description' => 'The zones to which the service resources belong.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the array object.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote-b',
- ],
- ],
- 'ServiceBusinessStatus' => [
- 'description' => 'The service status of the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **Normal**: The endpoint service runs as expected.'."\n"
- .'* **FinancialLocked**: The endpoint service is locked due to overdue payments.'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'ServiceName' => [
- 'description' => 'The name of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****',
- ],
- 'ServiceStatus' => [
- 'description' => 'The state of the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The endpoint service is being created.'."\n"
- .'* **Pending**: The endpoint service is being modified.'."\n"
- .'* **Active**: The endpoint service is available.'."\n"
- .'* **Deleting**: The endpoint service is being deleted.'."\n"
- .'* **Inactive**: The endpoint service is unavailable.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'ConnectBandwidth' => [
- 'description' => 'The default maximum bandwidth of the endpoint connection. Unit: Mbit/s. Valid values: **100** to 10240.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1024',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote',
- ],
- 'ServiceType' => [
- 'description' => 'The type of the endpoint.'."\n"
- ."\n"
- .'Only **Interface** is returned. The value indicates the interface endpoint. Then, you can specify ALB and CLB instances as service resources for the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'Interface',
- ],
- 'ServiceResourceType' => [
- 'description' => 'The type of the service resource. Valid values:'."\n"
- ."\n"
- .'* **slb**: a CLB instance.'."\n"
- .'* **alb**: an ALB instance.'."\n",
- 'type' => 'string',
- 'example' => 'slb',
- ],
- 'ServiceSupportIPv6' => [
- 'description' => 'Specifies whether the endpoint service supports IPv6. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false** (default)'."\n",
- 'type' => 'boolean',
- 'deprecated' => true,
- 'example' => 'false',
- ],
- 'ResourceGroupId' => [
- 'description' => 'The resource group ID.'."\n",
- 'type' => 'string',
- 'example' => 'rg-acfmy*****',
- ],
- 'AddressIpVersion' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n",
- 'type' => 'string',
- 'example' => 'IPv4',
- ],
- 'SupportedRegionSet' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ServiceRegionId' => [
- 'type' => 'string',
- 'deprecated' => true,
- ],
- 'RegionServiceStatus' => [
- 'type' => 'string',
- ],
- 'RegionBusinessStatus' => [
- 'type' => 'string',
- ],
- 'SupportedRegionId' => [
- 'type' => 'string',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
+ ['errorCode' => 'OperationDenied.EndpointProtected', 'errorMessage' => 'The operation is not allowed because of EndpointProtected.', 'description' => 'Managed protection is enabled for the endpoint. Operation is not allowed.'],
+ ['errorCode' => 'EndpointOperationDenied', 'errorMessage' => 'The specified operation of endpoint is not allowed.', 'description' => 'The specified operation of endpoint is not allowed.'],
+ ['errorCode' => 'EndpointDependenceViolation', 'errorMessage' => 'The specified endpoint has dependent zone(s).', 'description' => 'The specified endpoint has dependent zone(s).'],
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
+ ['errorCode' => 'EndpointProtected', 'errorMessage' => 'The specified Endpoint is protected.', 'description' => ''],
+ ['errorCode' => 'EndpointAssociatedVpc', 'errorMessage' => 'The endpoint is associated with a vpc.', 'description' => 'the endpoint has been associated with a vpc. delete the route entry of the endpoint first.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Payer\\": \\"Endpoint\\",\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"ServiceDescription\\": \\"This is my EndpointService.\\",\\n \\"CreateTime\\": \\"2020-01-02T19:11:12Z\\",\\n \\"MaxBandwidth\\": 1024,\\n \\"MinBandwidth\\": 100,\\n \\"ServiceDomain\\": \\"epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"AutoAcceptEnabled\\": true,\\n \\"ZoneAffinityEnabled\\": true,\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"Zones\\": [\\n \\"cn-huhehaote-b\\"\\n ],\\n \\"ServiceBusinessStatus\\": \\"Normal\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceStatus\\": \\"Active\\",\\n \\"ConnectBandwidth\\": 3072,\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ServiceType\\": \\"Interface\\",\\n \\"ServiceResourceType\\": \\"slb\\",\\n \\"ServiceSupportIPv6\\": false,\\n \\"ResourceGroupId\\": \\"rg-acfmy*****\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"SupportedRegionSet\\": [\\n {\\n \\"ServiceRegionId\\": \\"\\",\\n \\"RegionServiceStatus\\": \\"\\",\\n \\"RegionBusinessStatus\\": \\"\\",\\n \\"SupportedRegionId\\": \\"\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetVpcEndpointServiceAttributeResponse>\\n <Payer>Endpoint</Payer>\\n <RequestId>8D8992C1-6712-423C-BAC5-E5E817484C6B</RequestId>\\n <ServiceDescription>This is my EndpointService.</ServiceDescription>\\n <CreateTime>2020-01-02T19:11:12Z</CreateTime>\\n <MaxBandwidth>1024</MaxBandwidth>\\n <MinBandwidth>100</MinBandwidth>\\n <ServiceDomain>epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com</ServiceDomain>\\n <AutoAcceptEnabled>true</AutoAcceptEnabled>\\n <ZoneAffinityEnabled>true</ZoneAffinityEnabled>\\n <ServiceId>epsrv-hp3vpx8yqxblby3i****</ServiceId>\\n <Zones>cn-huhehaote-b</Zones>\\n <ServiceBusinessStatus>Normal</ServiceBusinessStatus>\\n <ServiceName>com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****</ServiceName>\\n <ServiceStatus>Active</ServiceStatus>\\n <ConnectBandwidth>1024</ConnectBandwidth>\\n <RegionId>cn-huhehaote</RegionId>\\n <ServiceType>Interface</ServiceType>\\n <ServiceResourceType>slb</ServiceResourceType>\\n <ServiceSupportIPv6>false</ServiceSupportIPv6>\\n <ResourceGroupId>rg-acfmy*****</ResourceGroupId>\\n</GetVpcEndpointServiceAttributeResponse>","errorExample":""}]',
- 'title' => 'GetVpcEndpointServiceAttribute',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListVpcEndpointServices' => [
- 'summary' => 'Queries a list of endpoint services.',
- 'methods' => [
- 'post',
- 'get',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'https',
+ 'title' => 'DeleteVpcEndpoint',
+ 'summary' => 'Deletes an endpoint.',
+ 'description' => '- Before you delete an endpoint, make sure that all zones associated with the endpoint have been deleted.'."\n"
+ ."\n"
+ .'- **DeleteVpcEndpoint** is an asynchronous operation. After you send a request, the system returns a request ID and deletes the endpoint in the background. You can call the [GetVpcEndpointAttribute](~~469349~~) operation to query the status of the endpoint.'."\n"
+ ."\n"
+ .' - If the endpoint status is **Deleting**, the endpoint is being deleted.'."\n"
+ ."\n"
+ .' - If the endpoint cannot be queried, the endpoint has been deleted.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'privatelink:DeleteVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteVpcEndpointService' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '16180',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkW2XK1B',
- ],
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'ClientToken',
'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"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request 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' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Valid values: **1** to **1000**. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '1000',
- 'minimum' => '0',
- 'example' => '50',
- ],
+ '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"
+ ."\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' => ''],
],
[
'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- ],
- [
- 'name' => 'ServiceName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the endpoint service.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****',
- ],
- ],
- [
- 'name' => 'ResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The service resource ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint service that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'ServiceResourceType',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the service resource. Valid values:'."\n"
- ."\n"
- .'* **slb**: a Classic Load Balancer (CLB) instance'."\n"
- .'* **alb**: an Application Load Balancer (ALB) instance'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'slb',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
- [
- 'name' => 'AutoAcceptEnabled',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'Specifies whether to automatically accept endpoint connection requests. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false** (default)'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'ServiceStatus',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The state of the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The endpoint service is being created.'."\n"
- .'* **Pending**: The endpoint service is being modified.'."\n"
- .'* **Active**: The endpoint service is available.'."\n"
- .'* **Deleting**: The endpoint service is being deleted'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Active',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointServiceOperationDenied', 'errorMessage' => 'The specified operation of endpoint service is not allowed.', 'description' => 'The specified operation of endpoint service is not allowed.'],
+ ['errorCode' => 'EndpointServiceDependenceViolation', 'errorMessage' => 'The specified EndpointService already contains a resource.', 'description' => 'The specified EndpointService already contains a resource.'],
+ ['errorCode' => 'EndpointServiceConnectionDependence', 'errorMessage' => 'You cannot delete EndpointService with Endpoint connected.', 'description' => 'Cannot delete an EndpointService with Endpoint connected.'],
+ ['errorCode' => 'DeleteFailedDueToEndpointExist', 'errorMessage' => 'The specified EndpointService id deleted failed , due to EndpointExist.', 'description' => 'The endpoint is not deleted.'],
],
- [
- 'name' => 'ServiceBusinessStatus',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The service state of the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **Normal**: The endpoint service runs as expected.'."\n"
- .'* **FinancialLocked**: The endpoint service is locked due to overdue payments.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Normal',
+ ],
+ 'title' => 'DeleteVpcEndpointService',
+ 'summary' => 'Deletes an endpoint service.',
+ 'description' => '- Before you delete an endpoint service, you must disconnect the endpoint from the endpoint service and remove the service resources.'."\n"
+ ."\n"
+ .'- **DeleteVpcEndpointService** 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 [GetVpcEndpointServiceAttribute](~~183542~~) operation to check whether the endpoint service is deleted.'."\n"
+ ."\n"
+ .' - If the endpoint service is in the **Deleting** state, the endpoint service is being deleted.'."\n"
+ ."\n"
+ .' - If the endpoint service cannot be queried, the endpoint service is deleted.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **DeleteVpcEndpointService** operation to delete an endpoint service that belongs to an Alibaba Cloud account within a specified period of time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'privatelink:DeleteVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ ],
+ 'DescribeRegions' => [
+ 'summary' => 'Queries the regions that support PrivateLink.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'ZoneAffinityEnabled',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to first resolve the domain name of the nearest endpoint that is associated with the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **true** (default)'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkX3ZDB5'],
+ 'autoTest' => false,
+ ],
+ 'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Tag',
- 'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tag.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key. You can specify at most 20 tag keys. 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",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FinanceDept',
- ],
- 'Value' => [
- 'description' => 'The tag value. You can specify up to 20 tag values. The tag value can be an empty string.'."\n"
- ."\n"
- .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FinanceJoshua',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- ],
- ],
- [
- 'name' => 'ResourceGroupId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The resource group ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfmy*****',
- ],
+ 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'AddressIpVersion',
+ 'name' => 'ServiceResourceType',
'in' => 'query',
'schema' => [
- 'description' => 'The protocol. Valid values:'."\n"
+ 'description' => 'The EPS resource type supported by PrivateLink. The available regions vary based on the service resource type. You can specify a service resource type when querying the regions where PrivateLink is available. Valid values:'."\n"
."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n",
+ .'- **slb** (default): the service resource type is Classic Load Balancer (CLB).'."\n"
+ .'- **alb**: the service resource type is Application Load Balancer (ALB).'."\n"
+ .'- **nlb**: the service resource type is Network Load Balancer (NLB).'."\n"
+ .'- **gwlb**: the service resource type is Gateway Load Balancer (GWLB).'."\n"
+ ."\n"
+ .'- **ALL**: all of the preceding types.',
+ 'enumValueTitles' => [],
'type' => 'string',
'required' => false,
- 'example' => 'IPv4',
+ 'example' => 'slb',
+ 'title' => '',
],
],
],
@@ -1762,296 +1653,137 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Services' => [
- 'description' => 'The endpoint services.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The endpoint services.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'AutoAcceptEnabled' => [
- 'description' => 'Indicates whether endpoint connection requests are automatically accepted. Valid values:'."\n"
- ."\n"
- .'* **true**: Endpoint connection requests are automatically accepted.'."\n"
- .'* **false**: Endpoint connection requests are not automatically accepted.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ServiceId' => [
- 'description' => 'The ID of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the endpoint service was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2021-09-24T17:15:10Z',
- ],
- 'MinBandwidth' => [
- 'description' => 'The minimum bandwidth of the endpoint connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '100',
- ],
- 'MaxBandwidth' => [
- 'description' => 'The maximum bandwidth of the endpoint connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1024',
- ],
- 'ServiceStatus' => [
- 'description' => 'The state of the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The endpoint service is being created.'."\n"
- .'* **Pending**: The endpoint service is being modified.'."\n"
- .'* **Active**: The endpoint service is available.'."\n"
- .'* **Deleting**: The endpoint service is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'ZoneAffinityEnabled' => [
- 'description' => 'Indicates whether zone affinity is enabled. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote',
- ],
- 'ServiceDomain' => [
- 'description' => 'The domain name of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com',
- ],
- 'Payer' => [
- 'description' => 'The payer. Valid values:'."\n"
- ."\n"
- .'* **Endpoint**: service consumer'."\n"
- .'* **EndpointService**: service provider'."\n",
- 'type' => 'string',
- 'example' => 'Endpoint',
- ],
- 'ServiceBusinessStatus' => [
- 'description' => 'The service state of the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **Normal**: The endpoint service runs as expected.'."\n"
- .'* **FinancialLocked**: The endpoint service is locked due to overdue payments.'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'ConnectBandwidth' => [
- 'description' => 'The default maximum bandwidth of the endpoint connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1024',
- ],
- 'ServiceName' => [
- 'description' => 'The name of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****',
- ],
- 'ServiceDescription' => [
- 'description' => 'The description of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'This is my EndpointService.',
- ],
- 'ServiceResourceType' => [
- 'description' => 'The type of the service resource. Valid values:'."\n"
- ."\n"
- .'* **slb**: Classic Load Balancer (CLB) instance'."\n"
- .'* **alb**: Application Load Balancer (ALB) instance'."\n"
- .'* **nlb**: Network Load Balancer (NLB) instance'."\n",
- 'type' => 'string',
- 'example' => 'slb',
- ],
- 'ServiceType' => [
- 'description' => 'The type of the endpoint service.'."\n"
- ."\n"
- .'* Only **Interface** may be returned. You can specify CLB, ALB, and NLB instances as the service resources of the endpoint service.'."\n",
- 'type' => 'string',
- 'example' => 'Interface',
- ],
- 'ServiceSupportIPv6' => [
- 'description' => 'Indicates whether the endpoint service supports IPv6. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'deprecated' => true,
- 'example' => 'false',
- ],
- 'Tags' => [
- 'description' => 'The tags added to the resource.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the array object.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag added to the resource.'."\n",
- 'type' => 'string',
- 'example' => 'FinanceDept',
- ],
- 'Value' => [
- 'description' => 'The value of the tag added to the resource.'."\n",
- 'type' => 'string',
- 'example' => 'FinanceJoshua',
- ],
- ],
- ],
- ],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
- 'example' => 'rg-acfmy*****',
- ],
- 'AddressIpVersion' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n",
- 'type' => 'string',
- 'example' => 'IPv4',
- ],
- 'SupportedRegionSet' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'ServiceRegionId' => [
- 'type' => 'string',
- 'deprecated' => true,
- ],
- 'RegionServiceStatus' => [
- 'type' => 'string',
- ],
- 'RegionBusinessStatus' => [
- 'type' => 'string',
- ],
- 'SupportedRegionId' => [
- 'type' => 'string',
+ 'Regions' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Region' => [
+ 'description' => 'The collection of available regions.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The collection of available regions.',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => ['description' => 'The region name.', 'type' => 'string', 'example' => '华东1(杭州)', 'title' => ''],
+ 'RegionEndpoint' => ['description' => 'The endpoint of the region.', 'type' => 'string', 'example' => 'privatelink.cn-hangzhou.aliyuncs.com', 'title' => ''],
+ 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'ServiceResourceTypes' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ServiceResourceType' => [
+ 'description' => 'The list of resource types supported in the region.'."\n"
+ .'>If ServiceResourceType is set to ALL, all supported resource types are returned. If a specific resource type is specified, only the specified resource type is returned in the list.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The supported resource type.', 'type' => 'string', 'example' => 'slb', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If no value is returned for **NextToken**, no next requests are performed.'."\n"
- .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '12',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Services\\": [\\n {\\n \\"AutoAcceptEnabled\\": true,\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"CreateTime\\": \\"2021-09-24T17:15:10Z\\",\\n \\"MinBandwidth\\": 100,\\n \\"MaxBandwidth\\": 1024,\\n \\"ServiceStatus\\": \\"Active\\",\\n \\"ZoneAffinityEnabled\\": true,\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ServiceDomain\\": \\"epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"Payer\\": \\"Endpoint\\",\\n \\"ServiceBusinessStatus\\": \\"Normal\\",\\n \\"ConnectBandwidth\\": 1024,\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceDescription\\": \\"This is my EndpointService.\\",\\n \\"ServiceResourceType\\": \\"slb\\",\\n \\"ServiceType\\": \\"Interface\\",\\n \\"ServiceSupportIPv6\\": false,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmy*****\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"SupportedRegionSet\\": [\\n {\\n \\"ServiceRegionId\\": \\"\\",\\n \\"RegionServiceStatus\\": \\"\\",\\n \\"RegionBusinessStatus\\": \\"\\",\\n \\"SupportedRegionId\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 12\\n}","errorExample":""},{"type":"xml","example":"<ListVpcEndpointServicesResponse>\\n <Services>\\n <AutoAcceptEnabled>true</AutoAcceptEnabled>\\n <ServiceId>epsrv-hp3vpx8yqxblby3i****</ServiceId>\\n <CreateTime>2021-09-24T17:15:10Z</CreateTime>\\n <MinBandwidth>100</MinBandwidth>\\n <MaxBandwidth>1024</MaxBandwidth>\\n <ServiceStatus>Active</ServiceStatus>\\n <ZoneAffinityEnabled>true</ZoneAffinityEnabled>\\n <RegionId>cn-huhehaote</RegionId>\\n <ServiceDomain>epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com</ServiceDomain>\\n <Payer>Endpoint</Payer>\\n <ServiceBusinessStatus>Normal</ServiceBusinessStatus>\\n <ConnectBandwidth>1024</ConnectBandwidth>\\n <ServiceName>com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****</ServiceName>\\n <ServiceDescription>This is my EndpointService.</ServiceDescription>\\n <ServiceResourceType>slb</ServiceResourceType>\\n <ServiceType>Interface</ServiceType>\\n <ServiceSupportIPv6>false</ServiceSupportIPv6>\\n <Tags>\\n <Key>FinanceDept</Key>\\n <Value>FinanceJoshua</Value>\\n </Tags>\\n <ResourceGroupId>rg-acfmy*****</ResourceGroupId>\\n </Services>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n <MaxResults>50</MaxResults>\\n</ListVpcEndpointServicesResponse>","errorExample":""}]',
- 'title' => 'ListVpcEndpointServices',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"LocalName\\": \\"华东1(杭州)\\",\\n \\"RegionEndpoint\\": \\"privatelink.cn-hangzhou.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ServiceResourceTypes\\": {\\n \\"ServiceResourceType\\": [\\n \\"slb\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\"\\n}","type":"json"}]',
+ 'title' => 'Query regions supported by privateLink',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [],
],
- 'DeleteVpcEndpointService' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DescribeZones' => [
+ 'summary' => 'Queries the list of zones supported by PrivateLink in a specified region. In cross-region scenarios, the zones supported on the endpoint side and the endpoint service side are independent of each other. This operation allows you to query the supported zones for the endpoint side and the endpoint service side separately.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkVQ750H'],
+ 'autoTest' => false,
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The ID of the region where the zones reside. You can call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ServiceResourceType',
'in' => 'query',
+ 'allowEmptyValue' => false,
'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ 'description' => 'The zone availability of PrivateLink in a region depends on the backend EPS resource type. You can specify the EPS resource type when querying the list of zones supported by PrivateLink. 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",
+ .'- **slb** (default): the EPS resource type is Classic Load Balancer (CLB).'."\n"
+ .'- **alb**: the EPS resource type is Application Load Balancer (ALB).'."\n"
+ .'- **nlb**: the EPS resource type is Network Load Balancer (NLB).'."\n"
+ .'- **gwlb**: the EPS resource type is Gateway Load Balancer (GWLB).',
+ 'enumValueTitles' => [],
'type' => 'string',
'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
+ 'example' => 'slb',
+ 'title' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'RegionId',
'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 ID of the region where the zones reside. You can call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'ServiceId',
+ 'name' => 'CrossRegion',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint service that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'Specifies whether this is a cross-region scenario. Default value: false.'."\n"
+ ."\n"
+ .'Set CrossRegion to true and use it together with CrossRegionSide in the following scenarios:'."\n"
+ .'- **As a service consumer**: You need to create a cross-region endpoint to connect to an endpoint service in another region. To query the zones in the current region that support cross-region endpoints, set CrossRegion to true and CrossRegionSide to Endpoint.'."\n"
+ ."\n"
+ .'- **As a service provider**: You need to share your endpoint service across regions with service consumers in other regions. To query the zones in the current region that support cross-region sharing, set CrossRegion to true and CrossRegionSide to EndpointService.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'CrossRegionSide',
'in' => 'query',
'schema' => [
- 'description' => 'The region ID of the endpoint service. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
+ 'description' => 'Specifies whether to query the active zone support for the initiator side or the service side in a cross-region connection. Valid values:'."\n"
+ .'- **Endpoint** (default): endpoint.'."\n"
+ .'- **EndpointService**: endpoint service.'."\n"
+ ."\n"
+ .'> This parameter takes effect only when CrossRegion is set to true.',
+ 'enumValueTitles' => [],
'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
+ 'enum' => ['Endpoint', 'EndpointService'],
+ 'required' => false,
+ 'example' => 'EndpointService',
+ 'title' => '',
],
],
],
@@ -2060,59 +1792,51 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F', 'title' => ''],
+ 'Zones' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Zone' => [
+ 'description' => 'The collection of zones.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The collection of zones.',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => ['description' => 'The zone name.', 'type' => 'string', 'example' => '华东1 可用区B', 'title' => ''],
+ 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServiceOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint service is not allowed.',
- ],
- [
- 'errorCode' => 'EndpointServiceDependenceViolation',
- 'errorMessage' => 'The specified EndpointService already contains a resource.',
- ],
- [
- 'errorCode' => 'EndpointServiceConnectionDependence',
- 'errorMessage' => 'You cannot delete EndpointService with Endpoint connected.',
- ],
- [
- 'errorCode' => 'DeleteFailedDueToEndpointExist',
- 'errorMessage' => 'The specified EndpointService id deleted failed , due to EndpointExist.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteVpcEndpointServiceResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</DeleteVpcEndpointServiceResponse>","errorExample":""}]',
- 'title' => 'DeleteVpcEndpointService',
- 'summary' => 'Deletes an endpoint service.',
- 'description' => '* Before you delete an endpoint service, you must disconnect the endpoint from the endpoint service and remove the service resources.'."\n"
- ."\n"
- .'* **DeleteVpcEndpointService** 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 [GetVpcEndpointServiceAttribute](~~183542~~) operation to check whether the endpoint service is deleted.'."\n"
- ."\n"
- .' * If the endpoint service is in the **Deleting** state, the endpoint service is being deleted.'."\n"
- .' * If the endpoint service cannot be queried, the endpoint service is deleted.'."\n"
- ."\n"
- .'* You cannot repeatedly call the **DeleteVpcEndpointService** operation to delete an endpoint service that belongs to an Alibaba Cloud account within a specified period of time.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F\\",\\n \\"Zones\\": {\\n \\"Zone\\": [\\n {\\n \\"LocalName\\": \\"华东1 可用区B\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'Query zones supported by privateLink',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [],
],
- 'AddUserToVpcEndpointService' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DetachResourceFromVpcEndpointService' => [
+ 'summary' => 'Removes a service resource from an endpoint service.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -2121,90 +1845,65 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkW2XK1B'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint service is deployed. Call the [DescribeRegions](~~120468~~) operation to get a region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The account ID that you want to add to the whitelist.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'docRequired' => false,
- 'maximum' => '9223372036854775807',
- 'minimum' => '0',
- 'example' => '132193271328****',
- ],
+ 'schema' => ['description' => 'The type of the service resource.'."\n"
+ ."\n"
+ .'- **slb**: Classic Load Balancer (CLB).'."\n"
+ ."\n"
+ .'- **alb**: Application Load Balancer (ALB).'."\n"
+ ."\n"
+ .'- **nlb**: Network Load Balancer (NLB).'."\n"
+ ."\n"
+ .'- **gwlb**: Gateway Load Balancer (GWLB).', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'slb', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the service resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ZoneId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the zone. This parameter is required if the service resource is an ALB, a NLB, or a GWLB. Call the [DescribeRegions](~~120468~~) operation to get a zone ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-c', 'title' => ''],
],
[
'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint service from which you want to remove the service resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', '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' => 'false',
- ],
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run. The system checks the request for potential issues, including missing required parameters, incorrect 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 the request. If the request passes the check, an HTTP 2xx status code is returned and the operation is performed.', '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'Generate a unique token for each request. The token can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
- ],
- [
- 'name' => 'UserARN',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The whitelist in the format of Aliyun Resource Name (ARN).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'acs:ram:*:<account-id>:*',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint service is deployed. Call the [DescribeRegions](~~120468~~) operation to get a region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
@@ -2212,49 +1911,52 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'MissingParam.UserArn',
- 'errorMessage' => 'The param of UserArn is missing.',
- ],
- [
- 'errorCode' => 'Mismatch.UserIdAndUserArn',
- 'errorMessage' => 'The %s and %s are mismatched.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointServiceResourceNotFound', 'errorMessage' => 'The specified service resource is not found.', 'description' => ''],
+ ['errorCode' => 'EndpointServiceResourceCannotRemove', 'errorMessage' => 'The service resource cannot be removed.', 'description' => ''],
+ ['errorCode' => 'EndpointServiceConnectionDependence', 'errorMessage' => 'You cannot delete EndpointService with Endpoint connected.', 'description' => 'Cannot delete an EndpointService with Endpoint connected.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<AddUserToVpcEndpointServiceResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</AddUserToVpcEndpointServiceResponse>","errorExample":""}]',
- 'title' => 'AddUserToVpcEndpointService',
- 'summary' => 'Adds an account ID to the whitelist of an endpoint service.',
- 'description' => '* Before you add an account ID to the whitelist of an endpoint service, make sure that the endpoint service is in the **Active** state. You can call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the status of the endpoint service.'."\n"
- .'* You cannot repeatedly call the **AddUserToVpcEndpointService** operation to add the ID of an Alibaba Cloud account to the whitelist of an endpoint service within a specified period of time.'."\n",
+ 'title' => 'DetachResourceFromVpcEndpointService',
+ 'description' => '- Before you remove a service resource from an endpoint service, make sure that the endpoint service is in the **Active** status. Call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the status of the endpoint service.'."\n"
+ ."\n"
+ .'- The **DetachResourceFromVpcEndpointService** operation does not support the concurrent removal of service resources from the same endpoint service instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListVpcEndpointServiceUsers' => [
- 'summary' => 'Queries the whitelist of an endpoint service.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:DetachResourceFromVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:alb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ ],
+ 'DetachSecurityGroupFromVpcEndpoint' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -2262,187 +1964,99 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service that you want to query.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint that you want to disassociate from the security group. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'SecurityGroupId',
'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"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request is to be performed, set the value to the value of **NextToken** that is returned from the last call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a4883',
- ],
+ 'schema' => ['description' => 'The ID of the security group from which you want to disassociate the endpoint.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'sg-hp3c8qj1tyct90ej****', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1 to 50**. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '1000',
- 'minimum' => '0',
- 'example' => '50',
- 'default' => '50',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint that you want to disassociate from the security group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
- 'name' => 'ServiceId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ '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"
+ ."\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' => ''],
],
[
- 'name' => 'UserId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account in the whitelist of the endpoint service.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'maximum' => '9223372036854775807',
- 'minimum' => '0',
- 'example' => '12345678',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service that you want to query.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
- ],
- [
- 'name' => 'UserListType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the user list in the whitelist of the endpoint service.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Users',
- 'default' => 'Users',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint that you want to disassociate from the security group. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If no value is returned for **NextToken**, no next requests are performed.'."\n"
- .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'caeba0bbb2be03f84eb48b699f0a4883',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned on each page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'Users' => [
- 'description' => 'The Alibaba Cloud accounts in the whitelist of the endpoint service.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'UserId' => [
- 'description' => 'The ID of the Alibaba Cloud account in the whitelist of the endpoint service.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '12345678',
- ],
- ],
- 'description' => '',
- ],
- ],
- 'UserARNs' => [
- 'description' => 'The whitelists in the format of Aliyun Resource Name (ARN).'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'UserARN' => [
- 'description' => 'The whitelist in the format of ARN.'."\n",
- 'type' => 'string',
- 'example' => 'acs:ram:*::*',
- ],
- ],
- 'description' => '',
- ],
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'string',
- 'example' => '3',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8D778FF9-7640-4C13-BCD6-9265CA9A2F81', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
+ ['errorCode' => 'SecurityGroupNotFound', 'errorMessage' => 'The specified security group does not exist.', 'description' => 'The specified security group does not exist.'],
+ ['errorCode' => 'EndpointMustContainSecurityGroup', 'errorMessage' => 'The specified endpoint must have at least one security group.', 'description' => 'The specified endpoint must have at least one security group.'],
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
+ ['errorCode' => 'EndpointOperationDenied', 'errorMessage' => 'The specified operation of endpoint is not allowed.', 'description' => 'The specified operation of endpoint is not allowed.'],
+ ['errorCode' => 'EndpointLocked', 'errorMessage' => 'The specified Endpoint is locked.', 'description' => 'The specified Endpoint is locked.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'EndpointServiceDeleted', 'errorMessage' => 'The specified Service is already deleted.', 'description' => 'The specified Service is already deleted.'],
+ ['errorCode' => 'GatewayLoadBalancerNotSupportSecurityGroup', 'errorMessage' => 'The gateway load balancer not support security group.', 'description' => 'The gateway load balancer type does not support setting a security group.'],
+ ],
+ ],
+ 'title' => 'DetachSecurityGroupFromVpcEndpoint',
+ 'summary' => 'Disassociates an endpoint from a security group.',
+ 'description' => '- **DetachSecurityGroupFromVpcEndpoint** 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 [ListVpcEndpoints](~~183558~~) to check whether the endpoint is disassociated from the security group.'."\n"
+ ."\n"
+ .' - If the endpoint is in the **Pending** state, the endpoint is being disassociated from the security group.'."\n"
+ ."\n"
+ .' - If you cannot query the endpoint in the security group, the endpoint is disassociated from the security group.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **DetachSecurityGroupFromVpcEndpoint** operation to disassociate an endpoint from a security group within a specified period of time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:DetachSecurityGroupFromVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"Users\\": [\\n {\\n \\"UserId\\": 12345678\\n }\\n ],\\n \\"UserARNs\\": [\\n {\\n \\"UserARN\\": \\"acs:ram:*::*\\"\\n }\\n ],\\n \\"TotalCount\\": \\"3\\"\\n}","errorExample":""},{"type":"xml","example":"<ListVpcEndpointServiceUsersResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a4883</NextToken>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n <MaxResults>50</MaxResults>\\n <Users>\\n <UserId>12345678</UserId>\\n </Users>\\n <UserARNs/>\\n</ListVpcEndpointServiceUsersResponse>","errorExample":""}]',
- 'title' => 'ListVpcEndpointServiceUsers',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8D778FF9-7640-4C13-BCD6-9265CA9A2F81\\"\\n}","type":"json"}]',
],
- 'RemoveUserFromVpcEndpointService' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DisableVpcEndpointConnection' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -2450,89 +2064,43 @@
],
'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service for which you want to remove the account ID from the whitelist. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The ID of the region where the connection request from the endpoint is rejected. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
[
'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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', '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 AccessKey pair, the permissions of the RAM user, and the required parameters. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
- ],
- [
- 'name' => 'UserId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The account ID that you want to remove from the whitelist.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'docRequired' => true,
- 'maximum' => '9223372036854775807',
- 'minimum' => '0',
- 'example' => '12345678',
- ],
+ '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"
+ ."\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' => ''],
],
[
'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service for which you want to remove the account ID from the whitelist. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The endpoint ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
- 'name' => 'UserARN',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The whitelist in the format of Aliyun Resource Name (ARN).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'acs:ram:*:<account-id>:*',
- ],
+ 'schema' => ['description' => 'The ID of the region where the connection request from the endpoint is rejected. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
],
'responses' => [
@@ -2540,46 +2108,49 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'MissingParam.UserArn',
- 'errorMessage' => 'The param of UserArn is missing.',
- ],
- [
- 'errorCode' => 'Mismatch.UserIdAndUserArn',
- 'errorMessage' => 'The %s and %s are mismatched.',
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointConnectionNotFound', 'errorMessage' => 'The specified endpoint connection does not exist.', 'description' => 'The specified endpoint connection does not exist.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ],
+ ],
+ 'title' => 'DisableVpcEndpointConnection',
+ 'summary' => 'Rejects a connection request from an endpoint.',
+ 'description' => '- **DisableVpcEndpointConnection** 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 [GetVpcEndpointAttribute](~~183568~~) operation to query the state of the endpoint connection.'."\n"
+ ."\n"
+ .' - If the endpoint connection is in the **Disconnecting** state, the endpoint is being disconnected from the endpoint service.'."\n"
+ ."\n"
+ .' - If the endpoint connection is in the **Disconnected** state, the endpoint is disconnected from the endpoint service.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **DisableVpcEndpointConnection** operation to allow an endpoint service to reject a connection request from an endpoint within a specified period of time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:DisableVpcEndpointConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveUserFromVpcEndpointServiceResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</RemoveUserFromVpcEndpointServiceResponse>","errorExample":""}]',
- 'title' => 'RemoveUserFromVpcEndpointService',
- 'summary' => 'Removes an account ID from the whitelist of an endpoint service.',
- 'description' => '* Before you remove an account ID from the whitelist of an endpoint service, make sure that the endpoint service is in the **Active** state. You can call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the status of the endpoint service.'."\n"
- .'* You cannot repeatedly call the **RemoveUserFromVpcEndpointService** operation to remove the ID of an Alibaba Cloud account from the whitelist of an endpoint service within a specified period of time.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
],
- 'UpdateVpcEndpointServiceResourceAttribute' => [
- 'summary' => 'Modifies whether whether service resources are automatically allocated for an endpoint.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DisableVpcEndpointZoneConnection' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -2589,102 +2160,65 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
+ 'abilityTreeCode' => '34070',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkDB15J4'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the service resource is deployed.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the region where the connection request from the endpoint is rejected.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', '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, an HTTP 2xx 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 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"
+ ."\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' => ''],
],
[
'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The service resource ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
+ 'schema' => ['description' => 'The endpoint ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
'name' => 'ZoneId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The zone ID of the service resource.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou-i',
- ],
+ 'schema' => ['description' => 'The ID of the zone that is associated with the endpoint.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou-b', 'title' => ''],
],
[
- 'name' => 'AutoAllocatedEnabled',
+ 'name' => 'ReplacedResource',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to enable automatic resource allocation. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'required' => true,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'Specifies whether to close connections in the endpoint zone after migration. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes'."\n"
+ ."\n"
+ .'- **false** (default): no'."\n"
+ ."\n"
+ .'> Set the value to true if you want to close connections in the endpoint zone after migration.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the service resource is deployed.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the region where the connection request from the endpoint is rejected.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
@@ -2692,168 +2226,141 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServiceLocked',
- 'errorMessage' => 'The specified Service is locked.',
- ],
- [
- 'errorCode' => 'EndpointServiceOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint service is not allowed.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceNotFound',
- 'errorMessage' => 'The specified service resource is not found.',
- ],
- [
- 'errorCode' => 'ResourceAutoAllocateViolation',
- 'errorMessage' => 'The specified endpoint service must have at least one automatically allocated resource in one zone.',
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointConnectionNotFound', 'errorMessage' => 'The specified endpoint connection does not exist.', 'description' => 'The specified endpoint connection does not exist.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'IncorrectBusinessStatus.VpcEndpoint', 'errorMessage' => 'The business status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectBusinessStatus.VpcEndpointService', 'errorMessage' => 'The business status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectStatus.VpcEndpoint', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectStatus.VpcEndpointConnection', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectStatus.VpcEndpointService', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectStatus.VpcEndpointZone', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'GatewayLoadBalancerNotSupportZoneConnection', 'errorMessage' => 'The gateway load balancer not support zone connection.', 'description' => 'Gateway-based load balancing type does not support operational zone connection'],
+ ],
+ 404 => [
+ ['errorCode' => 'ResourceNotFound.VpcEndpoint', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound.VpcEndpointConnection', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound.VpcEndpointService', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound.VpcEndpointZone', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ],
+ ],
+ 'title' => 'DisableVpcEndpointZoneConnection',
+ 'summary' => 'Closes connections in an endpoint zone.',
+ 'description' => '- You can call this operation only when the state of the endpoint is **Connected** and the state of the zone associated with the endpoint is **Connected** or **Migrated**.'."\n"
+ ."\n"
+ .'- **DisableVpcEndpointZoneConnection** 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 [ListVpcEndpointZones](~~183560~~) operation to query the status of the task.'."\n"
+ ."\n"
+ .' - If the zone is in the **Disconnecting** state, the task is running.'."\n"
+ ."\n"
+ .' - If the zone is in the **Disconnected** state, the task is successful.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **DisableVpcEndpointZoneConnection** operation to allow an endpoint service to reject a connection request from the endpoint in the zone within a specified period of time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:DisableVpcEndpointZoneConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateVpcEndpointServiceResourceAttributeResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</UpdateVpcEndpointServiceResourceAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateVpcEndpointServiceResourceAttribute',
- 'description' => 'You cannot repeatedly call the **UpdateVpcEndpointServiceResourceAttribute** operation to modify the attributes of a service resource that is added to an endpoint service within a specified period of time.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
],
- 'AttachResourceToVpcEndpointService' => [
- 'summary' => 'Adds a service resource to an endpoint service.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'EnableVpcEndpointConnection' => [
+ 'summary' => 'Calls the EnableVpcEndpointConnection operation, and the endpoint service accepts the connection request from the endpoint.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '16162',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkZR0ZOX',
- ],
+ 'abilityTreeCode' => '16173',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkDB15J4'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service to which you want to add the service resource.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~448570~~) operation to query the most recent region list.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint connection to be accepted.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the region IDs. ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the service resource. Valid values:'."\n"
- ."\n"
- .'* **slb**: Classic Load Balancer (CLB) instance'."\n"
- .'* **alb**: Application Load Balancer (ALB) instance'."\n"
- .'* **nlb**: Network Load Balancer (NLB) instance'."\n"
- ."\n"
- .'> You cannot access TCP/SSL listeners configured for NLB instances.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'slb',
- ],
+ '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 different requests. **ClientToken** can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The service resource ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
+ '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 required parameters, the 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): 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 connection request is accepted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'ZoneId',
+ 'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The zone ID of the service resource.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou-j',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'ServiceId',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint service to which you want to add the service resource.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The endpoint ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'Bandwidth',
'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, 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 bandwidth of the endpoint connection. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'> The valid values vary depending on the service resource type:'."\n"
+ .'> - NLB: 100 to 50000.'."\n"
+ .'> - ALB: 100 to 25000.'."\n"
+ .'> - CLB: 100 to 10240. Default value: 3072.'."\n"
+ .'> - GWLB: 100 to 25000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '2147483647', 'minimum' => '0', 'example' => '3072', 'title' => ''],
],
[
- '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint connection to be accepted.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the region IDs. ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'TrafficControlMode',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint service to which you want to add the service resource.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~448570~~) operation to query the most recent region list.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '- Scalability: automatic scaling. In this mode, the connection bandwidth configured for the endpoint connection does not take effect.'."\n"
+ ."\n"
+ .'- BandwidthLimit: supports setting a bandwidth upper limit for the endpoint connection. The bandwidth upper limit is the value of Bandwidth.'."\n"
+ .' '."\n"
+ .'>- When the service resource is NLB, TrafficControlMode is set to Scalability by default. You can set it to BandwidthLimit and modify the value of Bandwidth to provide a bandwidth upper limit.'."\n"
+ .'>- When the service resource is CLB, TrafficControlMode can only be set to BandwidthLimit, which indicates that the service provider provides default bandwidth throttling for each endpoint.'."\n"
+ .'> - When the service resource is GWLB, TrafficControlMode can only be set to Scalability.', 'type' => 'string', 'required' => false, 'example' => 'BandwidthLimit', 'title' => ''],
],
],
'responses' => [
@@ -2861,173 +2368,105 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServiceOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint service is not allowed.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceExist',
- 'errorMessage' => 'The specified resource already exists.',
- ],
- [
- 'errorCode' => 'LoadBalancerNotFound',
- 'errorMessage' => 'The specified load balancer does not exist.',
- ],
- [
- 'errorCode' => 'LoadBalancerNotSupportPrivateLink',
- 'errorMessage' => 'The specified SLB does not support PrivateLink.',
- ],
- [
- 'errorCode' => 'AlbNotFound',
- 'errorMessage' => 'The specified Alb does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceTypeNotSupport',
- 'errorMessage' => 'The specified resource type is not supported.',
- ],
- [
- 'errorCode' => 'QuotaMisMatched',
- 'errorMessage' => 'The resource you applied for has exceeded the quota.',
- ],
- [
- 'errorCode' => 'VSwitchNotFound',
- 'errorMessage' => 'The specified VSwitch does not exist.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.NatGateway',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'Mismatch.ResourceType',
- 'errorMessage' => 'The %s is mismatched for %s and %s.',
- ],
- [
- 'errorCode' => 'EndpointServiceNotSupportedZone',
- 'errorMessage' => 'The specified endpoint service does not support the zone.',
- ],
- [
- 'errorCode' => 'ServiceResourceNotSupportIpv6',
- 'errorMessage' => 'The resource is not support ipv6.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceTypeNotEqual',
- 'errorMessage' => 'the service resource type not equal request type.',
- ],
- [
- 'errorCode' => 'OperationDenied.ServiceResourceIpVersionMismatch',
- 'errorMessage' => 'The endpoint service and service resource AddressIpVersion do not match.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointConnectionNotFound', 'errorMessage' => 'The specified endpoint connection does not exist.', 'description' => 'The specified endpoint connection does not exist.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'EndpointOperationDenied', 'errorMessage' => 'The specified operation of endpoint is not allowed.', 'description' => 'The specified operation of endpoint is not allowed.'],
+ ['errorCode' => 'OperationDenied.NoAvailableServiceResource', 'errorMessage' => 'The operation is not allowed because of there are no resource in some available zones of endpoint service.', 'description' => 'The operation is not allowed because of there are no resource in some available zones of endpoint service.'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachResourceToVpcEndpointServiceResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</AttachResourceToVpcEndpointServiceResponse>","errorExample":""}]',
- 'title' => 'AttachResourceToVpcEndpointService',
- 'description' => '* Before you add a service resource to an endpoint service, make sure that the endpoint service is in the **Active** state. You can call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the status of the endpoint service.'."\n"
- .'* You cannot repeatedly call the **AttachResourceToVpcEndpointService** operation to add a service resource to an endpoint service within a specified period of time.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ 'title' => 'Accept an endpoint connection request',
+ 'description' => '- **EnableVpcEndpointConnection** is an asynchronous operation. After a request is sent, the system returns a request ID. However, the endpoint service connection is not yet established, and the connection task is still being run in the background. You can call the [GetVpcEndpointAttribute](~~183568~~) operation to query the status of the endpoint service connection:'."\n"
+ ."\n"
+ .' - If the connection is in the **Connecting** state, the endpoint service connection is being established.'."\n"
+ .' - If the connection is in the **Connected** state, the endpoint service connection is established.'."\n"
+ ."\n"
+ .'- The **EnableVpcEndpointConnection** operation does not support concurrently accepting endpoint connection requests under the same Alibaba Cloud account (primary account).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListVpcEndpointServiceResources' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:EnableVpcEndpointConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'EnableVpcEndpointZoneConnection' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '34068',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkDB15J4'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the service resource.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint connection request is accepted. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'ClientToken',
'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"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request 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' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '1000',
- 'minimum' => '0',
- 'example' => '50',
- 'default' => '50',
- ],
+ '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"
+ ."\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' => ''],
],
[
'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ ],
+ [
+ 'name' => 'EndpointId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The endpoint ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ZoneId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the zone that is associated with the endpoint.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou-b', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the service resource.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint connection request is accepted. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
@@ -3035,128 +2474,66 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If no value is returned for **NextToken**, no next requests are performed.'."\n"
- .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned on each page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'Resources' => [
- 'description' => 'The service resources.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the array object.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'VpcId' => [
- 'description' => 'The ID of the virtual private cloud (VPC) to which the service resource belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-hp356stwkxg3fn2xe****',
- ],
- 'VSwitchId' => [
- 'description' => 'The ID of the vSwitch to which the service resource belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-hp3uf6045ljdhd5zr****',
- ],
- 'ResourceType' => [
- 'description' => 'The type of the service resource.'."\n"
- ."\n"
- .'Only **slb** is returned. This value indicates a Classic Load Balancer (CLB) instance.'."\n",
- 'type' => 'string',
- 'example' => 'slb',
- ],
- 'ZoneId' => [
- 'description' => 'The ID of the zone to which the service resource belongs.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote-b',
- ],
- 'Ip' => [
- 'description' => 'The IP address of the service resource.'."\n",
- 'type' => 'string',
- 'example' => '192.168.10.23',
- ],
- 'ResourceId' => [
- 'description' => 'The service resource ID.'."\n",
- 'type' => 'string',
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
- 'RegionId' => [
- 'description' => 'The ID of the region where the service resource is deployed.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote',
- ],
- 'RelatedEndpointCount' => [
- 'description' => 'The number of endpoints that are associated with the service resource.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
- ],
- 'RelatedDeprecatedEndpointCount' => [
- 'description' => 'The number of endpoints that are associated with the service resource that is smoothly migrated.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '10',
- ],
- 'AutoAllocatedEnabled' => [
- 'description' => 'Indicates whether automatic resource allocation is enabled. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'ResourceSupportIPv6' => [
- 'description' => 'Indicates whether IPv6 is enabled for the endpoint service. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointConnectionNotFound', 'errorMessage' => 'The specified endpoint connection does not exist.', 'description' => 'The specified endpoint connection does not exist.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'EndpointOperationDenied', 'errorMessage' => 'The specified operation of endpoint is not allowed.', 'description' => 'The specified operation of endpoint is not allowed.'],
+ ['errorCode' => 'IncorrectBusinessStatus.VpcEndpoint', 'errorMessage' => 'The business status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectBusinessStatus.VpcEndpointService', 'errorMessage' => 'The business status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectStatus.VpcEndpoint', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectStatus.VpcEndpointConnection', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectStatus.VpcEndpointService', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'IncorrectStatus.VpcEndpointZone', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => ''],
+ ['errorCode' => 'GatewayLoadBalancerNotSupportZoneConnection', 'errorMessage' => 'The gateway load balancer not support zone connection.', 'description' => 'Gateway-based load balancing type does not support operational zone connection'],
+ ],
+ 404 => [
+ ['errorCode' => 'ResourceNotFound.VpcEndpoint', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound.VpcEndpointConnection', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound.VpcEndpointService', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound.VpcEndpointZone', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ],
+ ],
+ 'title' => 'EnableVpcEndpointZoneConnection',
+ 'summary' => 'Allows connections to endpoint zones.',
+ 'description' => '- You can call this operation only when the state of the endpoint is **Connected** and the state of the associated zone is **Disconnected**.'."\n"
+ ."\n"
+ .'- **EnableVpcEndpointZoneConnection** 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 [ListVpcEndpointZones](~~183560~~) operation to check whether the endpoint service accepts a connection request from the endpoint in the associated zone.'."\n"
+ ."\n"
+ .' - If the zone is in the **Connecting** state, the endpoint service is accepting the connection request from the endpoint.'."\n"
+ ."\n"
+ .' - If the zone is in the **Connected** state, the endpoint service has accepted the connection request from the endpoint.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **EnableVpcEndpointZoneConnection** operation to allow an endpoint service to accept a connection request from an endpoint in the associated zone within a specified period of time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:EnableVpcEndpointZoneConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"Resources\\": [\\n {\\n \\"VpcId\\": \\"vpc-hp356stwkxg3fn2xe****\\",\\n \\"VSwitchId\\": \\"vsw-hp3uf6045ljdhd5zr****\\",\\n \\"ResourceType\\": \\"slb\\",\\n \\"ZoneId\\": \\"cn-huhehaote-b\\",\\n \\"Ip\\": \\"192.168.10.23\\",\\n \\"ResourceId\\": \\"lb-hp32z1wp5peaoox2q****\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"RelatedEndpointCount\\": 10,\\n \\"RelatedDeprecatedEndpointCount\\": 10,\\n \\"AutoAllocatedEnabled\\": false,\\n \\"ResourceSupportIPv6\\": false\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListVpcEndpointServiceResourcesResponse>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n <MaxResults>50</MaxResults>\\n <Resources>\\n <VpcId>vpc-hp356stwkxg3fn2xe****</VpcId>\\n <VSwitchId>vsw-hp3uf6045ljdhd5zr****</VSwitchId>\\n <ResourceType>slb</ResourceType>\\n <ZoneId>cn-huhehaote-b</ZoneId>\\n <Ip>192.168.10.23</Ip>\\n <ResourceId>lb-hp32z1wp5peaoox2q****</ResourceId>\\n <RegionId>cn-huhehaote</RegionId>\\n <RelatedEndpointCount>10</RelatedEndpointCount>\\n <RelatedDeprecatedEndpointCount>10</RelatedDeprecatedEndpointCount>\\n <AutoAllocatedEnabled>false</AutoAllocatedEnabled>\\n <ResourceSupportIPv6>false</ResourceSupportIPv6>\\n </Resources>\\n</ListVpcEndpointServiceResourcesResponse>","errorExample":""}]',
- 'title' => 'ListVpcEndpointServiceResources',
- 'summary' => 'Queries the service resources that are added to an endpoint service.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
],
- 'DetachResourceFromVpcEndpointService' => [
- 'summary' => 'Removes a service resource from an endpoint service.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'GetVpcEndpointAttribute' => [
+ 'summary' => 'Use `GetVpcEndpointAttribute` to query the attributes of a specified endpoint.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -3165,110 +2542,200 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkW2XK1B',
- ],
+ 'abilityTreeCode' => '16174',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkG9DJDQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~448570~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the service resource. Valid values:'."\n"
- ."\n"
- .'* **slb**: a Classic Load Balancer (CLB) instance that supports PrivateLink. In addition, the CLB instance is deployed in a virtual private cloud (VPC).'."\n"
- .'* **alb**: an Application Load Balancer (ALB) instance that supports PrivateLink. In addition, the ALB instance is deployed in a VPC.',
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'slb',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint.', 'type' => 'string', 'required' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~448570~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The service resource ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'lb-hp32z1wp5peaoox2q****',
+ 'type' => 'object',
+ 'properties' => [
+ 'Payer' => ['description' => 'The payer. Valid values:'."\n"
+ ."\n"
+ .'- **Endpoint**: the service consumer.'."\n"
+ ."\n"
+ .'- **EndpointService**: the service provider.', 'type' => 'string', 'example' => 'Endpoint', 'title' => ''],
+ 'EndpointDomain' => ['description' => 'The domain name of the endpoint.', 'type' => 'string', 'example' => 'ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time the endpoint was created.', 'type' => 'string', 'example' => '2021-09-24T18:00:07Z', 'title' => ''],
+ 'ResourceOwner' => ['description' => 'Indicates whether the endpoint and the endpoint service belong to the same Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false**: No.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'EndpointBusinessStatus' => ['description' => 'The business status of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The endpoint is running as expected.'."\n"
+ ."\n"
+ .'- **FinancialLocked**: The endpoint is locked due to an overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'EndpointDescription' => ['description' => 'The description of the endpoint.', 'type' => 'string', 'example' => 'This is my Endpoint.', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the associated endpoint service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'EndpointStatus' => ['description' => 'The status of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The endpoint is being created.'."\n"
+ ."\n"
+ .'- **Active**: The endpoint is available.'."\n"
+ ."\n"
+ .'- **Pending**: The endpoint is being modified.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint is being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
+ 'VpcId' => ['description' => 'The ID of the VPC to which the endpoint belongs.', 'type' => 'string', 'example' => 'vpc-fdfhkjafhjvcvdjf****', 'title' => ''],
+ 'EndpointName' => ['description' => 'The name of the endpoint.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'ZonePrivateIpAddressCount' => ['description' => 'The number of private IP addresses for the elastic network interface (ENI) in each zone. This value is always **1**.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
+ 'EndpointType' => ['description' => 'The type of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Interface**: an interface endpoint.'."\n"
+ ."\n"
+ .'- **Reverse**: a reverse endpoint.'."\n"
+ ."\n"
+ .'- **GatewayLoadBalancer**: a Gateway Load Balancer endpoint (GWLBe).', 'type' => 'string', 'example' => 'Interface', 'title' => ''],
+ 'ServiceName' => ['description' => 'The name of the associated endpoint service.', 'type' => 'string', 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The connection bandwidth of the endpoint, in Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''],
+ 'EndpointId' => ['description' => 'The endpoint ID.', 'type' => 'string', 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region where the endpoint is located.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''],
+ 'ConnectionStatus' => ['description' => 'The state of the endpoint connection. Valid values:'."\n"
+ ."\n"
+ .'- **Pending**: The connection is being modified.'."\n"
+ ."\n"
+ .'- **Connecting**: The endpoint is connecting to the endpoint service.'."\n"
+ ."\n"
+ .'- **Connected**: The endpoint is connected to the endpoint service.'."\n"
+ ."\n"
+ .'- **Disconnecting**: The endpoint is disconnecting from the endpoint service.'."\n"
+ ."\n"
+ .'- **Disconnected**: The endpoint is not connected to the endpoint service.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint is being deleted.'."\n"
+ ."\n"
+ .'- **ServiceDeleted**: The associated endpoint service has been deleted.', 'type' => 'string', 'example' => 'Connected', 'title' => ''],
+ 'ZoneAffinityEnabled' => ['description' => 'Indicates whether the endpoint service\'s domain name resolves to the endpoint\'s IP address in the nearest zone. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false**: No.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmz7nocpei***', 'title' => ''],
+ 'PolicyDocument' => ['description' => 'The RAM policy. For more information about policy elements, see [Basic elements of a policy](~~93738~~).', 'type' => 'string', 'example' => '{'."\n"
+ .' "Version": "1",'."\n"
+ .' "Statement": ['."\n"
+ .' {'."\n"
+ .' "Effect": "Allow",'."\n"
+ .' "Action": ['."\n"
+ .' "oss:List*",'."\n"
+ .' "oss:PutObject",'."\n"
+ .' "oss:GetObject"'."\n"
+ .' ],'."\n"
+ .' "Resource": ['."\n"
+ .' "acs:oss:oss-*:*:pvl-policy-test/policy-test.txt"'."\n"
+ .' ],'."\n"
+ .' "Principal": {'."\n"
+ .' "RAM": ['."\n"
+ .' "acs:ram::14199xxxxxx:*"'."\n"
+ .' ]'."\n"
+ .' }'."\n"
+ .' }'."\n"
+ .' ]'."\n"
+ .'}', 'title' => ''],
+ 'AddressIpVersion' => ['description' => 'The IP version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: Supports IPv4 only.'."\n"
+ ."\n"
+ .'- **DualStack**: Supports both IPv4 and IPv6.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'ServiceRegionId' => ['description' => 'The region ID of the associated endpoint service.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'CrossRegionBandwidth' => ['description' => 'The cross-region bandwidth, in Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'ZoneId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the zone that you want to remove.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou-c',
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
+ ['errorCode' => 'EndpointConnectionNotFound', 'errorMessage' => 'The specified endpoint connection does not exist.', 'description' => 'The specified endpoint connection does not exist.'],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Payer\\": \\"Endpoint\\",\\n \\"EndpointDomain\\": \\"ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"CreateTime\\": \\"2021-09-24T18:00:07Z\\",\\n \\"ResourceOwner\\": true,\\n \\"EndpointBusinessStatus\\": \\"Normal\\",\\n \\"EndpointDescription\\": \\"This is my Endpoint.\\",\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"EndpointStatus\\": \\"Active\\",\\n \\"VpcId\\": \\"vpc-fdfhkjafhjvcvdjf****\\",\\n \\"EndpointName\\": \\"test\\",\\n \\"ZonePrivateIpAddressCount\\": 1,\\n \\"EndpointType\\": \\"Interface\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****\\",\\n \\"Bandwidth\\": 1024,\\n \\"EndpointId\\": \\"ep-hp33b2e43fays7s8****\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ConnectionStatus\\": \\"Connected\\",\\n \\"ZoneAffinityEnabled\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmz7nocpei***\\",\\n \\"PolicyDocument\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"oss:List*\\\\\\",\\\\n \\\\\\"oss:PutObject\\\\\\",\\\\n \\\\\\"oss:GetObject\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": [\\\\n \\\\\\"acs:oss:oss-*:*:pvl-policy-test/policy-test.txt\\\\\\"\\\\n ],\\\\n \\\\\\"Principal\\\\\\": {\\\\n \\\\\\"RAM\\\\\\": [\\\\n \\\\\\"acs:ram::14199xxxxxx:*\\\\\\"\\\\n ]\\\\n }\\\\n }\\\\n ]\\\\n}\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"ServiceRegionId\\": \\"cn-hangzhou\\",\\n \\"CrossRegionBandwidth\\": 1000\\n}","type":"json"}]',
+ 'title' => 'GetVpcEndpointAttribute',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:GetVpcEndpointAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
],
],
+ ],
+ ],
+ 'GetVpcEndpointServiceAttribute' => [
+ 'summary' => 'Call `GetVpcEndpointServiceAttribute` to retrieve the properties of an endpoint service in your account.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'ServiceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '16175',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkW2XK1B'],
+ ],
+ 'parameters' => [
[
- 'name' => 'DryRun',
+ 'name' => 'RegionId',
'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, 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 ID of the region where the endpoint service is located.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ServiceId',
'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 a value, but you must make sure that the value is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint service is located.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
],
'responses' => [
@@ -3276,124 +2743,222 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
+ 'Payer' => ['description' => 'The party that pays for the service. Valid values:'."\n"
+ ."\n"
+ .'- **Endpoint**: The service consumer.'."\n"
+ ."\n"
+ .'- **EndpointService**: The service provider.', 'type' => 'string', 'example' => 'Endpoint', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B', 'title' => ''],
+ 'ServiceDescription' => ['description' => 'The description of the service.', 'type' => 'string', 'example' => 'This is my EndpointService.', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time the service was created.', 'type' => 'string', 'example' => '2020-01-02T19:11:12Z', 'title' => ''],
+ 'MaxBandwidth' => ['description' => 'The maximum bandwidth of the endpoint connection, in Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''],
+ 'MinBandwidth' => ['description' => 'The minimum bandwidth of the endpoint connection, in Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
+ 'ServiceDomain' => ['description' => 'The domain name of the service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com', 'title' => ''],
+ 'AutoAcceptEnabled' => ['description' => 'Specifies whether to automatically accept endpoint connections. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Endpoint connections are automatically accepted.'."\n"
+ ."\n"
+ .'- **false**: Endpoint connections are not automatically accepted.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ZoneAffinityEnabled' => ['description' => 'Specifies whether zone affinity is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **true** (default): Zone affinity is enabled.'."\n"
+ ."\n"
+ .'- **false**: Zone affinity is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'Zones' => [
+ 'description' => 'The zones where the service is available.',
+ 'type' => 'array',
+ 'items' => ['description' => 'A zone where the service is available.', 'type' => 'string', 'example' => 'cn-huhehaote-b', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'ServiceBusinessStatus' => ['description' => 'The business status of the service. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The service is operating normally.'."\n"
+ ."\n"
+ .'- **FinancialLocked**: The endpoint service is locked due to an overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'ServiceName' => ['description' => 'The name of the service.', 'type' => 'string', 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'ServiceStatus' => ['description' => 'The status of the service. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The service is being created.'."\n"
+ ."\n"
+ .'- **Pending**: The service is being updated.'."\n"
+ ."\n"
+ .'- **Active**: The service is available.'."\n"
+ ."\n"
+ .'- **Deleting**: The service is being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
+ 'ConnectBandwidth' => ['description' => 'The default maximum bandwidth of an endpoint connection, in Mbps. Valid values are **100 to 10,240**.', 'type' => 'integer', 'format' => 'int32', 'example' => '3072', 'title' => ''],
+ 'RegionId' => ['description' => 'The region where the service is deployed.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''],
+ 'ServiceType' => ['description' => 'The endpoint type.'."\n"
+ ."\n"
+ .'- **Interface**: An interface endpoint. You can add Classic Load Balancer (CLB), Application Load Balancer (ALB), and Network Load Balancer (NLB) instances as service resources.'."\n"
+ ."\n"
+ .'- **GatewayLoadBalancer**: A gateway endpoint. You can add Gateway Load Balancer (GWLB) instances as service resources.', 'type' => 'string', 'example' => 'Interface', 'title' => ''],
+ 'ServiceResourceType' => ['description' => 'The type of the service resource. Valid values:'."\n"
+ ."\n"
+ .'- **slb**: The service resource is a Classic Load Balancer (CLB).'."\n"
+ ."\n"
+ .'- **alb**: The service resource is an Application Load Balancer (ALB).'."\n"
+ ."\n"
+ .'- **nlb**: The service resource is a Network Load Balancer (NLB).'."\n"
+ ."\n"
+ .'- **gwlb**: The service resource is a Gateway Load Balancer (GWLB).', 'type' => 'string', 'example' => 'slb', 'title' => ''],
+ 'ServiceSupportIPv6' => ['description' => 'Specifies whether the service supports IPv6. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The service supports IPv6.'."\n"
+ ."\n"
+ .'- **false** (default): The service does not support IPv6.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmy*****', 'title' => ''],
+ 'AddressIpVersion' => ['description' => 'The IP address version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: The IPv4 address family.'."\n"
+ ."\n"
+ .'- **DualStack**: The dual stack IP address family.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'SupportedRegionSet' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ServiceRegionId' => ['type' => 'string', 'deprecated' => true, 'description' => '', 'title' => '', 'example' => ''],
+ 'RegionServiceStatus' => ['description' => 'The status of the endpoint service in the supported region. Valid values:'."\n"
+ ."\n"
+ .'- **Pending**: The supported region is being modified.'."\n"
+ ."\n"
+ .'- **Available**: The service is available in the supported region.'."\n"
+ ."\n"
+ .'- **Deleting**: The supported region is being deleted.'."\n"
+ ."\n"
+ .'- **Failed**: The service failed to be deployed in the supported region.'."\n"
+ ."\n"
+ .'- **Closed**: The endpoint service is not available in the supported region.', 'type' => 'string', 'example' => 'Available', 'title' => ''],
+ 'RegionBusinessStatus' => ['description' => 'The business status of the endpoint service in the supported region. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The service is operating normally in the supported region.'."\n"
+ ."\n"
+ .'- **FinancialLocked**: The endpoint service is locked due to an overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'SupportedRegionId' => ['description' => 'The ID of the supported region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'The regions where the service is supported. Service consumers can create endpoint connections to the service from these regions.',
+ 'title' => '',
+ 'example' => '',
],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceNotFound',
- 'errorMessage' => 'The specified service resource is not found.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceCannotRemove',
- 'errorMessage' => 'The service resource cannot be removed.',
- ],
- [
- 'errorCode' => 'EndpointServiceConnectionDependence',
- 'errorMessage' => 'You cannot delete EndpointService with Endpoint connected.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachResourceFromVpcEndpointServiceResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</DetachResourceFromVpcEndpointServiceResponse>","errorExample":""}]',
- 'title' => 'DetachResourceFromVpcEndpointService',
- 'description' => '* Before you remove a service resource from an endpoint service, make sure that the endpoint service is in the **Active** state. You can call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the status of the endpoint service.'."\n"
- .'* You cannot repeatedly call the **DetachResourceFromVpcEndpointService** operation to remove a service resource from an endpoint service within a specified period of time.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Payer\\": \\"Endpoint\\",\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"ServiceDescription\\": \\"This is my EndpointService.\\",\\n \\"CreateTime\\": \\"2020-01-02T19:11:12Z\\",\\n \\"MaxBandwidth\\": 1024,\\n \\"MinBandwidth\\": 100,\\n \\"ServiceDomain\\": \\"epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"AutoAcceptEnabled\\": true,\\n \\"ZoneAffinityEnabled\\": true,\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"Zones\\": [\\n \\"cn-huhehaote-b\\"\\n ],\\n \\"ServiceBusinessStatus\\": \\"Normal\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceStatus\\": \\"Active\\",\\n \\"ConnectBandwidth\\": 3072,\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ServiceType\\": \\"Interface\\",\\n \\"ServiceResourceType\\": \\"slb\\",\\n \\"ServiceSupportIPv6\\": false,\\n \\"ResourceGroupId\\": \\"rg-acfmy*****\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"SupportedRegionSet\\": [\\n {\\n \\"ServiceRegionId\\": \\"\\",\\n \\"RegionServiceStatus\\": \\"Available\\",\\n \\"RegionBusinessStatus\\": \\"Normal\\",\\n \\"SupportedRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'GetVpcEndpointServiceAttribute',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DeleteVpcEndpoint' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:GetVpcEndpointServiceAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'ListTagResources' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '16166',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkG9DJDQ',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'ResourceId',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The region ID of the endpoint that you want to delete. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
+ 'description' => 'The resource IDs. You can specify up to 50 resource IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The resource ID.', 'type' => 'string', 'required' => false, 'example' => 'ep-hp3i05294c2d2d******', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'schema' => ['description' => 'The type of the resource. Valid values:'."\n"
+ ."\n"
+ .'- **vpcendpoint**: endpoint'."\n"
+ ."\n"
+ .'- **vpcendpointservice**: endpoint service', 'type' => 'string', 'required' => true, 'example' => 'vpcendpoint', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'flat',
'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',
+ 'description' => 'The tags to add to the resource.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags to add to the resource.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The key of tag N to add to the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n"
+ ."\n"
+ .'The tag key can be up to 64 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The tag key must start with a letter but cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''],
+ 'Value' => ['description' => 'The value of tag N to add to the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n"
+ ."\n"
+ .'The tag value can be up to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The tag value must start with a letter but cannot start with `aliyun` or `acs:`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'example' => 'false',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint that you want to delete. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The ID of the region where the resource resides. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'- If this is your first request or no next requests are to be sent, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'- If a next request is to be sent, you must specify the token that is obtained from the previous request as the value of **NextToken**.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
],
],
'responses' => [
@@ -3401,405 +2966,341 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B',
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B', 'title' => ''],
+ 'TagResources' => [
+ 'description' => 'The resources to which the tags are added.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The resources to which the tags are added.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TagKey' => ['description' => 'The key of tag N added to the resource.', 'type' => 'string', 'example' => 'endpoint', 'title' => ''],
+ 'TagValue' => ['description' => 'The value of tag N added to the resource.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''],
+ 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'ep-hp3i05294c2d2d******', 'title' => ''],
+ 'ResourceType' => ['description' => 'The type of the resource. Valid values:'."\n"
+ ."\n"
+ .'- **vpcendpoint**: endpoint'."\n"
+ ."\n"
+ .'- **vpcendpointservice**: endpoint service', 'type' => 'string', 'example' => 'vpcendpoint', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'NextToken' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
+ ."\n"
+ .'- If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'- If a next request is to be performed, set the parameter to the value of NextToken that is returned from the last call.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationDenied.EndpointProtected',
- 'errorMessage' => 'The operation is not allowed because of EndpointProtected.',
- ],
- [
- 'errorCode' => 'EndpointOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint is not allowed.',
- ],
- [
- 'errorCode' => 'EndpointDependenceViolation',
- 'errorMessage' => 'The specified endpoint has dependent zone(s).',
- ],
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointProtected',
- 'errorMessage' => 'The specified Endpoint is protected.',
- ],
- [
- 'errorCode' => 'EndpointAssociatedVpc',
- 'errorMessage' => 'The endpoint is associated with a vpc.',
- ],
+ ['errorCode' => 'DuplicatedTagKey', 'errorMessage' => 'The tag keys is duplicated.', 'description' => 'The tag key must be unique.'],
+ ['errorCode' => 'MissingTagKeyParam', 'errorMessage' => 'The tag key is empty.', 'description' => 'The tag key is empty.'],
+ ['errorCode' => 'MissingTagValueParam', 'errorMessage' => 'The tag value is empty.', 'description' => 'The tag value is empty.'],
+ ['errorCode' => 'MissingResourceIdOrTagParam', 'errorMessage' => 'The resource id and tag is empty.', 'description' => 'The resource id and tag is empty.'],
+ ['errorCode' => 'IllegalTagKeyParam', 'errorMessage' => 'IllegalTagKeyParam', 'description' => 'IllegalTagKeyParam'],
+ ['errorCode' => 'IllegalTagValueParam', 'errorMessage' => 'The tag value is Illegal.', 'description' => 'The tag value is Illegal.'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteVpcEndpointResponse>\\n <RequestId>8D8992C1-6712-423C-BAC5-E5E817484C6B</RequestId>\\n</DeleteVpcEndpointResponse>","errorExample":""}]',
- 'title' => 'DeleteVpcEndpoint',
- 'summary' => 'Deletes an endpoint.',
- 'description' => '* Before you delete an endpoint, you must delete the zones that are added to the endpoint.'."\n"
+ 'title' => 'ListTagResources',
+ 'summary' => 'Queries the tags that are added to resources.',
+ 'description' => '- You must specify **ResourceId.N** or **Tag.N** in the request to specify the object that you want to query.'."\n"
."\n"
- .'* **DeleteVpcEndpoint** 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 [GetVpcEndpointAttribute](~~183568~~) operation to check whether the endpoint is deleted.'."\n"
+ .'- **Tag.N** is a resource tag that consists of a key-value pair (Tag.N.Key and Tag.N.Value). If you specify only **Tag.N.Key**, all tag values that are associated with the specified key are returned. If you specify only **Tag.N.Value**, an error message is returned.'."\n"
."\n"
- .' * If the endpoint is in the **Deleting** state, the endpoint is being deleted.'."\n"
- .' * If the endpoint cannot be queried, the endpoint is deleted.'."\n",
- ],
- 'CreateVpcEndpoint' => [
- 'summary' => 'Creates an endpoint.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ .'- If you specify **Tag.N** and **ResourceId.N** to filter tags, **ResourceId.N** must match all specified key-value pairs.'."\n"
+ ."\n"
+ .'- If you specify multiple key-value pairs, resources that contain these key-value pairs are returned.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListTagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpoint/{#vpcendpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"TagResources\\": [\\n {\\n \\"TagKey\\": \\"endpoint\\",\\n \\"TagValue\\": \\"FinanceJoshua\\",\\n \\"ResourceId\\": \\"ep-hp3i05294c2d2d******\\",\\n \\"ResourceType\\": \\"vpcendpoint\\"\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\"\\n}","type":"json"}]',
+ ],
+ 'ListVpcEndpointConnections' => [
+ 'summary' => 'Queries endpoint connections by calling the ListVpcEndpointConnections operation.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '16164',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkG9DJDQ',
- ],
+ 'abilityTreeNodes' => ['FEATUREprivatelinkO25BLH'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint connections that you want to query.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the region ID. ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
+ .'- You do not need to specify this parameter for the first query or if no next query is to be sent.'."\n"
+ .'- If a next query is to be sent, set the value to the value of **NextToken** that is returned from the last API call.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'MaxResults',
'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 number of entries per page. Valid values: **1** to **1000**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'default' => '50', 'example' => '50', 'title' => ''],
],
[
- 'name' => 'EndpointName',
+ 'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the endpoint.'."\n"
- ."\n"
- .'The name must be 2 to 128 characters in length, and can contain digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'EndpointType',
+ 'name' => 'EniId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint type. Valid values:'."\n"
- ."\n"
- .'* **Interface** You can specify an Application Load Balancer (ALB) instance, a Classic Load Balancer (CLB) instance, or a Network Load Balancer (NLB) instance.'."\n"
- .'* **Reverse** You can specify a Virtual Private Cloud (VPC) NAT gateway.'."\n"
- ."\n"
- .'> Services that support reverse endpoints are provided by Alibaba Cloud or Alibaba Cloud partners. To create such a service on your own, contact your account manager.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Interface',
- ],
+ 'schema' => ['description' => 'The endpoint elastic network interface (ENI) ID.', 'type' => 'string', 'required' => false, 'example' => 'eni-hp32lk0pyv6o94hs****', 'title' => ''],
],
[
- 'name' => 'ZonePrivateIpAddressCount',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of private IP addresses that are assigned to an elastic network interface (ENI) in each zone. Set the value to **1**.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The endpoint ID.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
- 'name' => 'EndpointDescription',
+ 'name' => 'ConnectionStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the endpoint.'."\n"
- ."\n"
- .'The description must be 2 to 256 characters in length, and cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'This is my Endpoint.',
- ],
+ 'schema' => ['description' => 'The state of the endpoint connection. Valid values:'."\n"
+ ."\n"
+ .'- **Pending**: The endpoint connection is being modified.'."\n"
+ ."\n"
+ .'- **Connecting**: The endpoint connection is being established.'."\n"
+ ."\n"
+ .'- **Connected**: The endpoint is connected to the endpoint service.'."\n"
+ ."\n"
+ .'- **Disconnecting**: The endpoint is being disconnected from the endpoint service.'."\n"
+ ."\n"
+ .'- **Disconnected**: The endpoint is disconnected from the endpoint service.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint connection is being deleted.'."\n"
+ ."\n"
+ .'- **ServiceDeleted**: The corresponding endpoint service is deleted.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Disconnected', 'title' => ''],
],
[
- 'name' => 'VpcId',
+ 'name' => 'EndpointOwnerId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the virtual private cloud (VPC) to which the endpoint belongs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vpc-hp356stwkxg3fn2xe****',
- ],
+ 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the endpoint belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '25346073170691****', 'title' => ''],
],
[
- 'name' => 'ServiceId',
+ 'name' => 'ResourceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint service with which the endpoint is associated.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3xdsq46ael67lo****',
- ],
+ 'schema' => ['description' => 'The service resource ID.', 'type' => 'string', 'required' => false, 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
],
[
- 'name' => 'ServiceName',
+ 'name' => 'ReplacedResourceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the endpoint service with which the endpoint is associated.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The ID of the service resource that is replaced in the smooth migration scenario.', 'type' => 'string', 'required' => false, 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
],
[
- 'name' => 'Zone',
+ 'name' => 'RegionId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The zones where the endpoint is deployed.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the zone in the current region.'."\n"
- ."\n"
- .'Resources are deployed in the specified zone.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'VSwitchId' => [
- 'description' => 'The ID of the vSwitch for which you want to create the endpoint elastic network interface (ENI) in the zone. You can specify up to 10 vSwitches.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vsw-hp3uf6045ljdhd5zr****',
- ],
- 'ZoneId' => [
- 'description' => 'The ID of the zone where the endpoint service is deployed.'."\n"
- ."\n"
- .'You can specify up to 10 zones.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-huhehaote-b',
- ],
- 'ip' => [
- 'description' => 'The IP address of the zone where the endpoint is deployed.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.XX.XX',
- ],
- 'Ipv6Address' => [
- 'description' => 'The IPv6 address of the zone where the endpoint is deployed.'."\n"
- ."\n"
- .'> You can specify this parameter only if AddressIpVersion is set to DualStack.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '2408:4005:34d:****:a58b:62a3:6b55:****',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 10,
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint connections that you want to query.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the region ID. ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'SecurityGroupId',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The IDs of security groups that are associated with the endpoint elastic network interface (ENI).'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ID of the security group that is associated with the endpoint ENI. The security group can be used to control data transfer between the virtual private cloud (VPC) and the endpoint ENI.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'sg-bp1fg655nh68xyz9****',
- ],
- 'required' => false,
- 'example' => 'sg-hp33bw6ynvm2yb0e****',
- 'maxItems' => 10,
- ],
+ 'schema' => ['description' => 'The ID of the resource group to which the endpoint belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmy*****', 'title' => ''],
],
- [
- 'name' => 'ProtectedEnabled',
- 'in' => 'query',
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'Specifies whether to enable user authentication. This parameter is available in Security Token Service (STS) mode. Valid values:'."\n"
- ."\n"
- .'* **true**: enables user authentication. After user authentication is enabled, only the user who creates the endpoint can modify or delete the endpoint in STS mode.'."\n"
- .'* **false** (default): disables user authentication.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
+ 'type' => 'object',
+ 'properties' => [
+ 'Connections' => [
+ 'description' => 'The information about the endpoint connections.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the endpoint connections.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Zones' => [
+ 'description' => 'The zone information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => ' '."\n"
+ .'The zone information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'VSwitchId' => ['description' => 'The vSwitch to which the endpoint belongs.', 'type' => 'string', 'example' => 'vsw-hp3uf6045ljdhd5zr****', 'title' => ''],
+ 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-huhehaote-b', 'title' => ''],
+ 'ResourceId' => ['description' => 'The service resource ID.', 'type' => 'string', 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
+ 'EniId' => ['description' => 'The endpoint ENI ID.', 'type' => 'string', 'example' => 'eni-hp32lk0pyv6o94hs****', 'title' => ''],
+ 'ZoneDomain' => ['description' => 'The domain name of the zone.', 'type' => 'string', 'example' => 'ep-hp34jaz8ykl0exwt****-cn-huhehaote.epsrv-hp3vpx8yqxblby3i****.cn-huhehaote-b.privatelink.aliyuncs.com', 'title' => ''],
+ 'ZoneStatus' => ['description' => 'The state of the zone. Valid values:'."\n"
+ .'- **Creating**: The zone is being created.'."\n"
+ .'- **Wait**: The zone is waiting to be connected.'."\n"
+ .'- **Connected**: The zone is connected.'."\n"
+ .'- **Deleting**: The zone is being deleted.'."\n"
+ .'- **Disconnecting**: The zone is being disconnected.'."\n"
+ .'- **Disconnected**: The zone is disconnected.'."\n"
+ .'- **Connecting**: The zone is being connected.'."\n"
+ .'- **Migrating**: The zone is being migrated.'."\n"
+ .'- **Migrated**: The zone is migrated.', 'type' => 'string', 'example' => 'Connected', 'title' => ''],
+ 'ReplacedResourceId' => ['description' => 'The ID of the service resource that is replaced in the smooth migration scenario.', 'type' => 'string', 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
+ 'ReplacedEniId' => ['description' => 'The ID of the endpoint ENI that is replaced in the smooth migration scenario.', 'type' => 'string', 'example' => 'eni-hp32lk0pyv6o94hs****', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'ModifiedTime' => ['description' => 'The time when the connection was modified.', 'type' => 'string', 'example' => '2021-09-28T10:34:46Z', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The bandwidth of the endpoint connection. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '3072', 'title' => ''],
+ 'EndpointOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the endpoint belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '25346073170691****', 'title' => ''],
+ 'ResourceOwner' => ['description' => 'Indicates whether the endpoint and the endpoint service belong to the same Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceId' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'ConnectionStatus' => ['description' => 'The state of the endpoint connection. Valid values:'."\n"
+ ."\n"
+ .'- **Pending**: The endpoint connection is being modified.'."\n"
+ ."\n"
+ .'- **Connecting**: The endpoint connection is being established.'."\n"
+ ."\n"
+ .'- **Connected**: The endpoint is connected to the endpoint service.'."\n"
+ ."\n"
+ .'- **Disconnecting**: The endpoint is being disconnected from the endpoint service.'."\n"
+ ."\n"
+ .'- **Disconnected**: The endpoint is disconnected from the endpoint service.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint connection is being deleted.'."\n"
+ ."\n"
+ .'- **ServiceDeleted**: The corresponding endpoint service is deleted.', 'type' => 'string', 'example' => 'Disconnected', 'title' => ''],
+ 'EndpointId' => ['description' => 'The endpoint ID.', 'type' => 'string', 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
+ 'EndpointVpcId' => ['description' => 'The ID of the virtual private cloud (VPC) to which the endpoint belongs.', 'type' => 'string', 'example' => 'vpc-hp356stwkxg3fn2xe****', 'title' => ''],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the endpoint belongs.', 'type' => 'string', 'example' => 'rg-acfmw353z35v***', 'title' => ''],
+ 'TrafficControlMode' => ['description' => '- Scalability: automatic scaling. In this mode, the bandwidth configured for the endpoint connection does not take effect.'."\n"
+ ."\n"
+ .'- BandwidthLimit: the bandwidth limit of the endpoint connection. The bandwidth limit is the value of Bandwidth.', 'type' => 'string', 'example' => 'BandwidthLimit', 'title' => ''],
+ 'EndpointRegionId' => ['description' => 'The region ID of the endpoint.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ 'ServiceRegionId' => ['description' => 'The region ID of the endpoint service.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
+ .'- If **NextToken** is empty, no next query is to be sent.'."\n"
+ .'- If a value of **NextToken** is returned, the value is the token that is used for the next query.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'TotalCount' => ['description' => 'The number of entries returned in the endpoint connection list.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
],
- [
- 'name' => 'Tag',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags to add to the resource.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag to add to the resource.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'env',
- ],
- 'Value' => [
- 'description' => 'The value of the tag to add to the resource.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'prod',
- ],
- ],
- 'required' => false,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Connections\\": [\\n {\\n \\"Zones\\": [\\n {\\n \\"VSwitchId\\": \\"vsw-hp3uf6045ljdhd5zr****\\",\\n \\"ZoneId\\": \\"cn-huhehaote-b\\",\\n \\"ResourceId\\": \\"lb-hp32z1wp5peaoox2q****\\",\\n \\"EniId\\": \\"eni-hp32lk0pyv6o94hs****\\",\\n \\"ZoneDomain\\": \\"ep-hp34jaz8ykl0exwt****-cn-huhehaote.epsrv-hp3vpx8yqxblby3i****.cn-huhehaote-b.privatelink.aliyuncs.com\\",\\n \\"ZoneStatus\\": \\"Connected\\",\\n \\"ReplacedResourceId\\": \\"lb-hp32z1wp5peaoox2q****\\",\\n \\"ReplacedEniId\\": \\"eni-hp32lk0pyv6o94hs****\\"\\n }\\n ],\\n \\"ModifiedTime\\": \\"2021-09-28T10:34:46Z\\",\\n \\"Bandwidth\\": 3072,\\n \\"EndpointOwnerId\\": 0,\\n \\"ResourceOwner\\": true,\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ConnectionStatus\\": \\"Disconnected\\",\\n \\"EndpointId\\": \\"ep-hp33b2e43fays7s8****\\",\\n \\"EndpointVpcId\\": \\"vpc-hp356stwkxg3fn2xe****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmw353z35v***\\",\\n \\"TrafficControlMode\\": \\"BandwidthLimit\\",\\n \\"EndpointRegionId\\": \\"cn-hangzhou\\",\\n \\"ServiceRegionId\\": \\"cn-huhehaote\\"\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": \\"1\\"\\n}","type":"json"}]',
+ 'title' => 'Query endpoint connections',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointConnections',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
- 'required' => false,
- 'maxItems' => 21,
],
],
+ ],
+ ],
+ 'ListVpcEndpointSecurityGroups' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The resource group ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfmy*****',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
[
- 'name' => 'PolicyDocument',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '{'."\n"
- .' "Version": "1",'."\n"
- .' "Statement": ['."\n"
- .' {'."\n"
- .' "Effect": "Allow",'."\n"
- .' "Action": ['."\n"
- .' "oss:List*",'."\n"
- .' "oss:PutObject",'."\n"
- .' "oss:GetObject"'."\n"
- .' ],'."\n"
- .' "Resource": ['."\n"
- .' "acs:oss:oss-*:*:pvl-policy-test/policy-test.txt"'."\n"
- .' ],'."\n"
- .' "Principal": {'."\n"
- .' "RAM": ['."\n"
- .' "acs:ram::14199xxxxxx:*"'."\n"
- .' ]'."\n"
- .' }'."\n"
- .' }'."\n"
- .' ]'."\n"
- .'}',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint that you want to query.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'AddressIpVersion',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4** (default)'."\n"
- .'* **DualStack**'."\n"
- ."\n"
- .'> An endpoint supports dual-stack if its associated endpoint service and VPC both support dual-stack.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [
- 'IPv4' => 'IPv4',
- 'DualStack' => 'DualStack',
- ],
- 'example' => 'IPv4',
- ],
+ 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
+ ."\n"
+ .'- If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'- If a next request is to be performed, set the parameter to the value of **NextToken** that is returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''],
],
[
- 'name' => 'ZoneAffinityEnabled',
+ 'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'type' => 'boolean',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values:**1** to **50**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '0', 'example' => '50', 'title' => ''],
],
[
- 'name' => 'ServiceRegionId',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint that you want to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
- 'name' => 'CrossRegionBandwidth',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint that you want to query.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
],
'responses' => [
@@ -3807,572 +3308,332 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'EndpointDomain' => [
- 'description' => 'The domain name of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the endpoint was created.'."\n",
- 'type' => 'string',
- 'example' => '2022-01-02T19:11:12Z',
- ],
- 'EndpointBusinessStatus' => [
- 'description' => 'The service state of the endpoint. Valid values:'."\n"
- ."\n"
- .'* **Normal**: The endpoint runs as expected.'."\n"
- .'* **FinancialLocked**: The endpoint is locked due to overdue payments.'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'EndpointDescription' => [
- 'description' => 'The description of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'This is my Endpoint.',
- ],
- 'ServiceId' => [
- 'description' => 'The ID of the endpoint service with which the endpoint is associated.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- 'EndpointStatus' => [
- 'description' => 'The state of the endpoint. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The endpoint is being created.'."\n"
- .'* **Active**: The endpoint is available.'."\n"
- .'* **Pending**: The endpoint is being modified.'."\n"
- .'* **Deleting**: The endpoint is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'VpcId' => [
- 'description' => 'The ID of the VPC to which the endpoint belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-hp356stwkxg3fn2xe****',
- ],
- 'EndpointName' => [
- 'description' => 'The name of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'ServiceName' => [
- 'description' => 'The name of the endpoint service with which the endpoint is associated.'."\n",
- 'type' => 'string',
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****',
- ],
- 'Bandwidth' => [
- 'description' => 'The bandwidth of the endpoint connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '200',
- ],
- 'EndpointId' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
- 'ConnectionStatus' => [
- 'description' => 'The state of the endpoint connection. Valid values:'."\n"
- ."\n"
- .'* **Pending**: The connection is being modified.'."\n"
- .'* **Connecting**: The connection is being established.'."\n"
- .'* **Connected**: The connection is established.'."\n"
- .'* **Disconnecting**: The endpoint is being disconnected from the endpoint service.'."\n"
- .'* **Disconnected**: The endpoint is disconnected from the endpoint service.'."\n"
- .'* **Deleting**: The connection is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Disconnected',
- ],
- 'AddressIpVersion' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4** (default)'."\n"
- .'* **DualStack**'."\n",
- 'type' => 'string',
- 'example' => 'IPv4',
- ],
- 'ZoneAffinityEnabled' => [
- 'type' => 'boolean',
- ],
- 'ServiceRegionId' => [
- 'type' => 'string',
- ],
- 'CrossRegionBandwidth' => [
- 'type' => 'integer',
- 'format' => 'int32',
+ 'SecurityGroups' => [
+ 'description' => 'The information about the security groups.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the array object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'SecurityGroupId' => ['description' => 'The ID of the security group that is associated with the endpoint.', 'type' => 'string', 'example' => 'sg-hp33bw6ynvm2yb0e****', 'title' => ''],
+ 'SecurityGroupStatus' => ['description' => 'The associate status of the security group, valid values:'."\n"
+ ."\n"
+ .'- Attaching: The security group is being attached.'."\n"
+ ."\n"
+ .'- Attached: The security group is attached.'."\n"
+ ."\n"
+ .'- Detaching: The security group is being detached.', 'type' => 'string', 'example' => 'Attached', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'NextToken' => ['description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
+ ."\n"
+ .'- If no value is returned for **NextToken**, no next requests are performed.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointExist',
- 'errorMessage' => 'The specified Endpoint already exists.',
- ],
- [
- 'errorCode' => 'EndpointZoneDuplicated',
- 'errorMessage' => 'The zone is duplicated for the Endpoint.',
- ],
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServiceNotSupportedZone',
- 'errorMessage' => 'The specified endpoint service does not support the zone.',
- ],
- [
- 'errorCode' => 'VSwitchNotFound',
- 'errorMessage' => 'The specified VSwitch does not exist.',
- ],
- [
- 'errorCode' => 'SecurityGroupNotFound',
- 'errorMessage' => 'The specified security group does not exist.',
- ],
- [
- 'errorCode' => 'VpcTunnelNotFound',
- 'errorMessage' => 'The specified VPC tunnel does not exist.',
- ],
- [
- 'errorCode' => 'VpcNotFound',
- 'errorMessage' => 'The specified VPC does not exist.',
- ],
- [
- 'errorCode' => 'GenerateResourceIdFailed',
- 'errorMessage' => 'Failed to generate ResourceId.',
- ],
- [
- 'errorCode' => 'QuotaMisMatched',
- 'errorMessage' => 'The resource you applied for has exceeded the quota.',
- ],
- [
- 'errorCode' => 'EndpointMustContainSecurityGroup',
- 'errorMessage' => 'The specified endpoint must have at least one security group.',
- ],
- [
- 'errorCode' => 'EndpointDuplicated',
- 'errorMessage' => 'The endpoint of the service already exists and cannot be created again.',
- ],
- [
- 'errorCode' => 'EndpointServiceDeleted',
- 'errorMessage' => 'The specified Service is already deleted.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceNotFound',
- 'errorMessage' => 'The specified service resource is not found.',
- ],
- [
- 'errorCode' => 'SecurityGroupTypeNotSupport',
- 'errorMessage' => 'The specified security group type is not supported.',
- ],
- [
- 'errorCode' => 'EniIpUnavailable',
- 'errorMessage' => 'The specified IP address is unavailable.',
- ],
- [
- 'errorCode' => 'EndpointServiceNotAuthorized',
- 'errorMessage' => 'The specified endpoint service is not authorized to user.',
- ],
- [
- 'errorCode' => 'SecurityGroupTypeOnlySingleTypeSupporteded',
- 'errorMessage' => 'The specified security group only support one type.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.IpQuotaPerEp',
- 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.',
- ],
- [
- 'errorCode' => 'Mismatch.EndpointType',
- 'errorMessage' => 'The %s is mismatched for %s and %s.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcEndpointService',
- 'errorMessage' => 'The status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'CheckServiceLinkRoleError',
- 'errorMessage' => 'The ServiceLink role check error.',
- ],
- [
- 'errorCode' => 'ResourceNotEnough.VSwitchIp',
- 'errorMessage' => 'The specified resource of VSwitchIp is not enough.',
- ],
- [
- 'errorCode' => 'VSwitchStatusNotAllowed',
- 'errorMessage' => 'The specified vswitch status is not Available.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.epZonePerEndpoint',
- 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.totalEpPerVpc',
- 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.totalIdleEndpoint',
- 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.',
- ],
- [
- 'errorCode' => 'OperationDenied.EndpointPolicyNotSupport',
- 'errorMessage' => 'The operation is not allowed because of EndpointPolicyNotSupport.',
- ],
- [
- 'errorCode' => 'OperationDenied.PrivateDomainStatusNotSupport',
- 'errorMessage' => 'The operation is not allowed because of %s.',
- ],
- [
- 'errorCode' => 'OperationDenied.PrivateDomainNotSupport',
- 'errorMessage' => 'The operation is not allowed because of PrivateDomainNotSupport.',
- ],
- [
- 'errorCode' => 'DependencyViolation.PrivateDnsName',
- 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.',
- ],
- [
- 'errorCode' => 'GatewayLoadBalancerNotSupportSecurityGroup',
- 'errorMessage' => 'The gateway load balancer not support security group.',
- ],
- [
- 'errorCode' => 'GatewayLoadBalancerZoneCountDeny',
- 'errorMessage' => 'The GatewayLoadBalancer zone count not support',
- ],
- [
- 'errorCode' => 'OperationDenied.EndpointTypeNotSupportDualstack',
- 'errorMessage' => 'The specified endpoint type does not support dualstack, only the Interface and GatewayLoadBalancer types support dual stack.',
- ],
- [
- 'errorCode' => 'OperationDenied.EndpointServiceNotSupportDualstack',
- 'errorMessage' => 'The specified endpoint service does not support dualstack.',
- ],
- [
- 'errorCode' => 'OperationDenied.VSwitchNotSupportDualstack',
- 'errorMessage' => 'The specified VSwitch does not support dualstack.',
- ],
- [
- 'errorCode' => 'OperationDenied.AddressIpVersionNotSupportSpecifyIpv6',
- 'errorMessage' => 'The AddressIpVersion of the endpoint does not support specifying IPv6 address.',
- ],
- [
- 'errorCode' => 'IllegalParam.Ip',
- 'errorMessage' => 'The specified parameter IP is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Ipv6Address',
- 'errorMessage' => 'The specified parameter Ipv6Address is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.AddressIpVersion',
- 'errorMessage' => 'The specified parameter AddressIpVersion is invalid.',
- ],
- [
- 'errorCode' => 'SpecifiedAlbNotSupport',
- 'errorMessage' => 'The specified alb %s is not supported.',
- ],
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndpointDomain\\": \\"ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"CreateTime\\": \\"2022-01-02T19:11:12Z\\",\\n \\"EndpointBusinessStatus\\": \\"Normal\\",\\n \\"EndpointDescription\\": \\"This is my Endpoint.\\",\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"EndpointStatus\\": \\"Active\\",\\n \\"VpcId\\": \\"vpc-hp356stwkxg3fn2xe****\\",\\n \\"EndpointName\\": \\"test\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****\\",\\n \\"Bandwidth\\": 200,\\n \\"EndpointId\\": \\"ep-hp33b2e43fays7s8****\\",\\n \\"ConnectionStatus\\": \\"Disconnected\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"ZoneAffinityEnabled\\": false,\\n \\"ServiceRegionId\\": \\"\\",\\n \\"CrossRegionBandwidth\\": 0\\n}","type":"json"}]',
- 'title' => 'CreateVpcEndpoint',
- 'description' => '**CreateVpcEndpoint** 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 [GetVpcEndpointAttribute](~~183568~~) operation to check whether the endpoint is created.'."\n"
- ."\n"
- .'* If the endpoint is in the **Creating** state, the endpoint is being created.'."\n"
- .'* If the endpoint is in the **Active** state, the endpoint is created.',
+ 'title' => 'ListVpcEndpointSecurityGroups',
+ 'summary' => 'Queries the security group that is associated with an endpoint.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'UpdateVpcEndpointAttribute' => [
- 'summary' => 'Modifies the attributes of an endpoint.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointSecurityGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SecurityGroups\\": [\\n {\\n \\"SecurityGroupId\\": \\"sg-hp33bw6ynvm2yb0e****\\",\\n \\"SecurityGroupStatus\\": \\"Attached\\"\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 12\\n}","type":"json"}]',
+ ],
+ 'ListVpcEndpointServiceResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '16187',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkG9DJDQ',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint whose attributes you want to modify. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The region ID of the service resource.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
+ 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
+ ."\n"
+ .'- If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'- If a next request is to be performed, set the parameter to the value of NextToken that is returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'MaxResults',
'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 number of entries to return on each page. Valid values: **1** to **50**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'default' => '50', 'example' => '50', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint ID whose attributes you want to modify.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'EndpointName',
+ 'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the service resource.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'The name of the endpoint.'."\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,
- 'docRequired' => false,
- 'example' => 'test',
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => ['description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
+ ."\n"
+ .'- If no value is returned for **NextToken**, no next requests are performed.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'Resources' => [
+ 'description' => 'The service resources.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the array object.',
+ 'type' => 'object',
+ 'properties' => [
+ 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) to which the service resource belongs.', 'type' => 'string', 'example' => 'vpc-hp356stwkxg3fn2xe****', 'title' => ''],
+ 'VSwitchId' => ['description' => 'The ID of the vSwitch to which the service resource belongs.', 'type' => 'string', 'example' => 'vsw-hp3uf6045ljdhd5zr****', 'title' => ''],
+ 'ResourceType' => ['description' => 'The type of the service resource.'."\n"
+ ."\n"
+ .'Only **slb** is returned. This value indicates a Classic Load Balancer (CLB) instance.', 'type' => 'string', 'example' => 'slb', 'title' => ''],
+ 'ZoneId' => ['description' => 'The ID of the zone to which the service resource belongs.', 'type' => 'string', 'example' => 'cn-huhehaote-b', 'title' => ''],
+ 'Ip' => ['description' => 'The IP address of the service resource.', 'type' => 'string', 'example' => '192.168.10.23', 'title' => ''],
+ 'ResourceId' => ['description' => 'The service resource ID.', 'type' => 'string', 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region where the service resource is deployed.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''],
+ 'RelatedEndpointCount' => ['description' => 'The number of endpoints that are associated with the service resource.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
+ 'RelatedDeprecatedEndpointCount' => ['description' => 'The number of endpoints that are associated with the service resource that is smoothly migrated.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
+ 'AutoAllocatedEnabled' => ['description' => 'Indicates whether automatic resource allocation is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'ResourceSupportIPv6' => ['description' => 'Indicates whether IPv6 is enabled for the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
- [
- 'name' => 'EndpointDescription',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The description of the endpoint.'."\n"
- ."\n"
- .'The description must be 2 to 256 characters in length. It cannot start with `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'This is my Endpoint.',
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ],
+ ],
+ 'title' => 'ListVpcEndpointServiceResources',
+ 'summary' => 'Queries the service resources that are added to an endpoint service.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointServiceResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"Resources\\": [\\n {\\n \\"VpcId\\": \\"vpc-hp356stwkxg3fn2xe****\\",\\n \\"VSwitchId\\": \\"vsw-hp3uf6045ljdhd5zr****\\",\\n \\"ResourceType\\": \\"slb\\",\\n \\"ZoneId\\": \\"cn-huhehaote-b\\",\\n \\"Ip\\": \\"192.168.10.23\\",\\n \\"ResourceId\\": \\"lb-hp32z1wp5peaoox2q****\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"RelatedEndpointCount\\": 10,\\n \\"RelatedDeprecatedEndpointCount\\": 10,\\n \\"AutoAllocatedEnabled\\": false,\\n \\"ResourceSupportIPv6\\": false\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListVpcEndpointServiceUsers' => [
+ 'summary' => 'Queries the whitelist of an endpoint service.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint whose attributes you want to modify. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service that you want to query.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'PolicyDocument',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '{'."\n"
- .' "Version": "1",'."\n"
- .' "Statement": ['."\n"
- .' {'."\n"
- .' "Effect": "Allow",'."\n"
- .' "Action": ['."\n"
- .' "oss:List*",'."\n"
- .' "oss:PutObject",'."\n"
- .' "oss:GetObject"'."\n"
- .' ],'."\n"
- .' "Resource": ['."\n"
- .' "acs:oss:oss-*:*:pvl-policy-test/policy-test.txt"'."\n"
- .' ],'."\n"
- .' "Principal": {'."\n"
- .' "RAM": ['."\n"
- .' "acs:ram::14199xxxxxx:*"'."\n"
- .' ]'."\n"
- .' }'."\n"
- .' }'."\n"
- .' ]'."\n"
- .'}',
- ],
+ 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
+ ."\n"
+ .'- If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'- If a next request is to be performed, set the value to the value of **NextToken** that is returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''],
],
[
- 'name' => 'AddressIpVersion',
+ 'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n"
- ."\n"
- .'> An endpoint supports dual-stack only if its associated endpoint service and VPC support dual-stack.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [
- 'IPv4' => 'IPv4',
- 'DualStack' => 'DualStack',
- ],
- 'example' => 'IPv4',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1 to 50**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'default' => '50', 'example' => '50', 'title' => ''],
],
[
- 'name' => 'ZoneAffinityEnabled',
+ 'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'type' => 'boolean',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'ResetPolicy',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'type' => 'boolean',
- ],
+ 'schema' => ['description' => 'The ID of the Alibaba Cloud account in the whitelist of the endpoint service.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '12345678', 'title' => ''],
],
[
- 'name' => 'CrossRegionBandwidth',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service that you want to query.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserListType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The type of the user list in the whitelist of the endpoint service.', 'type' => 'string', 'example' => 'Users', 'default' => 'Users', 'required' => false, 'title' => ''],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
+ 'NextToken' => ['description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
+ ."\n"
+ .'- If no value is returned for **NextToken**, no next requests are performed.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'Users' => [
+ 'description' => 'The Alibaba Cloud accounts in the whitelist of the endpoint service.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UserId' => ['description' => 'The ID of the Alibaba Cloud account in the whitelist of the endpoint service.', 'type' => 'integer', 'format' => 'int64', 'example' => '12345678', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
+ 'UserARNs' => [
+ 'description' => 'The whitelists in the format of Aliyun Resource Name (ARN).',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UserARN' => ['description' => 'The whitelist in the format of ARN.', 'type' => 'string', 'example' => 'acs:ram:*::*', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'string', 'example' => '3', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationDenied.EndpointProtected',
- 'errorMessage' => 'The operation is not allowed because of EndpointProtected.',
- ],
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint is not allowed.',
- ],
- [
- 'errorCode' => 'EndpointLocked',
- 'errorMessage' => 'The specified Endpoint is locked.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'EndpointServiceDeleted',
- 'errorMessage' => 'The specified Service is already deleted.',
- ],
- [
- 'errorCode' => 'EndpointProtected',
- 'errorMessage' => 'The specified Endpoint is protected.',
- ],
- [
- 'errorCode' => 'OperationDenied.EndpointPolicyNotSupport',
- 'errorMessage' => 'The operation is not allowed because of EndpointPolicyNotSupport.',
- ],
- [
- 'errorCode' => 'DependencyViolation.PrivateDnsName',
- 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.',
- ],
- [
- 'errorCode' => 'OperationDenied.PrivateDomainStatusNotSupport',
- 'errorMessage' => 'The operation is not allowed because of %s.',
- ],
- [
- 'errorCode' => 'OperationDenied.PrivateDomainNotSupport',
- 'errorMessage' => 'The operation is not allowed because of PrivateDomainNotSupport.',
- ],
- [
- 'errorCode' => 'OperationDenied.NotSupportDualStackSwitchToIpv4',
- 'errorMessage' => 'AddressIpVersion does not support switching from DualStack to IPv4.',
- ],
- [
- 'errorCode' => 'OperationDenied.EndpointServiceNotSupportDualstack',
- 'errorMessage' => 'The specified endpoint service does not support dualstack.',
- ],
- [
- 'errorCode' => 'OperationDenied.VSwitchNotSupportDualstack',
- 'errorMessage' => 'The specified VSwitch does not support dualstack.',
- ],
- [
- 'errorCode' => 'IllegalParam.AddressIpVersion',
- 'errorMessage' => 'The specified parameter AddressIpVersion is invalid.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateVpcEndpointAttributeResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</UpdateVpcEndpointAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateVpcEndpointAttribute',
- 'description' => 'You cannot repeatedly call the **UpdateVpcEndpointAttribute** operation to modify the attributes of an endpoint that belongs to an Alibaba Cloud account within a specified period of time.'."\n",
+ 'title' => 'ListVpcEndpointServiceUsers',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ListVpcEndpoints' => [
- 'summary' => 'Queries a list of endpoints.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointServiceUsers',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"Users\\": [\\n {\\n \\"UserId\\": 12345678\\n }\\n ],\\n \\"UserARNs\\": [\\n {\\n \\"UserARN\\": \\"acs:ram:*::*\\"\\n }\\n ],\\n \\"TotalCount\\": \\"3\\"\\n}","type":"json"}]',
+ ],
+ 'ListVpcEndpointServices' => [
+ 'summary' => 'Call the ListVpcEndpointServices operation to query the endpoint services owned by your account.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -4384,213 +3645,146 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '16177',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkG9DJDQ',
- ],
+ 'abilityTreeCode' => '16180',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkW2XK1B'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint service is deployed.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request 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' => 'caeba0bbb2be03f84eb48b699f0a4883',
- ],
+ 'schema' => ['description' => 'A pagination token for the next query. Valid values:'."\n"
+ ."\n"
+ .'- Leave this parameter empty for the first query or when no further results exist.'."\n"
+ ."\n"
+ .'- If another query is needed, set this parameter to the NextToken value returned in the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Valid values: **1** to **1000**. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '1000',
- 'minimum' => '0',
- 'example' => '50',
- 'default' => '50',
- ],
+ 'schema' => ['description' => 'The number of entries to return per page. Valid values: **1** to **1000**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '50', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
'name' => 'ServiceName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the endpoint service with which the endpoint is associated.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The name of the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'VpcId',
+ 'name' => 'ResourceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VPC to which the endpoint belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-fdjkf789dfdfdfde****',
- ],
+ 'schema' => ['description' => 'The ID of the service resource.', 'type' => 'string', 'required' => false, 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
],
[
- 'name' => 'EndpointName',
+ 'name' => 'ServiceResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the endpoint.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The type of the service resource. Valid values:'."\n"
+ ."\n"
+ .'- **slb**: The service resource is a Classic Load Balancer (CLB) instance.'."\n"
+ ."\n"
+ .'- **alb**: The service resource is an Application Load Balancer (ALB) instance.'."\n"
+ ."\n"
+ .'- **nlb**: The service resource is a Network Load Balancer (NLB) instance.'."\n"
+ ."\n"
+ .'- **gwlb**: The service resource is a Gateway Load Balancer (GWLB) instance.', 'type' => 'string', 'required' => false, 'example' => 'slb', 'title' => ''],
],
[
- 'name' => 'EndpointType',
+ 'name' => 'AutoAcceptEnabled',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the endpoint. Valid values:'."\n"
- ."\n"
- .'* **Interface**: interface endpoint'."\n"
- .'* **Reverse**: reverse endpoint'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Interface',
- ],
+ 'schema' => ['description' => 'Specifies whether to automatically accept endpoint connections. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Automatically accept endpoint connections.'."\n"
+ ."\n"
+ .'- **false**: Do not automatically accept endpoint connections.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'EndpointStatus',
+ 'name' => 'ServiceStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'The state of the endpoint. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The endpoint is being created.'."\n"
- .'* **Active**: The endpoint is available.'."\n"
- .'* **Pending**: The endpoint is being modified.'."\n"
- .'* **Deleting**: The endpoint is being deleted.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Active',
- ],
+ 'schema' => ['description' => 'The status of the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The endpoint service is being created.'."\n"
+ ."\n"
+ .'- **Pending**: The endpoint service is being modified.'."\n"
+ ."\n"
+ .'- **Active**: The endpoint service is available.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint service is being deleted.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
[
- 'name' => 'ConnectionStatus',
+ 'name' => 'ServiceBusinessStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'The state of the endpoint connection. Valid values:'."\n"
- ."\n"
- .'* **Pending**: The endpoint connection is being modified.'."\n"
- .'* **Connecting**: The endpoint connection is being established.'."\n"
- .'* **Connected**: The endpoint connection is established.'."\n"
- .'* **Disconnecting**: The endpoint is being disconnected from the endpoint service.'."\n"
- .'* **Disconnected**: The endpoint is disconnected from the endpoint service.'."\n"
- .'* **Deleting**: The connection is being deleted.'."\n"
- .'* **ServiceDeleted**: The corresponding endpoint service has been deleted.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Disconnected',
- ],
+ 'schema' => ['description' => 'The business status of the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The endpoint service is running as expected.'."\n"
+ ."\n"
+ .'- **FinancialLocked**: The endpoint service is locked due to an overdue payment.', 'type' => 'string', 'required' => false, 'example' => 'Normal', 'title' => ''],
+ ],
+ [
+ 'name' => 'ZoneAffinityEnabled',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether zonal affinity is enabled for domain name resolution. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false**: No.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The ID of the region where the endpoint service is deployed.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'flat',
'schema' => [
- 'description' => 'The tags.'."\n",
+ 'description' => 'The list of tags.',
'type' => 'array',
'items' => [
- 'description' => 'The tag.'."\n",
+ 'description' => 'The tag.',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag added to the resource. You can specify at most 20 tag keys. 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",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FinanceDept',
- ],
- 'Value' => [
- 'description' => 'The tag value. You can specify up to 20 tag values. The tag value can be an empty string.'."\n"
- ."\n"
- .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FinanceJoshua',
- ],
+ 'Key' => ['description' => 'The tag key of the instance. You can specify up to 20 tag keys. The key cannot be an empty string.'."\n"
+ ."\n"
+ .'The key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the instance. You can specify up to 20 tag values. The value can be an empty string.'."\n"
+ ."\n"
+ .'The value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
+ 'title' => '',
+ 'example' => '',
],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmy*****', 'title' => ''],
],
[
'name' => 'AddressIpVersion',
'in' => 'query',
- 'schema' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'IPv4',
- ],
- ],
- [
- 'name' => 'ServiceRegionId',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The IP address version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: IPv4 type.'."\n"
+ ."\n"
+ .'- **DualStack**: Dual-stack type.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
],
],
'responses' => [
@@ -4598,471 +3792,170 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Endpoints' => [
- 'description' => 'The information about the endpoints.'."\n",
+ 'Services' => [
+ 'description' => 'The collection of endpoint services.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the endpoints.'."\n",
+ 'description' => 'The collection of endpoint services.',
'type' => 'object',
'properties' => [
- 'VpcId' => [
- 'description' => 'The ID of the virtual private cloud (VPC) to which the endpoint belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-hp356stwkxg3fn2xe****',
- ],
- 'EndpointName' => [
- 'description' => 'The name of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'EndpointType' => [
- 'description' => 'The type of the endpoint. Valid values:'."\n"
- ."\n"
- .'* **Interface**: interface endpoint'."\n"
- .'* **Reverse**: reverse endpoint'."\n",
- 'type' => 'string',
- 'example' => 'Interface',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the endpoint was created.'."\n",
- 'type' => 'string',
- 'example' => '2021-09-24T18:00:07Z',
- ],
- 'ServiceId' => [
- 'description' => 'The ID of the endpoint service that is associated with the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- 'ZoneAffinityEnabled' => [
- 'description' => 'Indicates whether the domain name of the nearest endpoint that is associated with the endpoint service is resolved first. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'EndpointDomain' => [
- 'description' => 'The domain name of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com',
- ],
- 'EndpointStatus' => [
- 'description' => 'The state of the endpoint. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The endpoint is being created.'."\n"
- .'* **Active**: The endpoint is available.'."\n"
- .'* **Pending**: The endpoint is being modified.'."\n"
- .'* **Deleting**: The endpoint is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote',
- ],
- 'ResourceOwner' => [
- 'description' => 'Indicates whether the endpoint and the endpoint service belong to the same Alibaba Cloud account. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Bandwidth' => [
- 'description' => 'The bandwidth of the endpoint connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1024',
- ],
- 'ConnectionStatus' => [
- 'description' => 'The state of the endpoint connection. Valid values:'."\n"
- ."\n"
- .'* **Pending**: The endpoint connection is being modified.'."\n"
- .'* **Connecting**: The endpoint connection is being established.'."\n"
- .'* **Connected**: The endpoint connection is established.'."\n"
- .'* **Disconnecting**: The endpoint is being disconnected from the endpoint service.'."\n"
- .'* **Disconnected**: The endpoint is disconnected from the endpoint service.'."\n"
- .'* **Deleting**: The endpoint connection is being deleted.'."\n"
- .'* **ServiceDeleted**: The corresponding service is deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Disconnected',
- ],
- 'EndpointDescription' => [
- 'description' => 'The description of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'This is my Endpoint.',
- ],
- 'EndpointId' => [
- 'description' => 'The ID of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
- 'EndpointBusinessStatus' => [
- 'description' => 'The service state of the endpoint. Valid values:'."\n"
- ."\n"
- .'* **Normal**: The endpoint runs as expected.'."\n"
- .'* **FinancialLocked**: The endpoint is locked due to overdue payments.'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'ServiceName' => [
- 'description' => 'The name of the endpoint service that is associated with the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****',
- ],
+ 'AutoAcceptEnabled' => ['description' => 'Specifies whether to automatically accept endpoint connections. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Automatically accept endpoint connections.'."\n"
+ ."\n"
+ .'- **false**: Do not automatically accept endpoint connections.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the endpoint service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the endpoint service was created.', 'type' => 'string', 'example' => '2021-09-24T17:15:10Z', 'title' => ''],
+ 'MinBandwidth' => ['description' => 'The minimum bandwidth of the endpoint connection. Unit: Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
+ 'MaxBandwidth' => ['description' => 'The maximum bandwidth of the endpoint connection. Unit: Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''],
+ 'ServiceStatus' => ['description' => 'The status of the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The endpoint service is being created.'."\n"
+ ."\n"
+ .'- **Pending**: The endpoint service is being modified.'."\n"
+ ."\n"
+ .'- **Active**: The endpoint service is available.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint service is being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
+ 'ZoneAffinityEnabled' => ['description' => 'Specifies whether zonal affinity is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false**: No.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'RegionId' => ['description' => 'The region where the endpoint service is deployed.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''],
+ 'ServiceDomain' => ['description' => 'The domain name of the endpoint service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com', 'title' => ''],
+ 'Payer' => ['description' => 'The payer. Valid values:'."\n"
+ ."\n"
+ .'- **Endpoint**: the service consumer.'."\n"
+ ."\n"
+ .'- **EndpointService**: the service provider.', 'type' => 'string', 'example' => 'Endpoint', 'title' => ''],
+ 'ServiceBusinessStatus' => ['description' => 'The business status of the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The endpoint service is running as expected.'."\n"
+ ."\n"
+ .'- **FinancialLocked**: The endpoint service is locked due to an overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'ConnectBandwidth' => ['description' => 'The default maximum bandwidth. Unit: Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''],
+ 'ServiceName' => ['description' => 'The name of the endpoint service.', 'type' => 'string', 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'ServiceDescription' => ['description' => 'The description of the endpoint service.', 'type' => 'string', 'example' => 'This is my EndpointService.', 'title' => ''],
+ 'ServiceResourceType' => ['description' => 'The type of the service resource. Valid values:'."\n"
+ ."\n"
+ .'- **slb**: The service resource is a CLB instance.'."\n"
+ ."\n"
+ .'- **alb**: The service resource is an ALB instance.'."\n"
+ ."\n"
+ .'- **nlb**: The service resource is an NLB instance.'."\n"
+ ."\n"
+ .'- **gwlb**: The service resource is a GWLB instance.', 'type' => 'string', 'example' => 'slb', 'title' => ''],
+ 'ServiceType' => ['description' => 'The type of the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Interface**: an interface endpoint. You can add CLB, ALB, and NLB instances as service resources.'."\n"
+ ."\n"
+ .'- **GatewayLoadBalancer**: a Gateway Load Balancer endpoint. You can add GWLB instances as service resources.', 'type' => 'string', 'example' => 'Interface', 'title' => ''],
+ 'ServiceSupportIPv6' => ['description' => 'Indicates whether the endpoint service supports IPv6. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false**: No.', 'type' => 'boolean', 'deprecated' => true, 'example' => 'false', 'title' => ''],
'Tags' => [
- 'description' => 'The tags added to the resource.'."\n",
+ 'description' => 'The list of tags.',
'type' => 'array',
'items' => [
- 'description' => 'The tag list.'."\n",
+ 'description' => 'The list of tags.',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag added to the resource.'."\n",
- 'type' => 'string',
- 'example' => 'FinanceDept',
- ],
- 'Value' => [
- 'description' => 'The value of the tag added to the resource.'."\n",
- 'type' => 'string',
- 'example' => 'FinanceJoshua',
- ],
+ 'Key' => ['description' => 'The tag key of the instance.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''],
+ 'Value' => ['description' => 'The tag value of the instance.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
- 'PolicyDocument' => [
- 'description' => 'The Resource Access Management (RAM) policy. For more information about policy definitions, see [Policy elements](~~93738~~).'."\n",
- 'type' => 'string',
- 'example' => '{\\n \\"Version\\": \\"1\\",\\n \\"Statement\\": [\\n {\\n \\"Effect\\": \\"Allow\\",\\n \\"Action\\": \\"*\\",\\n \\"Principal\\": \\"*\\",\\n \\"Resource\\": \\"*\\"\\n }\\n ]\\n}',
- ],
- 'AddressIpVersion' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n",
- 'type' => 'string',
- 'example' => 'IPv4',
- ],
- 'ServiceRegionId' => [
- 'type' => 'string',
- ],
- 'CrossRegionBandwidth' => [
- 'type' => 'integer',
- 'format' => 'int32',
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmy*****', 'title' => ''],
+ 'AddressIpVersion' => ['description' => 'The IP address version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: IPv4 type.'."\n"
+ ."\n"
+ .'- **DualStack**: Dual-stack type.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'SupportedRegionSet' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ServiceRegionId' => ['type' => 'string', 'deprecated' => true, 'description' => '', 'title' => '', 'example' => ''],
+ 'RegionServiceStatus' => ['description' => 'The status of the region supported by the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Pending**: The status is being updated.'."\n"
+ ."\n"
+ .'- **Available**: The region is available.'."\n"
+ ."\n"
+ .'- **Deleting**: The region is being deleted.'."\n"
+ ."\n"
+ .'- **Failed**: The operation failed.'."\n"
+ ."\n"
+ .'- **Closed**: The region is closed.', 'type' => 'string', 'example' => 'Available', 'title' => ''],
+ 'RegionBusinessStatus' => ['description' => 'The business status of the region supported by the endpoint service. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: Normal.'."\n"
+ ."\n"
+ .'- **FinancialLocked**: Locked due to an overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'SupportedRegionId' => ['description' => 'The ID of the region supported by the endpoint service.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'The list of regions supported by the endpoint service. Service consumers can initiate endpoint connections from these regions.',
+ 'title' => '',
+ 'example' => '',
],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'NextToken' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request is to be performed, set the parameter to the value of **NextToken** that is returned from the last call.'."\n",
- 'type' => 'string',
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned on each page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '12',
- ],
+ 'NextToken' => ['description' => 'A pagination token for the next query. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no further results exist.'."\n"
+ ."\n"
+ .'- If **NextToken** has a value, use it as the starting token for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Endpoints\\": [\\n {\\n \\"VpcId\\": \\"vpc-hp356stwkxg3fn2xe****\\",\\n \\"EndpointName\\": \\"test\\",\\n \\"EndpointType\\": \\"Interface\\",\\n \\"CreateTime\\": \\"2021-09-24T18:00:07Z\\",\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ZoneAffinityEnabled\\": true,\\n \\"EndpointDomain\\": \\"ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"EndpointStatus\\": \\"Active\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ResourceOwner\\": true,\\n \\"Bandwidth\\": 1024,\\n \\"ConnectionStatus\\": \\"Disconnected\\",\\n \\"EndpointDescription\\": \\"This is my Endpoint.\\",\\n \\"EndpointId\\": \\"ep-hp33b2e43fays7s8****\\",\\n \\"EndpointBusinessStatus\\": \\"Normal\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"1\\",\\n \\"PolicyDocument\\": \\"{\\\\\\\\n \\\\\\\\\\\\\\"Version\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Statement\\\\\\\\\\\\\\": [\\\\\\\\n {\\\\\\\\n \\\\\\\\\\\\\\"Effect\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"Allow\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Action\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Principal\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Resource\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\"\\\\\\\\n }\\\\\\\\n ]\\\\\\\\n}\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"ServiceRegionId\\": \\"\\",\\n \\"CrossRegionBandwidth\\": 0\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 12\\n}","errorExample":""},{"type":"xml","example":"<ListVpcEndpointsResponse>\\n <Endpoints>\\n <VpcId>vpc-hp356stwkxg3fn2xe****</VpcId>\\n <EndpointName>test</EndpointName>\\n <EndpointType>Interface</EndpointType>\\n <CreateTime>2021-09-24T18:00:07Z</CreateTime>\\n <ServiceId>epsrv-hp3vpx8yqxblby3i****</ServiceId>\\n <ZoneAffinityEnabled>true</ZoneAffinityEnabled>\\n <EndpointDomain>ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com</EndpointDomain>\\n <EndpointStatus>Active</EndpointStatus>\\n <RegionId>cn-huhehaote</RegionId>\\n <ResourceOwner>true</ResourceOwner>\\n <Bandwidth>1024</Bandwidth>\\n <ConnectionStatus>Disconnected</ConnectionStatus>\\n <EndpointDescription>This is my Endpoint.</EndpointDescription>\\n <EndpointId>ep-hp33b2e43fays7s8****</EndpointId>\\n <EndpointBusinessStatus>Normal</EndpointBusinessStatus>\\n <ServiceName>com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****</ServiceName>\\n <Tags>\\n <Key>FinanceDept</Key>\\n <Value>FinanceJoshua</Value>\\n </Tags>\\n <ResourceGroupId>1</ResourceGroupId>\\n </Endpoints>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a****</NextToken>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n <MaxResults>50</MaxResults>\\n</ListVpcEndpointsResponse>","errorExample":""}]',
- 'title' => 'ListVpcEndpoints',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Services\\": [\\n {\\n \\"AutoAcceptEnabled\\": true,\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"CreateTime\\": \\"2021-09-24T17:15:10Z\\",\\n \\"MinBandwidth\\": 100,\\n \\"MaxBandwidth\\": 1024,\\n \\"ServiceStatus\\": \\"Active\\",\\n \\"ZoneAffinityEnabled\\": true,\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ServiceDomain\\": \\"epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"Payer\\": \\"Endpoint\\",\\n \\"ServiceBusinessStatus\\": \\"Normal\\",\\n \\"ConnectBandwidth\\": 1024,\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceDescription\\": \\"This is my EndpointService.\\",\\n \\"ServiceResourceType\\": \\"slb\\",\\n \\"ServiceType\\": \\"Interface\\",\\n \\"ServiceSupportIPv6\\": false,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmy*****\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"SupportedRegionSet\\": [\\n {\\n \\"ServiceRegionId\\": \\"\\",\\n \\"RegionServiceStatus\\": \\"Available\\",\\n \\"RegionBusinessStatus\\": \\"Normal\\",\\n \\"SupportedRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 12\\n}","type":"json"}]',
+ 'title' => 'ListVpcEndpointServices',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'GetVpcEndpointAttribute' => [
- 'summary' => 'Queries the attributes of an endpoint.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '16174',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkG9DJDQ',
- ],
- ],
- 'parameters' => [
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint whose attributes you want to query.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~448570~~) operation to query the most recent region list.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
- ],
- [
- 'name' => 'EndpointId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint whose attributes you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint whose attributes you want to query.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~448570~~) operation to query the most recent region list.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'Payer' => [
- 'description' => 'The payer. Valid values:'."\n"
- ."\n"
- .'* **Endpoint**: the service consumer.'."\n"
- .'* **EndpointService**: the service provider.'."\n",
- 'type' => 'string',
- 'example' => 'Endpoint',
- ],
- 'EndpointDomain' => [
- 'description' => 'The domain name of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B',
- ],
- 'CreateTime' => [
- 'description' => 'The time when the endpoint was created.'."\n",
- 'type' => 'string',
- 'example' => '2021-09-24T18:00:07Z',
- ],
- 'ResourceOwner' => [
- 'description' => 'Indicates whether the endpoint and the endpoint service belong to the same Alibaba Cloud account. Valid values:'."\n"
- ."\n"
- .'* **true**: The endpoint and the endpoint service belong to the same Alibaba Cloud account.'."\n"
- .'* **false**: The endpoint and the endpoint service do not belong to the same Alibaba Cloud account.'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'EndpointBusinessStatus' => [
- 'description' => 'The service state of the endpoint. Valid values:'."\n"
- ."\n"
- .'* **Normal**: The endpoint runs as expected.'."\n"
- .'* **FinancialLocked**: The endpoint is locked due to overdue payments.'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'EndpointDescription' => [
- 'description' => 'The description of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'This is my Endpoint.',
- ],
- 'ServiceId' => [
- 'description' => 'The ID of the endpoint service with which the endpoint is associated.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- 'EndpointStatus' => [
- 'description' => 'The state of the endpoint. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The endpoint is being created.'."\n"
- .'* **Active**: The endpoint is available.'."\n"
- .'* **Pending**: The endpoint is being modified.'."\n"
- .'* **Deleting**: The endpoint is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'VpcId' => [
- 'description' => 'The ID of the virtual private cloud (VPC) to which the endpoint belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-fdfhkjafhjvcvdjf****',
- ],
- 'EndpointName' => [
- 'description' => 'The name of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'ZonePrivateIpAddressCount' => [
- 'description' => 'The number of private IP addresses that are assigned to an elastic network interface (ENI) in each zone. Only **1** is returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'EndpointType' => [
- 'description' => 'The type of the endpoint.'."\n"
- ."\n"
- .'**Interface** is returned. The value indicates the interface endpoint with which the Classic Load Balancer (CLB) instances are associated.'."\n",
- 'type' => 'string',
- 'example' => 'Interface',
- ],
- 'ServiceName' => [
- 'description' => 'The name of the endpoint service with which the endpoint is associated.'."\n",
- 'type' => 'string',
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****',
- ],
- 'Bandwidth' => [
- 'description' => 'The bandwidth of the endpoint connection. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1024',
- ],
- 'EndpointId' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote',
- ],
- 'ConnectionStatus' => [
- 'description' => 'The state of the endpoint connection. Valid values:'."\n"
- ."\n"
- .'* **Pending**: The connection is being modified.'."\n"
- .'* **Connecting**: The connection is being established.'."\n"
- .'* **Connected**: The connection is established.'."\n"
- .'* **Disconnecting**: The endpoint is being disconnected from the endpoint service.'."\n"
- .'* **Disconnected**: The endpoint is disconnected from the endpoint service.'."\n"
- .'* **Deleting**: The connection is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Connected',
- ],
- 'ZoneAffinityEnabled' => [
- 'description' => 'Indicates whether the domain name of the nearest endpoint that is associated with the endpoint service is resolved first. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ResourceGroupId' => [
- 'description' => 'The resource group ID.'."\n",
- 'type' => 'string',
- 'example' => 'rg-acfmz7nocpei***',
- ],
- 'PolicyDocument' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '{'."\n"
- .' "Version": "1",'."\n"
- .' "Statement": ['."\n"
- .' {'."\n"
- .' "Effect": "Allow",'."\n"
- .' "Action": ['."\n"
- .' "oss:List*",'."\n"
- .' "oss:PutObject",'."\n"
- .' "oss:GetObject"'."\n"
- .' ],'."\n"
- .' "Resource": ['."\n"
- .' "acs:oss:oss-*:*:pvl-policy-test/policy-test.txt"'."\n"
- .' ],'."\n"
- .' "Principal": {'."\n"
- .' "RAM": ['."\n"
- .' "acs:ram::14199xxxxxx:*"'."\n"
- .' ]'."\n"
- .' }'."\n"
- .' }'."\n"
- .' ]'."\n"
- .'}',
- ],
- 'AddressIpVersion' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n",
- 'type' => 'string',
- 'example' => 'IPv4',
- ],
- 'ServiceRegionId' => [
- 'type' => 'string',
- ],
- 'CrossRegionBandwidth' => [
- 'type' => 'integer',
- 'format' => 'int32',
- ],
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointServices',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/*'],
],
- 'description' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionNotFound',
- 'errorMessage' => 'The specified endpoint connection does not exist.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Payer\\": \\"Endpoint\\",\\n \\"EndpointDomain\\": \\"ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"CreateTime\\": \\"2021-09-24T18:00:07Z\\",\\n \\"ResourceOwner\\": true,\\n \\"EndpointBusinessStatus\\": \\"Normal\\",\\n \\"EndpointDescription\\": \\"This is my Endpoint.\\",\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"EndpointStatus\\": \\"Active\\",\\n \\"VpcId\\": \\"vpc-fdfhkjafhjvcvdjf****\\",\\n \\"EndpointName\\": \\"test\\",\\n \\"ZonePrivateIpAddressCount\\": 1,\\n \\"EndpointType\\": \\"Interface\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****\\",\\n \\"Bandwidth\\": 1024,\\n \\"EndpointId\\": \\"ep-hp33b2e43fays7s8****\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ConnectionStatus\\": \\"Connected\\",\\n \\"ZoneAffinityEnabled\\": true,\\n \\"ResourceGroupId\\": \\"rg-acfmz7nocpei***\\",\\n \\"PolicyDocument\\": \\"{\\\\n \\\\\\"Version\\\\\\": \\\\\\"1\\\\\\",\\\\n \\\\\\"Statement\\\\\\": [\\\\n {\\\\n \\\\\\"Effect\\\\\\": \\\\\\"Allow\\\\\\",\\\\n \\\\\\"Action\\\\\\": [\\\\n \\\\\\"oss:List*\\\\\\",\\\\n \\\\\\"oss:PutObject\\\\\\",\\\\n \\\\\\"oss:GetObject\\\\\\"\\\\n ],\\\\n \\\\\\"Resource\\\\\\": [\\\\n \\\\\\"acs:oss:oss-*:*:pvl-policy-test/policy-test.txt\\\\\\"\\\\n ],\\\\n \\\\\\"Principal\\\\\\": {\\\\n \\\\\\"RAM\\\\\\": [\\\\n \\\\\\"acs:ram::14199xxxxxx:*\\\\\\"\\\\n ]\\\\n }\\\\n }\\\\n ]\\\\n}\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"ServiceRegionId\\": \\"\\",\\n \\"CrossRegionBandwidth\\": 0\\n}","errorExample":""},{"type":"xml","example":"<GetVpcEndpointAttributeResponse>\\n <Payer>Endpoint</Payer>\\n <EndpointDomain>ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com</EndpointDomain>\\n <RequestId>8D8992C1-6712-423C-BAC5-E5E817484C6B</RequestId>\\n <CreateTime>2021-09-24T18:00:07Z</CreateTime>\\n <ResourceOwner>true</ResourceOwner>\\n <EndpointBusinessStatus>Normal</EndpointBusinessStatus>\\n <EndpointDescription>This is my Endpoint.</EndpointDescription>\\n <ServiceId>epsrv-hp3vpx8yqxblby3i****</ServiceId>\\n <EndpointStatus>Active</EndpointStatus>\\n <VpcId>vpc-fdfhkjafhjvcvdjf****</VpcId>\\n <EndpointName>test</EndpointName>\\n <ZonePrivateIpAddressCount>1</ZonePrivateIpAddressCount>\\n <EndpointType>Interface</EndpointType>\\n <ServiceName>com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****</ServiceName>\\n <Bandwidth>1024</Bandwidth>\\n <EndpointId>ep-hp33b2e43fays7s8****</EndpointId>\\n <RegionId>cn-huhehaote</RegionId>\\n <ConnectionStatus>Connected</ConnectionStatus>\\n <ZoneAffinityEnabled>true</ZoneAffinityEnabled>\\n</GetVpcEndpointAttributeResponse>","errorExample":""}]',
- 'title' => 'GetVpcEndpointAttribute',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
],
'ListVpcEndpointServicesByEndUser' => [
- 'summary' => 'Queries a list of endpoint services that can be associated with the endpoint created within the current account.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'summary' => 'Call the ListVpcEndpointServicesByEndUser operation to retrieve a list of endpoint services for which the current account is whitelisted. This list includes services that you can connect to by creating new endpoints, as well as services that are already connected to your existing ones.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -5075,145 +3968,90 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '16181',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkW2XK1B',
- ],
+ 'abilityTreeNodes' => ['FEATUREprivatelinkW2XK1B'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~DescribeRegions~~) operation to query the most recent region list.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request is to be performed, 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 pagination token.'."\n"
+ ."\n"
+ .'- If this is your first request, do not specify this parameter.'."\n"
+ ."\n"
+ .'- If more results are available, set this parameter to the **NextToken** value from the previous response to retrieve the next page.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries per page. Valid values: **1** to **1000**. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '1000',
- 'minimum' => '0',
- 'example' => '50',
- 'default' => '50',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **1000**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'default' => '50', 'example' => '50', 'title' => ''],
],
[
'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint service that you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
'name' => 'ServiceName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The name of the endpoint service that you want to query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****',
- ],
+ 'schema' => ['description' => 'The name of the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****', 'title' => ''],
],
[
'name' => 'ServiceType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the endpoint service.'."\n"
- ."\n"
- .'Set the value to **Interface**. You can specify CLB and ALB instances as service resources for the endpoint service.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Interface',
- ],
+ 'schema' => ['description' => 'The type of the endpoint service.'."\n"
+ ."\n"
+ .'Only **Interface** is supported. An interface endpoint allows you to use Application Load Balancers (ALBs), Classic Load Balancers (CLBs), and Network Load Balancers (NLBs) as service resources.', 'type' => 'string', 'required' => false, 'example' => 'Interface', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~DescribeRegions~~) operation to query the most recent region list.',
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'flat',
'schema' => [
- 'description' => 'The tags.'."\n",
+ 'description' => 'A list of tags to filter resources. You can specify up to 20 tags.',
'type' => 'array',
'items' => [
- 'description' => 'The tag.'."\n",
+ 'description' => 'A key-value pair that makes up a tag.',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The tag key. You can specify at most 20 tag keys. 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",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FinanceDept',
- ],
- 'Value' => [
- 'description' => 'The tag value. You can specify up to 20 tag values. The tag value can be an empty string.'."\n"
- ."\n"
- .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FinanceJoshua',
- ],
+ '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. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', '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. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''],
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The resource group ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfmy*****',
- ],
+ 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmy*****', 'title' => ''],
],
[
'name' => 'ServiceRegionId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
],
],
'responses' => [
@@ -5222,270 +4060,166 @@
'type' => 'object',
'properties' => [
'Services' => [
- 'description' => 'The information about endpoint services.'."\n",
+ 'description' => 'The endpoint services.',
'type' => 'array',
'items' => [
- 'description' => 'The information about endpoint services.'."\n",
+ 'description' => 'An endpoint service.',
'type' => 'object',
'properties' => [
- 'Payer' => [
- 'description' => 'The payer. Valid values:'."\n"
- ."\n"
- .'* **Endpoint**: the service consumer'."\n"
- .'* **EndpointService**: the service provider'."\n",
- 'type' => 'string',
- 'example' => 'Endpoint',
- ],
- 'ServiceDomain' => [
- 'description' => 'The domain name of the endpoint service that can be associated with the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com',
- ],
+ 'Payer' => ['description' => 'The payer. Valid values:'."\n"
+ ."\n"
+ .'- **Endpoint**: the service consumer.'."\n"
+ ."\n"
+ .'- **EndpointService**: the service provider.', 'type' => 'string', 'example' => 'Endpoint', 'title' => ''],
+ 'ServiceDomain' => ['description' => 'The domain name of the endpoint service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com', 'title' => ''],
'Zones' => [
- 'description' => 'The zones of the endpoint service that can be associated with the endpoint.'."\n",
+ 'description' => 'The zones where the endpoint service is available.',
'type' => 'array',
- 'items' => [
- 'description' => 'The information about the array object.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote-a',
- ],
- ],
- 'ServiceId' => [
- 'description' => 'The ID of the endpoint service that can be associated with the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- 'ServiceName' => [
- 'description' => 'The name of the endpoint service that can be associated with the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****',
- ],
- 'ServiceType' => [
- 'description' => 'The type of the endpoint service.'."\n"
- ."\n"
- .'Only **Interface** is returned, which indicates an interface endpoint. You can specify **CLB** and **ALB** instances as service resources.'."\n",
- 'type' => 'string',
- 'example' => 'Interface',
- ],
- 'ServiceSupportIPv6' => [
- 'description' => 'Indicates whether IPv6 is enabled. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'false',
+ 'items' => ['description' => 'The zone where the endpoint service is available.', 'type' => 'string', 'example' => 'cn-huhehaote-a', 'title' => ''],
+ 'title' => '',
+ 'example' => '',
],
+ 'ServiceId' => ['description' => 'The ID of the endpoint service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'ServiceName' => ['description' => 'The name of the endpoint service.', 'type' => 'string', 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'ServiceType' => ['description' => 'The type of the endpoint service.'."\n"
+ ."\n"
+ .'The value is always **Interface**. This indicates an interface endpoint where you can add service resources such as Application Load Balancer (ALB), Classic Load Balancer (CLB), and Network Load Balancer (NLB).', 'type' => 'string', 'example' => 'Interface', 'title' => ''],
+ 'ServiceSupportIPv6' => ['description' => 'Specifies whether the endpoint service supports IPv6. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The endpoint service supports IPv6.'."\n"
+ ."\n"
+ .'- **false**: The endpoint service does not support IPv6.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'Tags' => [
- 'description' => 'The list of tags.'."\n",
+ 'description' => 'A list of tags.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the array object.'."\n",
+ 'description' => 'A tag.',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The key of the tag.'."\n",
- 'type' => 'string',
- 'example' => 'FinanceDept',
- ],
- 'Value' => [
- 'description' => 'The value of the tag.'."\n",
- 'type' => 'string',
- 'example' => 'FinanceJoshua',
- ],
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'ResourceGroupId' => [
- 'description' => 'The resource group ID.'."\n",
- 'type' => 'string',
- 'example' => 'rg-acfmy*****',
- ],
- 'ServiceResourceType' => [
- 'description' => 'The type of the service resource. Valid values:'."\n"
- ."\n"
- .'* **slb**: Classic Load Balancer (CLB) instance'."\n"
- .'* **alb**: Application Load Balancer (ALB) instance'."\n"
- .'* **nlb**: Network Load Balancer (NLB) instance'."\n",
- 'type' => 'string',
- 'example' => 'slb',
- ],
- 'AddressIpVersion' => [
- 'description' => 'The protocol. Valid values:'."\n"
- ."\n"
- .'* **IPv4**'."\n"
- .'* **DualStack**'."\n",
- 'type' => 'string',
- 'example' => 'IPv4',
- ],
- 'ZoneAffinityEnabled' => [
- 'type' => 'boolean',
- ],
- 'VpcEndpointPolicySupported' => [
- 'type' => 'boolean',
- ],
- 'AutoAcceptEnabled' => [
- 'type' => 'boolean',
- ],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-acfmy*****', 'title' => ''],
+ 'ServiceResourceType' => ['description' => 'The service resource type.'."\n"
+ ."\n"
+ .'- **slb**: A Classic Load Balancer (CLB) instance.'."\n"
+ ."\n"
+ .'- **alb**: An Application Load Balancer (ALB) instance.'."\n"
+ ."\n"
+ .'- **nlb**: A Network Load Balancer (NLB) instance.', 'type' => 'string', 'example' => 'slb', 'title' => ''],
+ 'AddressIpVersion' => ['description' => 'The IP version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: The service supports IPv4.'."\n"
+ ."\n"
+ .'- **DualStack**: The service supports both IPv4 and IPv6 (dual stack).', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'ZoneAffinityEnabled' => ['description' => 'Specifies whether zone affinity is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Zone affinity is enabled.'."\n"
+ ."\n"
+ .'- **false**: Zone affinity is disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
+ 'VpcEndpointPolicySupported' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
+ 'AutoAcceptEnabled' => ['description' => 'Specifies whether connection requests are automatically accepted. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Connection requests are automatically accepted.'."\n"
+ ."\n"
+ .'- **false**: Connection requests must be manually accepted.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If no value is returned for **NextToken**, no next requests are performed.'."\n"
- .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'string',
- 'example' => '29',
- ],
+ 'NextToken' => ['description' => 'The token that is used to retrieve the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- If this parameter is empty, all results have been returned.'."\n"
+ ."\n"
+ .'- If a value is returned, use it in a subsequent request to retrieve the next page of results.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'string', 'example' => '29', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Services\\": [\\n {\\n \\"Payer\\": \\"Endpoint\\",\\n \\"ServiceDomain\\": \\"epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"Zones\\": [\\n \\"cn-huhehaote-a\\"\\n ],\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceType\\": \\"Interface\\",\\n \\"ServiceSupportIPv6\\": false,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmy*****\\",\\n \\"ServiceResourceType\\": \\"slb\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"ZoneAffinityEnabled\\": true,\\n \\"VpcEndpointPolicySupported\\": true,\\n \\"AutoAcceptEnabled\\": true\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": \\"29\\"\\n}","errorExample":""},{"type":"xml","example":"<ListVpcEndpointServicesByEndUserResponse>\\n <Services>\\n <Payer>Endpoint</Payer>\\n <ServiceDomain>epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com</ServiceDomain>\\n <Zones>cn-huhehaote-a</Zones>\\n <ServiceId>epsrv-hp3vpx8yqxblby3i****</ServiceId>\\n <ServiceName>com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****</ServiceName>\\n <ServiceType>Interface</ServiceType>\\n <ServiceSupportIPv6>false</ServiceSupportIPv6>\\n <Tags>\\n <Key>FinanceDept</Key>\\n <Value>FinanceJoshua</Value>\\n </Tags>\\n </Services>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n <MaxResults>50</MaxResults>\\n</ListVpcEndpointServicesByEndUserResponse>","errorExample":""}]',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Services\\": [\\n {\\n \\"Payer\\": \\"Endpoint\\",\\n \\"ServiceDomain\\": \\"epsrv-hp3vpx8yqxblby3i****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"Zones\\": [\\n \\"cn-huhehaote-a\\"\\n ],\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ServiceType\\": \\"Interface\\",\\n \\"ServiceSupportIPv6\\": false,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-acfmy*****\\",\\n \\"ServiceResourceType\\": \\"slb\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"ZoneAffinityEnabled\\": false,\\n \\"VpcEndpointPolicySupported\\": false,\\n \\"AutoAcceptEnabled\\": true\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": \\"29\\"\\n}","type":"json"}]',
'title' => 'ListVpcEndpointServicesByEndUser',
'description' => "\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'EnableVpcEndpointConnection' => [
- 'summary' => 'Accepts connection requests from an endpoint.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointServicesByEndUser',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'privatelink:VpcEndpointServiceId', 'validationType' => 'conditional'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#AccountId}:vpcendpointservice/*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'ListVpcEndpointZones' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '16173',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkDB15J4',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the connection request is accepted.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The ID of the region.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
- ],
- [
- 'name' => 'DryRun',
+ 'name' => 'NextToken',
'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 check, 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 token that is used to retrieve the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- If this is your first query, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'- If a next page exists, set the value to the **NextToken** value that is returned from the previous call.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''],
],
[
- 'name' => 'ServiceId',
+ 'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **1000**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'default' => '50', 'example' => '50', 'title' => ''],
],
[
'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
- ],
- [
- 'name' => 'Bandwidth',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The bandwidth of the endpoint connection. Unit: Mbit/s. Valid values: **3072 to 10240**.'."\n"
- ."\n"
- .'> The bandwidth of an endpoint connection is in the range of **100 to 10,240** Mbit/s. The default bandwidth is **3,072** Mbit/s. When the endpoint is connected to the endpoint service, the default bandwidth is the minimum bandwidth. In this case, the connection bandwidth range is **3,072 to 10,240** Mbit/s. If Classic Load Balancer (CLB) instances or Application Load Balancer (ALB) instances are specified as service resources, you can modify the endpoint connection bandwidth based on your business requirements. This parameter is invalid if Network Load Balancer (NLB) instances are specified as service resources.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'docRequired' => false,
- 'maximum' => '2147483647',
- 'minimum' => '0',
- 'example' => '1024',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint.'."\n"
+ ."\n"
+ .'After you specify the endpoint ID, the system queries the zones of the endpoint.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the connection request is accepted.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
- ],
- [
- 'name' => 'TrafficControlMode',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ 'schema' => ['description' => 'The ID of the region.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
],
'responses' => [
@@ -5493,386 +4227,240 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
+ 'NextToken' => ['description' => 'The token that is used to retrieve the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- If this parameter is empty, no next page exists.'."\n"
+ ."\n"
+ .'- If a value is returned, use the value to retrieve the next page of results.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
+ 'Zones' => [
+ 'description' => 'The collection of zone information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the zone.',
+ 'type' => 'object',
+ 'properties' => [
+ 'VSwitchId' => ['description' => 'The vSwitch in the zone. The system automatically creates an endpoint elastic network interface (ENI) in the vSwitch.', 'type' => 'string', 'example' => 'vsw-hjkshjvdkdvd****', 'title' => ''],
+ 'EniIp' => ['description' => 'The IP address of the endpoint ENI.', 'type' => 'string', 'example' => '192.168.2.23', 'title' => ''],
+ 'ZoneStatus' => ['description' => 'The status of the zone. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The zone is being created.'."\n"
+ ."\n"
+ .'- **Wait**: The zone is waiting to be connected.'."\n"
+ ."\n"
+ .'- **Connected**: The zone is connected.'."\n"
+ ."\n"
+ .'- **Deleting**: The zone is being deleted.'."\n"
+ ."\n"
+ .'- **Disconnecting**: The zone is being disconnected.'."\n"
+ ."\n"
+ .'- **Disconnected**: The zone is disconnected.'."\n"
+ ."\n"
+ .'- **Connecting**: The zone is being connected.', 'type' => 'string', 'example' => 'Wait', 'title' => ''],
+ 'ZoneId' => ['description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-huhehaote-a', 'title' => ''],
+ 'EniId' => ['description' => 'The ID of the endpoint ENI.', 'type' => 'string', 'example' => 'eni-hp3c8qj1tyct8aqy****', 'title' => ''],
+ 'ZoneDomain' => ['description' => 'The domain name of the zone.'."\n"
+ ."\n"
+ .'After an endpoint connection is established, use this domain name to access the service resources of the endpoint service.', 'type' => 'string', 'example' => 'ep-hp3f033dp24c5yc9****-cn-huhehaote-a.epsrv-hp3itcpowf37m3d5****.cn-huhehaote.privatelink.aliyuncs.com', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region where the endpoint is deployed.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''],
+ 'ZoneIpv6Address' => ['description' => 'The IPv6 address of the endpoint ENI.', 'type' => 'string', 'example' => '2408:4005:3b6:****:6955:c3cb:34c:****'."\n", 'title' => ''],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionNotFound',
- 'errorMessage' => 'The specified endpoint connection does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'EndpointOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint is not allowed.',
- ],
- [
- 'errorCode' => 'OperationDenied.NoAvailableServiceResource',
- 'errorMessage' => 'The operation is not allowed because of there are no resource in some available zones of endpoint service.',
- ],
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableVpcEndpointConnectionResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</EnableVpcEndpointConnectionResponse>","errorExample":""}]',
- 'title' => 'EnableVpcEndpointConnection',
- 'description' => '* **EnableVpcEndpointConnection** 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 [GetVpcEndpointAttribute](~~183568~~) operation to query the state of the endpoint connection.'."\n"
- ."\n"
- .' * If the state is **Connecting**, the endpoint connection is being established.'."\n"
- .' * If the state is **Connected**, the endpoint connection is established.'."\n"
- ."\n"
- .'* You cannot repeatedly call the **EnableVpcEndpointConnection** operation to allow an endpoint service of an Alibaba Cloud account to accept a connection request from an endpoint within a specified period of time.'."\n",
+ 'title' => 'ListVpcEndpointZones',
+ 'summary' => 'Call the ListVpcEndpointZones operation to query the zones of an endpoint.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'UpdateVpcEndpointConnectionAttribute' => [
- 'summary' => 'Modifies the attributes of an endpoint connection.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointZones',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 12,\\n \\"Zones\\": [\\n {\\n \\"VSwitchId\\": \\"vsw-hjkshjvdkdvd****\\",\\n \\"EniIp\\": \\"192.168.2.23\\",\\n \\"ZoneStatus\\": \\"Wait\\",\\n \\"ZoneId\\": \\"cn-huhehaote-a\\",\\n \\"EniId\\": \\"eni-hp3c8qj1tyct8aqy****\\",\\n \\"ZoneDomain\\": \\"ep-hp3f033dp24c5yc9****-cn-huhehaote-a.epsrv-hp3itcpowf37m3d5****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ZoneIpv6Address\\": \\"2408:4005:3b6:****:6955:c3cb:34c:****\\\\n\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'ListVpcEndpoints' => [
+ 'summary' => 'The `ListVpcEndpoints` operation lists endpoints.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkO25BLH',
- ],
+ 'abilityTreeCode' => '16177',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkG9DJDQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint connection whose bandwidth you want to modify. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'schema' => ['description' => 'The token that is used to retrieve the next page of results.'."\n"
+ ."\n"
+ .'- If this is your first query or no next page is available, you do not need to specify this parameter.'."\n"
+ ."\n"
+ .'- If a next page is available, set the value to the **NextToken** value that is returned from the previous call.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a4883', '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' => 'false',
- ],
- ],
- [
- 'name' => 'ServiceId',
+ 'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **1000**. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'default' => '50', 'example' => '50', 'title' => ''],
],
[
'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
- ],
- [
- 'name' => 'Bandwidth',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The bandwidth of the endpoint connection that you want to modify. Unit: Mbit/s. Valid values: **3072** to **10240**.'."\n"
- ."\n"
- .'> The bandwidth of an endpoint connection is in the range of **100** to **10,240** Mbit/s. The default bandwidth is **3,072** Mbit/s. When the endpoint is connected to the endpoint service, the default bandwidth is the minimum bandwidth. In this case, the connection bandwidth range is **3,072** to **10,240** Mbit/s. If Classic Load Balancer (CLB) instances or Application Load Balancer (ALB) instances are specified as service resources, you can modify the endpoint connection bandwidth based on your business requirements. This parameter is invalid if Network Load Balancer (NLB) instances are specified as service resources.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '2147483647',
- 'minimum' => '0',
- 'example' => '1000',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint connection whose bandwidth you want to modify. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
- ],
- [
- 'name' => 'TrafficControlMode',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionNotFound',
- 'errorMessage' => 'The specified endpoint connection does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'OperationDenied.VpcNatServiceResourceTypeNotSupportBandwidth',
- 'errorMessage' => 'The operation is not allowed because of VpcNatServiceResourceTypeNotSupportBandwidth.',
- ],
- [
- 'errorCode' => 'UpdateBandWidthUnSupported',
- 'errorMessage' => 'Bandwidth updates are not supported for this service.',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint.', 'type' => 'string', 'required' => false, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateVpcEndpointConnectionAttributeResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</UpdateVpcEndpointConnectionAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateVpcEndpointConnectionAttribute',
- 'description' => 'You cannot repeatedly call the **UpdateVpcEndpointConnectionAttribute** operation to modify the bandwidth of an endpoint connection that belongs to an Alibaba Cloud account within a specified period of time.'."\n",
- ],
- 'ListVpcEndpointConnections' => [
- 'summary' => 'Queries endpoint connections.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
- ],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'list',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkO25BLH',
- ],
- ],
- 'parameters' => [
- [
- 'name' => 'RegionId',
+ 'name' => 'ServiceName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint connection.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The name of the endpoint service with which the endpoint is associated.', 'type' => 'string', 'required' => false, 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'VpcId',
'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"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request is to be performed, set the value to the value of **NextToken** that is returned from the last call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a4883',
- ],
+ 'schema' => ['description' => 'The ID of the VPC to which the endpoint belongs.', 'type' => 'string', 'required' => false, 'example' => 'vpc-fdjkf789dfdfdfde****', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'EndpointName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '1000',
- 'minimum' => '1',
- 'example' => '50',
- 'default' => '50',
- ],
+ 'schema' => ['description' => 'The name of the endpoint.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'ServiceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- ],
- [
- 'name' => 'EniId',
+ 'name' => 'EndpointType',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint elastic network interface (ENI).'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'eni-hp32lk0pyv6o94hs****',
- ],
+ 'schema' => ['description' => 'The type of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Interface**: an interface endpoint'."\n"
+ ."\n"
+ .'- **Reverse**: a reverse endpoint'."\n"
+ ."\n"
+ .'- **GatewayLoadBalancer**: a Gateway Load Balancer-type endpoint', 'type' => 'string', 'required' => false, 'example' => 'Interface', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'EndpointStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'The status of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The endpoint is being created.'."\n"
+ ."\n"
+ .'- **Active**: The endpoint is available.'."\n"
+ ."\n"
+ .'- **Pending**: The endpoint is being modified.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint is being deleted.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
[
'name' => 'ConnectionStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'The state of the endpoint connection. Valid values:'."\n"
- ."\n"
- .'* **Pending**: The endpoint connection is being modified.'."\n"
- .'* **Connecting**: The endpoint connection is being established.'."\n"
- .'* **Connected**: The endpoint connection is established.'."\n"
- .'* **Disconnecting**: The endpoint is being disconnected from the endpoint service.'."\n"
- .'* **Disconnected**: The endpoint is disconnected from the endpoint service.'."\n"
- .'* **Deleting**: The connection is being deleted.'."\n"
- .'* **ServiceDeleted**: The corresponding endpoint service has been deleted.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'docRequired' => false,
- 'example' => 'Disconnected',
- ],
+ 'schema' => ['description' => 'The connection state of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Pending**: The endpoint connection is being modified.'."\n"
+ ."\n"
+ .'- **Connecting**: The endpoint is connecting.'."\n"
+ ."\n"
+ .'- **Connected**: The endpoint is connected.'."\n"
+ ."\n"
+ .'- **Disconnecting**: The endpoint is disconnecting.'."\n"
+ ."\n"
+ .'- **Disconnected**: The endpoint is disconnected.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint is being deleted.'."\n"
+ ."\n"
+ .'- **ServiceDeleted**: The endpoint service with which the endpoint is associated has been deleted.', 'type' => 'string', 'required' => false, 'example' => 'Disconnected', 'title' => ''],
],
[
- 'name' => 'EndpointOwnerId',
+ 'name' => 'Tag',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the endpoint belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A tag that consists of a key-value pair.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The tag key. You can specify up to 20 tag keys. 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://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''],
+ 'Value' => ['description' => 'The tag value. You can specify up to 20 tag values. 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://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
'required' => false,
- 'docRequired' => false,
- 'maximum' => '9223372036854775807',
- 'minimum' => '0',
- 'example' => '25346073170691****',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The service resource ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-huhehaote', 'title' => ''],
],
[
- 'name' => 'ReplacedResourceId',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the replaced service resource in smooth migration scenarios.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
+ 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'AddressIpVersion',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint connection.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The IP version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: IPv4'."\n"
+ ."\n"
+ .'- **DualStack**: dual stack', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'ServiceRegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the resource group to which the endpoint belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfmy*****',
- ],
+ 'schema' => ['description' => 'The ID of the region where the endpoint service is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-huhehaote', 'title' => ''],
],
],
'responses' => [
@@ -5880,273 +4468,245 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Connections' => [
- 'description' => 'The endpoint connections.'."\n",
+ 'Endpoints' => [
+ 'description' => 'A list of endpoints.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the array object.'."\n",
+ 'description' => '',
'type' => 'object',
'properties' => [
- 'Zones' => [
- 'description' => 'The zones.'."\n",
+ 'VpcId' => ['description' => 'The ID of the VPC to which the endpoint belongs.', 'type' => 'string', 'example' => 'vpc-hp356stwkxg3fn2xe****', 'title' => ''],
+ 'EndpointName' => ['description' => 'The name of the endpoint.', 'type' => 'string', 'example' => 'test', 'title' => ''],
+ 'EndpointType' => ['description' => 'The type of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Interface**: an interface endpoint.'."\n"
+ ."\n"
+ .'- **Reverse**: a reverse endpoint.'."\n"
+ ."\n"
+ .'- **GatewayLoadBalancer**: a gateway load balancer endpoint.', 'type' => 'string', 'example' => 'Interface', 'title' => ''],
+ 'CreateTime' => ['description' => 'The time when the endpoint was created.', 'type' => 'string', 'example' => '2021-09-24T18:00:07Z', 'title' => ''],
+ 'ServiceId' => ['description' => 'The ID of the associated endpoint service.', 'type' => 'string', 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
+ 'ZoneAffinityEnabled' => ['description' => 'Indicates whether zone-aware DNS resolution is enabled. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'EndpointDomain' => ['description' => 'The domain name of the endpoint.', 'type' => 'string', 'example' => 'ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com', 'title' => ''],
+ 'EndpointStatus' => ['description' => 'The status of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The endpoint is being created.'."\n"
+ ."\n"
+ .'- **Active**: The endpoint is available.'."\n"
+ ."\n"
+ .'- **Pending**: The endpoint is being modified.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint is being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
+ 'RegionId' => ['description' => 'The ID of the region that contains the endpoint.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''],
+ 'ResourceOwner' => ['description' => 'Indicates whether the endpoint and the endpoint service belong to the same Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
+ 'Bandwidth' => ['description' => 'The connection bandwidth of the endpoint, in Mbps.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
+ 'ConnectionStatus' => ['description' => 'The connection status of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Pending**: The connection is being modified.'."\n"
+ ."\n"
+ .'- **Connecting**: The endpoint is being connected.'."\n"
+ ."\n"
+ .'- **Connected**: The endpoint is connected.'."\n"
+ ."\n"
+ .'- **Disconnecting**: The endpoint is being disconnected.'."\n"
+ ."\n"
+ .'- **Disconnected**: The endpoint is disconnected.'."\n"
+ ."\n"
+ .'- **Deleting**: The endpoint is being deleted.'."\n"
+ ."\n"
+ .'- **ServiceDeleted**: The associated endpoint service has been deleted.', 'type' => 'string', 'example' => 'Disconnected', 'title' => ''],
+ 'EndpointDescription' => ['description' => 'The description of the endpoint.', 'type' => 'string', 'example' => 'This is my Endpoint.', 'title' => ''],
+ 'EndpointId' => ['description' => 'The ID of the endpoint.', 'type' => 'string', 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
+ 'EndpointBusinessStatus' => ['description' => 'The business status of the endpoint. Valid values:'."\n"
+ ."\n"
+ .'- **Normal**: The endpoint is running as expected.'."\n"
+ ."\n"
+ .'- **FinancialLocked**: The endpoint is locked due to an overdue payment.', 'type' => 'string', 'example' => 'Normal', 'title' => ''],
+ 'ServiceName' => ['description' => 'The name of the associated endpoint service.', 'type' => 'string', 'example' => 'com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****', 'title' => ''],
+ 'Tags' => [
+ 'description' => 'A list of tags.',
'type' => 'array',
'items' => [
- 'description' => 'The information about the array object.'."\n",
+ 'description' => '',
'type' => 'object',
'properties' => [
- 'VSwitchId' => [
- 'description' => 'The ID of the vSwitch to which the endpoint belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-hp3uf6045ljdhd5zr****',
- ],
- 'ZoneId' => [
- 'description' => 'The zone ID.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote-b',
- ],
- 'ResourceId' => [
- 'description' => 'The service resource ID.'."\n",
- 'type' => 'string',
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
- 'EniId' => [
- 'description' => 'The endpoint ENI ID.'."\n",
- 'type' => 'string',
- 'example' => 'eni-hp32lk0pyv6o94hs****',
- ],
- 'ZoneDomain' => [
- 'description' => 'The domain name of the zone.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp34jaz8ykl0exwt****-cn-huhehaote.epsrv-hp3vpx8yqxblby3i****.cn-huhehaote-b.privatelink.aliyuncs.com',
- ],
- 'ZoneStatus' => [
- 'description' => 'The state of the zone. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The zone is being created.'."\n"
- .'* **Wait**: The zone is to be connected.'."\n"
- .'* **Connected**: The zone is connected.'."\n"
- .'* **Deleting**: The zone is being deleted.'."\n"
- .'* **Disconnecting**: The zone is being disconnected.'."\n"
- .'* **Disconnected**: The zone is disconnected.'."\n"
- .'* **Connecting**: The zone is being connected.'."\n"
- .'* **Migrating**: The zone is being migrated.'."\n"
- .'* **Migrated**: The zone is migrated.'."\n",
- 'type' => 'string',
- 'example' => 'Connected',
- ],
- 'ReplacedResourceId' => [
- 'description' => 'The ID of the replaced service resource in smooth migration scenarios.'."\n",
- 'type' => 'string',
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
- 'ReplacedEniId' => [
- 'description' => 'The ID of the replaced endpoint ENI in smooth migration scenarios.'."\n",
- 'type' => 'string',
- 'example' => 'eni-hp32lk0pyv6o94hs****',
- ],
+ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''],
+ 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'ModifiedTime' => [
- 'description' => 'The time when the endpoint connection was modified.'."\n",
- 'type' => 'string',
- 'example' => '2021-09-28T10:34:46Z',
- ],
- 'Bandwidth' => [
- 'description' => 'The bandwidth of the endpoint connection. Valid values: **1024 to 10240**. Unit: Mbit/s.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1024',
- ],
- 'EndpointOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the endpoint belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '25346073170691****',
- ],
- 'ResourceOwner' => [
- 'description' => 'Indicates whether the endpoint and the endpoint service belong to the same Alibaba Cloud account. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'ServiceId' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
- 'ConnectionStatus' => [
- 'description' => 'The state of the endpoint connection. Valid values:'."\n"
- ."\n"
- .'* **Pending**: The connection is being modified.'."\n"
- .'* **Connecting**: The connection is being established.'."\n"
- .'* **Connected**: The connection is established.'."\n"
- .'* **Disconnecting**: The endpoint is being disconnected from the endpoint service.'."\n"
- .'* **Disconnected**: The endpoint is disconnected from the endpoint service.'."\n"
- .'* **Deleting**: The connection is being deleted.'."\n"
- .'* **ServiceDeleted**: The corresponding endpoint service has been deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Disconnected',
- ],
- 'EndpointId' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
- 'EndpointVpcId' => [
- 'description' => 'The ID of the virtual private cloud (VPC) to which the endpoint belongs.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-hp356stwkxg3fn2xe****',
- ],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group to which the endpoint belongs.'."\n",
- 'type' => 'string',
- 'example' => 'rg-acfmw353z35v***',
- ],
- 'TrafficControlMode' => [
- 'type' => 'string',
- ],
- 'EndpointRegionId' => [
- 'type' => 'string',
- ],
- 'ServiceRegionId' => [
- 'type' => 'string',
- ],
+ 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => '1', 'title' => ''],
+ 'PolicyDocument' => ['description' => 'The RAM access policy. For details on the policy syntax, see [Basic elements of a RAM policy](~~93738~~).', 'type' => 'string', 'example' => '{\\n \\"Version\\": \\"1\\",\\n \\"Statement\\": [\\n {\\n \\"Effect\\": \\"Allow\\",\\n \\"Action\\": \\"*\\",\\n \\"Principal\\": \\"*\\",\\n \\"Resource\\": \\"*\\"\\n }\\n ]\\n}', 'title' => ''],
+ 'AddressIpVersion' => ['description' => 'The IP address family. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: IPv4.'."\n"
+ ."\n"
+ .'- **DualStack**: dual stack.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
+ 'ServiceRegionId' => ['description' => 'The ID of the region where the associated endpoint service is deployed.', 'type' => 'string', 'example' => 'cn-huhehaote', 'title' => ''],
+ 'CrossRegionBandwidth' => ['description' => 'The bandwidth of the cross-region connection, in Mbps.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
+ 'title' => '',
+ 'example' => '',
],
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If no value is returned for **NextToken**, no next requests are performed.'."\n"
- .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'caeba0bbb2be03f84eb48b699f0a4883',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned on each page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'string',
- 'example' => '1',
- ],
+ 'NextToken' => ['description' => 'The token to retrieve the next page of results.'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no next page exists.'."\n"
+ ."\n"
+ .'- If a value is returned, use it in your next request to retrieve the next page of results.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
+ 'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
+ 'TotalCount' => ['description' => 'The total number of entries that match the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
],
'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Endpoints\\": [\\n {\\n \\"VpcId\\": \\"vpc-hp356stwkxg3fn2xe****\\",\\n \\"EndpointName\\": \\"test\\",\\n \\"EndpointType\\": \\"Interface\\",\\n \\"CreateTime\\": \\"2021-09-24T18:00:07Z\\",\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ZoneAffinityEnabled\\": true,\\n \\"EndpointDomain\\": \\"ep-hp33b2e43fays7s8****.epsrv-hp3xdsq46ael67lo****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"EndpointStatus\\": \\"Active\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ResourceOwner\\": true,\\n \\"Bandwidth\\": 1024,\\n \\"ConnectionStatus\\": \\"Disconnected\\",\\n \\"EndpointDescription\\": \\"This is my Endpoint.\\",\\n \\"EndpointId\\": \\"ep-hp33b2e43fays7s8****\\",\\n \\"EndpointBusinessStatus\\": \\"Normal\\",\\n \\"ServiceName\\": \\"com.aliyuncs.privatelink.cn-huhehaote.epsrv-hp3xdsq46ael67lo****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"1\\",\\n \\"PolicyDocument\\": \\"{\\\\\\\\n \\\\\\\\\\\\\\"Version\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Statement\\\\\\\\\\\\\\": [\\\\\\\\n {\\\\\\\\n \\\\\\\\\\\\\\"Effect\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"Allow\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Action\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Principal\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\",\\\\\\\\n \\\\\\\\\\\\\\"Resource\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\"\\\\\\\\n }\\\\\\\\n ]\\\\\\\\n}\\",\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"ServiceRegionId\\": \\"cn-huhehaote\\",\\n \\"CrossRegionBandwidth\\": 1000\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 12\\n}","type":"json"}]',
+ 'title' => 'ListVpcEndpoints',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"Connections\\": [\\n {\\n \\"Zones\\": [\\n {\\n \\"VSwitchId\\": \\"vsw-hp3uf6045ljdhd5zr****\\",\\n \\"ZoneId\\": \\"cn-huhehaote-b\\",\\n \\"ResourceId\\": \\"lb-hp32z1wp5peaoox2q****\\",\\n \\"EniId\\": \\"eni-hp32lk0pyv6o94hs****\\",\\n \\"ZoneDomain\\": \\"ep-hp34jaz8ykl0exwt****-cn-huhehaote.epsrv-hp3vpx8yqxblby3i****.cn-huhehaote-b.privatelink.aliyuncs.com\\",\\n \\"ZoneStatus\\": \\"Connected\\",\\n \\"ReplacedResourceId\\": \\"lb-hp32z1wp5peaoox2q****\\",\\n \\"ReplacedEniId\\": \\"eni-hp32lk0pyv6o94hs****\\"\\n }\\n ],\\n \\"ModifiedTime\\": \\"2021-09-28T10:34:46Z\\",\\n \\"Bandwidth\\": 3072,\\n \\"EndpointOwnerId\\": 0,\\n \\"ResourceOwner\\": true,\\n \\"ServiceId\\": \\"epsrv-hp3vpx8yqxblby3i****\\",\\n \\"ConnectionStatus\\": \\"Disconnected\\",\\n \\"EndpointId\\": \\"ep-hp33b2e43fays7s8****\\",\\n \\"EndpointVpcId\\": \\"vpc-hp356stwkxg3fn2xe****\\",\\n \\"ResourceGroupId\\": \\"rg-acfmw353z35v***\\",\\n \\"TrafficControlMode\\": \\"\\",\\n \\"EndpointRegionId\\": \\"\\",\\n \\"ServiceRegionId\\": \\"\\"\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": \\"1\\"\\n}","errorExample":""},{"type":"xml","example":"<ListVpcEndpointConnectionsResponse>\\n <Connections>\\n <ResourceOwner>true</ResourceOwner>\\n <Zones>\\n <VSwitchId>vsw-hp3uf6045ljdhd5zr****</VSwitchId>\\n <ZoneId>cn-huhehaote-b</ZoneId>\\n <ResourceId>lb-hp32z1wp5peaoox2q****</ResourceId>\\n <EniId>eni-hp32lk0pyv6o94hs****</EniId>\\n <ZoneDomain>ep-hp34jaz8ykl0exwt****-cn-huhehaote.epsrv-hp3vpx8yqxblby3i****.cn-huhehaote-b.privatelink.aliyuncs.com</ZoneDomain>\\n <ZoneStatus>Connected</ZoneStatus>\\n <ReplacedResourceId>lb-hp32z1wp5peaoox2q****</ReplacedResourceId>\\n <ReplacedEniId>eni-hp32lk0pyv6o94hs****</ReplacedEniId>\\n <ConnectionId>123</ConnectionId>\\n <ConnectionStringId>12345</ConnectionStringId>\\n </Zones>\\n <ModifiedTime>2021-09-28T10:34:46Z</ModifiedTime>\\n <Bandwidth>1024</Bandwidth>\\n <ServiceId>epsrv-hp3vpx8yqxblby3i****</ServiceId>\\n <ConnectionStatus>Disconnected</ConnectionStatus>\\n <EndpointId>ep-hp33b2e43fays7s8****</EndpointId>\\n <EndpointVpcId>vpc-hp356stwkxg3fn2xe****</EndpointVpcId>\\n </Connections>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a4883</NextToken>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n <MaxResults>50</MaxResults>\\n</ListVpcEndpointConnectionsResponse>","errorExample":""}]',
- 'title' => 'ListVpcEndpointConnections',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
'extraInfo' => ' ',
],
- 'DisableVpcEndpointConnection' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'OpenPrivateLinkService' => [
+ 'summary' => 'Activates PrivateLink.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
+ [
+ 'APP' => [],
+ ],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkWPBSZV'],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '427688B8-ADFB-4C4E-9D45-EF5C1FD6E23D', 'title' => ''],
+ 'OrderId' => ['description' => 'The order ID.', 'type' => 'string', 'example' => '3245****', 'title' => ''],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'AccountTypeRestricted', 'errorMessage' => 'Please submit the application for beta testing first. You can activate the product after the application is approved.', 'description' => ''],
+ ['errorCode' => 'OrderOpend', 'errorMessage' => 'You have already activated the service. Go to the console to start using it.', 'description' => ''],
+ ['errorCode' => 'InvalidAccountStatus.NotEnoughBalance', 'errorMessage' => 'Your account does not have enough balance.', 'description' => ''],
+ ],
+ ],
+ 'title' => 'OpenPrivateLinkService',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'privatelink:OpenPrivateLinkService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"427688B8-ADFB-4C4E-9D45-EF5C1FD6E23D\\",\\n \\"OrderId\\": \\"3245****\\"\\n}","type":"json"}]',
+ 'extraInfo' => ' ',
+ ],
+ 'RemoveUserFromVpcEndpointService' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the connection request from the endpoint is rejected. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service for which you want to remove the account ID from the whitelist. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', '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' => 'false',
- ],
+ '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 AccessKey pair, the permissions of the RAM user, and the required parameters. 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): 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' => ''],
],
[
- 'name' => 'ServiceId',
+ 'name' => 'UserId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The account ID that you want to remove from the whitelist.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => true, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '12345678', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the connection request from the endpoint is rejected. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service for which you want to remove the account ID from the whitelist. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
+ ],
+ [
+ 'name' => 'UserARN',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The whitelist in the format of Aliyun Resource Name (ARN).', 'type' => 'string', 'required' => false, 'example' => 'acs:ram:*:<account-id>:*', 'title' => ''],
],
],
'responses' => [
@@ -6154,167 +4714,93 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionNotFound',
- 'errorMessage' => 'The specified endpoint connection does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'MissingParam.UserArn', 'errorMessage' => 'The param of UserArn is missing.', 'description' => ''],
+ ['errorCode' => 'Mismatch.UserIdAndUserArn', 'errorMessage' => 'The %s and %s are mismatched.', 'description' => ''],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableVpcEndpointConnectionResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</DisableVpcEndpointConnectionResponse>","errorExample":""}]',
- 'title' => 'DisableVpcEndpointConnection',
- 'summary' => 'Rejects a connection request from an endpoint.',
- 'description' => '* **DisableVpcEndpointConnection** 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 [GetVpcEndpointAttribute](~~183568~~) operation to query the state of the endpoint connection.'."\n"
- ."\n"
- .' * If the endpoint connection is in the **Disconnecting** state, the endpoint is being disconnected from the endpoint service.'."\n"
- .' * If the endpoint connection is in the **Disconnected** state, the endpoint is disconnected from the endpoint service.'."\n"
+ 'title' => 'RemoveUserFromVpcEndpointService',
+ 'summary' => 'Removes an account ID from the whitelist of an endpoint service.',
+ 'description' => '- Before you remove an account ID from the whitelist of an endpoint service, make sure that the endpoint service is in the **Active** state. You can call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the status of the endpoint service.'."\n"
."\n"
- .'* You cannot repeatedly call the **DisableVpcEndpointConnection** operation to allow an endpoint service to reject a connection request from an endpoint within a specified period of time.'."\n",
- ],
- 'AddZoneToVpcEndpoint' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ .'- You cannot repeatedly call the **RemoveUserFromVpcEndpointService** operation to remove the ID of an Alibaba Cloud account from the whitelist of an endpoint service within a specified period of time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:RemoveUserFromVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ ],
+ 'RemoveZoneFromVpcEndpoint' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '16161',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkGBNC0X',
- ],
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '16186',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkGBNC0X'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint for which you want to delete the zone. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
[
'name' => 'ZoneId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the zone that you want to add.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou-b',
- ],
- ],
- [
- 'name' => 'VSwitchId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the vSwitch in the zone that you want to add. The system automatically creates an endpoint ENI in the vSwitch.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'vsw-hjkshjvdkdvd****',
- ],
- ],
- [
- 'name' => 'ip',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The IP address of the endpoint elastic network interface (ENI) in the zone that you want to add.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.XX.XX.32',
- ],
+ 'schema' => ['description' => 'The ID of the zone that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1a', 'title' => ''],
],
[
'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint to which you want to add the zone.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint for which you want to delete the zone.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', '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' => 'false',
- ],
+ '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"
+ ."\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' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'Ipv6Address',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The IPv6 address of the endpoint ENI in the zone that you want to add.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '2408:4005:3b6:****:6955:c3cb:34c:****',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint for which you want to delete the zone. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
],
'responses' => [
@@ -6322,327 +4808,189 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationDenied.EndpointProtected',
- 'errorMessage' => 'The operation is not allowed because of EndpointProtected.',
- ],
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint is not allowed.',
- ],
- [
- 'errorCode' => 'EndpointLocked',
- 'errorMessage' => 'The specified Endpoint is locked.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'EndpointZoneDuplicated',
- 'errorMessage' => 'The zone is duplicated for the Endpoint.',
- ],
- [
- 'errorCode' => 'EndpointServiceNotSupportedZone',
- 'errorMessage' => 'The specified endpoint service does not support the zone.',
- ],
- [
- 'errorCode' => 'QuotaMisMatched',
- 'errorMessage' => 'The resource you applied for has exceeded the quota.',
- ],
- [
- 'errorCode' => 'EndpointDuplicated',
- 'errorMessage' => 'The endpoint of the service already exists and cannot be created again.',
- ],
- [
- 'errorCode' => 'EndpointServiceDeleted',
- 'errorMessage' => 'The specified Service is already deleted.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceNotFound',
- 'errorMessage' => 'The specified service resource is not found.',
- ],
- [
- 'errorCode' => 'VSwitchNotFound',
- 'errorMessage' => 'The specified VSwitch does not exist.',
- ],
- [
- 'errorCode' => 'EniIpUnavailable',
- 'errorMessage' => 'The specified IP address is unavailable.',
- ],
- [
- 'errorCode' => 'EndpointProtected',
- 'errorMessage' => 'The specified Endpoint is protected.',
- ],
- [
- 'errorCode' => 'VSwitchStatusNotAllowed',
- 'errorMessage' => 'The specified vswitch status is not Available.',
- ],
- [
- 'errorCode' => 'VpcNatServiceException',
- 'errorMessage' => 'The vpcNat service is busy',
- ],
- [
- 'errorCode' => 'ResourceNotEnough.VSwitchIp',
- 'errorMessage' => 'The specified resource of VSwitchIp is not enough.',
- ],
- [
- 'errorCode' => 'OperationDenied.VSwitchNotSupportDualstack',
- 'errorMessage' => 'The specified VSwitch does not support dualstack.',
- ],
- [
- 'errorCode' => 'OperationDenied.AddressIpVersionNotSupportSpecifyIpv6',
- 'errorMessage' => 'The AddressIpVersion of the endpoint does not support specifying IPv6 address.',
- ],
- [
- 'errorCode' => 'IllegalParam.Ip',
- 'errorMessage' => 'The specified parameter IP is invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.Ipv6Address',
- 'errorMessage' => 'The specified parameter Ipv6Address is invalid.',
- ],
+ ['errorCode' => 'OperationDenied.EndpointProtected', 'errorMessage' => 'The operation is not allowed because of EndpointProtected.', 'description' => 'Managed protection is enabled for the endpoint. Operation is not allowed.'],
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
+ ['errorCode' => 'EndpointOperationDenied', 'errorMessage' => 'The specified operation of endpoint is not allowed.', 'description' => 'The specified operation of endpoint is not allowed.'],
+ ['errorCode' => 'EndpointLocked', 'errorMessage' => 'The specified Endpoint is locked.', 'description' => 'The specified Endpoint is locked.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'EndpointZoneNotFound', 'errorMessage' => 'The specified zone of Endpoint does not exist.', 'description' => 'The specified zone of Endpoint does not exist.'],
+ ['errorCode' => 'EndpointProtected', 'errorMessage' => 'The specified Endpoint is protected.', 'description' => ''],
+ ['errorCode' => 'GatewayLoadBalancerZoneCountDeny', 'errorMessage' => 'The GatewayLoadBalancer zone count not support', 'description' => 'The number of available zones does not meet the limit and cannot be operated.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0c593ea1-3bea-11e9-b96b-88e9fe637760\\"\\n}","errorExample":""},{"type":"xml","example":"<AddZoneToVpcEndpointResponse>\\n <RequestId>0c593ea1-3bea-11e9-b96b-88e9fe637760</RequestId>\\n</AddZoneToVpcEndpointResponse>","errorExample":""}]',
- 'title' => 'AddZoneToVpcEndpoint',
- 'summary' => 'Adds a zone to an endpoint.',
- 'description' => '* **AddZoneToVpcEndpoint** 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 [ListVpcEndpointZones](~~183560~~) operation to query the state of the zone.'."\n"
+ 'title' => 'RemoveZoneFromVpcEndpoint',
+ 'summary' => 'Deletes a zone of an endpoint.',
+ 'description' => '- **RemoveZoneFromVpcEndpoint** 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 [ListVpcEndpointZones](~~183560~~) operation to check whether the zone of the endpoint is deleted.'."\n"
."\n"
- .' * If the zone is in the **Creating** state, the zone is being added.'."\n"
- .' * If the zone is in the Wait state, the zone is added.'."\n"
+ .' - If the zone of the endpoint is in the **Deleting** state, the zone is being deleted.'."\n"
."\n"
- .'* You cannot repeatedly call the **AddZoneToVpcEndpoint** operation to add a zone to an endpoint within a specified period of time.'."\n",
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ListVpcEndpointZones' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ .' - If the zone cannot be queried, the zone is deleted.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **RemoveZoneFromVpcEndpoint** operation to delete a zone of an endpoint within a specified period of time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:RemoveZoneFromVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0c593ea1-3bea-11e9-b96b-88e9fe637760\\"\\n}","type":"json"}]',
+ ],
+ 'TagResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'RegionId',
- 'in' => 'query',
+ 'name' => 'ResourceId',
+ 'in' => 'formData',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
+ 'description' => 'The resource IDs. Up to 50 resource IDs are supported.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The resource ID.', 'type' => 'string', 'required' => false, 'example' => 'ep-ba16baebdf35641a1****', 'title' => ''],
'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'NextToken',
- 'in' => 'query',
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request 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' => 'caeba0bbb2be03f84eb48b699f0a4883',
+ 'description' => 'The tags to add to the resources.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => 'The key of tag N to add to the resource. You can specify up to 20 tag keys. 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:`.', 'type' => 'string', 'required' => true, 'example' => 'FinanceDept', 'title' => ''],
+ 'Value' => ['description' => 'The value of tag N to add to the resource. You can specify up to 20 tag values. 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 `acs:` or `aliyun`.', 'type' => 'string', 'required' => true, 'example' => 'FinanceJoshua', 'title' => ''],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'MaxResults',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '1000',
- 'minimum' => '0',
- 'example' => '50',
- 'default' => '50',
- ],
+ 'name' => 'ResourceType',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The type of resource. Valid values:'."\n"
+ ."\n"
+ .'- **vpcendpoint**: endpoint'."\n"
+ ."\n"
+ .'- **vpcendpointservice**: endpoint service', 'type' => 'string', 'required' => true, 'example' => 'vpcendpoint', 'title' => ''],
],
[
- 'name' => 'EndpointId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint for which you want to query zones.'."\n"
- ."\n"
- .'After you specify an endpoint ID, the system queries the zones of the specified endpoint.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ '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"
+ ."\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' => ''],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ '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' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The region ID of the PrivateLink instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response schema.',
'type' => 'object',
'properties' => [
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If no value is returned for **NextToken**, no next requests are performed.'."\n"
- .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'caeba0bbb2be03f84eb48b699f0a4883',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned on each page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '3',
- ],
- 'Zones' => [
- 'description' => 'The information about the zones.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the array object.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'VSwitchId' => [
- 'description' => 'The ID of the vSwitch in the zone. The system automatically creates an endpoint elastic network interface (ENI) in the vSwitch.'."\n",
- 'type' => 'string',
- 'example' => 'vsw-hjkshjvdkdvd****',
- ],
- 'EniIp' => [
- 'description' => 'The IP address of the endpoint ENI.'."\n",
- 'type' => 'string',
- 'example' => '192.168.2.23',
- ],
- 'ZoneStatus' => [
- 'description' => 'The state of the zone. Valid values:'."\n"
- ."\n"
- .'* **Creating**: The zone is being created.'."\n"
- .'* **Wait**: The zone is to be connected.'."\n"
- .'* **Connected**: The zone is connected.'."\n"
- .'* **Deleting**: The zone is being deleted.'."\n"
- .'* **Disconnecting**: The zone is being disconnected.'."\n"
- .'* **Disconnected**: The zone is disconnected.'."\n"
- .'* **Connecting**: The zone is being connected.'."\n",
- 'type' => 'string',
- 'example' => 'Wait',
- ],
- 'ZoneId' => [
- 'description' => 'The zone ID.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote-a',
- ],
- 'EniId' => [
- 'description' => 'The ID of the endpoint ENI.'."\n",
- 'type' => 'string',
- 'example' => 'eni-hp3c8qj1tyct8aqy****',
- ],
- 'ZoneDomain' => [
- 'description' => 'The domain name of the zone.'."\n"
- ."\n"
- .'After the endpoint in the zone is connected to the endpoint service, you can access the service resources of the endpoint service by using the domain name of the zone.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp3f033dp24c5yc9****-cn-huhehaote.epsrv-hp3itcpowf37m3d5****.cn-huhehaote-a.privatelink.aliyuncs.com',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'cn-huhehaote',
- ],
- 'ZoneIpv6Address' => [
- 'description' => 'Indicates whether the endpoint service supports IPv6. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false** (default)'."\n",
- 'type' => 'string',
- 'example' => 'false',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0'],
],
- 'description' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
+ ['errorCode' => 'MissingTagKeyParam', 'errorMessage' => 'The tag key is empty.', 'description' => 'The tag key is empty.'],
+ ['errorCode' => 'MissingTagValueParam', 'errorMessage' => 'The tag value is empty.', 'description' => 'The tag value is empty.'],
+ ['errorCode' => 'IllegalTagKeyParam', 'errorMessage' => 'IllegalTagKeyParam', 'description' => 'IllegalTagKeyParam'],
+ ['errorCode' => 'IllegalTagValueParam', 'errorMessage' => 'The tag value is Illegal.', 'description' => 'The tag value is Illegal.'],
+ ['errorCode' => 'DuplicatedTagKey', 'errorMessage' => 'The tag keys is duplicated.', 'description' => 'The tag key must be unique.'],
+ ['errorCode' => 'QuotaExceed.TagsPerResource', 'errorMessage' => 'The maximum number of tags for each resource is exceeded', 'description' => 'The maximum number of tags for each resource is exceeded'],
+ ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The specified ResourceIds are not found in our records.', 'description' => 'The specified ResourceIds are not found in our records.'],
+ ],
+ ],
+ 'title' => 'TagResources',
+ 'summary' => 'Adds tags to resources. You can call this API operation to add tags to one or more endpoints or endpoint services.',
+ 'description' => '> You can add up to 20 tags to an instance. Before you add tags to a resource, Alibaba Cloud checks the number of existing tags of the resource. If the maximum number is reached, an error message is returned.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:TagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpoint/{#vpcendpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 12,\\n \\"Zones\\": [\\n {\\n \\"VSwitchId\\": \\"vsw-hjkshjvdkdvd****\\",\\n \\"EniIp\\": \\"192.168.2.23\\",\\n \\"ZoneStatus\\": \\"Wait\\",\\n \\"ZoneId\\": \\"cn-huhehaote-a\\",\\n \\"EniId\\": \\"eni-hp3c8qj1tyct8aqy****\\",\\n \\"ZoneDomain\\": \\"ep-hp3f033dp24c5yc9****-cn-huhehaote-a.epsrv-hp3itcpowf37m3d5****.cn-huhehaote.privatelink.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-huhehaote\\",\\n \\"ZoneIpv6Address\\": \\"2408:4005:3b6:****:6955:c3cb:34c:****\\\\n\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListVpcEndpointZonesResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a4883</NextToken>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n <MaxResults>50</MaxResults>\\n <Zones>\\n <VSwitchId>vsw-hjkshjvdkdvd****</VSwitchId>\\n <EniIp>192.168.2.23</EniIp>\\n <ZoneStatus>Wait</ZoneStatus>\\n <ZoneId>cn-huhehaote-a</ZoneId>\\n <ServiceStatus>Active</ServiceStatus>\\n <EniId>eni-hp3c8qj1tyct8aqy****</EniId>\\n <ZoneDomain>ep-hp3f033dp24c5yc9****-cn-huhehaote.epsrv-hp3itcpowf37m3d5****.cn-huhehaote-a.privatelink.aliyuncs.com</ZoneDomain>\\n <RegionId>cn-huhehaote</RegionId>\\n <ZoneIpv6Address>false</ZoneIpv6Address>\\n </Zones>\\n</ListVpcEndpointZonesResponse>","errorExample":""}]',
- 'title' => 'ListVpcEndpointZones',
- 'summary' => 'Queries the zones of an endpoint.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","type":"json"}]',
],
- 'RemoveZoneFromVpcEndpoint' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UntagResources' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6652,155 +5000,138 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'abilityTreeCode' => '16186',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkGBNC0X',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkW2XK1B'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'RegionId',
- 'in' => 'query',
+ 'name' => 'ResourceId',
+ 'in' => 'formData',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The region ID of the endpoint for which you want to delete the zone. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
+ 'description' => 'The resource IDs. You can specify up to 50 resource IDs.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The resource ID.', 'type' => 'string', 'required' => false, 'example' => 'ep-hp3i05294c2****', 'title' => ''],
'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'ZoneId',
- 'in' => 'query',
+ 'name' => 'TagKey',
+ 'in' => 'formData',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the zone that you want to delete.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1a',
+ 'description' => 'The keys of the tags that you want to remove from the resources. You can specify up to 20 tag keys.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The key of the tag that you want to remove from the resource. The tag key cannot be an empty string.'."\n"
+ ."\n"
+ .'The tag key can be up to 64 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The tag key must start with a letter but cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'EndpointId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint for which you want to delete the zone.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'name' => 'ResourceType',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'- **vpcendpoint**: endpoint'."\n"
+ ."\n"
+ .'- **vpcendpointservice**: endpoint service', 'type' => 'string', 'required' => true, 'example' => 'vpcendpoint', 'title' => ''],
+ ],
+ [
+ 'name' => 'All',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'Specifies whether to remove all tags from the resource. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**'."\n"
+ ."\n"
+ .'> If you specify both the All and TagKey.N parameters, the All parameter does not take effect.', 'type' => 'boolean', 'required' => false, 'example' => 'true', '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' => 'false',
- ],
+ 'in' => 'formData',
+ '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"
+ ."\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' => ''],
],
[
'name' => 'ClientToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'in' => 'formData',
+ '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' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
[
'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint for which you want to delete the zone. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The region ID of the PrivateLink instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The region ID of the PrivateLink instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0'],
],
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'OperationDenied.EndpointProtected',
- 'errorMessage' => 'The operation is not allowed because of EndpointProtected.',
- ],
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint is not allowed.',
- ],
- [
- 'errorCode' => 'EndpointLocked',
- 'errorMessage' => 'The specified Endpoint is locked.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'EndpointZoneNotFound',
- 'errorMessage' => 'The specified zone of Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointProtected',
- 'errorMessage' => 'The specified Endpoint is protected.',
- ],
- [
- 'errorCode' => 'GatewayLoadBalancerZoneCountDeny',
- 'errorMessage' => 'The GatewayLoadBalancer zone count not support',
- ],
+ ['errorCode' => 'TagInfoNotExist', 'errorMessage' => 'Tag info not exist', 'description' => 'The tag key information does not exist.'],
+ ['errorCode' => 'DuplicatedTagKey', 'errorMessage' => 'The tag keys is duplicated.', 'description' => 'The tag key must be unique.'],
+ ['errorCode' => 'IllegalTagKeyParam', 'errorMessage' => 'IllegalTagKeyParam', 'description' => 'IllegalTagKeyParam'],
+ ['errorCode' => 'IllegalTagValueParam', 'errorMessage' => 'The tag value is Illegal.', 'description' => 'The tag value is Illegal.'],
+ ['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The specified ResourceIds are not found in our records.', 'description' => 'The specified ResourceIds are not found in our records.'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ 'title' => 'UntagResources',
+ 'summary' => 'Removes tags from one or more endpoints or endpoint services at a time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UntagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0c593ea1-3bea-11e9-b96b-88e9fe637760\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveZoneFromVpcEndpointResponse>\\n <RequestId>0c593ea1-3bea-11e9-b96b-88e9fe637760</RequestId>\\n</RemoveZoneFromVpcEndpointResponse>","errorExample":""}]',
- 'title' => 'RemoveZoneFromVpcEndpoint',
- 'summary' => 'Deletes a zone of an endpoint.',
- 'description' => '* **RemoveZoneFromVpcEndpoint** 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 [ListVpcEndpointZones](~~183560~~) operation to check whether the zone of the endpoint is deleted.'."\n"
- ."\n"
- .' * If the zone of the endpoint is in the **Deleting** state, the zone is being deleted.'."\n"
- .' * If the zone cannot be queried, the zone is deleted.'."\n"
- ."\n"
- .'* You cannot repeatedly call the **RemoveZoneFromVpcEndpoint** operation to delete a zone of an endpoint within a specified period of time.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
],
- 'DisableVpcEndpointZoneConnection' => [
- 'summary' => 'Closes connections in an endpoint zone.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UpdateVpcEndpointAttribute' => [
+ 'summary' => 'Modifies the attributes of an endpoint.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -6810,208 +5141,180 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'abilityTreeCode' => '34070',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkDB15J4',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '16187',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkG9DJDQ'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the connection request from the endpoint is rejected.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint that you want to modify. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', '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' => 'false',
- ],
+ 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
+ .'- **true**: sends a check request without performing the update gateway endpoint attribute operation. The system checks the request for potential issues, including missing parameter values, incorrect request format, 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): sends a normal 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' => 'true', 'title' => ''],
],
[
- 'name' => 'ServiceId',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint that you want to modify.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'EndpointName',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'The name of the endpoint.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain letters, digits, hyphens (-), and underscores (_). The name must start with a letter or a Chinese character.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'test', 'title' => ''],
],
[
- 'name' => 'ZoneId',
+ 'name' => 'EndpointDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the zone that is associated with the endpoint.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou-b',
- ],
+ 'schema' => ['description' => 'The description of the endpoint.'."\n"
+ ."\n"
+ .'The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'This is my Endpoint.', 'title' => ''],
],
[
- 'name' => 'ReplacedResource',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'Specifies whether to close connections in the endpoint zone after migration. Valid values:'."\n"
- ."\n"
- .'* **true**: yes'."\n"
- .'* **false** (default): no'."\n"
- ."\n"
- .'> Set the value to true if you want to close connections in the endpoint zone after migration.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint that you want to modify. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'PolicyDocument',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The RAM access policy. For more information about the policy definition, see [Policy elements](~~93738~~).', 'type' => 'string', 'required' => false, 'example' => '{'."\n"
+ .' "Version": "1",'."\n"
+ .' "Statement": ['."\n"
+ .' {'."\n"
+ .' "Effect": "Allow",'."\n"
+ .' "Action": ['."\n"
+ .' "oss:List*",'."\n"
+ .' "oss:PutObject",'."\n"
+ .' "oss:GetObject"'."\n"
+ .' ],'."\n"
+ .' "Resource": ['."\n"
+ .' "acs:oss:oss-*:*:pvl-policy-test/policy-test.txt"'."\n"
+ .' ],'."\n"
+ .' "Principal": {'."\n"
+ .' "RAM": ['."\n"
+ .' "acs:ram::14199xxxxxx:*"'."\n"
+ .' ]'."\n"
+ .' }'."\n"
+ .' }'."\n"
+ .' ]'."\n"
+ .'}', 'title' => ''],
+ ],
+ [
+ 'name' => 'AddressIpVersion',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the region where the connection request from the endpoint is rejected.'."\n"
+ 'description' => 'The protocol version. Valid values:'."\n"
."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
+ .'- **IPv4**: IPv4.'."\n"
+ .'- **DualStack**: dual-stack.'."\n"
+ .'> To enable dual-stack for the endpoint, the endpoint service connected to the endpoint and the VPC in which the endpoint resides must both support dual-stack.',
+ 'enumValueTitles' => [],
'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ 'required' => false,
+ 'example' => 'IPv4',
+ 'title' => '',
],
],
+ [
+ 'name' => 'ZoneAffinityEnabled',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to enable nearest access for the endpoint domain name of the connected service. Valid values:'."\n"
+ ."\n"
+ .'- **true**: enabled.'."\n"
+ .'- **false**: disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'ResetPolicy',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Resets the policy to the default policy.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
+ ],
+ [
+ 'name' => 'CrossRegionBandwidth',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The cross-region bandwidth. This parameter is required only when the endpoint and the endpoint service are in different regions. Unit: Mbit/s. Valid values:'."\n"
+ ."\n"
+ .'- **Minimum value**: 100.'."\n"
+ .'- **Maximum value**: limited by the quota of the current account. For more information, see [Quotas and limits](https://www.alibabacloud.com/help/en/privatelink/quotas-and-limits).'."\n"
+ .'> Before you specify this parameter, make sure that the endpoint is a cross-region endpoint.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''],
+ ],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionNotFound',
- 'errorMessage' => 'The specified endpoint connection does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'IncorrectBusinessStatus.VpcEndpoint',
- 'errorMessage' => 'The business status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectBusinessStatus.VpcEndpointService',
- 'errorMessage' => 'The business status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcEndpoint',
- 'errorMessage' => 'The status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcEndpointConnection',
- 'errorMessage' => 'The status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcEndpointService',
- 'errorMessage' => 'The status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcEndpointZone',
- 'errorMessage' => 'The status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'GatewayLoadBalancerNotSupportZoneConnection',
- 'errorMessage' => 'The gateway load balancer not support zone connection.',
- ],
+ ['errorCode' => 'OperationDenied.EndpointProtected', 'errorMessage' => 'The operation is not allowed because of EndpointProtected.', 'description' => 'Managed protection is enabled for the endpoint. Operation is not allowed.'],
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
+ ['errorCode' => 'EndpointOperationDenied', 'errorMessage' => 'The specified operation of endpoint is not allowed.', 'description' => 'The specified operation of endpoint is not allowed.'],
+ ['errorCode' => 'EndpointLocked', 'errorMessage' => 'The specified Endpoint is locked.', 'description' => 'The specified Endpoint is locked.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'EndpointServiceDeleted', 'errorMessage' => 'The specified Service is already deleted.', 'description' => 'The specified Service is already deleted.'],
+ ['errorCode' => 'EndpointProtected', 'errorMessage' => 'The specified Endpoint is protected.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.EndpointPolicyNotSupport', 'errorMessage' => 'The operation is not allowed because of EndpointPolicyNotSupport.', 'description' => ''],
+ ['errorCode' => 'DependencyViolation.PrivateDnsName', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.PrivateDomainStatusNotSupport', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.PrivateDomainNotSupport', 'errorMessage' => 'The operation is not allowed because of PrivateDomainNotSupport.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.NotSupportDualStackSwitchToIpv4', 'errorMessage' => 'AddressIpVersion does not support switching from DualStack to IPv4.', 'description' => 'AddressIpVersion does not support switching from DualStack to IPv4.'],
+ ['errorCode' => 'OperationDenied.EndpointServiceNotSupportDualstack', 'errorMessage' => 'The specified endpoint service does not support dualstack.', 'description' => 'The specified endpoint service does not support dualstack.'],
+ ['errorCode' => 'OperationDenied.VSwitchNotSupportDualstack', 'errorMessage' => 'The specified VSwitch does not support dualstack.', 'description' => 'The specified VSwitch does not support dualstack.'],
+ ['errorCode' => 'IllegalParam.AddressIpVersion', 'errorMessage' => 'The specified parameter AddressIpVersion is invalid.', 'description' => 'The specified parameter AddressIpVersion does not meet the requirements.'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.VpcEndpoint',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.VpcEndpointConnection',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.VpcEndpointService',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.VpcEndpointZone',
- 'errorMessage' => 'The specified resource %s is not found.',
+ ],
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ 'title' => 'Modify endpoint attributes',
+ 'description' => 'The **UpdateVpcEndpointAttribute** operation does not support concurrent modification of endpoint attributes within the same Alibaba Cloud account.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableVpcEndpointZoneConnectionResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</DisableVpcEndpointZoneConnectionResponse>","errorExample":""}]',
- 'title' => 'DisableVpcEndpointZoneConnection',
- 'description' => '* You can call this operation only when the state of the endpoint is **Connected** and the state of the zone associated with the endpoint is **Connected** or **Migrated**.'."\n"
- ."\n"
- .'* **DisableVpcEndpointZoneConnection** 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 [ListVpcEndpointZones](~~183560~~) operation to query the status of the task.'."\n"
- ."\n"
- .' * If the zone is in the **Disconnecting** state, the task is running.'."\n"
- .' * If the zone is in the **Disconnected** state, the task is successful.'."\n"
- ."\n"
- .'* You cannot repeatedly call the **DisableVpcEndpointZoneConnection** operation to allow an endpoint service to reject a connection request from the endpoint in the zone within a specified period of time.'."\n",
],
- 'EnableVpcEndpointZoneConnection' => [
- 'summary' => 'Allows connections to endpoint zones.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UpdateVpcEndpointConnectionAttribute' => [
+ 'summary' => 'Calls the UpdateVpcEndpointConnectionAttribute operation to modify the attributes of an endpoint connection.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -7021,90 +5324,68 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'abilityTreeCode' => '34068',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkDB15J4',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkO25BLH'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the endpoint connection request is accepted. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint connection bandwidth that you want to modify.'."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list. ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ '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 **ClientToken** value can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', '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' => 'false',
- ],
+ '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 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, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'The endpoint ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
[
- 'name' => 'ZoneId',
+ 'name' => 'Bandwidth',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the zone that is associated with the endpoint.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou-b',
- ],
+ 'schema' => ['description' => 'The bandwidth of the endpoint connection. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'> The valid values vary based on the type of service resource:'."\n"
+ .'> - NLB: 100 to 50000.'."\n"
+ .'> - ALB: 100 to 25000.'."\n"
+ .'> - CLB: 100 to 10240. Default value: 3072.'."\n"
+ .'> - GWLB: 100 to 25000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2147483647', 'minimum' => '0', 'example' => '3072', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the endpoint connection request is accepted. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint connection bandwidth that you want to modify.'."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list. ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'eu-west-1', 'title' => ''],
+ ],
+ [
+ 'name' => 'TrafficControlMode',
+ 'in' => 'query',
+ 'schema' => ['description' => '- Scalability: auto scaling. In this mode, the bandwidth configured for the endpoint connection does not take effect.'."\n"
+ ."\n"
+ .'- BandwidthLimit: supports setting a bandwidth upper limit for the endpoint connection. The bandwidth upper limit is the value of Bandwidth.'."\n"
+ .' '."\n"
+ .'>- When the service resource is NLB, TrafficControlMode is set to Scalability by default. You can set it to BandwidthLimit and modify the Bandwidth value to provide a bandwidth upper limit.'."\n"
+ .'>- When the service resource is CLB, TrafficControlMode can only be set to BandwidthLimit, which indicates that the service consumer provides a default rate limit for each endpoint.'."\n"
+ .'> - When the service resource is GWLB, TrafficControlMode can only be set to Scalability.', 'type' => 'string', 'required' => false, 'example' => 'BandwidthLimit', 'title' => ''],
],
],
'responses' => [
@@ -7112,101 +5393,46 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionNotFound',
- 'errorMessage' => 'The specified endpoint connection does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'EndpointOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint is not allowed.',
- ],
- [
- 'errorCode' => 'IncorrectBusinessStatus.VpcEndpoint',
- 'errorMessage' => 'The business status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectBusinessStatus.VpcEndpointService',
- 'errorMessage' => 'The business status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcEndpoint',
- 'errorMessage' => 'The status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcEndpointConnection',
- 'errorMessage' => 'The status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcEndpointService',
- 'errorMessage' => 'The status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.VpcEndpointZone',
- 'errorMessage' => 'The status of %s [%s] is incorrect.',
- ],
- [
- 'errorCode' => 'GatewayLoadBalancerNotSupportZoneConnection',
- 'errorMessage' => 'The gateway load balancer not support zone connection.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointConnectionNotFound', 'errorMessage' => 'The specified endpoint connection does not exist.', 'description' => 'The specified endpoint connection does not exist.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
+ ['errorCode' => 'OperationDenied.VpcNatServiceResourceTypeNotSupportBandwidth', 'errorMessage' => 'The operation is not allowed because of VpcNatServiceResourceTypeNotSupportBandwidth.', 'description' => ''],
+ ['errorCode' => 'UpdateBandWidthUnSupported', 'errorMessage' => 'Bandwidth updates are not supported for this service.', 'description' => ''],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.VpcEndpoint',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.VpcEndpointConnection',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.VpcEndpointService',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.VpcEndpointZone',
- 'errorMessage' => 'The specified resource %s is not found.',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ 'title' => 'Modify the attributes of an endpoint connection',
+ 'description' => 'The **UpdateVpcEndpointConnectionAttribute** operation does not support concurrent modifications of the endpoint connection bandwidth within the same Alibaba Cloud account (primary account).',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointConnectionAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
- 'title' => 'EnableVpcEndpointZoneConnection',
- 'description' => '* You can call this operation only when the state of the endpoint is **Connected** and the state of the associated zone is **Disconnected**.'."\n"
- ."\n"
- .'* **EnableVpcEndpointZoneConnection** 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 [ListVpcEndpointZones](~~183560~~) operation to check whether the endpoint service accepts a connection request from the endpoint in the associated zone.'."\n"
- ."\n"
- .' * If the zone is in the **Connecting** state, the endpoint service is accepting the connection request from the endpoint.'."\n"
- .' * If the zone is in the **Connected** state, the endpoint service has accepted the connection request from the endpoint.'."\n"
- ."\n"
- .'* You cannot repeatedly call the **EnableVpcEndpointZoneConnection** operation to allow an endpoint service to accept a connection request from an endpoint in the associated zone within a specified period of time.'."\n",
],
- 'UpdateVpcEndpointZoneConnectionResourceAttribute' => [
- 'summary' => 'Modifies a service resource of a zone to which an endpoint connection belongs.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UpdateVpcEndpointServiceAttribute' => [
+ 'summary' => 'Calls the UpdateVpcEndpointServiceAttribute operation to modify the attributes of an endpoint service.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -7216,352 +5442,254 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'abilityTreeCode' => '32983',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkO25BLH',
- ],
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'abilityTreeCode' => '16189',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkW2XK1B'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint connection whose bandwidth you want to modify.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint service.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', '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",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ '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 **ClientToken** parameter supports only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', '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' => 'false',
- ],
+ '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, the `DryRunOperation` error code is returned.'."\n"
+ ."\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 resource attributes are modified.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint service ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'epsrv-hp3vpx8yqxblby3i****',
- ],
+ 'schema' => ['description' => 'The ID of the endpoint service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'ServiceDescription',
'in' => 'query',
- 'schema' => [
- 'description' => 'The endpoint ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'The description of the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'This is my EndpointService.', 'title' => ''],
],
[
- 'name' => 'ZoneId',
+ 'name' => 'AutoAcceptEnabled',
'in' => 'query',
- 'schema' => [
- 'description' => 'The zone ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'maximum' => '2147483647',
- 'minimum' => '0',
- 'example' => 'cn-hangzhou-b',
- ],
+ 'schema' => ['description' => 'Specifies whether to automatically accept endpoint connections. Valid values:'."\n"
+ ."\n"
+ .'- **true**: automatically accepts endpoint connections.'."\n"
+ ."\n"
+ .'- **false**: does not automatically accept endpoint connections.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'ResourceAllocateMode',
+ 'name' => 'ConnectBandwidth',
'in' => 'query',
- 'schema' => [
- 'description' => 'The resource allocation mode. You can change the resource allocation mode only if the endpoint connection is in the **Disconnected** state. Valid values:'."\n"
- ."\n"
- .'* **Auto**: automatically and randomly allocates service resources. In this mode, the specified service resource is deleted.'."\n"
- .'* **Manual**: manually allocates service resources. If you set the value to Manual, you must also specify the **ResourceId** and **ResourceType** parameters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Auto',
- 'enum' => [],
- ],
+ 'schema' => ['description' => 'The default bandwidth limit. Default value: **3072**. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'Valid values: **100** to **10240**.'."\n"
+ ."\n"
+ .'> Settings for the default bandwidth limit are supported when the service resource is a Classic Load Balancer (CLB) instance or an Application Load Balancer (ALB) instance. When the service resource is a Network Load Balancer (NLB) instance, the connection bandwidth cannot be configured.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3072', 'title' => ''],
],
[
- 'name' => 'ResourceReplaceMode',
+ 'name' => 'ZoneAffinityEnabled',
'in' => 'query',
- 'schema' => [
- 'description' => 'The migration mode of the service resource. Valid values:'."\n"
- ."\n"
- .'* **Graceful**: smooth migration. Service resources in the zone are smoothly migrated.'."\n"
- .'* **Force**: forced migration. Service resources in the zone are forcefully migrated.'."\n"
- ."\n"
- .'> You need to specify this parameter only if you want to migrate service resources and the endpoint connection is in the **Connected** state. If you specify this parameter, you must also specify the **ResourceId** and **ResourceType** parameters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Graceful',
- 'enum' => [],
- ],
+ 'schema' => ['description' => 'Specifies whether to resolve the domain name of the endpoint that is connected to the endpoint service to the nearest access point. Valid values:'."\n"
+ ."\n"
+ .'- **true** (default): yes.'."\n"
+ .'- **false**: no.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The region ID of the endpoint service.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
+ ],
+ [
+ 'name' => 'ServiceSupportIPv6',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether the endpoint service supports IPv6. Valid values:'."\n"
+ ."\n"
+ .'- **true**: yes.'."\n"
+ ."\n"
+ .'- **false** (default): no.', 'type' => 'boolean', 'deprecated' => true, 'required' => false, 'example' => 'false', 'title' => ''],
+ ],
+ [
+ 'name' => 'AddressIpVersion',
'in' => 'query',
'schema' => [
- 'description' => 'The type of the service resource. Valid values:'."\n"
- ."\n"
- .'* **slb**: a CLB instance that supports PrivateLink. In addition, the CLB instance is deployed in a VPC.'."\n"
- .'* **alb**: an Application Load Balancer (ALB) instance that supports PrivateLink. In addition, the ALB instance is deployed in a VPC.'."\n"
+ 'description' => 'The protocol version. Valid values:'."\n"
."\n"
- .'> If **ResourceAllocateMode** is set to **Mannual**, or **ResourceReplaceMode** is set, this parameter is required.'."\n",
+ .'- **IPv4**: IPv4.'."\n"
+ .'- **DualStack**: dual-stack.'."\n"
+ .'> Currently, only endpoint services whose backend resource type is NLB or GWLB support setting the IP address protocol to DualStack.',
+ 'enumValueTitles' => [],
'type' => 'string',
'required' => false,
- 'example' => 'slb',
+ 'example' => 'IPv4',
+ 'title' => '',
],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'AddSupportedRegionSet',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The ID of the service resource that you want to manually allocate or migrate in the zone where the endpoint connection is deployed.'."\n"
- ."\n"
- .'> If **ResourceAllocateMode** is set to **Mannual**, or **ResourceReplaceMode** is set, this parameter is required.'."\n",
- 'type' => 'string',
+ 'description' => 'The list of remote regions to add for the endpoint service.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the remote region to add for the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'cn-huhehaote', 'title' => ''],
'required' => false,
- 'example' => 'lb-hp32z1wp5peaoox2q****',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'DeleteSupportedRegionSet',
'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => 'The region ID of the endpoint connection whose bandwidth you want to modify.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-hangzhou',
+ 'description' => 'The list of remote regions to remove from the endpoint service.',
+ 'type' => 'array',
+ 'items' => ['description' => 'The ID of the remote region to remove from the endpoint service.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
+ 'description' => 'The request ID.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B', 'title' => ''],
],
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointServiceNotFound',
- 'errorMessage' => 'The specified Service does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionNotFound',
- 'errorMessage' => 'The specified endpoint connection does not exist.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServiceLocked',
- 'errorMessage' => 'The specified Service is locked.',
- ],
- [
- 'errorCode' => 'EndpointLocked',
- 'errorMessage' => 'The specified Endpoint is locked.',
- ],
- [
- 'errorCode' => 'EndpointZoneNotFound',
- 'errorMessage' => 'The specified zone of Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceTypeNotSupport',
- 'errorMessage' => 'The specified resource type is not supported.',
- ],
- [
- 'errorCode' => 'EndpointServiceResourceNotFound',
- 'errorMessage' => 'The specified service resource is not found.',
- ],
- [
- 'errorCode' => 'ZoneOperationDenied',
- 'errorMessage' => 'You cannot operate the specified zone.',
- ],
- [
- 'errorCode' => 'IllegalParam.ResourceAllocateMode',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.ResourceReplaceMode',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
- [
- 'errorCode' => 'MissingParam.ResourceId',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'MissingParam.ResourceAllocateMode',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'OperationDenied.CurrentResourceAutoAllocated',
- 'errorMessage' => 'The operation is not allowed because of CurrentResourceAutoAllocated.',
- ],
- [
- 'errorCode' => 'Mismatch.ZoneId',
- 'errorMessage' => 'The %s is mismatched for %s and %s.',
- ],
- [
- 'errorCode' => 'GatewayLoadBalancerNotSupportZoneConnection',
- 'errorMessage' => 'The gateway load balancer not support zone connection.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointServiceLocked', 'errorMessage' => 'The specified Service is locked.', 'description' => 'The specified Service is locked.'],
+ ['errorCode' => 'EndpointServiceOperationDenied', 'errorMessage' => 'The specified operation of endpoint service is not allowed.', 'description' => 'The specified operation of endpoint service is not allowed.'],
+ ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'The parameter format of %s is illegal.'],
+ ['errorCode' => 'OperationDenied.PrivateServiceDomainBusinessStatus', 'errorMessage' => 'The operation is not allowed because of PrivateServiceDomainBusinessStatus.', 'description' => ''],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The parameter %s is missing.'],
+ ['errorCode' => 'ServiceResourceNotSupportIpv6', 'errorMessage' => 'The resource is not support ipv6.', 'description' => 'The endpoint service does not support IPv6.'],
+ ['errorCode' => 'EndpointServiceDowngradeNotAllowed', 'errorMessage' => 'The EndpointService is not allowed for downgrade.', 'description' => 'The endpoint service is not allowed to be downgraded.'],
+ ['errorCode' => 'DependencyViolation.PrivateDnsName', 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.PrivateDomainNotSupport', 'errorMessage' => 'The operation is not allowed because of PrivateDomainNotSupport.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.PrivateDomainStatusNotSupport', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => ''],
+ ['errorCode' => 'Conflict.ServiceName', 'errorMessage' => 'The ServiceName %s is conflict.', 'description' => ''],
+ ['errorCode' => 'InvalidParam.PrivateDnsName', 'errorMessage' => 'The parameter of PrivateDnsName is illegal, which needs to end with aliyun.com, aliyun-inc.com, or aliyuncs.com.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.ResourceTypeNotSupportDualStack', 'errorMessage' => 'The specified resource type does not support dualstack.', 'description' => 'The specified resource type does not support dualstack.'],
+ ['errorCode' => 'OperationDenied.ServiceResourceIpVersionMismatch', 'errorMessage' => 'The endpoint service and service resource AddressIpVersion do not match.', 'description' => 'The endpoint service and service resource AddressIpVersion do not match.'],
+ ['errorCode' => 'EndpointServiceConnectionDependence', 'errorMessage' => 'There are connections between the endpoint service and the dualstack endpoint, the endpoint service address ip version not support switching from dualstack to ipv4.', 'description' => 'There are connections between the endpoint service and the dualstack endpoint, the endpoint service address ip version not support switching from dualstack to ipv4.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateVpcEndpointZoneConnectionResourceAttributeResponse>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n</UpdateVpcEndpointZoneConnectionResourceAttributeResponse>","errorExample":""}]',
- 'title' => 'UpdateVpcEndpointZoneConnectionResourceAttribute',
- 'description' => '### Prerequisites'."\n"
- ."\n"
- .'By default, the feature of modifying a service resource of a zone to which an endpoint connection belongs is unavailable. To use this feature, log on to the [Quota Center console](https://quotas.console.aliyun.com/white-list-products/privatelink/quotas). Click Whitelist Quotas in the left-side navigation pane and click PrivateLink in the Networking section. On the page that appears, search for `privatelink_whitelist/svc_res_mgt_uat` and click Apply in the Actions column.'."\n"
- ."\n"
- .'### Usage notes'."\n"
- ."\n"
- .'* If the endpoint connection is in the **Disconnected** state, you can manually allocate the service resource in the zone.'."\n"
- ."\n"
- .'* If the endpoint connection is in the **Connected** state, you can manually migrate the service resource in the zone. In this case, the connection might be interrupted.'."\n"
- ."\n"
- .'* **UpdateVpcEndpointZoneConnectionResourceAttribute** 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 [GetVpcEndpointServiceAttribute](~~469330~~) operation to check whether the service resource is modified.'."\n"
- ."\n"
- .' * If the endpoint service is in the **Pending** state, the service resource is being modified.'."\n"
- .' * If the endpoint service is in the **Active** state, the service resource is modified.'."\n"
- ."\n"
- .'* You cannot repeatedly call the **UpdateVpcEndpointZoneConnectionResourceAttribute** operation to modify a service resource in the zone to which an endpoint connection belongs within a specified period of time.'."\n",
- ],
- 'AttachSecurityGroupToVpcEndpoint' => [
- 'methods' => [
- 'post',
- 'get',
+ 'eventInfo' => [
+ 'enable' => false,
+ 'eventNames' => [],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\"\\n}","type":"json"}]',
+ 'title' => 'Modify the attributes of an endpoint service',
+ 'description' => '- Before you modify the attributes of an endpoint service, make sure that the endpoint service is in the **Active** state. You can call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the endpoint service status.'."\n"
+ .'- The **UpdateVpcEndpointServiceAttribute** operation does not support concurrent modification of endpoint service attributes within the same Alibaba Cloud account.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointServiceAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'UpdateVpcEndpointServiceResourceAttribute' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '16163',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelink57DP0F',
- ],
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint with which you want to associate with the security group. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The ID of the region where you want to modify the service resource.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'SecurityGroupId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the security group with which you want to associate the endpoint.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'sg-hp3c8qj1tyct90ej****',
- ],
+ '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 that the value is unique among different requests. **ClientToken** can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint with which you want to associate the security group.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: sends a check request without modifying the properties of the service resource. The system checks the required parameters, request format, and service limits. If the request fails the check, an error is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): sends a normal request. After the request passes the check, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ServiceId',
'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 ID of the endpoint service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ResourceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'schema' => ['description' => 'The ID of the service resource.', 'type' => 'string', 'required' => true, 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
+ ],
+ [
+ 'name' => 'ZoneId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'The zone where the service resource is located. This parameter is required if the service resource is an Application Load Balancer (ALB), a Network Load Balancer (NLB), or a Gateway Load Balancer (GWLB).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-i', 'title' => ''],
+ ],
+ [
+ 'name' => 'AutoAllocatedEnabled',
+ 'in' => 'query',
+ 'schema' => ['description' => 'Specifies whether to enable automatic resource allocation. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Enables automatic resource allocation.'."\n"
+ ."\n"
+ .'- **false**: Disables automatic resource allocation.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint with which you want to associate with the security group. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The ID of the region where you want to modify the service resource.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~120468~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
@@ -7569,312 +5697,158 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D778FF9-7640-4C13-BCD6-9265CA9A2F81',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint is not allowed.',
- ],
- [
- 'errorCode' => 'EndpointLocked',
- 'errorMessage' => 'The specified Endpoint is locked.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'SecurityGroupExist',
- 'errorMessage' => 'The specified security group already exists.',
- ],
- [
- 'errorCode' => 'EndpointServiceDeleted',
- 'errorMessage' => 'The specified Service is already deleted.',
- ],
- [
- 'errorCode' => 'SecurityGroupNotFound',
- 'errorMessage' => 'The specified security group does not exist.',
- ],
- [
- 'errorCode' => 'SecurityGroupTypeNotSupport',
- 'errorMessage' => 'The specified security group type is not supported.',
- ],
- [
- 'errorCode' => 'SecurityGroupTypeOnlySingleTypeSupporteded',
- 'errorMessage' => 'The specified security group only support one type.',
- ],
- [
- 'errorCode' => 'GatewayLoadBalancerNotSupportSecurityGroup',
- 'errorMessage' => 'The gateway load balancer not support security group.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointServiceLocked', 'errorMessage' => 'The specified Service is locked.', 'description' => 'The specified Service is locked.'],
+ ['errorCode' => 'EndpointServiceOperationDenied', 'errorMessage' => 'The specified operation of endpoint service is not allowed.', 'description' => 'The specified operation of endpoint service is not allowed.'],
+ ['errorCode' => 'EndpointServiceResourceNotFound', 'errorMessage' => 'The specified service resource is not found.', 'description' => ''],
+ ['errorCode' => 'ResourceAutoAllocateViolation', 'errorMessage' => 'The specified endpoint service must have at least one automatically allocated resource in one zone.', 'description' => 'The specified endpoint service must have at least one automatically allocated resource in one zone.'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8D778FF9-7640-4C13-BCD6-9265CA9A2F81\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachSecurityGroupToVpcEndpointResponse>\\n <RequestId>8D778FF9-7640-4C13-BCD6-9265CA9A2F81</RequestId>\\n</AttachSecurityGroupToVpcEndpointResponse>","errorExample":""}]',
- 'title' => 'AttachSecurityGroupToVpcEndpoint',
- 'summary' => 'Associates an endpoint with a security group.',
- 'description' => '* **AttachSecurityGroupToVpcEndpoint** 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 [ListVpcEndpoints](~~183558~~) operation to query the state of the endpoint.'."\n"
- ."\n"
- .' * If the endpoint is in the **Pending** state, the endpoint is being associated with the security group.'."\n"
- .' * If the endpoint is in the **Active** state, the endpoint is associated with the security group.'."\n"
+ 'title' => 'UpdateVpcEndpointServiceResourceAttribute',
+ 'summary' => 'The UpdateVpcEndpointServiceResourceAttribute operation enables or disables automatic allocation for a service resource of an endpoint service.',
+ 'description' => '- Before you modify the properties of a service resource, ensure that the endpoint service is in the **Active** state. You can call the [GetVpcEndpointServiceAttribute](~~469330~~) operation to query the status of the endpoint service.'."\n"
."\n"
- .'* You cannot repeatedly call the **AttachSecurityGroupToVpcEndpoint** operation to associate an endpoint with a security group within a specified period of time.'."\n",
- ],
- 'ListVpcEndpointSecurityGroups' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
+ .'- The **UpdateVpcEndpointServiceResourceAttribute** operation does not support concurrent modifications to the properties of service resources that belong to the same endpoint service.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointServiceResourceAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateVpcEndpointZoneConnectionResourceAttribute' => [
+ 'summary' => 'Modifies a service resource of a zone to which an endpoint connection belongs.',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '32983',
+ 'abilityTreeNodes' => ['FEATUREprivatelinkO25BLH'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint that you want to query.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint connection whose bandwidth you want to modify.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'NextToken',
+ 'name' => 'ClientToken',
'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"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request 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' => 'caeba0bbb2be03f84eb48b699f0a4883',
- ],
+ '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.', 'type' => 'string', 'required' => false, 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760', 'title' => ''],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'DryRun',
'in' => 'query',
- 'schema' => [
- 'description' => 'The number of entries to return on each page. Valid values:**1** to **50**. Default value: **50**.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '50',
- 'minimum' => '0',
- 'example' => '50',
- ],
+ '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"
+ ."\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' => ''],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'ServiceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the endpoint that you want to query.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
- ],
+ 'schema' => ['description' => 'The endpoint service ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'epsrv-hp3vpx8yqxblby3i****', 'title' => ''],
],
[
- 'name' => 'RegionId',
+ 'name' => 'EndpointId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint that you want to query.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'cn-huhehaote',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'SecurityGroups' => [
- 'description' => 'The information about the security groups.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the array object.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'SecurityGroupId' => [
- 'description' => 'The ID of the security group that is associated with the endpoint.'."\n",
- 'type' => 'string',
- 'example' => 'sg-hp33bw6ynvm2yb0e****',
- ],
- 'SecurityGroupStatus' => [
- 'description' => 'The associate status of the security group, valid values:'."\n"
- .'- Attaching: The security group is being attached.'."\n"
- .'- Attached: The security group is attached.'."\n"
- .'- Detaching: The security group is being detached.',
- 'type' => 'string',
- 'example' => 'Attached',
- ],
- ],
- ],
- ],
- 'NextToken' => [
- 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If no value is returned for **NextToken**, no next requests are performed.'."\n"
- .'* If a value is returned for **NextToken**, the value can be used in the next request to retrieve a new page of results.'."\n",
- 'type' => 'string',
- 'example' => 'caeba0bbb2be03f84eb48b699f0a4883',
- ],
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries returned per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '50',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of entries returned.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '12',
- ],
- ],
- 'description' => '',
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
+ 'schema' => ['description' => 'The endpoint ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ep-hp33b2e43fays7s8****', 'title' => ''],
],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"SecurityGroups\\": [\\n {\\n \\"SecurityGroupId\\": \\"sg-hp33bw6ynvm2yb0e****\\",\\n \\"SecurityGroupStatus\\": \\"Attached\\"\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\",\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\",\\n \\"MaxResults\\": 50,\\n \\"TotalCount\\": 12\\n}","errorExample":""},{"type":"xml","example":"<ListVpcEndpointSecurityGroupsResponse>\\n <SecurityGroups>\\n <SecurityGroupId>sg-hp33bw6ynvm2yb0e****</SecurityGroupId>\\n </SecurityGroups>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a4883</NextToken>\\n <RequestId>0ED8D006-F706-4D23-88ED-E11ED28DCAC0</RequestId>\\n <MaxResults>50</MaxResults>\\n</ListVpcEndpointSecurityGroupsResponse>","errorExample":""}]',
- 'title' => 'ListVpcEndpointSecurityGroups',
- 'summary' => 'Queries the security group that is associated with an endpoint.',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DetachSecurityGroupFromVpcEndpoint' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
- ],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
- 'parameters' => [
- [
- 'name' => 'RegionId',
+ 'name' => 'ZoneId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint that you want to disassociate from the security group. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The zone ID.', 'type' => 'string', 'required' => true, 'maximum' => '2147483647', 'minimum' => '0', 'example' => 'cn-hangzhou-b', 'title' => ''],
],
[
- 'name' => 'SecurityGroupId',
+ 'name' => 'ResourceAllocateMode',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the security group from which you want to disassociate the endpoint.'."\n",
+ 'description' => 'The resource allocation mode. You can change the resource allocation mode only if the endpoint connection is in the **Disconnected** state. Valid values:'."\n"
+ ."\n"
+ .'- **Auto**: automatically and randomly allocates service resources. In this mode, the specified service resource is deleted.'."\n"
+ ."\n"
+ .'- **Manual**: manually allocates service resources. If you set the value to Manual, you must also specify the **ResourceId** and **ResourceType** parameters.',
'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'sg-hp3c8qj1tyct90ej****',
+ 'enum' => [],
+ 'required' => false,
+ 'example' => 'Auto',
+ 'title' => '',
],
],
[
- 'name' => 'EndpointId',
+ 'name' => 'ResourceReplaceMode',
'in' => 'query',
'schema' => [
- 'description' => 'The ID of the endpoint that you want to disassociate from the security group.'."\n",
+ 'description' => 'The migration mode of the service resource. Valid values:'."\n"
+ ."\n"
+ .'- **Graceful**: smooth migration. Service resources in the zone are smoothly migrated.'."\n"
+ ."\n"
+ .'- **Force**: forced migration. Service resources in the zone are forcefully migrated.'."\n"
+ ."\n"
+ .'> You need to specify this parameter only if you want to migrate service resources and the endpoint connection is in the **Connected** state. If you specify this parameter, you must also specify the **ResourceId** and **ResourceType** parameters.',
'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'ep-hp33b2e43fays7s8****',
+ 'enum' => [],
+ 'required' => false,
+ 'example' => 'Graceful',
+ 'title' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ResourceType',
'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 type of the service resource. Valid values:'."\n"
+ ."\n"
+ .'- **slb**: a CLB instance that supports PrivateLink. In addition, the CLB instance is deployed in a VPC.'."\n"
+ ."\n"
+ .'- **alb**: an Application Load Balancer (ALB) instance that supports PrivateLink. In addition, the ALB instance is deployed in a VPC.'."\n"
+ ."\n"
+ .'> If **ResourceAllocateMode** is set to **Mannual**, or **ResourceReplaceMode** is set, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'slb', 'title' => ''],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ResourceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
- ],
+ 'schema' => ['description' => 'The ID of the service resource that you want to manually allocate or migrate in the zone where the endpoint connection is deployed.'."\n"
+ ."\n"
+ .'> If **ResourceAllocateMode** is set to **Mannual**, or **ResourceReplaceMode** is set, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'lb-hp32z1wp5peaoox2q****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'The region ID of the endpoint that you want to disassociate from the security group. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'docRequired' => true,
- 'example' => 'eu-west-1',
- ],
+ 'schema' => ['description' => 'The region ID of the endpoint connection whose bandwidth you want to modify.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
@@ -7882,897 +5856,830 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D778FF9-7640-4C13-BCD6-9265CA9A2F81',
- ],
+ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0', 'title' => ''],
],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SecurityGroupNotFound',
- 'errorMessage' => 'The specified security group does not exist.',
- ],
- [
- 'errorCode' => 'EndpointMustContainSecurityGroup',
- 'errorMessage' => 'The specified endpoint must have at least one security group.',
- ],
- [
- 'errorCode' => 'EndpointNotFound',
- 'errorMessage' => 'The specified Endpoint does not exist.',
- ],
- [
- 'errorCode' => 'EndpointOperationDenied',
- 'errorMessage' => 'The specified operation of endpoint is not allowed.',
- ],
- [
- 'errorCode' => 'EndpointLocked',
- 'errorMessage' => 'The specified Endpoint is locked.',
- ],
- [
- 'errorCode' => 'EndpointConnectionOperationDenied',
- 'errorMessage' => 'The endpoint is being connected.',
- ],
- [
- 'errorCode' => 'EndpointServiceDeleted',
- 'errorMessage' => 'The specified Service is already deleted.',
- ],
- [
- 'errorCode' => 'GatewayLoadBalancerNotSupportSecurityGroup',
- 'errorMessage' => 'The gateway load balancer not support security group.',
- ],
+ ['errorCode' => 'EndpointServiceNotFound', 'errorMessage' => 'The specified Service does not exist.', 'description' => 'The specified Service does not exist.'],
+ ['errorCode' => 'EndpointConnectionNotFound', 'errorMessage' => 'The specified endpoint connection does not exist.', 'description' => 'The specified endpoint connection does not exist.'],
+ ['errorCode' => 'EndpointConnectionOperationDenied', 'errorMessage' => 'The endpoint is being connected.', 'description' => 'The endpoint is being connected.'],
+ ['errorCode' => 'EndpointNotFound', 'errorMessage' => 'The specified Endpoint does not exist.', 'description' => 'The specified Endpoint does not exist.'],
+ ['errorCode' => 'EndpointServiceLocked', 'errorMessage' => 'The specified Service is locked.', 'description' => 'The specified Service is locked.'],
+ ['errorCode' => 'EndpointLocked', 'errorMessage' => 'The specified Endpoint is locked.', 'description' => 'The specified Endpoint is locked.'],
+ ['errorCode' => 'EndpointZoneNotFound', 'errorMessage' => 'The specified zone of Endpoint does not exist.', 'description' => 'The specified zone of Endpoint does not exist.'],
+ ['errorCode' => 'EndpointServiceResourceTypeNotSupport', 'errorMessage' => 'The specified resource type is not supported.', 'description' => 'The specified resource type is not supported.'],
+ ['errorCode' => 'EndpointServiceResourceNotFound', 'errorMessage' => 'The specified service resource is not found.', 'description' => ''],
+ ['errorCode' => 'ZoneOperationDenied', 'errorMessage' => 'You cannot operate the specified zone.', 'description' => 'You cannot operate the specified zone.'],
+ ['errorCode' => 'IllegalParam.ResourceAllocateMode', 'errorMessage' => 'The param of %s is illegal.', 'description' => ''],
+ ['errorCode' => 'IllegalParam.ResourceReplaceMode', 'errorMessage' => 'The param of %s is illegal.', 'description' => ''],
+ ['errorCode' => 'MissingParam.ResourceId', 'errorMessage' => 'The param of %s is missing.', 'description' => 'Missing parameter ResourceId.'],
+ ['errorCode' => 'MissingParam.ResourceAllocateMode', 'errorMessage' => 'The param of %s is missing.', 'description' => 'Missing ResourceAllocateMode parameter.'],
+ ['errorCode' => 'OperationDenied.CurrentResourceAutoAllocated', 'errorMessage' => 'The operation is not allowed because of CurrentResourceAutoAllocated.', 'description' => 'The operation is denied because auto allocation is not disabled for the resource in the zone.'],
+ ['errorCode' => 'Mismatch.ZoneId', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => ''],
+ ['errorCode' => 'GatewayLoadBalancerNotSupportZoneConnection', 'errorMessage' => 'The gateway load balancer not support zone connection.', 'description' => 'Gateway-based load balancing type does not support operational zone connection'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8D778FF9-7640-4C13-BCD6-9265CA9A2F81\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachSecurityGroupFromVpcEndpointResponse>\\n <RequestId>8D778FF9-7640-4C13-BCD6-9265CA9A2F81</RequestId>\\n</DetachSecurityGroupFromVpcEndpointResponse>","errorExample":""}]',
- 'title' => 'DetachSecurityGroupFromVpcEndpoint',
- 'summary' => 'Disassociates an endpoint from a security group.',
- 'description' => '* **DetachSecurityGroupFromVpcEndpoint** 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 [ListVpcEndpoints](~~183558~~) to check whether the endpoint is disassociated from the security group.'."\n"
+ 'title' => 'UpdateVpcEndpointZoneConnectionResourceAttribute',
+ 'description' => '### Prerequisites'."\n"
."\n"
- .' * If the endpoint is in the **Pending** state, the endpoint is being disassociated from the security group.'."\n"
- .' * If you cannot query the endpoint in the security group, the endpoint is disassociated from the security group.'."\n"
+ .'By default, the feature of modifying a service resource of a zone to which an endpoint connection belongs is unavailable. To use this feature, log on to the [Quota Center console](https://quotas.console.aliyun.com/white-list-products/privatelink/quotas). Click Whitelist Quotas in the left-side navigation pane and click PrivateLink in the Networking section. On the page that appears, search for `privatelink_whitelist/svc_res_mgt_uat` and click Apply in the Actions column.'."\n"
."\n"
- .'* You cannot repeatedly call the **DetachSecurityGroupFromVpcEndpoint** operation to disassociate an endpoint from a security group within a specified period of time.'."\n",
- ],
- 'UntagResources' => [
- 'summary' => 'Removes tags from one or more endpoints or endpoint services at a time.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ .'### Usage notes'."\n"
+ ."\n"
+ .'- If the endpoint connection is in the **Disconnected** state, you can manually allocate the service resource in the zone.'."\n"
+ ."\n"
+ .'- If the endpoint connection is in the **Connected** state, you can manually migrate the service resource in the zone. In this case, the connection might be interrupted.'."\n"
+ ."\n"
+ .'- **UpdateVpcEndpointZoneConnectionResourceAttribute** 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 [GetVpcEndpointServiceAttribute](~~469330~~) operation to check whether the service resource is modified.'."\n"
+ ."\n"
+ .' - If the endpoint service is in the **Pending** state, the service resource is being modified.'."\n"
+ ."\n"
+ .' - If the endpoint service is in the **Active** state, the service resource is modified.'."\n"
+ ."\n"
+ .'- You cannot repeatedly call the **UpdateVpcEndpointZoneConnectionResourceAttribute** operation to modify a service resource in the zone to which an endpoint connection belongs within a specified period of time.',
+ 'changeSet' => [],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointZoneConnectionResourceAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
+ ],
],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
+ ],
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-zhongwei', 'regionName' => 'China (Zhongwei)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-zhongwei.aliyuncs.com', 'endpoint' => 'privatelink.cn-zhongwei.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-zhongwei.aliyuncs.com'],
+ ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'privatelink.cn-wulanchabu.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-wulanchabu.aliyuncs.com'],
+ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-beijing.aliyuncs.com', 'endpoint' => 'privatelink.cn-beijing.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'privatelink.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-zhengzhou-jva.aliyuncs.com'],
+ ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-qingdao.aliyuncs.com', 'endpoint' => 'privatelink.cn-qingdao.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-qingdao.aliyuncs.com'],
+ ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'privatelink.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-wuhan-lr.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-shanghai.aliyuncs.com', 'endpoint' => 'privatelink.cn-shanghai.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-shanghai.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-hongkong.aliyuncs.com', 'endpoint' => 'privatelink.cn-hongkong.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-heyuan.aliyuncs.com', 'endpoint' => 'privatelink.cn-heyuan.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-heyuan.aliyuncs.com'],
+ ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'privatelink.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-zhangjiakou.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-shenzhen.aliyuncs.com', 'endpoint' => 'privatelink.cn-shenzhen.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-shenzhen.aliyuncs.com'],
+ ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-nanjing.aliyuncs.com', 'endpoint' => 'privatelink.cn-nanjing.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-nanjing.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.ap-northeast-2.aliyuncs.com', 'endpoint' => 'privatelink.ap-northeast-2.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-northeast-2.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.ap-northeast-1.aliyuncs.com', 'endpoint' => 'privatelink.ap-northeast-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-northeast-1.aliyuncs.com'],
+ ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-fuzhou.aliyuncs.com', 'endpoint' => 'privatelink.cn-fuzhou.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-fuzhou.aliyuncs.com'],
+ ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-chengdu.aliyuncs.com', 'endpoint' => 'privatelink.cn-chengdu.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-chengdu.aliyuncs.com'],
+ ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-guangzhou.aliyuncs.com', 'endpoint' => 'privatelink.cn-guangzhou.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-guangzhou.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.ap-southeast-1.aliyuncs.com', 'endpoint' => 'privatelink.ap-southeast-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.ap-southeast-2.aliyuncs.com', 'endpoint' => 'privatelink.ap-southeast-2.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-southeast-2.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.ap-southeast-3.aliyuncs.com', 'endpoint' => 'privatelink.ap-southeast-3.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-southeast-3.aliyuncs.com'],
+ ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-huhehaote.aliyuncs.com', 'endpoint' => 'privatelink.cn-huhehaote.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-huhehaote.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.ap-southeast-5.aliyuncs.com', 'endpoint' => 'privatelink.ap-southeast-5.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-southeast-5.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.ap-southeast-6.aliyuncs.com', 'endpoint' => 'privatelink.ap-southeast-6.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-southeast-6.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.ap-southeast-7.aliyuncs.com', 'endpoint' => 'privatelink.ap-southeast-7.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-southeast-7.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.cn-hangzhou.aliyuncs.com', 'endpoint' => 'privatelink.cn-hangzhou.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-hangzhou.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-8', 'regionName' => 'Malaysia (Johor)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'privatelink.ap-southeast-8.aliyuncs.com', 'endpoint' => 'privatelink.ap-southeast-8.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-southeast-8.aliyuncs.com'],
+ ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'privatelink.us-east-1.aliyuncs.com', 'endpoint' => 'privatelink.us-east-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.us-east-1.aliyuncs.com'],
+ ['regionId' => 'us-southeast-1', 'regionName' => 'US(Atlanta)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'privatelink.us-southeast-1.aliyuncs.com', 'endpoint' => 'privatelink.us-southeast-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.us-southeast-1.aliyuncs.com'],
+ ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'privatelink.eu-west-1.aliyuncs.com', 'endpoint' => 'privatelink.eu-west-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.eu-west-1.aliyuncs.com'],
+ ['regionId' => 'eu-west-2', 'regionName' => 'France (Paris)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'privatelink.eu-west-2.aliyuncs.com', 'endpoint' => 'privatelink.eu-west-2.aliyuncs.com', 'vpc' => 'privatelink-vpc.eu-west-2.aliyuncs.com'],
+ ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'privatelink.us-west-1.aliyuncs.com', 'endpoint' => 'privatelink.us-west-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.us-west-1.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'privatelink.eu-central-1.aliyuncs.com', 'endpoint' => 'privatelink.eu-central-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.eu-central-1.aliyuncs.com'],
+ ['regionId' => 'na-south-1', 'regionName' => 'Mexico', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'privatelink.na-south-1.aliyuncs.com', 'endpoint' => 'privatelink.na-south-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.na-south-1.aliyuncs.com'],
+ ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'privatelink.me-east-1.aliyuncs.com', 'endpoint' => 'privatelink.me-east-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.me-east-1.aliyuncs.com'],
+ ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'privatelink.me-central-1.aliyuncs.com', 'endpoint' => 'privatelink.me-central-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.me-central-1.aliyuncs.com'],
+ ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'privatelink.ap-south-1.aliyuncs.com', 'endpoint' => 'privatelink.ap-south-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.ap-south-1.aliyuncs.com'],
+ ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => 'Heyuan ACDR Auto', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'privatelink.cn-heyuan-acdr-1.aliyuncs.com', 'endpoint' => 'privatelink.cn-heyuan-acdr-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-heyuan-acdr-1.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'privatelink.cn-shenzhen-finance-1.aliyuncs.com', 'endpoint' => 'privatelink.cn-shenzhen-finance-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-shenzhen-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'privatelink.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'privatelink.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-beijing-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'privatelink.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'privatelink.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-shanghai-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-wulanchabu-gic-1', 'regionName' => 'China (Ulanqab) GIC', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'privatelink.cn-wulanchabu-gic-1.aliyuncs.com', 'endpoint' => 'privatelink.cn-wulanchabu-gic-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-wulanchabu-gic-1.aliyuncs.com'],
+ ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'privatelink.cn-north-2-gov-1.aliyuncs.com', 'endpoint' => 'privatelink.cn-north-2-gov-1.aliyuncs.com', 'vpc' => 'privatelink-vpc.cn-north-2-gov-1.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => 'AccountTypeRestricted', 'message' => 'Please submit the application for beta testing first. You can activate the product after the application is approved.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'AddSecurityGroupNotSupportWhenHaveNoSg', 'message' => 'The specified haven not security group endpoint add security group is not supported.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'AlbExist', 'message' => 'The specified Alb already exists.', 'http_code' => 400, 'description' => 'The specified Alb already exists.'],
+ ['code' => 'AlbNotFound', 'message' => 'The specified Alb does not exist.', 'http_code' => 400, 'description' => 'The specified Alb does not exist.'],
+ ['code' => 'AliCroupCloudUserCanNotBuyNotInnerCommodity', 'message' => 'The privatelink_ postpay_ public_ Intl does not have a group cloud product label and is not allowed for internal group users to purchase.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'CheckServiceLinkRoleError', 'message' => 'Failed to check the service linked role.', 'http_code' => 400, 'description' => 'Failed to check the service linked role.'],
+ ['code' => 'CheckServiceLinkRoleError', 'message' => 'The ServiceLink role check error.', 'http_code' => 400, 'description' => 'ServiceLinkRole check error'],
+ ['code' => 'ConcurrentCallNotSupported', 'message' => 'The operation conflicts with other operations. Please try again later.', 'http_code' => 400, 'description' => 'The operation conflicts with other operations. Please try again later.'],
+ ['code' => 'Conflict.ServiceName', 'message' => 'The ServiceName %s is conflict.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'CreateOrderFailed', 'message' => 'The system is busy. Please try again later.', 'http_code' => 500, 'description' => 'The system is busy. Please try again later.'],
+ ['code' => 'CSS_CREATE_ORDER_ERROR', 'message' => 'create order error.', 'http_code' => 400, 'description' => 'Failed to open product or create order'],
+ ['code' => 'DeleteFailedDueToEndpointExist', 'message' => 'The specified EndpointService id deleted failed , due to EndpointExist.', 'http_code' => 400, 'description' => 'The endpoint is not deleted.'],
+ ['code' => 'DependencyViolation.PrivateDnsName', 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'DryRunOperation', 'message' => 'The specified operation is a dry run operation.', 'http_code' => 400, 'description' => 'The specified operation is a dry run operation.'],
+ ['code' => 'DuplicatedSecurityGroupId', 'message' => 'The specified SecurityGroupId.%s %s is duplicated.', 'http_code' => 400, 'description' => 'The specified SecurityGroupId.%s %s is duplicated.'],
+ ['code' => 'DuplicatedTagKey', 'message' => 'The tag keys is duplicated.', 'http_code' => 400, 'description' => 'The tag key must be unique.'],
+ ['code' => 'EndpointAssociatedVpc', 'message' => 'The endpoint is associated with a vpc.', 'http_code' => 400, 'description' => 'the endpoint has been associated with a vpc. delete the route entry of the endpoint first.'],
+ ['code' => 'EndpointConnectionNotFound', 'message' => 'The specified endpoint connection does not exist.', 'http_code' => 400, 'description' => 'The specified endpoint connection does not exist.'],
+ ['code' => 'EndpointConnectionOperationDenied', 'message' => 'The endpoint is being connected.', 'http_code' => 400, 'description' => 'The endpoint is being connected.'],
+ ['code' => 'EndpointDependenceViolation', 'message' => 'The specified endpoint has dependent zone(s).', 'http_code' => 400, 'description' => 'The specified endpoint has dependent zone(s).'],
+ ['code' => 'EndpointDuplicated', 'message' => 'The endpoint of the service already exists and cannot be created again.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointExist', 'message' => 'The specified Endpoint already exists.', 'http_code' => 400, 'description' => 'The specified Endpoint already exists.'],
+ ['code' => 'EndpointHasNotChanged', 'message' => 'endpoint has nothing changed.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointLocked', 'message' => 'The specified Endpoint is locked.', 'http_code' => 400, 'description' => 'The specified Endpoint is locked.'],
+ ['code' => 'EndpointMustContainSecurityGroup', 'message' => 'The specified endpoint must have at least one security group.', 'http_code' => 400, 'description' => 'The specified endpoint must have at least one security group.'],
+ ['code' => 'EndpointNotFound', 'message' => 'The specified Endpoint does not exist.', 'http_code' => 400, 'description' => 'The specified Endpoint does not exist.'],
+ ['code' => 'EndpointOperationDenied', 'message' => 'The specified operation of endpoint is not allowed.', 'http_code' => 400, 'description' => 'The specified operation of endpoint is not allowed.'],
+ ['code' => 'EndpointProtected', 'message' => 'The specified Endpoint is protected.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointServiceConnectionDependence', 'message' => 'You cannot delete EndpointService with Endpoint connected.', 'http_code' => 400, 'description' => 'Cannot delete an EndpointService with Endpoint connected.'],
+ ['code' => 'EndpointServiceConnectionDependence', 'message' => 'There are connections between the endpoint service and the dualstack endpoint, the endpoint service address ip version not support switching from dualstack to ipv4.', 'http_code' => 400, 'description' => 'There are connections between the endpoint service and the dualstack endpoint, the endpoint service address ip version not support switching from dualstack to ipv4.'],
+ ['code' => 'EndpointServiceConnectResourceNotSupport', 'message' => 'The service is not support connect resource.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointServiceDeleted', 'message' => 'The specified Service is already deleted.', 'http_code' => 400, 'description' => 'The specified Service is already deleted.'],
+ ['code' => 'EndpointServiceDependenceViolation', 'message' => 'The specified EndpointService already contains a resource.', 'http_code' => 400, 'description' => 'The specified EndpointService already contains a resource.'],
+ ['code' => 'EndpointServiceDowngradeNotAllowed', 'message' => 'The EndpointService is not allowed for downgrade.', 'http_code' => 400, 'description' => 'The endpoint service is not allowed to be downgraded.'],
+ ['code' => 'EndpointServiceExist', 'message' => 'The specified Endpoint Service already exists.', 'http_code' => 400, 'description' => 'The specified Endpoint Service already exists.'],
+ ['code' => 'EndpointServiceIsNotAuthorized', 'message' => 'The specified endpoint service %s is not authorized to user %d.', 'http_code' => 400, 'description' => 'The specified endpoint service %s is not authorized to user %d.'],
+ ['code' => 'EndpointServiceLocked', 'message' => 'The specified Service is locked.', 'http_code' => 400, 'description' => 'The specified Service is locked.'],
+ ['code' => 'EndpointServiceNotAuthorized', 'message' => 'The specified endpoint service is not authorized to user.', 'http_code' => 400, 'description' => 'The specified endpoint service is not authorized to user.'],
+ ['code' => 'EndpointServiceNotFound', 'message' => 'The specified Service does not exist.', 'http_code' => 400, 'description' => 'The specified Service does not exist.'],
+ ['code' => 'EndpointServiceNotSupportedZone', 'message' => 'The specified endpoint service does not support the zone.', 'http_code' => 400, 'description' => 'The specified endpoint service does not support the zone.'],
+ ['code' => 'EndpointServiceNotSupportIpv6', 'message' => 'The param supportIpv6 of EndpointService is forbidden , resource is not support ipv6.', 'http_code' => 400, 'description' => 'The endpoint service does not support IPv6.'],
+ ['code' => 'EndpointServiceOperationDenied', 'message' => 'The specified operation of endpoint service is not allowed.', 'http_code' => 400, 'description' => 'The specified operation of endpoint service is not allowed.'],
+ ['code' => 'EndpointServicePayerForbidden', 'message' => 'The param Payer of EndpointService is forbidden, user is not in the whitelist.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointServicePayerForbidden', 'message' => 'The parameter EndpointServicePayer is forbidden. The user is not in the whitelist.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointServiceResourceCannotRemove', 'message' => 'The service resource cannot be removed.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointServiceResourceExist', 'message' => 'The specified resource already exists.', 'http_code' => 400, 'description' => 'The specified resource already exists.'],
+ ['code' => 'EndpointServiceResourceNotFound', 'message' => 'The specified service resource is not found.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointServiceResourceTypeMismatch', 'message' => 'the service resource type not match request type.', 'http_code' => 400, 'description' => 'The service resource type is inconsistent with the request type.'],
+ ['code' => 'EndpointServiceResourceTypeNotEqual', 'message' => 'the service resource type not equal request type.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'EndpointServiceResourceTypeNotSupport', 'message' => 'The specified resource type is not supported.', 'http_code' => 400, 'description' => 'The specified resource type is not supported.'],
+ ['code' => 'EndpointZoneDuplicated', 'message' => 'The zone is duplicated for the Endpoint.', 'http_code' => 400, 'description' => 'The zone is duplicated for the Endpoint.'],
+ ['code' => 'EndpointZoneExist', 'message' => 'The specified zone of Endpoint already exists.', 'http_code' => 400, 'description' => 'The specified zone of Endpoint already exists.'],
+ ['code' => 'EndpointZoneNotFound', 'message' => 'The specified zone of Endpoint does not exist.', 'http_code' => 400, 'description' => 'The specified zone of Endpoint does not exist.'],
+ ['code' => 'EniIpUnavailable', 'message' => 'The specified IP address is unavailable.', 'http_code' => 400, 'description' => 'The specified IP address is unavailable.'],
+ ['code' => 'GatewayLoadBalancerNotSupportSecurityGroup', 'message' => 'The gateway load balancer not support security group.', 'http_code' => 400, 'description' => 'The gateway load balancer type does not support setting a security group.'],
+ ['code' => 'GatewayLoadBalancerNotSupportZoneConnection', 'message' => 'The gateway load balancer not support zone connection.', 'http_code' => 400, 'description' => 'Gateway-based load balancing type does not support operational zone connection'],
+ ['code' => 'GatewayLoadBalancerZoneCountDeny', 'message' => 'The GatewayLoadBalancer zone count not support', 'http_code' => 400, 'description' => 'The number of available zones does not meet the limit and cannot be operated.'],
+ ['code' => 'GenerateInstanceIdFailed', 'message' => 'The system is busy. Please try again later.', 'http_code' => 400, 'description' => 'The system is busy. Please try again later.'],
+ ['code' => 'GenerateResourceIdFailed', 'message' => 'Failed to generate ResourceId.', 'http_code' => 400, 'description' => 'Failed to generate ResourceId.'],
+ ['code' => 'IdempotenceSignatureMismatch', 'message' => 'There is an idempotence signature mismatch between this and the previous request.', 'http_code' => 400, 'description' => 'There is an idempotence signature mismatch between this and the previous request.'],
+ ['code' => 'IllegalParam.%s', 'message' => 'The specified parameter %s is invalid.', 'http_code' => 400, 'description' => 'The specified parameter %s is invalid.'],
+ ['code' => 'IllegalParam.AddressIpVersion', 'message' => 'The specified parameter AddressIpVersion is invalid.', 'http_code' => 400, 'description' => 'The specified parameter AddressIpVersion does not meet the requirements.'],
+ ['code' => 'IllegalParam.Ip', 'message' => 'The specified parameter IP is invalid.', 'http_code' => 400, 'description' => 'The specified parameter IP is invalid.'],
+ ['code' => 'IllegalParam.Ipv6Address', 'message' => 'The specified parameter Ipv6Address is invalid.', 'http_code' => 400, 'description' => 'The specified parameter Ipv6Address is invalid.'],
+ ['code' => 'IllegalParam.ResourceAllocateMode', 'message' => 'The param of ResourceAllocateMode is illegal.', 'http_code' => 400, 'description' => 'Parameter ResourceAllocateMode exception.'],
+ ['code' => 'IllegalParam.ResourceReplaceMode', 'message' => 'The param of ResourceReplaceMode is illegal.', 'http_code' => 400, 'description' => 'The parameter ResourceReplaceMode is illegal.'],
+ ['code' => 'IllegalParamFormat.%s', 'message' => 'The param format of %s is illegal.', 'http_code' => 400, 'description' => 'The parameter format of %s is illegal.'],
+ ['code' => 'IllegalParamLength.%s', 'message' => 'The param length of %s is illegal.', 'http_code' => 400, 'description' => 'The parameter length of %s is illegal.'],
+ ['code' => 'IllegalParamSize.%s', 'message' => 'The param size of %s is illegal.', 'http_code' => 400, 'description' => 'The parameter size of %s is illegal.'],
+ ['code' => 'IllegalTagKeyParam', 'message' => 'IllegalTagKeyParam', 'http_code' => 400, 'description' => 'IllegalTagKeyParam'],
+ ['code' => 'IllegalTagScopeParam', 'message' => 'The tag scope is Illegal.', 'http_code' => 400, 'description' => 'The tag scope is Illegal.'],
+ ['code' => 'IllegalTagValueParam', 'message' => 'The tag value is Illegal.', 'http_code' => 400, 'description' => 'The tag value is Illegal.'],
+ ['code' => 'IncorrectPrivateServiceDomainVerifyState', 'message' => 'The custom domain name has not passed the verification.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'IncorrectResultSizeDataAccessException', 'message' => 'incorrect result size data access.', 'http_code' => 400, 'description' => 'The wrong result was returned'],
+ ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => 'The request processing has failed due to some unknown error.'],
+ ['code' => 'InvalidAcceptLanguage.NotFound', 'message' => 'The specified AcceptLanguage (%s) is invalid. Valid values are (zh-CN), (en-US), (ja) . Only Chinese (zh-CN), English (en-US), and Japanese (ja) are allowed.', 'http_code' => 400, 'description' => 'The specified AcceptLanguage (%s) is invalid. Valid values are [ zh-CN, en-US, ja ]. Only Chinese (zh-CN), English (en-US), and Japanese (ja) are allowed.'],
+ ['code' => 'InvalidAccountStatus.NotEnoughBalance', 'message' => 'Your account does not have enough balance.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'InvalidEndpointId.NotFound', 'message' => 'The specified EndpointId %s does not exist.', 'http_code' => 400, 'description' => 'The specified EndpointId is invalid.'],
+ ['code' => 'InvalidParam.%s', 'message' => 'The param of %s is invalid.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'InvalidParam.PolicyDocument', 'message' => 'The parameter of %s is invalid.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'InvalidParam.PrivateDnsEnabled', 'message' => 'The parameter of %s is invalid.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'InvalidParam.PrivateDnsName', 'message' => 'The param of %s is invalid.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'InvalidPermissionType.NotFound', 'message' => 'The specified PermissionType %s is invalid. Valid values are %s.', 'http_code' => 400, 'description' => 'The specified PermissionType %s is invalid. Valid values are %s.'],
+ ['code' => 'InvalidResourceId.NotFound', 'message' => 'The specified ResourceIds are not found in our records.', 'http_code' => 400, 'description' => 'The specified ResourceIds are not found in our records.'],
+ ['code' => 'InvalidServiceId.NotFound', 'message' => 'The specified ServiceId %s does not exist.', 'http_code' => 400, 'description' => 'The specified ServiceId %s does not exist.'],
+ ['code' => 'InvalidServiceName.NotFound', 'message' => 'The specified ServiceName %s does not exist.', 'http_code' => 400, 'description' => 'The specified ServiceName %s does not exist.'],
+ ['code' => 'InvalidStatus.NotFound', 'message' => 'The specified Status %s is invalid. Valid values are %s.', 'http_code' => 400, 'description' => 'The specified Status %s is invalid. Valid values are %s.'],
+ ['code' => 'LoadBalancerHaveNotPrivateLink', 'message' => 'The specified slb does not have support privateLink field.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'LoadBalancerNotFound', 'message' => 'The specified load balancer does not exist.', 'http_code' => 400, 'description' => 'The specified Alb does not exist.'],
+ ['code' => 'LoadBalancerNotSupportPrivateLink', 'message' => 'The specified SLB does not support PrivateLink.', 'http_code' => 400, 'description' => 'The specified SLB does not support PrivateLink.'],
+ ['code' => 'Mismatch.ResourceType', 'message' => 'The %s is mismatched for %s and %s.', 'http_code' => 400, 'description' => 'The %s is mismatched for %s and %s.'],
+ ['code' => 'Mismatch.UserIdAndUserArn', 'message' => 'The %s and %s are mismatched.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MissingParam.%s', 'message' => 'You must specify the parameter %s.', 'http_code' => 400, 'description' => 'You must specify the parameter %s.'],
+ ['code' => 'MissingParam.%s', 'message' => 'The param of %s is missing.', 'http_code' => 400, 'description' => 'The parameter %s is missing.'],
+ ['code' => 'MissingParam.ResourceAllocateMode', 'message' => 'The param of %s is missing.', 'http_code' => 400, 'description' => 'Missing ResourceAllocateMode parameter.'],
+ ['code' => 'MissingParam.ResourceId', 'message' => 'The param of %s is missing.', 'http_code' => 400, 'description' => 'Missing parameter ResourceId.'],
+ ['code' => 'MissingParam.UserArn', 'message' => 'The param of UserArn is missing.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'MissingResourceIdOrTagParam', 'message' => 'The resource id and tag is empty.', 'http_code' => 400, 'description' => 'The resource id and tag is empty.'],
+ ['code' => 'MissingTagKeyParam', 'message' => 'The tag key is empty.', 'http_code' => 400, 'description' => 'The tag key is empty.'],
+ ['code' => 'MissingTagValueParam', 'message' => 'The tag value is empty.', 'http_code' => 400, 'description' => 'The tag value is empty.'],
+ ['code' => 'NeedOpenProduct', 'message' => 'The product is not activated.', 'http_code' => 400, 'description' => 'The product is not activated.'],
+ ['code' => 'NlbNotSupportServiceResourceReplace', 'message' => 'The specified nlb is not support service resource replace.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'NoOperationPermission', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => 'You are not authorized to perform the operation.'],
+ ['code' => 'NoPermission', 'message' => 'You are not authorized to access the specified API operation.', 'http_code' => 400, 'description' => 'You are not authorized to access the specified API operation.'],
+ ['code' => 'OperationDenied.AddressIpVersionNotSupportSpecifyIpv6', 'message' => 'The AddressIpVersion of the endpoint does not support specifying IPv6 address.', 'http_code' => 400, 'description' => 'The AddressIpVersion of the endpoint does not support specifying an IPv6 address.'],
+ ['code' => 'OperationDenied.CurrentResourceAutoAllocated', 'message' => 'The operation is not allowed because of CurrentResourceAutoAllocated.', 'http_code' => 400, 'description' => 'The operation is denied because auto allocation is not disabled for the resource in the zone.'],
+ ['code' => 'OperationDenied.EndpointPolicyNotSupport', 'message' => 'The operation is not allowed because of EndpointPolicyNotSupport.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'OperationDenied.EndpointProtected', 'message' => 'The operation is not allowed because of EndpointProtected.', 'http_code' => 400, 'description' => 'Managed protection is enabled for the endpoint. Operation is not allowed.'],
+ ['code' => 'OperationDenied.EndpointServiceNotSupportDualstack', 'message' => 'The specified endpoint service does not support dualstack.', 'http_code' => 400, 'description' => 'The specified endpoint service does not support dualstack.'],
+ ['code' => 'OperationDenied.EndpointTypeNotSupportDualstack', 'message' => 'The specified endpoint type does not support dualstack, only the Interface and GatewayLoadBalancer types support dual stack.', 'http_code' => 400, 'description' => 'The specified endpoint type does not support dualstack, only the Interface and GatewayLoadBalancer types support dual stack.'],
+ ['code' => 'OperationDenied.NoAvailableServiceResource', 'message' => 'The operation is not allowed because of no available resource in some zones of vpc-endpoint-service.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'OperationDenied.NoAvailableServiceResource', 'message' => 'The operation is not allowed because of there are no resource in some available zones of endpoint service.', 'http_code' => 400, 'description' => 'The operation is not allowed because of there are no resource in some available zones of endpoint service.'],
+ ['code' => 'OperationDenied.NotSupportDualStackSwitchToIpv4', 'message' => 'AddressIpVersion does not support switching from DualStack to IPv4.', 'http_code' => 400, 'description' => 'AddressIpVersion does not support switching from DualStack to IPv4.'],
+ ['code' => 'OperationDenied.PrivateDomainNotSupport', 'message' => 'The operation is not allowed because of PrivateDomainNotSupport.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'OperationDenied.PrivateDomainStatusNotSupport', 'message' => 'The operation is not allowed because of %s.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'OperationDenied.RamPolicyNotSupport', 'message' => 'The operation is not allowed because of RamPolicyNotSupport.', 'http_code' => 400, 'description' => 'The operation is not allowed because ram policy are not supported.'],
+ ['code' => 'OperationDenied.ResourceTypeNotSupportDualStack', 'message' => 'The specified resource type does not support dualstack.', 'http_code' => 400, 'description' => 'The specified resource type does not support dualstack.'],
+ ['code' => 'OperationDenied.ServiceResourceIpVersionMismatch', 'message' => 'The endpoint service and service resource AddressIpVersion do not match.', 'http_code' => 400, 'description' => 'The endpoint service and service resource AddressIpVersion do not match.'],
+ ['code' => 'OperationDenied.VSwitchNotSupportDualstack', 'message' => 'The specified VSwitch does not support dualstack.', 'http_code' => 400, 'description' => 'The specified VSwitch does not support dualstack.'],
+ ['code' => 'OperationDenied.ZoneAffinityNotSupport', 'message' => 'The operation is not allowed because of zone affinity not support.', 'http_code' => 400, 'description' => 'The operation is not allowed because zone affinity is not supported.'],
+ ['code' => 'OrderOpend', 'message' => 'You have already activated the service. Go to the console to start using it.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'ParamDescriptionInvalid', 'message' => 'The specified Description is invalid.', 'http_code' => 400, 'description' => 'The specified Description is invalid.'],
+ ['code' => 'ParamEndpointIdInvalid', 'message' => 'The specified EndpointId is invalid.', 'http_code' => 400, 'description' => 'The specified EndpointId %s does not exist.'],
+ ['code' => 'ParamEndpointNameInvalid', 'message' => 'The specified EndpointName is invalid.', 'http_code' => 400, 'description' => 'The specified EndpointName is invalid.'],
+ ['code' => 'ParamSecurityGroupIdInvalid', 'message' => 'The specified SecurityGroupId%s is invalid.', 'http_code' => 400, 'description' => 'The specified SecurityGroupId%s is invalid.'],
+ ['code' => 'ParamServiceIdInvalid', 'message' => 'The specified ServiceId is invalid.', 'http_code' => 400, 'description' => 'The specified ServiceId is invalid.'],
+ ['code' => 'ParamServiceNameInvalid', 'message' => 'The specified ServiceName is invalid.', 'http_code' => 400, 'description' => 'The specified ServiceName %s does not exist.'],
+ ['code' => 'ParamVpcIdInvalid', 'message' => 'The specified VpcId is invalid.', 'http_code' => 400, 'description' => 'The specified VpcId is invalid.'],
+ ['code' => 'ParamVSwitchIdInvalid', 'message' => 'The specified VSwitchId is invalid.', 'http_code' => 400, 'description' => 'The specified VSwitchId is invalid.'],
+ ['code' => 'PrivateDomainAlreadyExistsInTheVpc', 'message' => 'The custom domain name already exists in the VPC.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'QuotaExceed.TagsPerResource', 'message' => 'The maximum number of tags for each resource is exceeded', 'http_code' => 400, 'description' => 'The maximum number of tags for each resource is exceeded'],
+ ['code' => 'QuotaExceeded.epZonePerEndpoint', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => 'The number of endpoints in a zone has reached the upper limit.'],
+ ['code' => 'QuotaExceeded.totalEpPerVpc', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => 'The number of VPC endpoints has reached the upper limit.'],
+ ['code' => 'QuotaExceeded.totalIdleEndpoint', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => 'The total number of idle endpoints has reached the upper limit.'],
+ ['code' => 'QuotaMisMatched', 'message' => 'The resource you applied for has exceeded the quota.', 'http_code' => 400, 'description' => 'The resource you applied for has exceeded the quota.'],
+ ['code' => 'RegionNotFound', 'message' => 'The specified Region is not found.', 'http_code' => 400, 'description' => 'The specified Region is not found.'],
+ ['code' => 'ResourceAutoAllocateViolation', 'message' => 'The specified endpoint service must have at least one automatically allocated resource in one zone.', 'http_code' => 400, 'description' => 'The specified endpoint service must have at least one automatically allocated resource in one zone.'],
+ ['code' => 'ResourceNotEnough.VSwitchIp', 'message' => 'The specified resource of VSwitchIp is not enough.', 'http_code' => 400, 'description' => 'The number of vSwitch IP addresses is insufficient.'],
+ ['code' => 'ResourceNotFound.ALB', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => 'The resource %s is not found.'],
+ ['code' => 'SecurityGroupExist', 'message' => 'The specified security group already exists.', 'http_code' => 400, 'description' => 'The specified security group already exists.'],
+ ['code' => 'SecurityGroupNotFound', 'message' => 'The specified security group does not exist.', 'http_code' => 400, 'description' => 'The specified security group does not exist.'],
+ ['code' => 'SecurityGroupTypeNotSupport', 'message' => 'The specified security group type is not supported.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'SecurityGroupTypeOnlySingleTypeSupporteded', 'message' => 'The specified security group only support one type.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'ServiceResourceNotSupportDowngrade', 'message' => 'The service is not support downgrade.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'ServiceResourceNotSupportIpv6', 'message' => 'The resource is not support ipv6.', 'http_code' => 400, 'description' => 'The endpoint service does not support IPv6.'],
+ ['code' => 'SpecifiedAlbNotSupport', 'message' => 'The specified alb %s is not supported.', 'http_code' => 400, 'description' => 'the specified alb instance is not supported.'],
+ ['code' => 'SystemBusy', 'message' => 'System is busy. Please try again later.', 'http_code' => 400, 'description' => 'The system is busy. Try again later.'],
+ ['code' => 'TagInfoNotExist', 'message' => 'Tag info not exist', 'http_code' => 400, 'description' => 'The tag key information does not exist.'],
+ ['code' => 'TagPermissionDenied', 'message' => 'Tag Permission Denied', 'http_code' => 400, 'description' => 'Tag Permission Denied'],
+ ['code' => 'UnsupportedFeature.PrivateDnsName', 'message' => 'The feature of %s is not supported.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'UnsupportedFeature.VpcNat', 'message' => 'The feature of VpcNat is not supported.', 'http_code' => 400, 'description' => 'VpcNat type not supported'],
+ ['code' => 'UpdateBandWidthUnSupported', 'message' => 'Bandwidth updates are not supported for this service.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'UserARNNotEqualUserId', 'message' => 'The userARN is not equal userId.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'UserIdAndUserARNEmpty', 'message' => 'The userId and userARN is empty.', 'http_code' => 400, 'description' => ''],
+ ['code' => 'VpcNatServiceException', 'message' => 'vpcNat Service Exception', 'http_code' => 400, 'description' => ''],
+ ['code' => 'VpcNatServiceException', 'message' => 'The vpcNat service is busy', 'http_code' => 400, 'description' => ''],
+ ['code' => 'VpcNotFound', 'message' => 'The specified VPC does not exist.', 'http_code' => 400, 'description' => 'The specified VPC does not exist.'],
+ ['code' => 'VpcTunnelNotFound', 'message' => 'The specified VPC tunnel does not exist.', 'http_code' => 400, 'description' => 'The specified VPC tunnel does not exist.'],
+ ['code' => 'VSwitchNotFound', 'message' => 'The specified vSwitch does not exist.', 'http_code' => 400, 'description' => 'The vSwitch is not found.'],
+ ['code' => 'VSwitchStatusNotAllowed', 'message' => 'The specified vswitch status is not Available.', 'http_code' => 400, 'description' => 'The status of the vSwitch is not available.'],
+ ['code' => 'ZoneIdNotSupportedByEndpointService', 'message' => 'The specified NetworkInterface.%s.ZoneId %s is not supported by endpoint service %s. Available Zones are %s.', 'http_code' => 400, 'description' => 'The specified NetworkInterface.%s.ZoneId %s is not supported by endpoint service %s. Available Zones are %s.'],
+ ['code' => 'ZoneIdNotSupportedByPrivateLink', 'message' => 'The specified Resource.%s.ZoneId %s is not supported by PrivateLink service. Available Zones are %s.', 'http_code' => 400, 'description' => 'The specified Resource.%s.ZoneId %s is not supported by PrivateLink service. Available Zones are %s.'],
+ ['code' => 'ZoneOperationDenied', 'message' => 'You cannot operate the specified zone.', 'http_code' => 400, 'description' => 'You cannot operate the specified zone.'],
+ ],
+ 'changeSet' => [],
+ 'ram' => [
+ 'productCode' => 'PrivateLink',
+ 'productName' => 'PrivateLink',
+ 'ramCodes' => ['privatelink'],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [
+ [
+ 'name' => 'privatelink:VpcEndpointServiceId',
+ 'schema' => ['type' => 'STRING', 'description' => ''],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'apiName' => 'DetachResourceFromVpcEndpointService',
+ 'description' => '',
'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkW2XK1B',
+ 'ramAction' => [
+ 'action' => 'privatelink:DetachResourceFromVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:alb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ListVpcEndpointServiceUsers',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointServiceUsers',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
],
- 'tenantRelevance' => 'publicInformation',
],
- 'parameters' => [
- [
- 'name' => 'ResourceId',
- 'in' => 'formData',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The resource ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lb-hp32z1wp5peaoox2q****',
- ],
- 'required' => true,
+ [
+ 'apiName' => 'ListVpcEndpointServices',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointServices',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/*'],
],
],
- [
- 'name' => 'TagKey',
- 'in' => 'formData',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The keys of the tags that you want to remove from the resources. You can specify up to 20 tag keys.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The key of the tag that you want to remove from the resource. The tag key cannot be an empty string.'."\n"
- ."\n"
- .'The tag key can be up to 64 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The tag key must start with a letter but cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FinanceDept',
- ],
- 'required' => false,
+ ],
+ [
+ 'apiName' => 'RemoveUserFromVpcEndpointService',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:RemoveUserFromVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
- [
- 'name' => 'ResourceType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The resource type. Valid values:'."\n"
- ."\n"
- .'* **vpcendpoint**: endpoint'."\n"
- .'* **vpcendpointservice**: endpoint service'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'slb',
+ ],
+ [
+ 'apiName' => 'GetVpcEndpointServiceAttribute',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:GetVpcEndpointServiceAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
- [
- 'name' => 'All',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to remove all tags from the resource. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n"
- ."\n"
- .'> If you specify both the All and TagKey.N parameters, the All parameter does not take effect.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
+ ],
+ [
+ 'apiName' => 'UpdateVpcEndpointAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
],
],
- [
- 'name' => 'DryRun',
- 'in' => 'formData',
- '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',
+ ],
+ [
+ 'apiName' => 'RemoveZoneFromVpcEndpoint',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:RemoveZoneFromVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
],
],
- [
- 'name' => 'ClientToken',
- 'in' => 'formData',
- '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' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
+ ],
+ [
+ 'apiName' => 'TagResources',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:TagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpoint/{#vpcendpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the PrivateLink instance.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'AttachSecurityGroupToVpcEndpoint',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:AttachSecurityGroupToVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the PrivateLink instance.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'ListVpcEndpointSecurityGroups',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointSecurityGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The ID of the request.'."\n",
- 'type' => 'string',
- 'example' => '0ED8D006-F706-4D23-88ED-E11ED28DCAC0',
- ],
- ],
+ [
+ 'apiName' => 'DeleteVpcEndpointService',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'privatelink:DeleteVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'TagInfoNotExist',
- 'errorMessage' => 'Tag info not exist',
- ],
- [
- 'errorCode' => 'DuplicatedTagKey',
- 'errorMessage' => 'The tag keys is duplicated.',
- ],
- [
- 'errorCode' => 'IllegalTagKeyParam',
- 'errorMessage' => 'IllegalTagKeyParam',
- ],
- [
- 'errorCode' => 'IllegalTagValueParam',
- 'errorMessage' => 'The tag value is Illegal.',
- ],
- [
- 'errorCode' => 'InvalidResourceId.NotFound',
- 'errorMessage' => 'The specified ResourceIds are not found in our records.',
+ [
+ 'apiName' => 'ListVpcEndpointConnections',
+ 'description' => '',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointConnections',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED28DCAC0\\"\\n}","type":"json"}]',
- 'title' => 'UntagResources',
- ],
- 'ListTagResources' => [
- 'summary' => 'Queries the tags that are added to resources.',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DisableVpcEndpointZoneConnection',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:DisableVpcEndpointZoneConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'ListVpcEndpointServiceResources',
+ 'description' => '',
'operationType' => 'get',
- ],
- 'parameters' => [
- [
- 'name' => 'ResourceId',
- 'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The resource ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ep-hp3i05294c2d2d******',
- ],
- 'required' => false,
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointServiceResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of the resource. Valid values:'."\n"
- ."\n"
- .'* **vpcendpoint**: endpoint'."\n"
- .'* **vpcendpointservice**: endpoint service'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vpcendpoint',
+ ],
+ [
+ 'apiName' => 'CreateVpcEndpoint',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'privatelink:CreateVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'privatelink:VpcEndpointServiceId', 'validationType' => 'always'],
],
- ],
- [
- 'name' => 'Tag',
- 'in' => 'query',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The tags to add to the resource.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tags to add to the resource.',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The key of tag N to add to the resource. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n"
- ."\n"
- .'The tag key can be up to 64 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The tag key must start with a letter but cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FinanceDept',
- ],
- 'Value' => [
- 'description' => 'The value of tag N to add to the resource. You can specify up to 20 tag values. The tag value can be an empty string.'."\n"
- ."\n"
- .'The tag value can be up to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The tag value must start with a letter but cannot start with `aliyun` or `acs:`. The tag value cannot contain `http://` or `https://`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FinanceJoshua',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/*'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
],
],
- [
- 'name' => 'ClientToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '0c593ea1-3bea-11e9-b96b-88e9fe637760',
+ ],
+ [
+ 'apiName' => 'DeleteVpcEndpoint',
+ 'description' => '',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'privatelink:DeleteVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the region where the resource resides. You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'CheckProductOpen',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'privatelink:CheckProductOpen',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
- [
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n"
- ."\n"
- .'* If this is your first request or no next requests are to be sent, you do not need to specify this parameter.'."\n"
- .'* If a next request is to be sent, you must specify the token that is obtained from the previous request as the value of **NextToken**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
+ ],
+ [
+ 'apiName' => 'AddUserToVpcEndpointService',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'privatelink:AddUserToVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B',
- ],
- 'TagResources' => [
- 'description' => 'The resources to which the tags are added.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The resources to which the tags are added.',
- 'type' => 'object',
- 'properties' => [
- 'TagKey' => [
- 'description' => 'The key of tag N added to the resource.'."\n",
- 'type' => 'string',
- 'example' => 'endpoint',
- ],
- 'TagValue' => [
- 'description' => 'The value of tag N added to the resource.'."\n",
- 'type' => 'string',
- 'example' => 'FinanceJoshua',
- ],
- 'ResourceId' => [
- 'description' => 'The resource ID.'."\n",
- 'type' => 'string',
- 'example' => 'ep-hp3i05294c2d2d******',
- ],
- 'ResourceType' => [
- 'description' => 'The type of the resource. Valid values:'."\n"
- ."\n"
- .'* **vpcendpoint**: endpoint'."\n"
- .'* **vpcendpointservice**: endpoint service'."\n",
- 'type' => 'string',
- 'example' => 'vpcendpoint',
- ],
- ],
- ],
- ],
- 'NextToken' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If this is your first request and no next requests are to be performed, you do not need to specify this parameter.'."\n"
- .'* If a next request is to be performed, set the parameter to the value of NextToken that is returned from the last call.',
- 'type' => 'string',
- 'example' => 'caeba0bbb2be03f84eb48b699f0a4883',
- ],
- ],
- 'description' => '',
+ [
+ 'apiName' => 'UpdateVpcEndpointConnectionAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointConnectionAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'DuplicatedTagKey',
- 'errorMessage' => 'The tag keys is duplicated.',
- ],
- [
- 'errorCode' => 'MissingTagKeyParam',
- 'errorMessage' => 'The tag key is empty.',
- ],
- [
- 'errorCode' => 'MissingTagValueParam',
- 'errorMessage' => 'The tag value is empty.',
- ],
- [
- 'errorCode' => 'MissingResourceIdOrTagParam',
- 'errorMessage' => 'The resource id and tag is empty.',
- ],
- [
- 'errorCode' => 'IllegalTagKeyParam',
- 'errorMessage' => 'IllegalTagKeyParam',
- ],
- [
- 'errorCode' => 'IllegalTagValueParam',
- 'errorMessage' => 'The tag value is Illegal.',
+ [
+ 'apiName' => 'EnableVpcEndpointConnection',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:EnableVpcEndpointConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\",\\n \\"TagResources\\": [\\n {\\n \\"TagKey\\": \\"endpoint\\",\\n \\"TagValue\\": \\"FinanceJoshua\\",\\n \\"ResourceId\\": \\"ep-hp3i05294c2d2d******\\",\\n \\"ResourceType\\": \\"vpcendpoint\\"\\n }\\n ],\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a4883\\"\\n}","type":"json"}]',
- 'title' => 'ListTagResources',
- 'description' => '* You must specify **ResourceId.N** or **Tag.N** in the request to specify the object that you want to query.'."\n"
- .'* **Tag.N** is a resource tag that consists of a key-value pair (Tag.N.Key and Tag.N.Value). If you specify only **Tag.N.Key**, all tag values that are associated with the specified key are returned. If you specify only **Tag.N.Value**, an error message is returned.'."\n"
- .'* If you specify **Tag.N** and **ResourceId.N** to filter tags, **ResourceId.N** must match all specified key-value pairs.'."\n"
- .'* If you specify multiple key-value pairs, resources that contain these key-value pairs are returned.',
- ],
- 'TagResources' => [
- 'summary' => 'Adds tags to resources. You can call this API operation to add tags to one or more endpoints or endpoint services.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'UpdateVpcEndpointServiceAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointServiceAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ],
],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'ChangeResourceGroup',
+ 'description' => '',
'operationType' => 'update',
- ],
- 'parameters' => [
- [
- 'name' => 'ResourceId',
- 'in' => 'formData',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The resource IDs. Up to 50 resource IDs are supported.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The resource ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lb-bp16qjewdsunr41m1****',
- ],
- 'required' => true,
+ 'ramAction' => [
+ 'action' => 'privatelink:ChangeResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
- [
- 'name' => 'Tag',
- 'in' => 'formData',
- 'style' => 'flat',
- 'schema' => [
- 'description' => 'The tags to add to the resources.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The key of tag N to add to the resource. You can specify up to 20 tag keys. 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",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'FinanceDept',
- ],
- 'Value' => [
- 'description' => 'The value of tag N to add to the resource. You can specify up to 20 tag values. 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 `acs:` or `aliyun`.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'FinanceJoshua',
- ],
- ],
- 'required' => false,
- ],
- 'required' => true,
+ ],
+ [
+ 'apiName' => 'DisableVpcEndpointConnection',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:DisableVpcEndpointConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
- [
- 'name' => 'ResourceType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The type of resource. Valid values:'."\n"
- ."\n"
- .'* **vpcendpoint**: endpoint'."\n"
- .'* **vpcendpointservice**: endpoint service'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '1',
+ ],
+ [
+ 'apiName' => 'ListVpcEndpointZones',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointZones',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
],
],
- [
- 'name' => 'DryRun',
- 'in' => 'formData',
- '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',
+ ],
+ [
+ 'apiName' => 'CreateVpcEndpointService',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'privatelink:CreateVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/*'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:alb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'UpdateVpcEndpointZoneConnectionResourceAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointZoneConnectionResourceAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- 'name' => 'ClientToken',
- 'in' => 'formData',
- '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',
+ ],
+ [
+ 'apiName' => 'DetachSecurityGroupFromVpcEndpoint',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:DetachSecurityGroupFromVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the PrivateLink instance.'."\n"
- ."\n"
- .'You can call the [DescribeRegions](~~120468~~) operation to query the most recent region list.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'EnableVpcEndpointZoneConnection',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:EnableVpcEndpointZoneConnection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'The response schema.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0',
- ],
- ],
+ [
+ 'apiName' => 'OpenPrivateLinkService',
+ 'description' => '',
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'privatelink:OpenPrivateLinkService',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'MissingTagKeyParam',
- 'errorMessage' => 'The tag key is empty.',
- ],
- [
- 'errorCode' => 'MissingTagValueParam',
- 'errorMessage' => 'The tag value is empty.',
- ],
- [
- 'errorCode' => 'IllegalTagKeyParam',
- 'errorMessage' => 'IllegalTagKeyParam',
- ],
- [
- 'errorCode' => 'IllegalTagValueParam',
- 'errorMessage' => 'The tag value is Illegal.',
- ],
- [
- 'errorCode' => 'DuplicatedTagKey',
- 'errorMessage' => 'The tag keys is duplicated.',
+ [
+ 'apiName' => 'UntagResources',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UntagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
],
- [
- 'errorCode' => 'QuotaExceed.TagsPerResource',
- 'errorMessage' => 'The maximum number of tags for each resource is exceeded',
+ ],
+ ],
+ [
+ 'apiName' => 'ListVpcEndpointServicesByEndUser',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpointServicesByEndUser',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'privatelink:VpcEndpointServiceId', 'validationType' => 'conditional'],
],
- [
- 'errorCode' => 'InvalidResourceId.NotFound',
- 'errorMessage' => 'The specified ResourceIds are not found in our records.',
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#AccountId}:vpcendpointservice/*'],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\n</TagResourcesResponse>","errorExample":""}]',
- 'title' => 'TagResources',
- 'description' => '> You can add up to 20 tags to an instance. Before you add tags to a resource, Alibaba Cloud checks the number of existing tags of the resource. If the maximum number is reached, an error message is returned.'."\n",
- ],
- 'ChangeResourceGroup' => [
- 'summary' => 'Modifies a resource group.',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'GetVpcEndpointAttribute',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:GetVpcEndpointAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ],
],
],
- 'operationType' => 'write',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREprivatelinkEUMK18',
+ [
+ 'apiName' => 'ListTagResources',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListTagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpoint/{#vpcendpointId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'title' => '资源类型',
- 'description' => 'The type of resource. Valid values:'."\n"
- ."\n"
- .'* **VpcEndpoint**: endpoint'."\n"
- .'* **VpcEndpointService**: endpoint service',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VpcEndpoint',
- 'default' => 'VpcEndpoint',
- 'enum' => [
- 'vpcendpoint',
- 'vpcendpointservice',
- ],
+ [
+ 'apiName' => 'ListVpcEndpoints',
+ 'description' => '',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'privatelink:ListVpcEndpoints',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
],
],
- [
- 'name' => 'ResourceId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '资源Id',
- 'description' => 'The resource IDs. You can specify up to 50 resource IDs.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ep-hp3i05294c2d2d****',
+ ],
+ [
+ 'apiName' => 'UpdateVpcEndpointServiceResourceAttribute',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:UpdateVpcEndpointServiceResourceAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'title' => '目标资源组',
- 'description' => 'The resource group ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'rg-acfmy*****',
+ ],
+ [
+ 'apiName' => 'VerifyVpcEndpointServicePrivateDns',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:VerifyVpcEndpointServicePrivateDns',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'Schema of Response',
- 'description' => 'Schema of Response',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'title' => 'Id of the request',
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '8D8992C1-6712-423C-BAC5-E5E817484C6B',
- ],
- ],
+ [
+ 'apiName' => 'AddZoneToVpcEndpoint',
+ 'description' => '',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'privatelink:AddZoneToVpcEndpoint',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'NoPermission.ChangeResourceGroup',
- 'errorMessage' => 'You are not authorized to change resourcegroup',
- ],
- [
- 'errorCode' => 'MissingParameter.ResourceRegionId',
- 'errorMessage' => 'The ResourceRegionId parameters that are required for processing this request are missing',
- ],
- [
- 'errorCode' => 'MissingParameter.ResourceId',
- 'errorMessage' => 'The ResourceId parameters that are required for processing this request are missing',
- ],
- [
- 'errorCode' => 'MissingParameter.ResourceGroupId',
- 'errorMessage' => 'The ResourceGroupId parameters that are required for processing this request are missing',
- ],
- [
- 'errorCode' => 'InvalidResourceGroup',
- 'errorMessage' => 'The specified ResourceGroupId is invalid',
- ],
- [
- 'errorCode' => 'SystemError',
- 'errorMessage' => 'A system error occurred while processing your request',
- ],
- [
- 'errorCode' => 'ResourceNotFound',
- 'errorMessage' => ' The specified resource is not found',
+ [
+ 'apiName' => 'AttachResourceToVpcEndpointService',
+ 'description' => '',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'privatelink:AttachResourceToVpcEndpointService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:alb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'PrivateLink', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'always', 'product' => 'PrivateLink', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8D8992C1-6712-423C-BAC5-E5E817484C6B\\"\\n}","type":"json"}]',
- 'title' => 'ChangeResourceGroup',
- ],
- ],
- 'endpoints' => [
- [
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'privatelink.ap-northeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-2',
- 'endpoint' => 'privatelink.ap-northeast-2.aliyuncs.com',
],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'privatelink.ap-southeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-2',
- 'endpoint' => 'privatelink.ap-southeast-2.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'privatelink.ap-southeast-3.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'privatelink.ap-southeast-5.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-6',
- 'endpoint' => 'privatelink.ap-southeast-6.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-7',
- 'endpoint' => 'privatelink.ap-southeast-7.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'privatelink.cn-beijing.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'privatelink.cn-chengdu.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-fuzhou',
- 'endpoint' => 'privatelink.cn-fuzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-guangzhou',
- 'endpoint' => 'privatelink.cn-guangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'privatelink.cn-hangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-heyuan',
- 'endpoint' => 'privatelink.cn-heyuan.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'privatelink.cn-hongkong.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'privatelink.cn-huhehaote.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-nanjing',
- 'endpoint' => 'privatelink.cn-nanjing.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-qingdao',
- 'endpoint' => 'privatelink.cn-qingdao.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'privatelink.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'privatelink.cn-shenzhen.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wuhan-lr',
- 'endpoint' => 'privatelink.cn-wuhan-lr.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'privatelink.cn-wulanchabu.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'privatelink.cn-zhangjiakou.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhengzhou-jva',
- 'endpoint' => 'privatelink.cn-zhengzhou-jva.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-southeast-1',
- 'endpoint' => 'privatelink.us-southeast-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'privatelink.eu-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-west-1',
- 'endpoint' => 'privatelink.eu-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'na-south-1',
- 'endpoint' => 'privatelink.na-south-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-east-1',
- 'endpoint' => 'privatelink.us-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-west-1',
- 'endpoint' => 'privatelink.us-west-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'me-east-1',
- 'endpoint' => 'privatelink.me-east-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-south-1',
- 'endpoint' => 'privatelink.ap-south-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'me-central-1',
- 'endpoint' => 'privatelink.me-central-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing-finance-1',
- 'endpoint' => 'privatelink.cn-beijing-finance-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'privatelink.cn-shanghai-finance-1.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'privatelink.cn-shenzhen-finance-1.aliyuncs.com',
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#ServiceId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:alb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'NatGateway', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:natgateway/{#NatGatewayId}'],
+ ['validationType' => 'always', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/*'],
+ ['validationType' => 'always', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/{#EndpointId}'],
+ ['validationType' => 'always', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpoint/{#vpcendpointId}'],
+ ['validationType' => 'always', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:*:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ['validationType' => 'always', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'VpcEndpointService', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpointservice/{#vpcendpointserviceId}'],
+ ['validationType' => 'always', 'resourceType' => 'VpcEndpoint', 'arn' => 'acs:privatelink:{#regionId}:{#accountId}:vpcendpoint/*'],
+ ['validationType' => 'always', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'],
+ ['validationType' => 'always', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
],
],
];