summaryrefslogtreecommitdiff
path: root/data/en_us/vpcipam/2023-02-28/api-docs.php
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/vpcipam/2023-02-28/api-docs.php')
-rw-r--r--data/en_us/vpcipam/2023-02-28/api-docs.php11140
1 files changed, 11140 insertions, 0 deletions
diff --git a/data/en_us/vpcipam/2023-02-28/api-docs.php b/data/en_us/vpcipam/2023-02-28/api-docs.php
new file mode 100644
index 0000000..685a876
--- /dev/null
+++ b/data/en_us/vpcipam/2023-02-28/api-docs.php
@@ -0,0 +1,11140 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'VpcIpam',
+ 'version' => '2023-02-28',
+ ],
+ 'directories' => [
+ [
+ 'children' => [
+ 'RemoveIpamMembers',
+ 'ListIpamMembers',
+ 'AddIpamMembers',
+ ],
+ 'type' => 'directory',
+ 'title' => 'IPAM multi-account management',
+ ],
+ [
+ 'children' => [
+ 'OpenVpcIpamService',
+ 'GetVpcIpamServiceStatus',
+ 'CreateIpam',
+ 'DeleteIpam',
+ 'UpdateIpam',
+ 'ListIpams',
+ ],
+ 'type' => 'directory',
+ 'title' => 'IPAM',
+ ],
+ [
+ 'children' => [
+ 'CreateIpamScope',
+ 'DeleteIpamScope',
+ 'UpdateIpamScope',
+ 'ListIpamScopes',
+ 'ListIpamResourceCidrs',
+ ],
+ 'type' => 'directory',
+ 'title' => 'IPAM applicable scope',
+ ],
+ [
+ 'children' => [
+ 'CreateIpamPool',
+ 'DeleteIpamPool',
+ 'UpdateIpamPool',
+ 'ListIpamPools',
+ 'AddIpamPoolCidr',
+ 'DeleteIpamPoolCidr',
+ 'ListIpamPoolCidrs',
+ 'CreateIpamPoolAllocation',
+ 'DeleteIpamPoolAllocation',
+ 'UpdateIpamPoolAllocation',
+ 'GetIpamPoolAllocation',
+ 'ListIpamPoolAllocations',
+ 'GetIpamPoolNextAvailableCidr',
+ ],
+ 'type' => 'directory',
+ 'title' => 'IPAM pool',
+ ],
+ [
+ 'children' => [
+ 'CreateIpamResourceDiscovery',
+ 'DeleteIpamResourceDiscovery',
+ 'UpdateIpamResourceDiscovery',
+ 'ListIpamResourceDiscoveries',
+ 'AssociateIpamResourceDiscovery',
+ 'DissociateIpamResourceDiscovery',
+ 'ListIpamResourceDiscoveryAssociations',
+ 'ListIpamDiscoveredResource',
+ ],
+ 'type' => 'directory',
+ 'title' => 'Resource discovery',
+ ],
+ [
+ 'children' => [
+ 'ChangeResourceGroup',
+ ],
+ 'type' => 'directory',
+ 'title' => 'Resource group',
+ ],
+ [
+ 'children' => [
+ 'TagResources',
+ 'UntagResources',
+ 'ListTagResources',
+ ],
+ 'type' => 'directory',
+ 'title' => 'Tag',
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'AddIpamMembers' => [
+ 'path' => '',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM hosted region.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~36063~~) operation to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run. The request is checked for required parameters, request format, and service limits. Members are not added to the IPAM trusted service. If the check passes, the DryRunOperation error code is returned. If the check fails, an error is returned.'."\n"
+ ."\n"
+ .'- **false** (Default): Sends a request. If the request passes the check, the members are added to the IPAM trusted service and an HTTP 2xx status code is returned.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'A client token to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'Generate a unique value from your client for each request. The ClientToken parameter supports only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => ' '."\n"
+ .'123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'Members',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'MemberId' => [
+ 'description' => 'The member ID.'."\n"
+ ."\n"
+ .'- **Folder ID**: The ID of the folder.'."\n"
+ ."\n"
+ .'- **Account UID**: The UID of a member account in the resource directory.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'fd-ccccncASqa',
+ 'title' => '',
+ ],
+ 'MemberType' => [
+ 'description' => 'The member type. Valid values:'."\n"
+ ."\n"
+ .'- **Folder**: A folder.'."\n"
+ ."\n"
+ .'- **Account**: A member account in a resource directory.',
+ 'enumValueTitles' => [
+ 'Account' => 'A member account in a resource directory',
+ 'Folder' => 'A folder in a resource directory',
+ ],
+ 'type' => 'string',
+ 'enum' => [
+ 'Account',
+ 'Folder',
+ ],
+ 'required' => false,
+ 'example' => 'Folder',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ 'minItems' => 1,
+ 'description' => 'The members managed by the IPAM trusted service.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => 'BB2C39DE-CEB8-595A-981A-F2EFCBE7324E',
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ 'description' => 'BaseResult',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.MemberIdNotMatchMemberType',
+ 'errorMessage' => 'The operation is not allowed because the Member ID and Member Type of members [%s] in the input parameters do not match.',
+ 'description' => 'The Member Id and Member Type of [%s] in the input Members do not match.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.MemberExistInIpamRDService',
+ 'errorMessage' => 'The operation is not allowed because %s is under the management of the IPAM.',
+ 'description' => 'The input parameter %s has already been managed by IPAM trusted service. The same member cannot be managed repeatedly.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.MemberAccount',
+ 'errorMessage' => 'The operation is not allowed because the number of % managed by IPAM has exceeded the limit, %s/%s.',
+ 'description' => 'The member account managed by IPAM trusted service exceeds the quota limit.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamResourceDiscoveryAlreadySharedWithAdmin',
+ 'errorMessage' => 'The operation is not allowed because the resource discovery has been shared with the IPAM delegated administrator by %s.',
+ 'description' => 'The IPAM Trusted Service does not allow the management of accounts that have already shared their resource discovery with the delegated administrator.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamRDServiceAlreadyEnabledInOtherRegion',
+ 'errorMessage' => 'The operation is not allowed because the IPAM Resource Directory service is already enabled in another region.',
+ 'description' => 'Only one IPAM instance can be selected to manage resource directory members.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.AccountNotRDEntity',
+ 'errorMessage' => 'The operation is not allowed because the caller does not belong to the resource directory.',
+ 'description' => 'The caller does not belong to any resource directory and is not allowed to manage IPAM trusted service members.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.NotDelegatedAdminAccount',
+ 'errorMessage' => 'The operation is not allowed because the caller is not the delegated IPAM admin for the resource directory.',
+ 'description' => 'The caller is not the delegated administrator of the IPAM trusted service in the resource directory. IPAM trusted service members are not allowed to be managed.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamNotExist',
+ 'errorMessage' => 'The operation is not allowed because the IPAM does not exist.',
+ 'description' => 'IPAM does not exist in the current region. IPAM trusted service members cannot be managed.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.DelegateAdminAsMember',
+ 'errorMessage' => 'The operation is not allowed because the IPAM delegate administrator cannot be a member.',
+ 'description' => 'IPAM delegated administrators cannot add themselves as members of the IPAM trusted service.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.NoServicePrincipalAdminPrivileges',
+ 'errorMessage' => 'The operation is not allowed because the caller is not the delegated IPAM admin for the resource directory.',
+ 'description' => 'The caller is not the delegated administrator of the IPAM trusted service in the resource directory. IPAM trusted service members are not allowed to be managed.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'AddIpamMembers',
+ 'summary' => 'Adds members to an IP Address Manager (IPAM).',
+ 'description' => '- Only the delegated administrator of an IPAM instance in a resource directory can perform multi-account management.'."\n"
+ ."\n"
+ .'- An IPAM delegated administrator can use an IPAM instance in only one region for multi-account management. A maximum of 1,000 member accounts can be added.'."\n"
+ ."\n"
+ .' ><notice>'."\n"
+ ."\n"
+ .' If you add a folder as a member, the system counts all member accounts of the resource directory that are in the folder.'."\n"
+ ."\n"
+ .' ></notice>'."\n"
+ ."\n"
+ .'- Members can be of the Folder or Account type.'."\n"
+ ."\n"
+ .' - Folder: The delegated IPAM administrator can view IP usage in the IPAM effective region for all resource directory member accounts in the folder.'."\n"
+ ."\n"
+ .' - Account: The delegated IPAM administrator can view IP usage in the IPAM effective region for the specified resource directory member account.'."\n"
+ ."\n"
+ .'- A managed member cannot share its resource discovery with the IPAM delegated administrator. The IPAM delegated administrator cannot add a member if that member has already shared its resource discovery.'."\n"
+ ."\n"
+ .'- Adding the first member enables the IPAM trusted service for the resource directory.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BB2C39DE-CEB8-595A-981A-F2EFCBE7324E\\"\\n}","type":"json"}]',
+ ],
+ 'AddIpamPoolCidr' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '173978',
+ 'abilityTreeNodes' => [
+ 'FEATUREvpcNCDGSE',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the hosted region of the IPAM.'."\n"
+ ."\n"
+ .'Call [DescribeRegions](~~36063~~) to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM pool.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ ],
+ ],
+ [
+ 'name' => 'Cidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The CIDR block to provision.'."\n"
+ ."\n"
+ .'> Provision a CIDR block for a top-level private pool only by entering a CIDR block.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '192.168.1.0/24',
+ ],
+ ],
+ [
+ 'name' => 'NetmaskLength',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subnet mask of the CIDR block.'."\n"
+ ."\n"
+ .'> Provision a CIDR block for a top-level public IPv6 pool only by entering a mask.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '24',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: performs a dry run but does not provision the CIDR block. The system prechecks the required parameters, request syntax, and limits. 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, a 2xx HTTP status code is returned and the operation is performed.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'A client token that is used to ensure the idempotence of the request. Use the client to generate the token, but make sure that the token is unique among requests. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the RequestId of the request as the ClientToken. The RequestId of each API request may be different.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '558BC336-8B88-53B0-B4AD-980EE900AB01',
+ ],
+ 'Cidr' => [
+ 'description' => 'The CIDR block that is successfully provisioned for the IPAM pool.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '192.168.1.0/24',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.IpVersion',
+ 'errorMessage' => 'The specified IpVersion is illegal.',
+ 'description' => 'Invalid IpVersion.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.PublicIpamScopeType',
+ 'errorMessage' => 'The feature of PublicIpamScopeType is not supported.',
+ 'description' => 'The IPAM you specified does not support the creation of public scope.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.IpamPool',
+ 'errorMessage' => 'The specified IPAM pool cannot be empty.',
+ 'description' => 'The IPAM pool cannot be empty.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.PoolRegionNotSupportAddPoolCidr',
+ 'errorMessage' => 'The operation is not allowed because pool region does not support adding CIDR.',
+ 'description' => 'The operation was not allowed because the operation to add CIDR could not be performed in the region.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.CidrConflictWithTopCidrs',
+ 'errorMessage' => 'The operation is not allowed because the input CIDR conflicts with existing top CIDRs.',
+ 'description' => 'The operation is not allowed because the input CIDR conflicts with existing top CIDRs.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.SourceCidrIsNull',
+ 'errorMessage' => 'The operation is not allowed because the source CIDR is null.',
+ 'description' => 'The parent pool does not have a CIDR block.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.CidrNotInSourceCidr',
+ 'errorMessage' => 'The operation is not allowed because the input CIDR is not in source CIDR.',
+ 'description' => 'The specified CIDR block does not fall within the CIDR range of the parent pool.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.SourceIpamPool',
+ 'errorMessage' => 'The dependent source IPAM pool is not found.',
+ 'description' => 'The dependent resource source IPAM Pool does not exist.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.CidrConflictWithExistAllocation',
+ 'errorMessage' => 'The operation is not allowed because the input CIDR conflicts with the existing allocation.',
+ 'description' => 'The specified CIDR block conflicts with an existing CIDR block.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Cidr',
+ 'errorMessage' => 'The specified CIDR is illegal.',
+ 'description' => 'The CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.IpamCidrQuotaPerIpamPool',
+ 'errorMessage' => 'The quota of ipamCidrQuotaPerIpamPool count is exceeded.',
+ 'description' => 'The number of CIDR blocks in the IPAM pool exceeds the upper limit.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OperateShareResource',
+ 'errorMessage' => 'The operation is not allowed because the instance is a shared resource.',
+ 'description' => 'The operation is not allowed because the instance is a shared resource.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.IpamPool',
+ 'errorMessage' => 'The status of the IPAM pool is incorrect.',
+ 'description' => 'The status of the IPAM pool is incorrect.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.CidrOrNetmaskLength',
+ 'errorMessage' => 'The Cidr or NetmaskLength must be input.',
+ 'description' => 'The Cidr or NetmaskLength must be input.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.CidrAndPoolIpVersion',
+ 'errorMessage' => 'The ip verion of input Cidr is inconsistent with that of the input IPAM pool.',
+ 'description' => 'The ip verion of input Cidr is inconsistent with that of the input IPAM pool.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.CidrAndNetmaskLength',
+ 'errorMessage' => 'The mask of the input Cidr is inconsistent with the input NetmaskLength.',
+ 'description' => 'The mask of the input Cidr is inconsistent with the input NetmaskLength.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.Cidr',
+ 'errorMessage' => 'The Cidr must be input when adding CIDR for IPAM private top pool.',
+ 'description' => 'The Cidr must be input when adding CIDR for IPAM private top pool.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.AddCidrForIpamPrivateIpv6Pool',
+ 'errorMessage' => 'Adding CIDR for IPAM private IPv6 pool is not supported for this user.',
+ 'description' => 'Adding CIDR for IPAM private IPv6 pool is not supported for this user.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.AddUlaCidrForIpamPublicIpv6Pool',
+ 'errorMessage' => 'Adding ULA CIDR for IPAM public IPv6 pool is not supported.',
+ 'description' => 'Adding ULA CIDR for IPAM public IPv6 pool is not supported.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetmaskLength',
+ 'errorMessage' => 'The specified NetmaskLength is illegal.',
+ 'description' => 'The specified NetmaskLength is illegal.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.CidrConflictWithOfficialGuaCidrs',
+ 'errorMessage' => 'The operation is not allowed because the input CIDR conflicts with official GUA CIDRs.',
+ 'description' => 'The operation is not allowed because the input CIDR conflicts with official GUA CIDRs.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.CidrUnavailableInPool',
+ 'errorMessage' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.',
+ 'description' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.AvailableCidrInsufficient',
+ 'errorMessage' => 'The operation is not allowed because available CIDR is insufficient.',
+ 'description' => 'The operation is not allowed because available CIDR is insufficient.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OfficialCidrInsufficient',
+ 'errorMessage' => 'The operation is not allowed because the official CIDR is insufficient.',
+ 'description' => 'The operation is not allowed because the official CIDR is insufficient.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OfficialCidrUnavailable',
+ 'errorMessage' => 'The operation is not allowed because the official CIDR is unavailable.',
+ 'description' => 'The operation is not allowed because the official CIDR is unavailable.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OfficialCidrTmpUnavailable',
+ 'errorMessage' => 'The operation is not allowed because the official CIDR is temporarily unavailable.',
+ 'description' => 'The operation is not allowed because the official CIDR is temporarily unavailable.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.AddUlaCidrForIpamPrivateIpv6Pool',
+ 'errorMessage' => 'Adding ULA CIDR for IPAM private IPv6 pool is not supported for this user.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.AddByoipCidrForIpamPrivateIpv6Pool',
+ 'errorMessage' => 'Adding BYOIP CIDR for IPAM private IPv6 pool is not supported for this user.',
+ 'description' => '',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ ],
+ ],
+ 'title' => 'AddIpamPoolCidr',
+ 'summary' => 'Provisions a CIDR block for an IPAM pool.',
+ 'description' => '- Before you provision a CIDR block, you must create an IPAM pool by calling the **CreateIpamPool** operation.'."\n"
+ ."\n"
+ .'- You cannot provision a CIDR block for a child pool if its parent pool does not have a provisioned CIDR block.'."\n"
+ ."\n"
+ .'- If a parent pool has a provisioned CIDR block, you can provision a CIDR block for its child pool. The CIDR block of the child pool must be a subset of the CIDR block of the parent pool.'."\n"
+ ."\n"
+ .'- If a parent pool has a provisioned CIDR block and a CIDR allocation, the CIDR block that you provision for a child pool cannot conflict with the existing CIDR allocation.'."\n"
+ ."\n"
+ .'- Requests to provision a CIDR block for an IPAM pool must be sent from the managed region of the IPAM.'."\n"
+ ."\n"
+ .'- The CIDR block that you provision for an IPAM pool cannot conflict with the CIDR blocks provisioned for other pools that have the same applicable scope.'."\n"
+ ."\n"
+ .'- The number of provisioned CIDR blocks for an IPAM pool is limited. By default, a top-level public IPv6 pool can have a maximum of one provisioned CIDR block. Other types of pools can have a maximum of 50 provisioned CIDR blocks.',
+ 'changeSet' => [
+ [
+ 'createdAt' => '2025-05-16T06:50:59.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ [
+ 'createdAt' => '2025-04-29T06:52:08.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ [
+ 'createdAt' => '2025-04-29T06:51:34.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'AddIpamPoolCidr',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:AddIpamPoolCidr',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"558BC336-8B88-53B0-B4AD-980EE900AB01\\",\\n \\"Cidr\\": \\"192.168.1.0/24\\"\\n}","type":"json"}]',
+ ],
+ 'AssociateIpamResourceDiscovery' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource discovery instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run. Checks parameters, syntax, and quotas and limits, with no changes being made. Returns DryRunOperation if validation succeeds; otherwise returns an error.'."\n"
+ ."\n"
+ .'- **false** (default): Sends the request. On success, returns a 2xx status and performs the operation.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Ensures idempotency. Provide a unique ASCII token generated by your client. A new token is provided for each distinct request.'."\n"
+ ."\n"
+ .'> If this parameter is not specified, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId of each API request is different.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamCreateModel>',
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'E897D16A-50EB-543F-B002-C5A26AB818FF',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.IpamResourceDiscovery',
+ 'errorMessage' => 'The dependent instance of IPAM resource discovery is not found.',
+ 'description' => 'The dependent instance of IPAM resource discovery is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Ipam',
+ 'errorMessage' => 'The specified resource of ipam is not found.',
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.ResourceDiscoveryAlreadyAssociated',
+ 'errorMessage' => 'You cannot associate the resource discovery because an association already exists.',
+ 'description' => 'You cannot associate the resource discovery because an association already exists.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'AssociateIpamResourceDiscovery',
+ 'summary' => 'Associates a resource discovery with an IPAM instance.',
+ 'description' => '- You can associate a resource discovery instance with an IPAM instance only once.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'AssociateIpamResourceDiscovery',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:AssociateIpamResourceDiscovery',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamResourceDiscovery',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamresourcediscovery/{#IpamResourceDiscoveryId}',
+ ],
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'Ipam',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipam/{#IpamId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E897D16A-50EB-543F-B002-C5A26AB818FF\\"\\n}","type":"json"}]',
+ ],
+ 'ChangeResourceGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the hosted region. Call [DescribeRegions](~~36063~~) to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource whose resource group you want to change.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-uq5dcfc2eqhpf4****',
+ ],
+ ],
+ [
+ 'name' => 'NewResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the new resource group.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'rg-aek3ctkufaw****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'- Ipam: an IPAM instance'."\n"
+ ."\n"
+ .'- IpamScope: an IPAM scope'."\n"
+ ."\n"
+ .'- IpamPool: an IPAM pool'."\n"
+ ."\n"
+ .'- IpamResourceDiscovery: an IPAM resource discovery',
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => [
+ 'Ipam' => 'Ipam',
+ 'IpamPool' => 'IpamPool',
+ 'IpamScope' => 'IpamScope',
+ 'IpamResourceDiscovery' => 'IpamResourceDiscovery',
+ ],
+ 'title' => '',
+ 'example' => 'Ipam',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'BB2C39DE-CEB8-595A-981A-F2EFCBE7324E',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.ResourceGroupId',
+ 'errorMessage' => 'The input parameter ResourceGroupId is invalid.',
+ 'description' => 'The parameter ResourceType is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.ResourceType',
+ 'errorMessage' => 'The input parameter ResourceType is invalid.',
+ 'description' => 'Parameter ResourceType.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Ipam',
+ 'errorMessage' => 'The specified resource of ipam is not found.',
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ ],
+ ],
+ 'title' => 'ChangeResourceGroup',
+ 'summary' => 'Changes the resource group of an IPAM resource.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ChangeResourceGroup',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:ChangeResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'Ipam',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipam/{#IpamId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BB2C39DE-CEB8-595A-981A-F2EFCBE7324E\\"\\n}","type":"json"}]',
+ ],
+ 'CreateIpam' => [
+ 'summary' => 'Creates an IP Address Manager (IPAM).',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM instance is hosted. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the IPAM.'."\n"
+ ."\n"
+ .'It must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'abc',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'OperatingRegionList',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The effective regions of the IPAM.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The effective region of the IPAM.'."\n"
+ ."\n"
+ .'> You can select one or more regions.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the IPAM.'."\n"
+ ."\n"
+ .'It must be 1 to 256 characters in length. Start with a letter but cannot start with `http://` or `https://`. If you do not specify a description, the description is empty by default.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'This is my first Ipam',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID of the IPAM.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmxazb4ph6aiy****',
+ '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',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token used to ensure the idempotence of the request. Use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tag list.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tag list.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key of the resource. You can specify at most 20 tag keys. It 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 (-). It must start with a letter but cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FinanceDept',
+ 'title' => '',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value of the resource. You can specify up to 20 tag values. You can specify empty strings as tag values.'."\n"
+ ."\n"
+ .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FinanceJoshua',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamCreateModel>',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '0ED8D006-F706-4D23-88ED-E11ED39DCAC0',
+ 'title' => '',
+ ],
+ 'IpamId' => [
+ 'description' => 'The ID of the IPAM.'."\n",
+ 'type' => 'string',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ 'title' => '',
+ ],
+ 'PrivateDefaultScopeId' => [
+ 'description' => 'The default private scope created by the system after the IPAM is created.'."\n",
+ 'type' => 'string',
+ 'example' => 'ipam-scope-8wiontzmiy6cg0****',
+ 'title' => '',
+ ],
+ 'PublicDefaultScopeId' => [
+ 'description' => 'The default public scope created by the system after the IPAM is created.'."\n",
+ 'type' => 'string',
+ 'example' => 'ipam-scope-r5c5c7bmym1brc****',
+ 'title' => '',
+ ],
+ 'DefaultResourceDiscoveryId' => [
+ 'description' => 'The ID of the default resource discovery instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ 'title' => '',
+ ],
+ 'DefaultResourceDiscoveryAssociationId' => [
+ 'description' => 'The ID of the default resource discovery association.'."\n",
+ 'type' => 'string',
+ 'example' => 'ipam-res-disco-assoc-jt5fac8twugdbbgip****',
+ 'title' => '',
+ ],
+ 'ResourceDiscoveryAssociationCount' => [
+ 'description' => 'The number of discovered resources.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'UnsupportedRegion.Ipam',
+ 'errorMessage' => 'Ipam is not supported in this region.',
+ 'description' => 'IPAM is not supported in this region.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.IpamQuotaPerRegion',
+ 'errorMessage' => 'The quota of ipamQuotaPerRegion count is exceeded.',
+ 'description' => 'The maximum number allowed by IPAM exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OperatingRegion',
+ 'errorMessage' => 'The operating region is invalid.',
+ 'description' => 'The operating region is invalid.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.OperatingRegionsNeedIncludeIpamRegion',
+ 'errorMessage' => 'The operating regions do not contain IPAM region.',
+ 'description' => 'The operating regions do not contain IPAM region.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.Ipam',
+ 'errorMessage' => 'IPAM is not supported in this region.',
+ 'description' => 'The IPAM feature is not supported in this region.',
+ ],
+ [
+ 'errorCode' => 'OptInRequired.Ipam',
+ 'errorMessage' => 'You are not authorized to use the requested service of IPAM. Ensure that you have subscribed to the service you are trying to use.',
+ 'description' => 'You are not authorized to use the requested service of IPAM. Ensure that you have subscribed to the service you are trying to use.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0ED8D006-F706-4D23-88ED-E11ED39DCAC0\\",\\n \\"IpamId\\": \\"ipam-ccxbnsbhew0d6t****\\",\\n \\"PrivateDefaultScopeId\\": \\"ipam-scope-8wiontzmiy6cg0****\\",\\n \\"PublicDefaultScopeId\\": \\"ipam-scope-r5c5c7bmym1brc****\\",\\n \\"DefaultResourceDiscoveryId\\": \\"ipam-res-disco-jt5f2af2u6nk2z321****\\",\\n \\"DefaultResourceDiscoveryAssociationId\\": \\"ipam-res-disco-assoc-jt5fac8twugdbbgip****\\",\\n \\"ResourceDiscoveryAssociationCount\\": 1\\n}","type":"json"}]',
+ 'title' => 'CreateIpam',
+ 'description' => '- You can create only one IPAM with each Alibaba Cloud account in each region.'."\n"
+ .'- Only IPv4 IP addresses can be allocated.'."\n"
+ ."\n"
+ .'- When you create an IPAM instance:'."\n"
+ .' - If there is no custom resource discovery in the region, the system creates a default resource discovery associated with the IPAM instance.'."\n"
+ .' - If there is a custom resource discovery in the region, the system converts it to a default resource discovery and associates it with the IPAM instance.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpam',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vpc:CreateIpam',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'CreateIpamPool' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM is managed. Call the [DescribeRegions](~~36063~~) operation to obtain the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM scope.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the IPAM address pool.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'abc',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the IPAM address pool.'."\n"
+ ."\n"
+ .'The description must be 1 to 256 characters in length and must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. If you do not specify this parameter, the description is empty.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the IPAM address pool belongs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'rg-acfmxazb4ph6aiy****',
+ ],
+ ],
+ [
+ 'name' => 'PoolRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where the IPAM address pool is available.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SourceIpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source IPAM address pool.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, a parent address pool is created.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ ],
+ ],
+ [
+ 'name' => 'AllocationDefaultCidrMask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The default network mask for the allocations in the IPAM address pool.'."\n"
+ ."\n"
+ .'> The network mask for an IPv4 address pool must be an integer from 0 to 32. The network mask for an IPv6 address pool must be an integer from **0** to **128**.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '28',
+ ],
+ ],
+ [
+ 'name' => 'AllocationMaxCidrMask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum network mask for the allocations in the IPAM address pool.'."\n"
+ ."\n"
+ .'> The network mask for an IPv4 address pool must be an integer from 0 to 32. The network mask for an IPv6 address pool must be an integer from **0** to **128**.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '32',
+ ],
+ ],
+ [
+ 'name' => 'AllocationMinCidrMask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The minimum network mask for the allocations in the IPAM address pool.'."\n"
+ ."\n"
+ .'> The network mask for an IPv4 address pool must be an integer from 0 to 32. The network mask for an IPv6 address pool must be an integer from **0** to **128**.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '8',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: sends a check request without creating the IPAM address pool. The system checks the required parameters, the request format, and the instance status. If the check fails, the corresponding error is returned. If the check passes, the \\`DryRunOperation\\` error code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): sends a normal request. If the request passes the check, a 2xx HTTP status code is returned and the operation is performed.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the RequestId of the request as the ClientToken. The RequestId may be different for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ [
+ 'name' => 'IpVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**: IPv4.'."\n"
+ ."\n"
+ .'- **IPv6**: IPv6.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'IPv4',
+ ],
+ ],
+ [
+ 'name' => 'Ipv6Isp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The line type of the IPv6 CIDR block. This parameter is valid only for public IPv6 address pools. Valid values:'."\n"
+ ."\n"
+ .'- **BGP** (default): Alibaba Cloud BGP IPv6.'."\n"
+ ."\n"
+ .'- **ChinaMobile**: China Mobile (single line).'."\n"
+ ."\n"
+ .'- **ChinaUnicom**: China Unicom (single line).'."\n"
+ ."\n"
+ .'- **ChinaTelecom**: China Telecom (single line).'."\n"
+ ."\n"
+ .'> If you are a user on the single-line bandwidth whitelist, you can set this parameter to **ChinaTelecom**, **ChinaUnicom**, or **ChinaMobile**.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'BGP',
+ ],
+ ],
+ [
+ 'name' => 'AutoImport',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the auto import feature for the address pool.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags.',
+ '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 can contain digits, periods (.), underscores (\\_), and hyphens (-). The tag key must start with a letter or a Chinese character, but cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **ResourceId.N** or **Tag.N** (**Tag.N.Key** and **Tag.N.Value**) parameters.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ '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 and cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'> You must specify at least one of the **ResourceId.N** or **Tag.N** (**Tag.N.Key** and **Tag.N.Value**) parameters.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamPoolCreateModel>',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'BB2C39DE-CEB8-595A-981A-F2EFCBE7324E',
+ ],
+ 'IpamPoolId' => [
+ 'description' => 'The ID of the IPAM address pool.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamScope',
+ 'errorMessage' => 'The specified resource of IPAM scope is not found.',
+ 'description' => 'The input IPAM scope does not exist.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.SourceIpamPool',
+ 'errorMessage' => 'The dependent source IPAM pool is not found.',
+ 'description' => 'The dependent resource source IPAM Pool does not exist.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.PublicIpamScopeType',
+ 'errorMessage' => 'The feature of PublicIpamScopeType is not supported.',
+ 'description' => 'The IPAM you specified does not support the creation of public scope.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.AllocationDefaultNetmask',
+ 'errorMessage' => 'The specified AllocationDefaultNetmask is illegal.',
+ 'description' => 'AllocationDefaultNetmask parameter is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.AllocationMaxNetmask',
+ 'errorMessage' => 'The specified AllocationMaxNetmask is illegal.',
+ 'description' => 'AllocationMaxNetmask parameter is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.AllocationMinNetmask',
+ 'errorMessage' => 'The specified AllocationMinNetmask is illegal.',
+ 'description' => 'AllocationMinNetmask parameter is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.IpVersion',
+ 'errorMessage' => 'The specified IpVersion is illegal.',
+ 'description' => 'Invalid IpVersion.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.IpamPoolQuotaDepth',
+ 'errorMessage' => 'The quota of IpamPoolQuotaDepth count is exceeded.',
+ 'description' => 'Maximum number of IPAM address pool depth allowed exceeds limit',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Ipam',
+ 'errorMessage' => 'The specified resource of ipam is not found.',
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.PoolRegionId',
+ 'errorMessage' => 'The specified PoolRegionId is illegal.',
+ 'description' => 'PoolRegionId parameter is illegal.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.IpamSubPoolQuotaPerIpamPool',
+ 'errorMessage' => 'The quota of ipamSubPoolQuotaPerIpamPool count is exceeded.',
+ 'description' => 'The number of sub-pools for the IPAM pool exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.IpamPool',
+ 'errorMessage' => 'The status of the IPAM pool is incorrect.',
+ 'description' => 'The status of the IPAM pool is incorrect.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OperateShareResource',
+ 'errorMessage' => 'The operation is not allowed because the instance is a shared resource.',
+ 'description' => 'The operation is not allowed because the instance is a shared resource.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.IpamPublicIpv4Pool',
+ 'errorMessage' => 'The feature of public IPv4 pool is not supported in IPAM.',
+ 'description' => 'The feature of public IPv4 pool is not supported in IPAM.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamPublicIpv6PoolNeedPoolRegion',
+ 'errorMessage' => 'The public IPv6 pool cannot be created in IPAM when its pool region is empty.',
+ 'description' => 'The public IPv6 pool cannot be created in IPAM when its pool region is empty.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Ipv6Isp',
+ 'errorMessage' => 'The specified Ipv6Isp is illegal.',
+ 'description' => 'The specified Ipv6Isp is illegal.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.Ipv6Isp',
+ 'errorMessage' => 'The Ipv6Isp feature is not supported.',
+ 'description' => 'The Ipv6Isp feature is not supported.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedRegion.Ipv6Isp',
+ 'errorMessage' => 'The current region does not support this feature.',
+ 'description' => 'The current region does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.IpamPublicIpv6TopPoolQuotaPerRegionIsp',
+ 'errorMessage' => 'The number of public IPv6 top pool in IPAM for this ISP owned by the user in this region exceeds the limit.',
+ 'description' => 'The number of public IPv6 top pool in IPAM for this ISP owned by the user in this region exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.IpamScopeAndSourceIpamPool',
+ 'errorMessage' => 'The input source IPAM pool is not in the input IPAM scope.',
+ 'description' => 'The input source IPAM pool is not in the input IPAM scope.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.Ipv6IspAndSourceIpamPool',
+ 'errorMessage' => 'The input Ipv6Isp is inconsistent with the Ipv6Isp of the input source IPAM pool.',
+ 'description' => 'The input Ipv6Isp is inconsistent with the Ipv6Isp of the input source IPAM pool.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.IpamIpv6',
+ 'errorMessage' => 'The feature of IPv6 is not supported in this region.',
+ 'description' => 'The feature of IPv6 is not supported in this region.',
+ ],
+ ],
+ ],
+ 'title' => 'CreateIpamPool',
+ 'summary' => 'Creates an IPAM address pool.',
+ 'description' => '- By default, you can create a maximum of one top-level public IPv6 pool per Internet Service Provider (ISP) type in each region.',
+ 'changeSet' => [
+ [
+ 'createdAt' => '2025-05-16T06:50:59.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ [
+ 'createdAt' => '2025-04-29T06:52:08.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ [
+ 'createdAt' => '2025-04-29T06:51:34.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpamPool',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vpc:CreateIpamPool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamPool',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamscope/*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BB2C39DE-CEB8-595A-981A-F2EFCBE7324E\\",\\n \\"IpamPoolId\\": \\"ipam-pool-6rcq3tobayc20t****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateIpamPoolAllocation' => [
+ 'summary' => 'Creates a custom reserved CIDR block from an IPAM pool.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where you want to create the custom reserved CIDR block.'."\n"
+ ."\n"
+ .'You can call [DescribeRegions](~~36063~~) to obtain the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM pool.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'Cidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The CIDR block to allocate from the IPAM pool.'."\n"
+ ."\n"
+ .'> You must specify either the **Cidr** or **CidrMask** parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'CidrMask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mask of the CIDR block to allocate from the IPAM pool.'."\n"
+ ."\n"
+ .'> You must specify either the **Cidr** or **CidrMask** parameter.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '24',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Sends a check request. The custom reserved CIDR block is not created. The system checks for required parameters, request format, and service limits. If the check fails, an error 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, a 2xx HTTP status code is returned and the custom reserved CIDR block is created.',
+ '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. Generate a value on your client to make sure that the value is unique among different requests. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the RequestId of the request as the ClientToken. The RequestId may be different for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolAllocationDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the custom reserved CIDR block.'."\n"
+ ."\n"
+ .'The description must be 1 to 256 characters in length. It must start with a letter or a Chinese character and cannot start with `http://` or `https://`. The default value is an empty string.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test description',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolAllocationName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the custom reserved CIDR block.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test name',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamPoolAllocationCreateModel>',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => 'CE9CDAE5-341E-5D0B-AC8A-2BAC707D3EB2',
+ 'title' => '',
+ ],
+ 'IpamPoolAllocationId' => [
+ 'description' => 'The ID of the custom reserved CIDR block.',
+ 'type' => 'string',
+ 'example' => 'ipam-pool-alloc-112za33e4****',
+ 'title' => '',
+ ],
+ 'Cidr' => [
+ 'description' => 'The allocated CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The source CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.168.0.0/16',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.ResourceTypeIsNotCustom',
+ 'errorMessage' => 'The operation is not allowed because the resource type is not Custom.',
+ 'description' => 'The operation is not allowed because the resource type is not Custom.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.CidrOrCidrMask',
+ 'errorMessage' => 'The CIDR or CIDR Mask must be input.',
+ 'description' => 'The CIDR or CIDR Mask must be input.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamPoolNotInRegion',
+ 'errorMessage' => 'The operation is not allowed because the IPAM pool not in specific region does not support creating VPC or associating CIDR for VPC.',
+ 'description' => 'The operation is not allowed because the IPAM pool not in specific region does not support creating VPC or associating CIDR for VPC.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.RequestRegionInvalid',
+ 'errorMessage' => 'The operation is not allowed because the request is not invoked in the region of the IPAM pool.',
+ 'description' => 'The operation is not called in the region of the pool.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Cidr',
+ 'errorMessage' => 'The specified CIDR is illegal.',
+ 'description' => 'The CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.CidrMask',
+ 'errorMessage' => 'The specified CidrMask is illegal.',
+ 'description' => 'Invalid CidrMask.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.AvailableCidrInsufficient',
+ 'errorMessage' => 'The operation is not allowed because available CIDR is insufficient.',
+ 'description' => 'The operation is not allowed because available CIDR is insufficient.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.CidrInExcludeCidrs',
+ 'errorMessage' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.',
+ 'description' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.CidrUnavailableInPool',
+ 'errorMessage' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.',
+ 'description' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CE9CDAE5-341E-5D0B-AC8A-2BAC707D3EB2\\",\\n \\"IpamPoolAllocationId\\": \\"ipam-pool-alloc-112za33e4****\\",\\n \\"Cidr\\": \\"192.168.1.0/24\\",\\n \\"SourceCidr\\": \\"192.168.0.0/16\\"\\n}","type":"json"}]',
+ 'title' => 'CreateIpamPoolAllocation',
+ 'description' => '- Before you create a custom reserved CIDR block, ensure that you have created an IPAM pool and added a CIDR block to it. You can call the **CreateIpamPool** operation to create an IPAM pool and the **AddIpamPoolCidr** operation to add a CIDR block to the pool.'."\n"
+ ."\n"
+ .'- When you specify the Cidr or CidrMask parameter to create a custom reserved CIDR block, the mask must be within the range specified for the IPAM pool.'."\n"
+ ."\n"
+ .'- If an IPAM pool has a region attribute, the request to create a custom reserved CIDR block must be initiated from the region where the pool is located.'."\n"
+ ."\n"
+ .'- The custom reserved CIDR block must not conflict with existing CIDR block allocations in the IPAM pool.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpamPoolAllocation',
+ ],
+ ],
+ ],
+ 'ramActions' => [],
+ ],
+ 'CreateIpamResourceDiscovery' => [
+ 'summary' => 'Creates a resource discovery instance of a custom type.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The request region.'."\n"
+ ."\n"
+ .'> The request region is the hosted region of the resource discovery instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the resource discovery.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'name',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the resource discovery.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'description',
+ ],
+ ],
+ [
+ 'name' => 'OperatingRegionList',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The list of regions where the resource discovery is effective.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The region where the resource discovery is effective.'."\n"
+ ."\n"
+ .'> The request region must be included.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'rg-aek2sermdd6****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Sends a check request without creating the resource discovery instance. The system checks for required parameters, request format, and service limits. If the check fails, an error 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 resource discovery instance is created.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. Generate a unique parameter value from your client. The client token supports 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 is different for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The list of tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of tags.',
+ '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. It must start with a letter or a Chinese character. It can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:`, and it cannot contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ '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 contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamCreateModel>',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'BB2C39DE-CEB8-595A-981A-F2EFCBE7324E',
+ ],
+ 'IpamResourceDiscoveryId' => [
+ 'description' => 'The ID of the resource discovery instance.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.OperatingRegion',
+ 'errorMessage' => 'The operating region is invalid.',
+ 'description' => 'The operating region is invalid.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OperatingRegionsNeedIncludeHomeRegion',
+ 'errorMessage' => 'The operating regions do not contain home region.',
+ 'description' => 'The operating regions do not contain home region.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.IpamResourceDiscoveryQuotaPerRegion',
+ 'errorMessage' => 'The number of non-shared IPAM resource discoveries owned by the user in this region exceeds the limit.',
+ 'description' => 'The number of non-shared IPAM resource discoveries owned by the user in this region exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.UnexpectedType',
+ 'errorMessage' => 'The operation is not allowed because the input type is unexpected.',
+ 'description' => 'The operation is not allowed because the input type is unexpected.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'CreateIpamResourceDiscovery',
+ 'description' => '- Each Alibaba Cloud account can have only one resource discovery instance in each region.'."\n"
+ ."\n"
+ .'- This operation creates only resource discovery instances of a custom type.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpamResourceDiscovery',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vpc:CreateIpamResourceDiscovery',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamResourceDiscovery',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamresourcediscovery/*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BB2C39DE-CEB8-595A-981A-F2EFCBE7324E\\",\\n \\"IpamResourceDiscoveryId\\": \\"ipam-res-disco-jt5f2af2u6nk2z321****\\"\\n}","type":"json"}]',
+ ],
+ 'CreateIpamScope' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM instance is hosted. Call the [DescribeRegions](~~36063~~) operation to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the IPAM scope.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the IPAM scope.'."\n"
+ ."\n"
+ .'The description must be 1 to 256 characters in length and must start with a letter. It cannot start with `http://` or `https://`. The default value is an empty string.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the IPAM scope belongs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'rg-acfmxazb4ph6aiy****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Sends a check request but does not create the IPAM scope. The request is checked for valid AccessKeys, RAM user permissions, and required parameters. If the check fails, a corresponding error is returned. If the check passes, the `DryRunOperation` error code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): Sends a normal request. If the request passes the check, a 2xx HTTP status code is returned and the IPAM scope is created.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'A client token that is used to ensure the idempotence of the request. Generate a unique value from your client. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the RequestId of the request as the ClientToken. The RequestId of each API request may be different.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the IPAM scope:'."\n"
+ .'**private**.'."\n"
+ ."\n"
+ .'> Currently, you can create only private scopes.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'private',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key of 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. It must start with a letter and can contain digits, periods (.), underscores (\\_), and hyphens (-). The tag key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value of 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://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamScopeCreateModel>',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'E897D16A-50EB-543F-B002-C5A26AB818FF',
+ ],
+ 'IpamScopeId' => [
+ 'description' => 'The ID of the IPAM scope.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.Ipam',
+ 'errorMessage' => 'The specified resource of ipam is not found.',
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ [
+ 'errorCode' => 'UnsupportedFeature.PublicIpamScopeType',
+ 'errorMessage' => 'The feature of PublicIpamScopeType is not supported.',
+ 'description' => 'The IPAM you specified does not support the creation of public scope.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.IpamScopeQuotaPerIpam',
+ 'errorMessage' => 'The quota of ipamScopeQuotaPerIpam count is exceeded.',
+ 'description' => 'The maximum number allowed for the IPAM scope of action exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => 'CreateIpamScope',
+ 'summary' => 'Creates scopes for IPAM to manage private and public IP addresses.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpamScope',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vpc:CreateIpamScope',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E897D16A-50EB-543F-B002-C5A26AB818FF\\",\\n \\"IpamScopeId\\": \\"ipam-scope-glfmcyldpm8lsy****\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteIpam' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM instance is deployed. You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run. Checks parameters, syntax, and quotas and limits, with no changes being made. Returns DryRunOperation if validation succeeds; otherwise returns an error.'."\n"
+ ."\n"
+ .'- **false** (default): Sends the request. On success, returns a 2xx status and the IPAM instance is deleted.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Ensures idempotency. Provide a unique ASCII token generated by your client. A new token is provided for each distinct request.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID of each API request is unique.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => '30A20EE2-6223-5D0F-BF49-D7C78F206063',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.Ipam',
+ 'errorMessage' => 'The specified resource of ipam is not found.',
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.IpamScopeExist',
+ 'errorMessage' => 'The operation is failed because user IPAM scope exist.',
+ 'description' => 'The operation failed because a user-defined scope exists.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.IpamPoolExist',
+ 'errorMessage' => 'The operation is failed because user IPAM pool exist.',
+ 'description' => 'The operation failed because IPAM has a user-created address pool.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.SharedResourceDiscoveryAssociated',
+ 'errorMessage' => 'The operation is not allowed because the IPAM is associated with a shared resource discovery.',
+ 'description' => 'The operation is not allowed because the IPAM is associated with a shared resource discovery.',
+ ],
+ [
+ 'errorCode' => 'DependencyViolation.ShareResource',
+ 'errorMessage' => 'The operation is not allowed because the default resource discovery of this IPAM is sharing.',
+ 'description' => 'The operation is not allowed because the default resource discovery of this IPAM is sharing.',
+ ],
+ [
+ 'errorCode' => 'DependencyViolation.IpamMembers',
+ 'errorMessage' => 'The IPAM [%s] has managed members [%s], so the IPAM cannot be deleted.',
+ 'description' => 'IPAM[%s] has managed member [%s], this IPAM cannot be deleted.',
+ ],
+ ],
+ ],
+ 'title' => 'DeleteIpam',
+ 'summary' => 'Deletes an IPAM instance.',
+ 'description' => '## Prerequisites'."\n"
+ ."\n"
+ .'- Before you delete an IPAM instance, ensure that all IPAM pools in the instance are deleted. You can call the **DeleteIpamPool** operation to delete the IPAM pools.'."\n"
+ ."\n"
+ .'- Before you delete an IPAM instance, ensure that all custom IPAM scopes in the instance are deleted. You can call the **DeleteIpamScope** operation to delete the IPAM scopes.'."\n"
+ ."\n"
+ .'- Before you delete an IPAM instance, ensure that the default resource discovery instance is not shared.'."\n"
+ ."\n"
+ .'- Before you delete an IPAM instance, ensure that no shared resource discovery instances are associated with the IPAM instance.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpam',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vpc:DeleteIpam',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30A20EE2-6223-5D0F-BF49-D7C78F206063\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteIpamPool' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the managed region of the IPAM. You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM address pool.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Sends a check request without deleting the IPAM address pool. The system checks for required parameters, request format, and instance status. If the check fails, the corresponding error 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, the system returns an HTTP 2xx status code and directly performs the operation.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'A client token that ensures the idempotence of the request. Generate a unique value from your client for each request. The client token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the request ID as the client token. The request ID of each API request is unique.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '57B7DCCA-F192-5528-8AF3-2FE1413228C9',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.PoolRegionNotSupportDeletePool',
+ 'errorMessage' => 'The operation is not allowed because of pool region not support delete.',
+ 'description' => 'The operation was denied because the delete address pool operation could not be performed in the domain.',
+ ],
+ [
+ 'errorCode' => 'DependencyViolation.SubCidr',
+ 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.',
+ 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.',
+ ],
+ [
+ 'errorCode' => 'DependencyViolation.CustomCidrs',
+ 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.',
+ 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.',
+ ],
+ [
+ 'errorCode' => 'Forbidden.SubPool',
+ 'errorMessage' => 'The IPAM pool contains subpools.',
+ 'description' => 'The IPAM address pool contains subpools and cannot be deleted.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OperateShareResource',
+ 'errorMessage' => 'The operation is not allowed because the instance is a shared resource.',
+ 'description' => 'The operation is not allowed because the instance is a shared resource.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.IpamPool',
+ 'errorMessage' => 'The status of the IPAM pool is incorrect.',
+ 'description' => 'The status of the IPAM pool is incorrect.',
+ ],
+ [
+ 'errorCode' => 'DependencyViolation.ShareResource',
+ 'errorMessage' => 'The specified resource of IPAM pool depends on resource sharing, so the operation cannot be completed.',
+ 'description' => 'The specified resource of IPAM pool depends on resource sharing, so the operation cannot be completed.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ ],
+ ],
+ 'title' => 'DeleteIpamPool',
+ 'summary' => 'Deletes an IPAM address pool.',
+ 'description' => '### Usage notes'."\n"
+ ."\n"
+ .'- Before you delete a parent IPAM pool, ensure that all its sub-pools are deleted.'."\n"
+ ."\n"
+ .'- You cannot delete a parent IPAM pool if it has a managed region and contains allocated IP addresses.'."\n"
+ ."\n"
+ .'- You cannot delete a sub-pool if it has a managed region and contains allocated IP addresses.'."\n"
+ ."\n"
+ .'- You cannot delete an IPAM pool that is shared.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamPool',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vpc:DeleteIpamPool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"57B7DCCA-F192-5528-8AF3-2FE1413228C9\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteIpamPoolAllocation' => [
+ 'summary' => 'Releases a CIDR allocation from an IP Address Management (IPAM) address pool. Supported allocation types include virtual private cloud (VPC) and custom allocation.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CIDR block allocation that you want to release is located.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolAllocationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CIDR block allocation that you want to release.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ipam-alloc-c4vhvr3b22mmc6****',
+ '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. The CIDR block allocation is not released. If the check fails, an error message is returned. If the check succeeds, the \\`DryRunOperation\\` error code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): sends a normal request. If the request passes the check, a 2xx HTTP status code is returned and the CIDR block allocation is released.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Ensures idempotency. Provide a unique ASCII token generated by your client. A new token is provided for each distinct request.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the RequestId as the ClientToken. The RequestId is unique for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => 'B90776C8-F703-51D5-893A-AD1CA699D535',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.ResourceTypeIsNotCustom',
+ 'errorMessage' => 'The operation is not allowed because the resource type is not Custom.',
+ 'description' => 'The operation is not allowed because the resource type is not Custom.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPoolAllocation',
+ 'errorMessage' => 'The specified resource of IPAM pool allocation is not found.',
+ 'description' => 'The specified allocation does not exist.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.UnexpectedResourceType',
+ 'errorMessage' => 'The operation is not allowed because the resource type is unexpected.',
+ 'description' => 'The operation is not allowed because the resource type is unexpected.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.Unauthorized',
+ 'errorMessage' => 'The operation is denied because the user is not authorized.',
+ 'description' => 'The operation is denied because the user is not authorized.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.RequestRegionInvalid',
+ 'errorMessage' => 'The operation is not allowed because the request is not invoked in the region of the IPAM pool.',
+ 'description' => 'The operation is not called in the region of the pool.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.Ipv6VpcNotSupport',
+ 'errorMessage' => 'The allocation of IPv6 VPC is not supported to delete.',
+ 'description' => 'The allocation of IPv6 VPC is not supported to delete.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B90776C8-F703-51D5-893A-AD1CA699D535\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteIpamPoolAllocation',
+ 'changeSet' => [
+ [
+ 'createdAt' => '2025-05-16T06:50:59.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamPoolAllocation',
+ ],
+ ],
+ ],
+ 'ramActions' => [],
+ ],
+ 'DeleteIpamPoolCidr' => [
+ 'summary' => 'Deletes a provisioned CIDR block from an IP Address Manager (IPAM) pool.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM is hosted.'."\n"
+ ."\n"
+ .'For more information, see [DescribeRegions](~~36063~~).',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM pool.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'Cidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The provisioned CIDR block to delete.'."\n"
+ ."\n"
+ .'> Only IPv4 CIDR blocks are supported.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run. Checks parameters, syntax, and quotas and limits, with no changes being made. Returns DryRunOperation if validation succeeds; otherwise returns an error.'."\n"
+ ."\n"
+ .'- **false** (default): Sends the request. On success, returns a 2xx status and performs the operation.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Ensures idempotency. Provide a unique ASCII token generated by your client. A new token is provided for each distinct request.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID can differ for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'BaseResult',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => 'F28A239E-F88D-500E-ADE7-FA5E8CA3A170',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPoolCidr',
+ 'errorMessage' => 'The specified resource of IPAM pool CIDR is not found.',
+ 'description' => 'The CIDR block of the IPAM pool does not exist.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.PoolRegionNotSupportDeletePoolCidr',
+ 'errorMessage' => 'The operation is not allowed because pool region does not support deleting cidr.',
+ 'description' => 'You cannot delete CIDR blocks in this region.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamPoolAllocationExist',
+ 'errorMessage' => 'The operation is not allowed because of the existence of IPAM pool allocation.',
+ 'description' => 'The operation is not allowed because an allocation exists.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OperateShareResource',
+ 'errorMessage' => 'The operation is not allowed because the instance is a shared resource.',
+ 'description' => 'The operation is not allowed because the instance is a shared resource.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.IpamPool',
+ 'errorMessage' => 'The status of the IPAM pool is incorrect.',
+ 'description' => 'The status of the IPAM pool is incorrect.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F28A239E-F88D-500E-ADE7-FA5E8CA3A170\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteIpamPoolCidr',
+ 'description' => '- If CIDR blocks are provisioned in both a parent pool and its sub-pools, delete the CIDR blocks from the sub-pools before you delete the CIDR block from the parent pool.'."\n"
+ ."\n"
+ .'- If a CIDR block is provisioned only in a parent pool, you can delete the CIDR block directly from the parent pool.'."\n"
+ ."\n"
+ .'- If allocations exist from the provisioned CIDR block, delete the allocations before you delete the CIDR block.'."\n"
+ ."\n"
+ .'- Requests to delete a provisioned CIDR block from an IPAM pool must be sent from the region where the IPAM is deployed.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamPoolCidr',
+ ],
+ ],
+ ],
+ 'ramActions' => [],
+ ],
+ 'DeleteIpamResourceDiscovery' => [
+ 'summary' => 'Deletes a resource discovery instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource discovery instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run. Checks parameters, syntax, and quotas and limits, with no changes being made. Returns DryRunOperation if validation succeeds; otherwise returns an error.'."\n"
+ ."\n"
+ .'- **false** (default): Sends the request. On success, returns a 2xx status and performs the operation.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Ensures idempotency. Provide a unique ASCII token generated by your client. A new token is provided for each distinct request.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the request ID as the client token. The request ID is unique for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamCreateModel>',
+ 'description' => 'The data returned.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '9F8315CB-560E-5F1E-B069-6E44B440CAF8',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OperateShareResource',
+ 'errorMessage' => 'The operation is not allowed because the instance is a shared resource.',
+ 'description' => 'The operation is not allowed because the instance is a shared resource.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.IpamResourceDiscovery',
+ 'errorMessage' => 'The dependent instance of IPAM resource discovery is not found.',
+ 'description' => 'The dependent instance of IPAM resource discovery is not found.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.UnexpectedType',
+ 'errorMessage' => 'The operation is not allowed because the input type is unexpected.',
+ 'description' => 'The operation is not allowed because the input type is unexpected.',
+ ],
+ [
+ 'errorCode' => 'DependencyViolation.ShareResource',
+ 'errorMessage' => 'The specified resource of IPAM resource discovery depends on resource sharing, so the operation cannot be completed.',
+ 'description' => 'The specified resource of IPAM resource discovery depends on resource sharing, so the operation cannot be completed.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'DeleteIpamResourceDiscovery',
+ 'description' => '- A resource discovery instance cannot be deleted if it is shared.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamResourceDiscovery',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vpc:DeleteIpamResourceDiscovery',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamResourceDiscovery',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamresourcediscovery/{#IpamResourceDiscoveryId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9F8315CB-560E-5F1E-B069-6E44B440CAF8\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteIpamScope' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM is hosted. Call the [DescribeRegions](~~36063~~) operation to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM scope.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ ],
+ ],
+ [
+ '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 whether the required parameters are specified, the request format is valid, and the service limits are met. 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 IPAM scope is deleted.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. Generate a value for this parameter on your client to make sure that the value is unique among different requests. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the RequestId of the request as the ClientToken. The RequestId of each request is different.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '88144bdb-b190-4813-a3f5-66cc86694162',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '9F8315CB-560E-5F1E-B069-6E44B440CAF8',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamScope',
+ 'errorMessage' => 'The specified resource of IPAM scope is not found.',
+ 'description' => 'The input IPAM scope does not exist.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.IpamScope',
+ 'errorMessage' => 'The status of the IPAM scope is incorrect.',
+ 'description' => 'The status of the IPAM scope is incorrect.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.DeleteDefaultScope',
+ 'errorMessage' => 'The operation is not allowed because of deleting default scope.',
+ 'description' => 'The operation was denied because the default IPAM scope was deleted.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.IpamPoolExist',
+ 'errorMessage' => 'The operation is failed because user IPAM pool exist.',
+ 'description' => 'The operation failed because IPAM has a user-created address pool.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => 'DeleteIpamScope',
+ 'summary' => 'Deletes an IPAM scope.',
+ 'description' => '### Usage notes'."\n"
+ ."\n"
+ .'- You cannot delete the two default IPAM scopes that the system automatically creates.'."\n"
+ ."\n"
+ .'- Before you delete a custom IPAM scope, ensure that all IPAM pools in the scope are deleted. You can call the **DeleteIpamPool** operation to delete an IPAM pool.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamScope',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'vpc:DeleteIpamScope',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamScope',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamscope/{#IpamScopeId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9F8315CB-560E-5F1E-B069-6E44B440CAF8\\"\\n}","type":"json"}]',
+ ],
+ 'DissociateIpamResourceDiscovery' => [
+ 'summary' => 'Disassociates a resource discovery from an IP Address Manager (IPAM) instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the resource discovery.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run. Checks parameters, syntax, and quotas and limits, with no changes being made. Returns DryRunOperation if validation succeeds; otherwise returns an error.'."\n"
+ ."\n"
+ .'- **false** (default): Sends the request. On success, returns a 2xx status and disassociates the resource discovery from the IPAM instance. On failure, returns an error.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Ensures idempotency. Provide a unique ASCII token generated by your client. A new token is provided for each distinct request.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID is different for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamCreateModel>',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '86137597-443F-5B66-B9B6-8514E0C50B8F',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.IpamResourceDiscovery',
+ 'errorMessage' => 'The dependent instance of IPAM resource discovery is not found.',
+ 'description' => 'The dependent instance of IPAM resource discovery is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Ipam',
+ 'errorMessage' => 'The specified resource of ipam is not found.',
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.ResourceDiscoveryAssociation',
+ 'errorMessage' => 'You cannot disassociate from the resource discovery because no association exists.',
+ 'description' => 'You cannot disassociate from the resource discovery because no association exists.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.DissociateSelfSystemIpamResourceDiscovery',
+ 'errorMessage' => 'The operation is not allowed because the default resource discovery cannot be disassociated.',
+ 'description' => 'The operation is not allowed because the default resource discovery cannot be disassociated.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'DissociateIpamResourceDiscovery',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DissociateIpamResourceDiscovery',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:DissociateIpamResourceDiscovery',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamResourceDiscovery',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamresourcediscovery/{#IpamResourceDiscoveryId}',
+ ],
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'Ipam',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipam/{#IpamId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"86137597-443F-5B66-B9B6-8514E0C50B8F\\"\\n}","type":"json"}]',
+ ],
+ 'GetIpamPoolAllocation' => [
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region of the IPAM pool to which the CIDR block allocation belongs.'."\n"
+ ."\n"
+ .'> If the IPAM pool has a region attribute, this parameter specifies the region of the IPAM pool. If the IPAM pool does not have a region attribute, this parameter specifies the managed region of IPAM.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolAllocationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM pool allocation.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ipam-pool-alloc-112za33e4****',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamPoolAllocModel>',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => '3748DEFF-68BE-5EED-9937-7C1D0C21BAB4',
+ ],
+ 'IpamPoolAllocationId' => [
+ 'description' => 'The ID of the IPAM pool allocation.',
+ 'type' => 'string',
+ 'example' => 'ipam-pool-alloc-112za33e4****',
+ 'title' => '',
+ ],
+ 'Cidr' => [
+ 'description' => 'The allocated CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The source CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.168.0.0/16',
+ 'title' => '',
+ ],
+ 'ResourceId' => [
+ 'description' => 'The ID of the resource to which the CIDR block is allocated.',
+ 'type' => 'string',
+ 'example' => 'vpc-bp16qjewdsunr41m1****',
+ 'title' => '',
+ ],
+ 'ResourceType' => [
+ 'description' => 'The type of the resource to which the CIDR block is allocated. Valid values:'."\n"
+ ."\n"
+ .'- **VPC**: The resource is a VPC.'."\n"
+ ."\n"
+ .'- **IpamPool**: The resource is a sub-pool.'."\n"
+ ."\n"
+ .'- **Custom**: The resource is a custom reserved CIDR block.',
+ 'type' => 'string',
+ 'example' => 'VPC',
+ 'title' => '',
+ ],
+ 'ResourceRegionId' => [
+ 'description' => 'The ID of the region where the resource is deployed.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ 'ResourceOwnerId' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the resource belongs.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1616080591216318',
+ 'title' => '',
+ ],
+ 'RegionId' => [
+ 'description' => 'The region of the IPAM pool to which the CIDR block allocation belongs.'."\n"
+ ."\n"
+ .'> If the IPAM pool has a region attribute, this parameter specifies the region of the IPAM pool. If the IPAM pool does not have a region attribute, this parameter specifies the managed region of IPAM.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ 'IpamPoolId' => [
+ 'description' => 'The ID of the IPAM pool.',
+ 'type' => 'string',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ 'title' => '',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the allocation. Valid values:'."\n"
+ ."\n"
+ .'- **Created**'."\n"
+ ."\n"
+ .'- **Deleted**',
+ 'type' => 'string',
+ 'example' => 'Created',
+ 'title' => '',
+ ],
+ 'CreationTime' => [
+ 'description' => 'The time when the allocation was created.',
+ 'type' => 'string',
+ 'example' => '2024-10-15T10:24:19+08:00',
+ 'title' => '',
+ ],
+ 'IpamPoolAllocationDescription' => [
+ 'description' => 'The description of the IPAM pool allocation.'."\n"
+ ."\n"
+ .'The description must be 1 to 256 characters long. It must start with a letter or a Chinese character and cannot start with `http://` or `https://`. If you do not specify this parameter, the description is empty.',
+ 'type' => 'string',
+ 'example' => 'ipam pool allocation description',
+ 'title' => '',
+ ],
+ 'IpamPoolAllocationName' => [
+ 'description' => 'The name of the IPAM pool allocation.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters long and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'example' => 'ipam pool allocation name',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPoolAllocation',
+ 'errorMessage' => 'The specified resource of IPAM pool allocation is not found.',
+ 'description' => 'The specified allocation does not exist.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamRegionNotSupportGetPoolAllocation',
+ 'errorMessage' => 'The operation is not allowed because IPAM region does not support getting the allocation.',
+ 'description' => 'The operation is not allowed because IPAM region does not support getting the allocation.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'GetIpamPoolAllocation',
+ 'summary' => 'Queries the details of a CIDR block allocation in a specified IPAM pool.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'GetIpamPoolAllocation',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vpc:GetIpamPoolAllocation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamPool',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipampool/{#IpamPoolId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3748DEFF-68BE-5EED-9937-7C1D0C21BAB4\\",\\n \\"IpamPoolAllocationId\\": \\"ipam-pool-alloc-112za33e4****\\",\\n \\"Cidr\\": \\"192.168.1.0/24\\",\\n \\"SourceCidr\\": \\"192.168.0.0/16\\",\\n \\"ResourceId\\": \\"vpc-bp16qjewdsunr41m1****\\",\\n \\"ResourceType\\": \\"VPC\\",\\n \\"ResourceRegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceOwnerId\\": 1616080591216318,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IpamPoolId\\": \\"ipam-pool-6rcq3tobayc20t****\\",\\n \\"Status\\": \\"Created\\",\\n \\"CreationTime\\": \\"2024-10-15T10:24:19+08:00\\",\\n \\"IpamPoolAllocationDescription\\": \\"ipam pool allocation description\\",\\n \\"IpamPoolAllocationName\\": \\"ipam pool allocation name\\"\\n}","type":"json"}]',
+ ],
+ 'GetIpamPoolNextAvailableCidr' => [
+ 'summary' => 'Retrieves an available CIDR block from an IPAM pool.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region of the IPAM pool.'."\n"
+ ."\n"
+ .'> If the IPAM pool has a region property, this parameter specifies the region where the pool is active. If the IPAM pool does not have a region property, this parameter specifies the managed region of IPAM.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM pool.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ ],
+ ],
+ [
+ 'name' => 'CidrBlock',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The CIDR block to be allocated.'."\n"
+ ."\n"
+ .'> You must specify CidrBlock or CidrMask.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '172.68.0.0/26',
+ ],
+ ],
+ [
+ 'name' => 'CidrMask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mask length of the CIDR block to be allocated.'."\n"
+ ."\n"
+ .'> You must specify CidrBlock or CidrMask.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '26',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. Generate a unique value for this parameter from your client. The ClientToken value can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the RequestId as the ClientToken. The RequestId of each request is unique.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamPoolAllocModel>',
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => '29FC6758-9B7C-5CC7-8CBF-4DD846FE7D82',
+ ],
+ 'CidrBlock' => [
+ 'description' => 'The available CIDR block.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '172.68.0.0/26',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissingParam.CidrOrCidrMask',
+ 'errorMessage' => 'The CIDR or CIDR Mask must be input.',
+ 'description' => 'The CIDR or CIDR Mask must be input.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotEnough.IpamPoolCidr',
+ 'errorMessage' => 'The specified resource of IPAM pool CIDR is not enough.',
+ 'description' => 'The specified resource of IPAM pool CIDR is not enough.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamRegionNotSupportGetPoolAvailableCidr',
+ 'errorMessage' => 'The operation is not allowed because IPAM region does not support getting available CIDR of IPAM pool.',
+ 'description' => 'The operation is not allowed because IPAM region does not support getting available CIDR of IPAM pool.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Cidr',
+ 'errorMessage' => 'The specified CIDR is illegal.',
+ 'description' => 'The CIDR block is invalid.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'GetIpamPoolNextAvailableCidr',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'GetIpamPoolNextAvailableCidr',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vpc:GetIpamPoolNextAvailableCidr',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamPool',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipampool/{#IpamPoolId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"29FC6758-9B7C-5CC7-8CBF-4DD846FE7D82\\",\\n \\"CidrBlock\\": \\"172.68.0.0/26\\"\\n}","type":"json"}]',
+ ],
+ 'GetVpcIpamServiceStatus' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Ensures idempotency. Provide a unique ASCII token generated by your client. A new token is provided for each distinct request.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the managed region of IPAM.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '2FEE9FFF-57EE-5832-BE88-9308352F3B68',
+ ],
+ 'Enabled' => [
+ 'description' => 'Indicates whether the IPAM service is enabled.'."\n"
+ ."\n"
+ .'- **true**: The service is enabled.'."\n"
+ ."\n"
+ .'- **false**: The service is not enabled.',
+ 'type' => 'boolean',
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'GetVpcIpamServiceStatus',
+ 'summary' => 'Retrieves the status of the IPAM service.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'GetVpcIpamServiceStatus',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'vpc:GetVpcIpamServiceStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2FEE9FFF-57EE-5832-BE88-9308352F3B68\\",\\n \\"Enabled\\": true\\n}","type":"json"}]',
+ ],
+ 'ListIpamDiscoveredResource' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the resource discovery is created.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~36063~~) operation to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource discovery.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the resources are discovered.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'- **VPC**'."\n"
+ ."\n"
+ .'- **VSwitch**',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'VPC',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to retrieve the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- You do not need to specify this parameter for the first request.'."\n"
+ ."\n"
+ .'- Set this parameter to the token that is returned in the previous query to retrieve the next page of results.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'default' => '10',
+ 'required' => false,
+ 'example' => '10',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<IpamDiscoveredResourceModel>',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamDiscoveredResources' => [
+ 'description' => 'The discovered resources.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The discovered resources.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AliUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '132193271328****',
+ 'title' => '',
+ ],
+ 'ResourceType' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'- **VPC**'."\n"
+ ."\n"
+ .'- **VSwitch**',
+ 'type' => 'string',
+ 'example' => 'VPC',
+ 'title' => '',
+ ],
+ 'ResourceId' => [
+ 'description' => 'The ID of the resource.',
+ 'type' => 'string',
+ 'example' => 'vpc-uf611fp465c7dyb4z****',
+ 'title' => '',
+ ],
+ 'ResourceOwnerId' => [
+ 'description' => 'The ID of the Alibaba Cloud account that owns the resource.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '132193271328****',
+ 'title' => '',
+ ],
+ 'ResourceRegionId' => [
+ 'description' => 'The ID of the region where the resource resides.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ 'Cidr' => [
+ 'description' => 'The CIDR block of the resource.',
+ 'type' => 'string',
+ 'example' => '192.168.1.0/32',
+ 'title' => '',
+ ],
+ 'IpUsage' => [
+ 'description' => 'The IP address usage, in decimal format.',
+ 'type' => 'string',
+ 'example' => '0',
+ 'title' => '',
+ ],
+ 'IpCountDetail' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'FreeIpCount' => [
+ 'type' => 'string',
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'TotalIpCount' => [
+ 'type' => 'string',
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'UsedIpCount' => [
+ 'type' => 'string',
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'IpamResourceDiscoveryId' => [
+ 'description' => 'The ID of the resource discovery.',
+ 'type' => 'string',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ 'title' => '',
+ ],
+ 'VpcId' => [
+ 'description' => 'The ID of the VPC that contains the resource.',
+ 'type' => 'string',
+ 'example' => 'vpc-uf611fp465c7dyb4z****',
+ 'title' => '',
+ ],
+ 'DiscoveryTime' => [
+ 'description' => 'The time when the resource was discovered.'."\n"
+ ."\n"
+ .'> If the resource is not modified after it is created, the discovery time of the resource remains unchanged.',
+ 'type' => 'string',
+ 'example' => '2024-01-01 00:00:00',
+ 'title' => '',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The source CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token that is used for the next query. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no next query is to be sent.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value is the token that is used for the next query.',
+ 'type' => 'string',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries that match the query conditions.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ 'title' => '',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ 'title' => '',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ 'title' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => '3748DEFF-68BE-5EED-9937-7C1D0C21BAB4',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.ResourceRegion',
+ 'errorMessage' => 'The input parameter ResourceRegionId is invalid.',
+ 'description' => 'The input parameter ResourceRegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.IpamResourceDiscovery',
+ 'errorMessage' => 'The dependent instance of IPAM resource discovery is not found.',
+ 'description' => 'The dependent instance of IPAM resource discovery is not found.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.IpamResourceDiscoveryId',
+ 'errorMessage' => 'The IpamResourceDiscoveryId must be input.',
+ 'description' => 'The IpamResourceDiscoveryId must be input.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.ResourceRegionId',
+ 'errorMessage' => 'The ResourceRegionId must be input.',
+ 'description' => 'The ResourceRegionId must be input.',
+ ],
+ ],
+ ],
+ 'title' => 'ListIpamDiscoveredResource',
+ 'summary' => 'Queries discovered resources.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamDiscoveredResource',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListIpamDiscoveredResource',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamResourceDiscovery',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamresourcediscovery/{#IpamResourceDiscoveryId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"IpamDiscoveredResources\\": [\\n {\\n \\"AliUid\\": 0,\\n \\"ResourceType\\": \\"VPC\\",\\n \\"ResourceId\\": \\"vpc-uf611fp465c7dyb4z****\\",\\n \\"ResourceOwnerId\\": 0,\\n \\"ResourceRegionId\\": \\"cn-hangzhou\\",\\n \\"Cidr\\": \\"192.168.1.0/32\\",\\n \\"IpUsage\\": \\"0\\",\\n \\"IpCountDetail\\": {\\n \\"FreeIpCount\\": \\"\\",\\n \\"TotalIpCount\\": \\"\\",\\n \\"UsedIpCount\\": \\"\\"\\n },\\n \\"IpamResourceDiscoveryId\\": \\"ipam-res-disco-jt5f2af2u6nk2z321****\\",\\n \\"VpcId\\": \\"vpc-uf611fp465c7dyb4z****\\",\\n \\"DiscoveryTime\\": \\"2024-01-01 00:00:00\\",\\n \\"SourceCidr\\": \\"192.168.1.0/24\\"\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1000,\\n \\"MaxResults\\": 10,\\n \\"Count\\": 10,\\n \\"RequestId\\": \\"3748DEFF-68BE-5EED-9937-7C1D0C21BAB4\\"\\n}","type":"json"}]',
+ ],
+ 'ListIpamMembers' => [
+ 'summary' => 'Lists the members managed by the IPAM trusted service.',
+ 'path' => '',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the hosted region of the IPAM. Call the [DescribeRegions](~~448570~~) operation to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'MemberIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of a member managed by the IPAM trusted service.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'fd-ccccncASqa',
+ 'title' => '',
+ ],
+ 'maxItems' => 100,
+ 'description' => 'A list of IDs of members managed by the IPAM trusted service.',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to retrieve the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no more results are available.'."\n"
+ ."\n"
+ .'- If **NextToken** has a value, the value is the token for the next query.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'default' => '10',
+ 'required' => false,
+ 'example' => '20',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'MemberInfos' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CreationTime' => [
+ 'description' => 'The time when the member was added.',
+ 'type' => 'string',
+ 'example' => '2025-07-11T07:18:07Z',
+ 'title' => '',
+ ],
+ 'MemberId' => [
+ 'description' => 'The member ID.'."\n"
+ ."\n"
+ .'- **Folder ID**: The ID of the folder.'."\n"
+ ."\n"
+ .'- **Account UID**: The UID of the member account in the resource directory.',
+ 'type' => 'string',
+ 'example' => 'fd-ccccncASqa',
+ 'title' => '',
+ ],
+ 'MemberType' => [
+ 'description' => 'The type of the member. Valid values:'."\n"
+ ."\n"
+ .'- **Folder**: The member is a folder.'."\n"
+ ."\n"
+ .'- **Account**: The member is a member account in the resource directory.',
+ 'type' => 'string',
+ 'example' => 'Folder',
+ 'title' => '',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the member managed by the IPAM trusted service. Valid values:'."\n"
+ ."\n"
+ .'- **Created**: The member is managed.'."\n"
+ ."\n"
+ .'- **Deleted**: The member is removed.',
+ 'type' => 'string',
+ 'example' => 'Created',
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'description' => 'A list of members managed by the IPAM trusted service.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token that is used to retrieve the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no more results are available.'."\n"
+ ."\n"
+ .'- If **NextToken** has a value, the value is the token for the next query.',
+ 'type' => 'string',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries that match the query.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '20',
+ 'title' => '',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ 'title' => '',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6',
+ 'title' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => 'B90776C8-F703-51D5-893A-AD1CA699D535',
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ 'description' => 'ListTokenResult',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.IpamNotExist',
+ 'errorMessage' => 'The operation is not allowed because the IPAM does not exist.',
+ 'description' => 'IPAM does not exist in the current region. IPAM trusted service members cannot be managed.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'ListIpamMembers',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListIpamMembers',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MemberInfos\\": [\\n {\\n \\"CreationTime\\": \\"2025-07-11T07:18:07Z\\",\\n \\"MemberId\\": \\"fd-ccccncASqa\\",\\n \\"MemberType\\": \\"Folder\\",\\n \\"Status\\": \\"Created\\"\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 20,\\n \\"MaxResults\\": 10,\\n \\"Count\\": 6,\\n \\"RequestId\\": \\"B90776C8-F703-51D5-893A-AD1CA699D535\\"\\n}","type":"json"}]',
+ ],
+ 'ListIpamPoolAllocations' => [
+ 'summary' => 'Queries information about CIDR block allocations in an IPAM pool.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region of the IPAM pool that contains the CIDR block allocation.'."\n"
+ ."\n"
+ .'> If the IPAM pool has a specific region, this parameter specifies that region. If the IPAM pool does not have a specific region, this parameter specifies the managed region of IPAM.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM pool.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolAllocationIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'A list of instance IDs of the IPAM pool CIDR block allocations.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The instance ID of an IPAM pool CIDR block allocation. The list can contain up to 20 instance IDs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ipam-pool-alloc-112za33e4****',
+ 'title' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'Cidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The allocated CIDR block that you want to query.'."\n"
+ ."\n"
+ .'> Only IPv4 CIDR blocks are supported.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolAllocationName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the IPAM pool CIDR block allocation.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test name',
+ '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 **NextToken** is empty, no next page exists.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<IpamPoolAllocationModel>',
+ 'description' => 'The list of returned information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamPoolAllocations' => [
+ 'description' => 'A list of IPAM pool CIDR block allocations.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A list of IPAM pool CIDR block allocations.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamPoolAllocationId' => [
+ 'description' => 'The instance ID of the IPAM pool CIDR block allocation.',
+ 'type' => 'string',
+ 'example' => 'ipam-pool-alloc-112za33e4****',
+ 'title' => '',
+ ],
+ 'Cidr' => [
+ 'description' => 'The allocated CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The source CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.168.0.0/16',
+ 'title' => '',
+ ],
+ 'ResourceId' => [
+ 'description' => 'The ID of the resource to which the CIDR block is allocated.',
+ 'type' => 'string',
+ 'example' => 'vpc-bp16qjewdsunr41m1****',
+ 'title' => '',
+ ],
+ 'ResourceType' => [
+ 'description' => 'The type of the resource to which the CIDR block is allocated. Valid values:'."\n"
+ ."\n"
+ .'- **VPC**: The resource is a VPC.'."\n"
+ ."\n"
+ .'- **IpamPool**: The resource is a child IPAM pool.'."\n"
+ ."\n"
+ .'- **Custom**: The resource is a custom reserved CIDR block.',
+ 'enumValueTitles' => [],
+ 'type' => 'string',
+ 'example' => 'Custom',
+ 'title' => '',
+ ],
+ 'ResourceRegionId' => [
+ 'description' => 'The ID of the region where the resource is deployed.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ 'ResourceOwnerId' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the resource belongs.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '132193271328****',
+ 'title' => '',
+ ],
+ 'RegionId' => [
+ 'description' => 'The region of the IPAM pool that contains the CIDR block allocation.'."\n"
+ ."\n"
+ .'> If the IPAM pool has a specific region, this parameter specifies that region. If the IPAM pool does not have a specific region, this parameter specifies the managed region of IPAM.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ 'IpamPoolId' => [
+ 'description' => 'The instance ID of the IPAM pool.',
+ 'type' => 'string',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ 'title' => '',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the instance. Valid values:'."\n"
+ ."\n"
+ .'- **Created**: The instance is created.'."\n"
+ ."\n"
+ .'- **Deleted**: The instance is deleted.',
+ 'type' => 'string',
+ 'example' => 'Created',
+ 'title' => '',
+ ],
+ 'CreationTime' => [
+ 'description' => 'The time when the instance was created.',
+ 'type' => 'string',
+ 'example' => '2023-05-19T08:59:18Z',
+ 'title' => '',
+ ],
+ 'IpamPoolAllocationDescription' => [
+ 'description' => 'The description of the IPAM pool CIDR block allocation.',
+ 'type' => 'string',
+ 'example' => 'test description',
+ 'title' => '',
+ ],
+ 'IpamPoolAllocationName' => [
+ 'description' => 'The name of the IPAM pool CIDR block allocation.',
+ 'type' => 'string',
+ 'example' => 'test name',
+ '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 **NextToken** is empty, no next page exists.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.',
+ 'type' => 'string',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries that meet the query conditions.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ 'title' => '',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ 'title' => '',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned for the current query.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ 'title' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => '3748DEFF-68BE-5EED-9937-7C1D0C21BAB4',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.IpamRegionNotSupportListPoolAllocation',
+ 'errorMessage' => 'The operation is not allowed because IPAM region does not support listing allocations.',
+ 'description' => 'The operation is not allowed because IPAM region does not support listing allocations.',
+ ],
+ ],
+ ],
+ 'title' => 'ListIpamPoolAllocations',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamPoolAllocations',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListIpamPoolAllocations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"IpamPoolAllocations\\": [\\n {\\n \\"IpamPoolAllocationId\\": \\"ipam-pool-alloc-112za33e4****\\",\\n \\"Cidr\\": \\"192.168.1.0/24\\",\\n \\"SourceCidr\\": \\"192.168.0.0/16\\",\\n \\"ResourceId\\": \\"vpc-bp16qjewdsunr41m1****\\",\\n \\"ResourceType\\": \\"Custom\\",\\n \\"ResourceRegionId\\": \\"cn-hangzhou\\",\\n \\"ResourceOwnerId\\": 0,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"IpamPoolId\\": \\"ipam-pool-6rcq3tobayc20t****\\",\\n \\"Status\\": \\"Created\\",\\n \\"CreationTime\\": \\"2023-05-19T08:59:18Z\\",\\n \\"IpamPoolAllocationDescription\\": \\"test description\\",\\n \\"IpamPoolAllocationName\\": \\"test name\\"\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1000,\\n \\"MaxResults\\": 10,\\n \\"Count\\": 10,\\n \\"RequestId\\": \\"3748DEFF-68BE-5EED-9937-7C1D0C21BAB4\\"\\n}","type":"json"}]',
+ ],
+ 'ListIpamPoolCidrs' => [
+ 'summary' => 'Queries the provisioned CIDR blocks of an IPAM pool.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM is created.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~36063~~) operation to obtain the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM pool.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'Cidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The provisioned CIDR block to query.'."\n"
+ ."\n"
+ .'> Only IPv4 CIDR blocks are supported.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to retrieve the next page of results. Set the value to the `NextToken` value that is returned in the last call. You do not need to specify this parameter for the first call.'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no further query is needed.'."\n"
+ ."\n"
+ .'- If **NextToken** has a value, use it as the token for the next query.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<IpamPoolCidrModel>',
+ 'description' => 'The information that is returned.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamPoolCidrs' => [
+ 'description' => 'A list of provisioned CIDR blocks of the IPAM pool.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of a provisioned CIDR block.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamPoolId' => [
+ 'description' => 'The instance ID of the IPAM pool.',
+ 'type' => 'string',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ 'title' => '',
+ ],
+ 'Cidr' => [
+ 'description' => 'The provisioned CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ 'Status' => [
+ 'description' => 'The instance status of the provisioned CIDR block of the IPAM pool. Valid values:'."\n"
+ ."\n"
+ .'- **Created**: The CIDR block is created.'."\n"
+ ."\n"
+ .'- **Deleted**: The CIDR block is deleted.',
+ 'type' => 'string',
+ 'example' => 'Created',
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token that is used to retrieve the next page of results.'."\n"
+ ."\n"
+ .'- If this parameter is empty, no more results are to be returned.'."\n"
+ ."\n"
+ .'- If a value is returned, the value is the token that is used for the next query.',
+ 'type' => 'string',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries that match the query.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ 'title' => '',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned per page.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ 'title' => '',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ 'title' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => '9E7CCB95-62E0-534D-9B9A-71F27E8B71B1',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.PoolRegionNotSupportListPoolCidr',
+ 'errorMessage' => 'The operation is not allowed because pool region does not support listing cidrs.',
+ 'description' => 'You cannot query CIDR blocks in this region.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"IpamPoolCidrs\\": [\\n {\\n \\"IpamPoolId\\": \\"ipam-pool-6rcq3tobayc20t****\\",\\n \\"Cidr\\": \\"192.168.1.0/24\\",\\n \\"Status\\": \\"Created\\"\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1000,\\n \\"MaxResults\\": 10,\\n \\"Count\\": 10,\\n \\"RequestId\\": \\"9E7CCB95-62E0-534D-9B9A-71F27E8B71B1\\"\\n}","type":"json"}]',
+ 'title' => 'ListIpamPoolCidrs',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamPoolCidrs',
+ ],
+ ],
+ ],
+ 'ramActions' => [],
+ ],
+ 'ListIpamPools' => [
+ 'summary' => 'Queries information about IPAM pools.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the managed region. You can call the [DescribeRegions](~~36063~~) operation to query region IDs.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM scope.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'A list of IPAM pool IDs. You can specify up to 100 IDs.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the IPAM pool.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the IPAM pool.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'SourceIpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '',
+ 'description' => 'The ID of the source IPAM pool.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ipam-pool-lfnwi4jok1ss0g****',
+ ],
+ ],
+ [
+ 'name' => 'PoolRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where the IPAM pool is available.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the IPAM pool belongs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'rg-aek2sermdd6****',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key. 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. It must start with a letter and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value. 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 contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to retrieve the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- You do not need to specify this parameter for the first call.'."\n"
+ ."\n"
+ .'- Set this parameter to the value of NextToken that was returned in the previous call.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'default' => '10',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'IsShared',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the address pool is a shared pool.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'IpVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP version. Valid values:'."\n"
+ ."\n"
+ .'- **IPv4**'."\n"
+ ."\n"
+ .'- **IPv6**',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'IPv4',
+ ],
+ ],
+ [
+ 'name' => 'Ipv6Isp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The line type of the IPv6 CIDR block. This parameter is valid only for public IPv6 address pools. Valid values:'."\n"
+ ."\n"
+ .'- **BGP** (default): Alibaba Cloud BGP IPv6.'."\n"
+ ."\n"
+ .'- **ChinaMobile**'."\n"
+ ."\n"
+ .'- **ChinaUnicom**'."\n"
+ ."\n"
+ .'- **ChinaTelecom**'."\n"
+ ."\n"
+ .'> If your account is whitelisted for single-line bandwidth, you can set this parameter to **ChinaTelecom**, **ChinaUnicom**, or **ChinaMobile**.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'BGP',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<IpamPoolModel>',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamPools' => [
+ 'description' => 'A list of IPAM pools.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A list of IPAM pools.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamId' => [
+ 'description' => 'The ID of the IPAM instance.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-b5mtlx3q7xcnyr****',
+ ],
+ 'IpamScopeId' => [
+ 'description' => 'The ID of the IPAM scope.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ ],
+ 'IpamScopeType' => [
+ 'description' => 'The type of the IPAM scope. Valid values:'."\n"
+ ."\n"
+ .'- **public**: the public network.'."\n"
+ ."\n"
+ .'- **private**: the private network.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'private',
+ ],
+ 'IpamPoolId' => [
+ 'description' => 'The ID of the IPAM pool.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ ],
+ 'IpamPoolName' => [
+ 'description' => 'The name of the IPAM pool.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ 'IpamPoolDescription' => [
+ 'description' => 'The description of the IPAM pool.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the IPAM pool was created.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '2023-04-19T16:49:01Z',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'PoolDepth' => [
+ 'description' => 'The depth of the IPAM pool. Valid values: 0 to **10**.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '2',
+ ],
+ 'HasSubPool' => [
+ 'description' => 'Indicates whether the IPAM pool has sub-pools. Valid values:'."\n"
+ ."\n"
+ .'- **true**'."\n"
+ ."\n"
+ .'- **false**',
+ 'type' => 'boolean',
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ 'SourceIpamPoolId' => [
+ 'description' => 'The ID of the source IPAM pool.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-pool-lfnwi4jok1ss0g****',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the IPAM pool. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**'."\n"
+ ."\n"
+ .'- **Created**'."\n"
+ ."\n"
+ .'- **Modifying**'."\n"
+ ."\n"
+ .'- **Deleting**'."\n"
+ ."\n"
+ .'- **Deleted**',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'Created',
+ ],
+ 'IpVersion' => [
+ 'description' => 'The IP version.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'IPv4',
+ ],
+ 'AllocationDefaultCidrMask' => [
+ 'description' => 'The default subnet mask for the IPAM pool.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '28',
+ ],
+ 'AllocationMaxCidrMask' => [
+ 'description' => 'The maximum subnet mask for the IPAM pool.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '32',
+ ],
+ 'AllocationMinCidrMask' => [
+ 'description' => 'The minimum subnet mask for the IPAM pool.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '8',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the IPAM pool belongs.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'rg-acfmxazb4ph6aiy****',
+ ],
+ 'Tags' => [
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PoolRegionId' => [
+ 'description' => 'The ID of the region where the IPAM pool is available.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'IpamRegionId' => [
+ 'description' => 'The managed region of the IPAM instance to which the IPAM pool belongs.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'OwnerId' => [
+ 'description' => 'The Alibaba Cloud account ID of the owner of the IPAM pool.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '1210123456******',
+ ],
+ 'AutoImport' => [
+ 'description' => 'Indicates whether auto import is enabled for the address pool.',
+ 'type' => 'boolean',
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ 'IsShared' => [
+ 'description' => 'Indicates whether the address pool is a shared pool.',
+ 'type' => 'boolean',
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ 'Ipv6Isp' => [
+ 'description' => 'The line type of the IPv6 CIDR block.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'BGP',
+ ],
+ 'Cidrs' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The CIDR block that is provisioned for the address pool.',
+ 'title' => '',
+ 'example' => '10.214.0.0/16',
+ ],
+ 'description' => 'The CIDR blocks that are provisioned for the address pool.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => [
+ 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no next page exists.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value is the token that is used for the next query.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '1000',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'B54867DE-83DC-56B4-A57E-69A03119D0B1',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'ListIpamPools',
+ 'changeSet' => [
+ [
+ 'createdAt' => '2025-05-16T06:50:59.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ [
+ 'createdAt' => '2025-04-29T06:52:08.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ [
+ 'createdAt' => '2025-04-29T06:51:34.000Z',
+ 'description' => 'OpenAPI offline',
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamPools',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListIpamPools',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamPool',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipampool/*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"IpamPools\\": [\\n {\\n \\"IpamId\\": \\"ipam-b5mtlx3q7xcnyr****\\",\\n \\"IpamScopeId\\": \\"ipam-scope-glfmcyldpm8lsy****\\",\\n \\"IpamScopeType\\": \\"private\\",\\n \\"IpamPoolId\\": \\"ipam-pool-6rcq3tobayc20t****\\",\\n \\"IpamPoolName\\": \\"test\\",\\n \\"IpamPoolDescription\\": \\"test description\\",\\n \\"CreateTime\\": \\"2023-04-19T16:49:01Z\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"PoolDepth\\": 2,\\n \\"HasSubPool\\": true,\\n \\"SourceIpamPoolId\\": \\"ipam-pool-lfnwi4jok1ss0g****\\",\\n \\"Status\\": \\"Created\\",\\n \\"IpVersion\\": \\"IPv4\\",\\n \\"AllocationDefaultCidrMask\\": 28,\\n \\"AllocationMaxCidrMask\\": 32,\\n \\"AllocationMinCidrMask\\": 8,\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"PoolRegionId\\": \\"cn-hangzhou\\",\\n \\"IpamRegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"AutoImport\\": true,\\n \\"IsShared\\": true,\\n \\"Ipv6Isp\\": \\"BGP\\",\\n \\"Cidrs\\": [\\n \\"10.214.0.0/16\\"\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1000,\\n \\"MaxResults\\": 10,\\n \\"Count\\": 10,\\n \\"RequestId\\": \\"B54867DE-83DC-56B4-A57E-69A03119D0B1\\"\\n}","type":"json"}]',
+ ],
+ 'ListIpamResourceCidrs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM is deployed.'."\n"
+ ."\n"
+ .'Call the [DescribeRegions](~~36063~~) operation to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM scope.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM pool.'."\n"
+ ."\n"
+ .'> **IpamPoolId** cannot be the ID of a shared IPAM pool.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc-bp16qjewdsunr41m1****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'- **VPC**'."\n"
+ ."\n"
+ .'- **VSwitch**',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'VPC',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used for the next query. Valid values:'."\n"
+ ."\n"
+ .'- Do not specify this parameter for the first request.'."\n"
+ ."\n"
+ .'- For subsequent queries, set this parameter to the NextToken value returned from the previous query.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'VpcId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the VPC to which the resource belongs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc-bp1fjfnrg3av6zb9e****',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<IpamResourceCidrModel>',
+ 'description' => 'The list of returned information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamResourceCidrs' => [
+ 'description' => 'The list of resource information.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of resource information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'AliUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '132193271328****',
+ 'title' => '',
+ ],
+ 'ResourceType' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'- **VPC**'."\n"
+ ."\n"
+ .'- **VSwitch**',
+ 'type' => 'string',
+ 'example' => 'VPC',
+ 'title' => '',
+ ],
+ 'ResourceId' => [
+ 'description' => 'The resource ID.',
+ 'type' => 'string',
+ 'example' => 'vpc-bp16qjewdsunr41m1****',
+ 'title' => '',
+ ],
+ 'ResourceOwnerId' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the resource belongs.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '132193271328****',
+ 'title' => '',
+ ],
+ 'ResourceRegionId' => [
+ 'description' => 'The ID of the region where the resource is deployed.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ 'Cidr' => [
+ 'description' => 'The CIDR block of the resource.',
+ 'type' => 'string',
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The source CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the resource in the IPAM pool. Valid values:'."\n"
+ ."\n"
+ .'- **Created**'."\n"
+ ."\n"
+ .'- **Deleted**',
+ 'type' => 'string',
+ 'example' => 'Created',
+ 'title' => '',
+ ],
+ 'ManagementStatus' => [
+ 'description' => 'The management status of the resource.'."\n"
+ ."\n"
+ .'- **Managed**: The resource has a CIDR block allocated from an IPAM pool. IPAM is monitoring the CIDR block for overlaps and compliance with the allocation rules of the pool.'."\n"
+ ."\n"
+ .'- **Unmanaged**: The resource does not have a CIDR block allocated from an IPAM pool. IPAM is monitoring the resource for CIDR blocks that meet the allocation rules of the pool and for CIDR block overlaps.'."\n"
+ ."\n"
+ .'- **Ignored**: The resource is ignored. IPAM does not evaluate the resource for overlaps or compliance with allocation rules. When you ignore a resource, any space allocated to it from an IPAM pool is returned to the pool. The resource is not automatically imported into the pool again if an auto-import allocation rule is configured for the pool.',
+ 'type' => 'string',
+ 'example' => 'Managed',
+ 'title' => '',
+ ],
+ 'ComplianceStatus' => [
+ 'description' => 'The compliance status of the resource.'."\n"
+ ."\n"
+ .'- **Compliant**: The CIDR block of the managed resource complies with the allocation rules of the IPAM pool.'."\n"
+ ."\n"
+ .'- **Noncompliant**: The CIDR block of the managed resource does not comply with one or more allocation rules of the IPAM pool.'."\n"
+ ."\n"
+ .'- **Ignored**: The resource is ignored. IPAM does not evaluate the resource for overlaps or compliance with allocation rules.'."\n"
+ ."\n"
+ .'- **Unmanaged**: The resource does not have a CIDR block allocated from an IPAM pool. IPAM does not monitor the compliance status of the resource\'s CIDR block, but monitors the CIDR block for overlaps.',
+ 'type' => 'string',
+ 'example' => 'Compliant',
+ 'title' => '',
+ ],
+ 'OverlapStatus' => [
+ 'description' => 'The overlap status of the resource.'."\n"
+ ."\n"
+ .'- **Nonoverlapping**: The CIDR block of the resource does not overlap with other CIDR blocks in the same scope.'."\n"
+ ."\n"
+ .'- **Overlapping**: The CIDR block of the resource overlaps with another CIDR block in the same scope.'."\n"
+ ."\n"
+ .'- **Ignored**: The resource is ignored. IPAM does not evaluate the resource for overlaps or compliance with allocation rules.',
+ 'type' => 'string',
+ 'example' => 'Nonoverlapping',
+ 'title' => '',
+ ],
+ 'IpUsage' => [
+ 'description' => 'The IP address usage. The value is a decimal.',
+ 'type' => 'string',
+ 'example' => '0',
+ 'title' => '',
+ ],
+ 'IpCountDetail' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'FreeIpCount' => [
+ 'description' => 'The number of available IP addresses.',
+ 'type' => 'string',
+ 'example' => '252',
+ 'title' => '',
+ ],
+ 'TotalIpCount' => [
+ 'description' => 'The total number of IP addresses.',
+ 'type' => 'string',
+ 'example' => '256',
+ 'title' => '',
+ ],
+ 'UsedIpCount' => [
+ 'description' => 'The number of used IP addresses.',
+ 'type' => 'string',
+ 'example' => '4',
+ 'title' => '',
+ ],
+ ],
+ 'description' => 'The details about the number of IP addresses in the resource.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'IpamId' => [
+ 'description' => 'The instance ID of the IPAM.',
+ 'type' => 'string',
+ 'example' => 'ipam-uq5dcfc2eqhpf4****',
+ 'title' => '',
+ ],
+ 'IpamScopeId' => [
+ 'description' => 'The instance ID of the IPAM scope.',
+ 'type' => 'string',
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ 'title' => '',
+ ],
+ 'IpamPoolId' => [
+ 'description' => 'The instance ID of the IPAM pool.',
+ 'type' => 'string',
+ 'example' => 'ipam-pool-6rcq3tobayc20t***',
+ 'title' => '',
+ ],
+ 'IpamAllocationId' => [
+ 'description' => 'The ID of the IPAM pool CIDR block allocation.',
+ 'type' => 'string',
+ 'example' => 'ipam-pool-alloc-112za33e4****',
+ 'title' => '',
+ ],
+ 'VpcId' => [
+ 'description' => 'The ID of the VPC to which the resource belongs.',
+ 'type' => 'string',
+ 'example' => 'vpc-bp1fjfnrg3av6zb9e****',
+ 'title' => '',
+ ],
+ 'OverlapDetail' => [
+ 'description' => 'A list of resources that overlap with the current resource.',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OverlapResourceId' => [
+ 'description' => 'The ID of the overlapping resource.',
+ 'type' => 'string',
+ 'example' => 'vpc-aq3fjgnig5av6jb8d****',
+ 'title' => '',
+ ],
+ 'OverlapResourceRegion' => [
+ 'description' => 'The region of the overlapping resource.',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ 'OverlapResourceCidr' => [
+ 'description' => 'The CIDR block of the overlapping resource.',
+ 'type' => 'string',
+ 'example' => '192.168.1.0/24',
+ 'title' => '',
+ ],
+ ],
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => [
+ 'description' => 'A pagination token. It is used to retrieve the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no more results are returned.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, it is the token that you can use in the next request to retrieve the next page of results.',
+ 'type' => 'string',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'title' => '',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries that meet the query conditions.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ 'title' => '',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ 'title' => '',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ 'title' => '',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => '49A9DE56-B68C-5FFC-BC06-509D086F287C',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Forbidden.QueryShareResource',
+ 'errorMessage' => 'Authentication is failed for querying a shared IPAM pool.',
+ 'description' => 'Authentication is failed for querying a shared IPAM pool.',
+ ],
+ ],
+ ],
+ 'title' => 'ListIpamResourceCidrs',
+ 'summary' => 'Lists the CIDR blocks of resources in an IPAM scope.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamResourceCidrs',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListIpamResourceCidrs',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamScope',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamscope/{#IpamScopeId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"IpamResourceCidrs\\": [\\n {\\n \\"AliUid\\": 0,\\n \\"ResourceType\\": \\"VPC\\",\\n \\"ResourceId\\": \\"vpc-bp16qjewdsunr41m1****\\",\\n \\"ResourceOwnerId\\": 0,\\n \\"ResourceRegionId\\": \\"cn-hangzhou\\",\\n \\"Cidr\\": \\"192.168.1.0/24\\",\\n \\"SourceCidr\\": \\"192.168.1.0/24\\",\\n \\"Status\\": \\"Created\\",\\n \\"ManagementStatus\\": \\"Managed\\",\\n \\"ComplianceStatus\\": \\"Compliant\\",\\n \\"OverlapStatus\\": \\"Nonoverlapping\\",\\n \\"IpUsage\\": \\"0\\",\\n \\"IpCountDetail\\": {\\n \\"FreeIpCount\\": \\"252\\",\\n \\"TotalIpCount\\": \\"256\\",\\n \\"UsedIpCount\\": \\"4\\"\\n },\\n \\"IpamId\\": \\"ipam-uq5dcfc2eqhpf4****\\",\\n \\"IpamScopeId\\": \\"ipam-scope-glfmcyldpm8lsy****\\",\\n \\"IpamPoolId\\": \\"ipam-pool-6rcq3tobayc20t***\\",\\n \\"IpamAllocationId\\": \\"ipam-pool-alloc-112za33e4****\\",\\n \\"VpcId\\": \\"vpc-bp1fjfnrg3av6zb9e****\\",\\n \\"OverlapDetail\\": [\\n {\\n \\"OverlapResourceId\\": \\"vpc-aq3fjgnig5av6jb8d****\\",\\n \\"OverlapResourceRegion\\": \\"cn-hangzhou\\",\\n \\"OverlapResourceCidr\\": \\"192.168.1.0/24\\"\\n }\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1000,\\n \\"MaxResults\\": 10,\\n \\"Count\\": 10,\\n \\"RequestId\\": \\"49A9DE56-B68C-5FFC-BC06-509D086F287C\\"\\n}","type":"json"}]',
+ ],
+ 'ListIpamResourceDiscoveries' => [
+ 'summary' => 'Retrieves a list of IPAM resource discovery instances.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region. You can call the [DescribeRegions](~~36063~~) operation to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the resource discovery belongs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'rg-aek2sermdd6****',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the resource discovery instances. You can query up to 100 instances at a time.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the resource discovery instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the resource discovery.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and cannot start with http\\:// or https\\://.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the resource discovery.'."\n"
+ ."\n"
+ .'> The following types are supported:'."\n"
+ .'>'."\n"
+ .'> - system: a default resource discovery created by the system.'."\n"
+ .'>'."\n"
+ .'> - custom: a custom resource discovery created by a user.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'system',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The list of tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of tags.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key. You can specify up to 20 tag keys. The key cannot be an empty string.'."\n"
+ ."\n"
+ .'A tag key can be up to 64 characters in length. It must start with a letter or a Chinese character and can contain digits, periods (.), underscores (\\_), and hyphens (-). The key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value. You can specify up to 20 tag values. The value can be an empty string.'."\n"
+ ."\n"
+ .'A tag value can be up to 128 characters in length and cannot contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token for the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no more results are available.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value is the token that is used for the next query.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'default' => '10',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'IsShared',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the resource discovery is shared.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<IpamResourceDiscoveryModel>',
+ 'description' => 'The list of returned results.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamResourceDiscoveries' => [
+ 'description' => 'The list of resource discovery instances.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of resource discovery instances.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamResourceDiscoveryId' => [
+ 'description' => 'The ID of the resource discovery instance.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ 'IpamResourceDiscoveryName' => [
+ 'description' => 'The name of the resource discovery.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ 'IpamResourceDiscoveryDescription' => [
+ 'description' => 'The description of the resource discovery.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ 'OperatingRegionList' => [
+ 'description' => 'The list of operating regions of the resource discovery.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The operating region of the resource discovery.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the resource discovery.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'system',
+ ],
+ 'IpamResourceDiscoveryStatus' => [
+ 'description' => 'The status of the resource discovery instance. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The instance is being created.'."\n"
+ ."\n"
+ .'- **Created**: The instance is created.'."\n"
+ ."\n"
+ .'- **Modifying**: The instance is being modified.'."\n"
+ ."\n"
+ .'- **Deleting**: The instance is being deleted.'."\n"
+ ."\n"
+ .'- **Deleted**: The instance is deleted.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'Created',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the resource discovery belongs.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'rg-aek2sermdd6****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the resource discovery was created.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '2022-07-01T02:05:23Z',
+ ],
+ 'Tags' => [
+ 'description' => 'The list of tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The list of tags.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region where the resource discovery instance is located.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'OwnerId' => [
+ 'description' => 'The Alibaba Cloud account of the owner of the resource discovery instance.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '1210123456******',
+ ],
+ 'ShareType' => [
+ 'description' => 'The sharing status of the resource.'."\n"
+ ."\n"
+ .'- If this parameter is empty, the resource discovery is a regular instance.'."\n"
+ ."\n"
+ .'- If this parameter is set to Shared, the resource discovery is a shared resource.'."\n"
+ ."\n"
+ .'- If this parameter is set to Sharing, the resource discovery is being shared.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'Shared',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token for the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no more results are available.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value is the token that is used for the next query.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries that match the query conditions.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '1',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '86137597-443F-5B66-B9B6-8514E0C50B8F',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'ListIpamResourceDiscoveries',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamResourceDiscoveries',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListIpamResourceDiscoveries',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"IpamResourceDiscoveries\\": [\\n {\\n \\"IpamResourceDiscoveryId\\": \\"ipam-res-disco-jt5f2af2u6nk2z321****\\",\\n \\"IpamResourceDiscoveryName\\": \\"test\\",\\n \\"IpamResourceDiscoveryDescription\\": \\"test description\\",\\n \\"OperatingRegionList\\": [\\n \\"cn-hangzhou\\"\\n ],\\n \\"Type\\": \\"system\\",\\n \\"IpamResourceDiscoveryStatus\\": \\"Created\\",\\n \\"ResourceGroupId\\": \\"rg-aek2sermdd6****\\",\\n \\"CreateTime\\": \\"2022-07-01T02:05:23Z\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"ShareType\\": \\"Shared\\"\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 10,\\n \\"Count\\": 1,\\n \\"RequestId\\": \\"86137597-443F-5B66-B9B6-8514E0C50B8F\\"\\n}","type":"json"}]',
+ ],
+ 'ListIpamResourceDiscoveryAssociations' => [
+ 'summary' => 'Lists the associations between resource discoveries and IP Address Managers (IPAMs).',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource discovery instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to retrieve the next page of results.'."\n"
+ ."\n"
+ .'- For the first query, leave this parameter empty.'."\n"
+ ."\n"
+ .'- For a subsequent query, set this parameter to the NextToken value returned from the previous response.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return per page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'default' => '10',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<IpamResourceDiscoveryModel>',
+ 'description' => 'The list of returned information.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamResourceDiscoveryAssociations' => [
+ 'description' => 'A list of association details.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A list of association details.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamResourceDiscoveryId' => [
+ 'description' => 'The ID of the resource discovery instance.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ 'IpamId' => [
+ 'description' => 'The ID of the IPAM instance.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ 'Status' => [
+ 'description' => 'The association status. Valid values:'."\n"
+ ."\n"
+ .'- **Created**'."\n"
+ ."\n"
+ .'- **Deleted**',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'Created',
+ ],
+ 'IpamResourceDiscoveryOwnerId' => [
+ 'description' => 'The ID of the Alibaba Cloud account that owns the resource discovery instance.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '1210123456******',
+ ],
+ 'IpamResourceDiscoveryType' => [
+ 'description' => 'The type of the resource discovery. Valid values:'."\n"
+ ."\n"
+ .'- **system**: a default resource discovery that is automatically created by the system.'."\n"
+ ."\n"
+ .'- **custom**: a custom resource discovery that is created by a user.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'custom',
+ ],
+ 'IpamResourceDiscoveryStatus' => [
+ 'description' => 'The status of the resource discovery instance. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**'."\n"
+ ."\n"
+ .'- **Created**'."\n"
+ ."\n"
+ .'- **Modifying**'."\n"
+ ."\n"
+ .'- **Deleting**'."\n"
+ ."\n"
+ .'- **Deleted**',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'Created',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token to use to retrieve the next page of results. This value is empty when there are no more results to return.'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no subsequent query is needed.'."\n"
+ ."\n"
+ .'- If **NextToken** is not empty, its value is the token to start the next query.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries that match the query criteria.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '20',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned per page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'F28A239E-F88D-500E-ADE7-FA5E8CA3A170',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'ListIpamResourceDiscoveryAssociations',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamResourceDiscoveryAssociations',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListIpamResourceDiscoveryAssociations',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"IpamResourceDiscoveryAssociations\\": [\\n {\\n \\"IpamResourceDiscoveryId\\": \\"ipam-res-disco-jt5f2af2u6nk2z321****\\",\\n \\"IpamId\\": \\"ipam-ccxbnsbhew0d6t****\\",\\n \\"Status\\": \\"Created\\",\\n \\"IpamResourceDiscoveryOwnerId\\": \\"1210123456******\\",\\n \\"IpamResourceDiscoveryType\\": \\"custom\\",\\n \\"IpamResourceDiscoveryStatus\\": \\"Created\\"\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 20,\\n \\"MaxResults\\": 10,\\n \\"Count\\": 10,\\n \\"RequestId\\": \\"F28A239E-F88D-500E-ADE7-FA5E8CA3A170\\"\\n}","type":"json"}]',
+ ],
+ 'ListIpamScopes' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM instance is deployed. You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the IPAM scope. Valid values:'."\n"
+ ."\n"
+ .'- **public**: the public scope.'."\n"
+ ."\n"
+ .'- **private**: the private scope.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'private',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The instance IDs of the IPAM scopes.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The instance ID of an IPAM scope. You can specify up to 20 instance IDs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the IPAM scope.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the IPAM scope belongs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'rg-aek2sermdd6****',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags.',
+ '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. It must start with a letter. It can contain digits, periods (.), underscores (\\_), and hyphens (-). The tag key cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value of 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. It cannot contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used for the next query. Valid values:'."\n"
+ ."\n"
+ .'- You do not need to specify this parameter for the first query.'."\n"
+ ."\n"
+ .'- For a subsequent query, set this parameter to the NextToken value returned from the last query.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'default' => '10',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<IpamScopeModel>',
+ 'description' => 'The information returned.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamScopes' => [
+ 'description' => 'A list of IPAM scopes.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A list of IPAM scopes.',
+ 'type' => 'object',
+ 'properties' => [
+ 'CreateTime' => [
+ 'description' => 'The time when the IPAM scope was created.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '2022-04-18T03:12:37Z',
+ ],
+ 'IpamScopeId' => [
+ 'description' => 'The instance ID of the IPAM scope.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ ],
+ 'IpamScopeType' => [
+ 'description' => 'The type of the IPAM scope. Valid values:'."\n"
+ ."\n"
+ .'- **public**: the public scope.'."\n"
+ ."\n"
+ .'- **private**: the private scope.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'private',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the IPAM scope. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The IPAM scope is being created.'."\n"
+ ."\n"
+ .'- **Created**: The IPAM scope is created.'."\n"
+ ."\n"
+ .'- **Deleting**: The IPAM scope is being deleted.'."\n"
+ ."\n"
+ .'- **Deleted**: The IPAM scope is deleted.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'Created',
+ ],
+ 'IpamId' => [
+ 'description' => 'The instance ID of the IPAM.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ 'PoolCount' => [
+ 'description' => 'The number of IPAM pools in the IPAM scope.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '2',
+ ],
+ 'IpamScopeName' => [
+ 'description' => 'The name of the IPAM scope.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ 'IpamScopeDescription' => [
+ 'description' => 'The description of the IPAM scope.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the IPAM scope belongs.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'rg-acfmxazb4ph6aiy****',
+ ],
+ 'Tags' => [
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'IsDefault' => [
+ 'description' => 'Indicates whether the scope is the default scope. Valid values:'."\n"
+ ."\n"
+ .'- **true**: The scope is the default scope.'."\n"
+ ."\n"
+ .'- **false**: The scope is not the default scope.',
+ 'type' => 'boolean',
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ 'RegionId' => [
+ 'description' => 'The region ID of the IPAM scope.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'OwnerId' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the IPAM scope belongs.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '1210123456******',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token that is used for the next page of results. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no next page exists.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value is the token that is used for the next query.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '1000',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned per page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '8859C501-97E7-53D4-B94B-2A9E16003B22',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'ListIpamScopes',
+ 'summary' => 'Queries the details of IPAM scopes.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamScopes',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListIpamScopes',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamScope',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamscope/*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"IpamScopes\\": [\\n {\\n \\"CreateTime\\": \\"2022-04-18T03:12:37Z\\",\\n \\"IpamScopeId\\": \\"ipam-scope-glfmcyldpm8lsy****\\",\\n \\"IpamScopeType\\": \\"private\\",\\n \\"Status\\": \\"Created\\",\\n \\"IpamId\\": \\"ipam-ccxbnsbhew0d6t****\\",\\n \\"PoolCount\\": 2,\\n \\"IpamScopeName\\": \\"test\\",\\n \\"IpamScopeDescription\\": \\"test description\\",\\n \\"ResourceGroupId\\": \\"rg-acfmxazb4ph6aiy****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceDept\\"\\n }\\n ],\\n \\"IsDefault\\": true,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 1000,\\n \\"MaxResults\\": 10,\\n \\"Count\\": 10,\\n \\"RequestId\\": \\"8859C501-97E7-53D4-B94B-2A9E16003B22\\"\\n}","type":"json"}]',
+ ],
+ 'ListIpams' => [
+ 'summary' => 'Queries one or more IPAMs.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the hosted region of the IPAM. You can call [DescribeRegions](~~448570~~) to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the IPAM belongs.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'rg-aek2sermdd6****',
+ ],
+ ],
+ [
+ 'name' => 'IpamIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the IPAMs. You can specify up to 100 IPAM IDs.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the IPAM.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the IPAM.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags.',
+ '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. It must start with a letter or a Chinese character. It can contain digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ '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 and cannot contain `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
+ ."\n"
+ .'- You do not need to specify this parameter for the first request or when no next page exists.'."\n"
+ ."\n"
+ .'- If a next page exists, set the value to the NextToken value returned in the last API call.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries to return on each page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'default' => '10',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<IpamModel>',
+ 'description' => 'The information returned.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Ipams' => [
+ 'description' => 'A list of IPAM instances.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'A list of IPAM instances.',
+ 'type' => 'object',
+ 'properties' => [
+ 'IpamId' => [
+ 'description' => 'The ID of the IPAM.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ 'IpamName' => [
+ 'description' => 'The name of the IPAM.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ 'IpamDescription' => [
+ 'description' => 'The description of the IPAM.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ 'OperatingRegionList' => [
+ 'description' => 'The list of operating regions of the IPAM.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The operating region of the IPAM.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'PrivateDefaultScopeId' => [
+ 'description' => 'The ID of the default private scope that is automatically created when you create the IPAM.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-scope-okoerbco6unqfr****',
+ ],
+ 'PublicDefaultScopeId' => [
+ 'description' => 'The ID of the default public scope that is automatically created when you create the IPAM.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-scope-ovb76p1g1m19dr****',
+ ],
+ 'ScopeCount' => [
+ 'description' => 'The number of scopes in the IPAM. Valid values: 2 to **5**.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '2',
+ ],
+ 'IpamStatus' => [
+ 'description' => 'The status of the IPAM. Valid values:'."\n"
+ ."\n"
+ .'- **Creating**: The IPAM is being created.'."\n"
+ ."\n"
+ .'- **Created**: The IPAM is created.'."\n"
+ ."\n"
+ .'- **Deleting**: The IPAM is being deleted.'."\n"
+ ."\n"
+ .'- **Deleted**: The IPAM is deleted.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'Created',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the IPAM belongs.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'rg-aek2dbprgpt****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the IPAM was created.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '2022-07-01T02:05:23Z',
+ ],
+ 'Tags' => [
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The tag key.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region where the IPAM is created.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'OwnerId' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the IPAM belongs.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '1210123456******',
+ ],
+ 'DefaultResourceDiscoveryId' => [
+ 'description' => 'The ID of the default resource discovery.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ 'DefaultResourceDiscoveryAssociationId' => [
+ 'description' => 'The ID of the default resource discovery association.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-res-disco-assoc-jt5fac8twugdbbgip****',
+ ],
+ 'ResourceDiscoveryAssociationCount' => [
+ 'description' => 'The number of resource discovery associations.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'title' => '',
+ 'example' => '1',
+ ],
+ ],
+ '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 **NextToken** is empty, no next page exists.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value is the token that is used for the next query.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned per page. Valid values: 1 to 100. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '20',
+ ],
+ 'Count' => [
+ 'description' => 'The number of entries returned on the current page.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'title' => '',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '23CA0A0B-B0F5-5495-B355-7D9A9203A46B',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'title' => 'ListIpams',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpams',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListIpams',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Ipams\\": [\\n {\\n \\"IpamId\\": \\"ipam-ccxbnsbhew0d6t****\\",\\n \\"IpamName\\": \\"test\\",\\n \\"IpamDescription\\": \\"test description\\",\\n \\"OperatingRegionList\\": [\\n \\"cn-hangzhou\\"\\n ],\\n \\"PrivateDefaultScopeId\\": \\"ipam-scope-okoerbco6unqfr****\\",\\n \\"PublicDefaultScopeId\\": \\"ipam-scope-ovb76p1g1m19dr****\\",\\n \\"ScopeCount\\": 2,\\n \\"IpamStatus\\": \\"Created\\",\\n \\"ResourceGroupId\\": \\"rg-aek2dbprgpt****\\",\\n \\"CreateTime\\": \\"2022-07-01T02:05:23Z\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"FinanceDept\\",\\n \\"Value\\": \\"FinanceJoshua\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"DefaultResourceDiscoveryId\\": \\"ipam-res-disco-jt5f2af2u6nk2z321****\\",\\n \\"DefaultResourceDiscoveryAssociationId\\": \\"ipam-res-disco-assoc-jt5fac8twugdbbgip****\\",\\n \\"ResourceDiscoveryAssociationCount\\": 1\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 20,\\n \\"Count\\": 10,\\n \\"RequestId\\": \\"23CA0A0B-B0F5-5495-B355-7D9A9203A46B\\"\\n}","type":"json"}]',
+ ],
+ 'ListTagResources' => [
+ 'summary' => 'Queries the tags that are associated with resources.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the resource.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The resource IDs.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The resource ID. You can specify up to 50 resource IDs.'."\n"
+ ."\n"
+ .'> You must specify **ResourceId.N** or **Tag.N** (**Tag.N.Key** and **Tag.N.Value**).',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ 'required' => false,
+ 'maxItems' => 51,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'- **IPAM**: IPAM'."\n"
+ ."\n"
+ .'- **IPAMSCOPE**: IPAM scope'."\n"
+ ."\n"
+ .'- **IPAMPOOL**: IPAM address pool',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'IPAM',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tags.',
+ '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. It must start with a letter or a Chinese character and can contain digits, periods (.), underscores (\\_), and hyphens (-). The tag key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'> You must specify **ResourceId.N** or **Tag.N** (**Tag.N.Key** and **Tag.N.Value**).',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ '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 and cannot contain `http://` or `https://`.'."\n"
+ ."\n"
+ .'> You must specify **ResourceId.N** or **Tag.N** (**Tag.N.Key** and **Tag.N.Value**).',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used for the next query. Valid values:'."\n"
+ ."\n"
+ .'- You do not need to specify this parameter for the first query.'."\n"
+ ."\n"
+ .'- For a subsequent query, set this parameter to the NextToken value returned from the last API call.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Valid values: 1 to 50. Default value: 10.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'title' => '',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'ListTokenResult<TagResourceModel>',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TagResources' => [
+ 'description' => 'The details of the resources and their tags.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the resources and their tags.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TagKey' => [
+ 'description' => 'The tag key.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceDept',
+ ],
+ 'TagValue' => [
+ 'description' => 'The tag value.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FinanceJoshua',
+ ],
+ 'ResourceId' => [
+ 'description' => 'The resource ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'ipam-uq5dcfc2eqhpf4****',
+ ],
+ 'ResourceType' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'- **IPAM**: IPAM'."\n"
+ ."\n"
+ .'- **IPAMSCOPE**: IPAM scope'."\n"
+ ."\n"
+ .'- **IPAMPOOL**: IPAM address pool',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'IPAM',
+ ],
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token that is used for the next query. Valid values:'."\n"
+ ."\n"
+ .'- If **NextToken** is empty, no more results are returned.'."\n"
+ ."\n"
+ .'- If a value is returned for **NextToken**, the value is the token that is used for the next query.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '672053AB-90C9-5693-AB96-458F137A5ED6',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParamSize.ResourceIds',
+ 'errorMessage' => 'The number of Param ResourceIds exceeded the limit.',
+ 'description' => 'The number of ResourceIds parameters passed in exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'IllegalParamSize.Tags',
+ 'errorMessage' => 'The number of Parameter Tags exceeded the limit.',
+ 'description' => 'The number of ResourceIds parameters passed in exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.ResourceIds',
+ 'errorMessage' => 'The input parameter ResourceIds that is mandatory for processing this request is not supplied.',
+ 'description' => 'Parameter ResourceIds not passed in.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.ResourceType',
+ 'errorMessage' => 'The input parameter ResourceType that is mandatory for processing this request is not supplied.',
+ 'description' => 'Parameter ResourceType not passed in.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.TagsAndResourceIds',
+ 'errorMessage' => 'The input parameter Tags and ResourceIds that is mandatory for processing this request is not supplied.',
+ 'description' => 'The Tags and ResourceIds parameters are not passed in.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.Tags',
+ 'errorMessage' => 'The input parameter Tags that is mandatory for processing this request is not supplied.',
+ 'description' => 'Parameter ResourceType not passed in.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.TagKey',
+ 'errorMessage' => 'TagKey duplicate.',
+ 'description' => 'TagKey parameter duplicate',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagKey',
+ 'errorMessage' => 'The input parameter TagKey is invalid.',
+ 'description' => 'Illegal parameter TagKey.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'ListTagResources',
+ 'description' => '### Usage notes'."\n"
+ ."\n"
+ .'- You must specify at least **ResourceId.N** or **Tag.N** (**Tag.N.Key** and **Tag.N.Value**) in a request to identify the resources to query.'."\n"
+ ."\n"
+ .'- **Tag.N** is a resource tag that consists of a key-value pair. If you specify only **Tag.N.Key**, all tag values associated with the tag key are returned. An error is returned if you specify only **Tag.N.Value**.'."\n"
+ ."\n"
+ .'- If you specify both **Tag.N** and **ResourceId.N**, the query returns only the resources that are specified by **ResourceId.N** and are associated with all the specified tag key-value pairs.'."\n"
+ ."\n"
+ .'- If you specify multiple tag key-value pairs, the query returns only resources that are associated with all the specified key-value pairs.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListTagResources',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'vpc:ListTagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'conditional',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'Ipam',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipam/{#IpamId}',
+ ],
+ [
+ 'validationType' => 'conditional',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamPool',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipampool/{#IpamPoolId}',
+ ],
+ [
+ 'validationType' => 'conditional',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamScope',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamscope/{#IpamScopeId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TagResources\\": [\\n {\\n \\"TagKey\\": \\"FinanceDept\\",\\n \\"TagValue\\": \\"FinanceJoshua\\",\\n \\"ResourceId\\": \\"ipam-uq5dcfc2eqhpf4****\\",\\n \\"ResourceType\\": \\"IPAM\\"\\n }\\n ],\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"672053AB-90C9-5693-AB96-458F137A5ED6\\"\\n}","type":"json"}]',
+ ],
+ 'OpenVpcIpamService' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'This token is generated by the client and must be unique for each request. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the \\`RequestId\\` of the request as the \\`ClientToken\\`. The \\`RequestId\\` may be different for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the managed region for IPAM.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => '3F814C37-B032-5477-AF5A-2925D0593CD4',
+ 'title' => '',
+ ],
+ 'Code' => [
+ 'description' => 'The status code.',
+ 'type' => 'string',
+ 'example' => '200',
+ 'title' => '',
+ ],
+ 'Message' => [
+ 'description' => 'The returned message.',
+ 'type' => 'string',
+ 'example' => 'successful',
+ 'title' => '',
+ ],
+ ],
+ 'description' => 'The returned data.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationFailed.ExceedPurchaseLimit',
+ 'errorMessage' => 'You have reached the limit of purchase quantity.',
+ 'description' => 'The purchase limit is reached.',
+ ],
+ [
+ 'errorCode' => 'Forbidden.RAM',
+ 'errorMessage' => 'The user is not authorized to operate on the specified resource, or the API operation does not support RAM.',
+ 'description' => 'The user is not authorized to operate on the specified resource, or the API operation does not support RAM.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AliGroupUserCanNotBuyInnerCommodity',
+ 'errorMessage' => 'IPAM has no group cloud product label, and users within the group are not allowed to purchase.',
+ 'description' => 'IPAM does not have a merchandise tag and cannot be purchased by an internal group user.',
+ ],
+ [
+ 'errorCode' => 'Order.NoRealNameAuthentication',
+ 'errorMessage' => 'Real-name verification has not been completed for the account.',
+ 'description' => 'You have not performed real-name authentication. Please go to the account center to complete real-name authentication.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.BasicInfoUncompleted',
+ 'errorMessage' => 'You have not completed your basic personal information, please complete the information and try again.',
+ 'description' => 'Your basic information is incomplete. Specify the information and try again.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AccountBalanceInsufficient',
+ 'errorMessage' => 'The account balance of this user is insufficient to place the order.',
+ 'description' => 'The account balance of this user is insufficient to place the order.',
+ ],
+ ],
+ ],
+ 'title' => 'OpenVpcIpamService',
+ 'summary' => 'Activates the IP Address Management (IPAM) service.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'OpenVpcIpamService',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'vpc:OpenVpcIpamService',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F814C37-B032-5477-AF5A-2925D0593CD4\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","type":"json"}]',
+ ],
+ 'RemoveIpamMembers' => [
+ 'path' => '',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM is hosted. To get the region ID, call the [DescribeRegions](~~36063~~) operation.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ '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, 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. The members are not removed.'."\n"
+ ."\n"
+ .'- **false** (default): Sends a request. If the request passes the check, a 2xx HTTP status code is returned, and the members are removed.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'A client token to ensure the idempotence of the request. Generate a value from your client to make sure that the value is unique among different requests. The ClientToken parameter can contain only ASCII characters. Note: If you do not specify this parameter, the system uses the RequestId of the API request as the ClientToken. The RequestId may be different for each API request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'Members',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'MemberId' => [
+ 'description' => 'The member ID.'."\n"
+ ."\n"
+ .'- **Folder ID**: The ID of the folder.'."\n"
+ ."\n"
+ .'- **Account UID**: The UID of the member account in the resource directory.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Folder',
+ 'title' => '',
+ ],
+ 'MemberType' => [
+ 'description' => 'The type of the member. Valid values:'."\n"
+ ."\n"
+ .'- **Folder**: The member is a folder.'."\n"
+ ."\n"
+ .'- **Account**: The member is a member account in the resource directory.',
+ 'enumValueTitles' => [
+ 'Account' => 'Member account in a resource directory',
+ 'Folder' => 'Folder',
+ ],
+ 'type' => 'string',
+ 'enum' => [
+ 'Account',
+ 'Folder',
+ ],
+ 'required' => false,
+ 'example' => 'fd-ccccncASqa',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'description' => '',
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ 'minItems' => 1,
+ 'description' => 'The members managed by the IPAM trusted service.',
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => '3F814C37-B032-5477-AF5A-2925D0593CD4',
+ 'title' => '',
+ ],
+ ],
+ 'title' => '',
+ 'description' => 'BaseResult',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.MemberIdNotMatchMemberType',
+ 'errorMessage' => 'The operation is not allowed because the Member ID and Member Type of members [%s] in the input parameters do not match.',
+ 'description' => 'The Member Id and Member Type of [%s] in the input Members do not match.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamRDServiceMemberNotExist',
+ 'errorMessage' => 'The operation is not allowed because %s is not managed by the IPAM.',
+ 'description' => 'The member %s to be removed from the input parameter is not managed by IPAM trusted service.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamRDServiceNotEnableInOperationRegion',
+ 'errorMessage' => 'The operation is not allowed because the IPAM RD service is not enabled in the current region.',
+ 'description' => 'The IPAM instance in the operating region does not manage any resource directory members.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'RemoveIpamMembers',
+ 'summary' => 'Removes members from the IPAM trusted service.',
+ 'description' => '- If the delegated IPAM administrator removes the last member, the IPAM trusted service is disabled for the resource directory.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3F814C37-B032-5477-AF5A-2925D0593CD4\\"\\n}","type":"json"}]',
+ ],
+ 'TagResources' => [
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the resource.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-beijing',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the resources.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the resource. You can enter at most 20 resource IDs.'."\n"
+ ."\n"
+ .'> When you call this operation, you must specify ResourceId.N.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ipam-uq5dcfc2eqhpf4****',
+ 'title' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 51,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'* **IPAM**'."\n"
+ .'* **IPAMSCOPE**'."\n"
+ .'* **IPAMPOOL**',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'IPAM',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags to add to the resources.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ '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 can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It cannot start with a `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FinanceDept',
+ 'title' => '',
+ ],
+ 'Value' => [
+ 'description' => 'The tag value. You can specify at most 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 (-). It cannot start with a `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FinanceJoshua',
+ 'title' => '',
+ ],
+ ],
+ 'required' => false,
+ 'title' => '',
+ 'example' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 21,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'BF872550-9700-52FD-839C-4D3F05543FA8',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissingParameter.ResourceIds',
+ 'errorMessage' => 'The input parameter ResourceIds that is mandatory for processing this request is not supplied.',
+ 'description' => 'Parameter ResourceIds not passed in.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.ResourceType',
+ 'errorMessage' => 'The input parameter ResourceType that is mandatory for processing this request is not supplied.',
+ 'description' => 'Parameter ResourceType not passed in.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.TagKey',
+ 'errorMessage' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.',
+ 'description' => 'The parameter Tags was not passed in.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.Tags',
+ 'errorMessage' => 'The input parameter Tags that is mandatory for processing this request is not supplied.',
+ 'description' => 'Parameter ResourceType not passed in.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.TagValue',
+ 'errorMessage' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.',
+ 'description' => 'The parameter Tags was not passed in.',
+ ],
+ [
+ 'errorCode' => 'IllegalParamSize.ResourceIds',
+ 'errorMessage' => 'The number of Param ResourceIds exceeded the limit.',
+ 'description' => 'The number of ResourceIds parameters passed in exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'IllegalParamSize.Tags',
+ 'errorMessage' => 'The number of Parameter Tags exceeded the limit.',
+ 'description' => 'The number of ResourceIds parameters passed in exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.TagKey',
+ 'errorMessage' => 'TagKey duplicate.',
+ 'description' => 'TagKey parameter duplicate',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Ipam',
+ 'errorMessage' => 'The specified resource of ipam is not found.',
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.IpamScope',
+ 'errorMessage' => 'The specified resource of IPAM scope is not found.',
+ 'description' => 'The input IPAM scope does not exist.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagKey',
+ 'errorMessage' => 'The input parameter TagKey is invalid.',
+ 'description' => 'Illegal parameter TagKey.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.ResourceIds',
+ 'errorMessage' => 'The parameter of ResourceIds contains duplicate values.',
+ 'description' => '',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'TagResources',
+ 'summary' => 'Adds a tag to a resource.',
+ 'description' => '### [](#)Usage notes'."\n"
+ ."\n"
+ .'Tags are used to classify instances. Each tag consists of a key-value pair. Before you use tags, take note of the following items:'."\n"
+ ."\n"
+ .'* Each tag key that is added to an instance must be unique.'."\n"
+ .'* You cannot create tags without adding them to instances. All tags must be added to instances.'."\n"
+ .'* You can add at most 20 tags to each instance. Before you add a tag to an instance, the system automatically checks the number of existing tags. An error message is returned if the maximum number of tags is reached.'."\n",
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'TagResources',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:TagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'conditional',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'Ipam',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipam/{#IpamId}',
+ ],
+ [
+ 'validationType' => 'conditional',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamPool',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipampool/{#IpamPoolId}',
+ ],
+ [
+ 'validationType' => 'conditional',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamScope',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamscope/{#IpamScopeId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BF872550-9700-52FD-839C-4D3F05543FA8\\"\\n}","type":"json"}]',
+ ],
+ 'UntagResources' => [
+ 'summary' => 'Removes a tag from a resource.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the resource.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The resource IDs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The resource ID. You can specify at most 20 resource IDs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ipam-uq5dcfc2eqhpf4****',
+ 'title' => '',
+ ],
+ 'required' => true,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Valid values:'."\n"
+ ."\n"
+ .'* **IPAM**'."\n"
+ .'* **IPAMSCOPE**'."\n"
+ .'* **IPAMPOOL**',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'IPAM',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'TagKey',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The keys of the tags that you want to remove from the resource.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The key of the tag that you want to remove. You can specify up to 20 tag keys. It can 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',
+ 'title' => '',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'All',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to remove all tags from the specified resource. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false** (default)'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '44C884BD-2D56-5637-A523-1FA920A01E7D',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissingParameter.ResourceIds',
+ 'errorMessage' => 'The input parameter ResourceIds that is mandatory for processing this request is not supplied.',
+ 'description' => 'Parameter ResourceIds not passed in.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.ResourceType',
+ 'errorMessage' => 'The input parameter ResourceType that is mandatory for processing this request is not supplied.',
+ 'description' => 'Parameter ResourceType not passed in.',
+ ],
+ [
+ 'errorCode' => 'IllegalParamSize.ResourceIds',
+ 'errorMessage' => 'The number of Param ResourceIds exceeded the limit.',
+ 'description' => 'The number of ResourceIds parameters passed in exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'IllegalParamSize.Tags',
+ 'errorMessage' => 'The number of Parameter Tags exceeded the limit.',
+ 'description' => 'The number of ResourceIds parameters passed in exceeds the limit.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.ResourceType',
+ 'errorMessage' => 'The input parameter ResourceType is invalid.',
+ 'description' => 'Parameter ResourceType.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter.Tags',
+ 'errorMessage' => 'The input parameter Tags that is mandatory for processing this request is not supplied.',
+ 'description' => 'Parameter ResourceType not passed in.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagKey',
+ 'errorMessage' => 'The input parameter TagKey is invalid.',
+ 'description' => 'Illegal parameter TagKey.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Ipam',
+ 'errorMessage' => 'The specified resource of ipam is not found.',
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.IpamScope',
+ 'errorMessage' => 'The specified resource of IPAM scope is not found.',
+ 'description' => 'The input IPAM scope does not exist.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.ResourceIds',
+ 'errorMessage' => 'The parameter of ResourceIds contains duplicate values.',
+ 'description' => '',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'UntagResources',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UntagResources',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:UntagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'conditional',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'Ipam',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipam/{#IpamId}',
+ ],
+ [
+ 'validationType' => 'conditional',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamPool',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipampool/{#IpamPoolId}',
+ ],
+ [
+ 'validationType' => 'conditional',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamScope',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamscope/{#IpamScopeId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"44C884BD-2D56-5637-A523-1FA920A01E7D\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateIpam' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the hosted region. You can call the [DescribeRegions](~~36063~~) operation to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-ccxbnsbhew0d6t****',
+ ],
+ ],
+ [
+ 'name' => 'IpamName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the IPAM. The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.'."\n"
+ ."\n"
+ .'The value must be 1 to 128 characters long and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IpamDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the IPAM. The description must be 1 to 256 characters in length and must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. If you do not specify this parameter, the description is empty.'."\n"
+ ."\n"
+ .'It must be 1 to 256 characters in length and start with a letter or a Chinese character, but cannot start with `http://` or `https://`. The default value is empty.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ ],
+ [
+ 'name' => 'AddOperatingRegion',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The list of operating regions to add to the IPAM.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The operating region to add to the IPAM.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'eu-central-1',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'RemoveOperatingRegion',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The list of operating regions to remove from the IPAM.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The operating region to remove from the IPAM.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'cn-beijing',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run. The system checks the required parameters, request format, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): Sends the request. If the request passes the check, a 2xx HTTP status code is returned and the IPAM instance is modified.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ '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. ClientToken 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 for each request is unique.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'F4650E33-895C-53F0-9CD5-D1338F322DE8',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.Ipam',
+ 'errorMessage' => 'The specified resource of ipam is not found.',
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OperatingRegion',
+ 'errorMessage' => 'The operating region is invalid.',
+ 'description' => 'The operating region is invalid.',
+ ],
+ [
+ 'errorCode' => 'DependencyViolation.IpamPool',
+ 'errorMessage' => 'The specified resource of %s depends on %s, so the operation cannot be completed.',
+ 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.IpamRegionCannotBeRemoved',
+ 'errorMessage' => 'The IPAM region cannot be removed.',
+ 'description' => 'The IPAM region cannot be removed.',
+ ],
+ ],
+ ],
+ 'title' => 'UpdateIpam',
+ 'summary' => 'Modifies an IP Address Management (IPAM) instance.',
+ 'description' => '- The managed region of an IPAM instance cannot be removed.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpam',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:UpdateIpam',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'Ipam',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipam/{#IpamId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F4650E33-895C-53F0-9CD5-D1338F322DE8\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateIpamPool' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the hosted region of the IPAM. Call [DescribeRegions](~~448570~~) to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the IPAM pool.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-pool-6rcq3tobayc20t****',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new name of the IPAM pool.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new description of the IPAM pool.'."\n"
+ ."\n"
+ .'The description must be 1 to 256 characters in length. It must start with a letter or a Chinese character and cannot start with `http://` or `https://`. If you do not specify this parameter, the value is not changed. By default, the value is empty.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ ],
+ [
+ 'name' => 'AllocationDefaultCidrMask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new default network mask for the IPAM pool.'."\n"
+ ."\n"
+ .'Valid values: **0 to 32**.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '28',
+ ],
+ ],
+ [
+ 'name' => 'AllocationMaxCidrMask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new maximum network mask for the IPAM pool.'."\n"
+ ."\n"
+ .'Valid values: **0 to 32**.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '32',
+ ],
+ ],
+ [
+ 'name' => 'AllocationMinCidrMask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new minimum network mask for the IPAM pool.'."\n"
+ ."\n"
+ .'Valid values: **0 to 32**.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '8',
+ ],
+ ],
+ [
+ 'name' => 'ClearAllocationDefaultCidrMask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to clear the default network mask of the IPAM pool. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Yes.'."\n"
+ ."\n"
+ .'- **false**: No.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Sends a check request without modifying the IPAM pool. The system checks for required parameters, request format, and service limits. If the check fails, an error message is returned. If the check succeeds, the \\`DryRunOperation\\` error code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): Sends a normal request. After the request passes the check, a 2xx HTTP status code is returned and the IPAM pool is modified.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'A client token that is used to ensure the idempotence of the request. Generate a unique token for each request. 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 of each API request is different.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ [
+ 'name' => 'AutoImport',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the auto import feature for the address pool.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => '9DED57B9-7654-5B6D-93F7-BCA5839FEE38',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.PoolRegionNotSupportUpdatePool',
+ 'errorMessage' => 'The operation is not allowed because of pool region not support update.',
+ 'description' => 'The operation was denied because the update address pool operation could not be performed in the domain',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.AllocationDefaultNetmask',
+ 'errorMessage' => 'The specified AllocationDefaultNetmask is illegal.',
+ 'description' => 'AllocationDefaultNetmask parameter is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.AllocationMaxNetmask',
+ 'errorMessage' => 'The specified AllocationMaxNetmask is illegal.',
+ 'description' => 'AllocationMaxNetmask parameter is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.AllocationMinNetmask',
+ 'errorMessage' => 'The specified AllocationMinNetmask is illegal.',
+ 'description' => 'AllocationMinNetmask parameter is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.IpVersion',
+ 'errorMessage' => 'The specified IpVersion is illegal.',
+ 'description' => 'Invalid IpVersion.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OperateShareResource',
+ 'errorMessage' => 'The operation is not allowed because the instance is a shared resource.',
+ 'description' => 'The operation is not allowed because the instance is a shared resource.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ ],
+ ],
+ 'title' => 'UpdateIpamPool',
+ 'summary' => 'Updates the basic information of an IPAM pool.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpamPool',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:UpdateIpamPool',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DED57B9-7654-5B6D-93F7-BCA5839FEE38\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateIpamPoolAllocation' => [
+ 'summary' => 'Updates a CIDR allocation from an IPAM address pool.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CIDR allocation is located. To obtain a region ID, call the [DescribeRegions](~~36063~~) operation.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Sends a check request without modifying the CIDR allocation. The system checks for required parameters, request format, and service limits. If the check fails, an error is returned. If the check passes, the DryRunOperation error code is returned.'."\n"
+ ."\n"
+ .'- **false** (default): Sends a normal request. After the check passes, an HTTP 2xx status code is returned and the CIDR allocation is modified.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'A client token to ensure the idempotence of the request. Generate a unique value from your client for each request. ClientToken supports only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system uses the request ID as the client token. The request ID is different for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-426655440000'."\n",
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolAllocationDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the CIDR allocation.'."\n"
+ ."\n"
+ .'The description must be 1 to 256 characters long and must start with a letter or a Chinese character. It cannot start with `http://` or `https://`. If you do not specify this parameter, the description is empty.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test description',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolAllocationName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the CIDR allocation.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters long. It cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test name',
+ 'title' => '',
+ ],
+ ],
+ [
+ 'name' => 'IpamPoolAllocationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CIDR allocation.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ipam-pool-alloc-112za33e4****',
+ 'title' => '',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response parameters.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => 'F4650E33-895C-53F0-9CD5-D1338F322DE8',
+ 'title' => '',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.Unauthorized',
+ 'errorMessage' => 'The operation is denied because the user is not authorized.',
+ 'description' => 'The operation is denied because the user is not authorized.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.RequestRegionInvalid',
+ 'errorMessage' => 'The operation is not allowed because the request is not invoked in the region of the IPAM pool.',
+ 'description' => 'The operation is not called in the region of the pool.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPool',
+ 'errorMessage' => 'The dependent IPAM pool is not found.',
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.IpamPoolAllocation',
+ 'errorMessage' => 'The specified resource of IPAM pool allocation is not found.',
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'UpdateIpamPoolAllocation',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpamPoolAllocation',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:UpdateIpamPoolAllocation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F4650E33-895C-53F0-9CD5-D1338F322DE8\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateIpamResourceDiscovery' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'paid',
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource discovery instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-res-disco-jt5f2af2u6nk2z321****',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the resource discovery.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IpamResourceDiscoveryDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the resource discovery.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ ],
+ [
+ 'name' => 'AddOperatingRegion',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The operating regions to add to the resource discovery.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The operating region to add to the resource discovery.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'eu-central-1',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'RemoveOperatingRegion',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The operating regions to remove from the resource discovery.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The operating region to remove from the resource discovery.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'cn-beijing',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ 'minItems' => 1,
+ 'title' => '',
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
+ ."\n"
+ .'- **true**: Performs a dry run. Checks parameters, syntax, and quotas and limits, with no changes being made. Returns DryRunOperation if validation succeeds; otherwise returns an error.'."\n"
+ ."\n"
+ .'- **false** (default): Sends the request. On success, returns a 2xx status and performs the operation.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Ensures idempotency. Provide a unique ASCII token generated by your client. A new token is provided for each distinct request.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID is different for each request.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'PlainResult<IpamCreateModel>',
+ 'description' => 'The returned data.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'BB2C39DE-CEB8-595A-981A-F2EFCBE7324E',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.OperatingRegion',
+ 'errorMessage' => 'The operating region is invalid.',
+ 'description' => 'The operating region is invalid.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.OperateShareResource',
+ 'errorMessage' => 'The operation is not allowed because the instance is a shared resource.',
+ 'description' => 'The operation is not allowed because the instance is a shared resource.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.UnexpectedType',
+ 'errorMessage' => 'The operation is not allowed because the input type is unexpected.',
+ 'description' => 'The operation is not allowed because the input type is unexpected.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.RemoveResourceDiscoveryHomeRegion',
+ 'errorMessage' => 'The home region of IPAM resource discovery cannot be removed.',
+ 'description' => 'The home region of IPAM resource discovery cannot be removed.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.IpamResourceDiscovery',
+ 'errorMessage' => 'The dependent instance of IPAM resource discovery is not found.',
+ 'description' => 'The dependent instance of IPAM resource discovery is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'title' => 'UpdateIpamResourceDiscovery',
+ 'summary' => 'Modifies a resource discovery instance.',
+ 'description' => '- You can add or remove operating regions only for custom resource discovery instances.'."\n"
+ ."\n"
+ .'- When you remove an operating region from a resource discovery instance, you cannot remove the managed region of the resource discovery instance.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpamResourceDiscovery',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:UpdateIpamResourceDiscovery',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'IpamResourceDiscovery',
+ 'arn' => 'acs:vpc:{#regionId}:{#accountId}:ipamresourcediscovery/{#IpamResourceDiscoveryId}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BB2C39DE-CEB8-595A-981A-F2EFCBE7324E\\"\\n}","type":"json"}]',
+ ],
+ 'UpdateIpamScope' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the IPAM is hosted. Call the [DescribeRegions](~~36063~~) operation to get the region ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'title' => '',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the IPAM scope.',
+ 'type' => 'string',
+ 'required' => true,
+ 'title' => '',
+ 'example' => 'ipam-scope-glfmcyldpm8lsy****',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the IPAM scope.'."\n"
+ ."\n"
+ .'The name must be 1 to 128 characters long and cannot start with `http://` or `https://`.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'IpamScopeDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the IPAM scope.'."\n"
+ ."\n"
+ .'The description must be 1 to 256 characters long. It must start with a letter and cannot start with `http://` or `https://`. If you do not specify this parameter, the value is not modified.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'test description',
+ ],
+ ],
+ [
+ '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 request for potential issues, including missing required parameters, incorrect request format, and instance status. If the request fails the dry run, an error is returned. If the request passes the dry run, the DryRunOperation error code is returned.'."\n"
+ ."\n"
+ .'- **false** (Default): Sends a normal request. After the request passes the check, the operation is performed.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'title' => '',
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The client token that is used to ensure the idempotence of the request. Generate a value for this parameter that is unique among different requests. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the system automatically uses the RequestId of the request as the ClientToken. The RequestId of each request is unique.',
+ 'type' => 'string',
+ 'required' => false,
+ 'title' => '',
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'BaseResult',
+ 'description' => 'The response.',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'title' => '',
+ 'example' => 'BA8054F5-852A-570A-ACFF-BCA63E0B02D5',
+ ],
+ ],
+ 'example' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.IpamScope',
+ 'errorMessage' => 'The specified resource of IPAM scope is not found.',
+ 'description' => 'The input IPAM scope does not exist.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.IpamScope',
+ 'errorMessage' => 'The status of the IPAM scope is incorrect.',
+ 'description' => 'The status of the IPAM scope is incorrect.',
+ ],
+ [
+ 'errorCode' => 'DryRunOperation',
+ 'errorMessage' => 'Request validation has been passed with DryRun flag set.',
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'title' => 'UpdateIpamScope',
+ 'summary' => 'Updates the basic information of an IPAM scope.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpamScope',
+ ],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'vpc:UpdateIpamScope',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ [
+ 'validationType' => 'always',
+ 'product' => 'VpcIpam',
+ 'resourceType' => 'All Resource',
+ 'arn' => '*',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BA8054F5-852A-570A-ACFF-BCA63E0B02D5\\"\\n}","type":"json"}]',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'regionName' => 'Japan (Tokyo)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.ap-northeast-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.ap-northeast-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'ap-northeast-2',
+ 'regionName' => 'South Korea (Seoul)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.ap-northeast-2.aliyuncs.com',
+ 'endpoint' => 'vpcipam.ap-northeast-2.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'regionName' => 'Singapore',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.ap-southeast-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.ap-southeast-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'ap-southeast-2',
+ 'regionName' => 'Australia (Sydney) Closed',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.ap-southeast-2.aliyuncs.com',
+ 'endpoint' => 'vpcipam.ap-southeast-2.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'ap-southeast-3',
+ 'regionName' => 'Malaysia (Kuala Lumpur)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.ap-southeast-3.aliyuncs.com',
+ 'endpoint' => 'vpcipam.ap-southeast-3.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'ap-southeast-5',
+ 'regionName' => 'Indonesia (Jakarta)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.ap-southeast-5.aliyuncs.com',
+ 'endpoint' => 'vpcipam.ap-southeast-5.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'ap-southeast-6',
+ 'regionName' => 'Philippines (Manila)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.ap-southeast-6.aliyuncs.com',
+ 'endpoint' => 'vpcipam.ap-southeast-6.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'ap-southeast-7',
+ 'regionName' => 'Thailand (Bangkok)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.ap-southeast-7.aliyuncs.com',
+ 'endpoint' => 'vpcipam.ap-southeast-7.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-beijing',
+ 'regionName' => 'China (Beijing)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-beijing.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-beijing.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-chengdu',
+ 'regionName' => 'China (Chengdu)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-chengdu.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-chengdu.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-fuzhou',
+ 'regionName' => 'China (Fuzhou - Local Region)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-fuzhou.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-fuzhou.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-guangzhou',
+ 'regionName' => 'China (Guangzhou)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-guangzhou.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-guangzhou.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou',
+ 'regionName' => 'China (Hangzhou)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-hangzhou.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-hangzhou.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-heyuan',
+ 'regionName' => 'China (Heyuan)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-heyuan.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-heyuan.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'regionName' => 'China (Hong Kong)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-hongkong.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-hongkong.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-huhehaote',
+ 'regionName' => 'China (Hohhot)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-huhehaote.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-huhehaote.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-nanjing',
+ 'regionName' => 'China (Nanjing - Local Region)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-nanjing.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-nanjing.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-qingdao',
+ 'regionName' => 'China (Qingdao)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-qingdao.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-qingdao.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-shanghai',
+ 'regionName' => 'China (Shanghai)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-shanghai.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-shanghai.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen',
+ 'regionName' => 'China (Shenzhen)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-shenzhen.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-shenzhen.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-wuhan-lr',
+ 'regionName' => 'China (Wuhan - Local Region)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-wuhan-lr.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-wuhan-lr.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-wulanchabu',
+ 'regionName' => 'China (Ulanqab)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-wulanchabu.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-wulanchabu.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-zhangjiakou',
+ 'regionName' => 'China (Zhangjiakou)',
+ 'areaId' => 'asiaPacific',
+ 'areaName' => 'Asia Pacific',
+ 'public' => 'vpcipam.cn-zhangjiakou.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-zhangjiakou.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'us-west-1',
+ 'regionName' => 'US (Silicon Valley)',
+ 'areaId' => 'europeAmerica',
+ 'areaName' => 'Europe & Americas',
+ 'public' => 'vpcipam.us-west-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.us-west-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'us-east-1',
+ 'regionName' => 'US (Virginia)',
+ 'areaId' => 'europeAmerica',
+ 'areaName' => 'Europe & Americas',
+ 'public' => 'vpcipam.us-east-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.us-east-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'eu-west-1',
+ 'regionName' => 'UK (London)',
+ 'areaId' => 'europeAmerica',
+ 'areaName' => 'Europe & Americas',
+ 'public' => 'vpcipam.eu-west-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.eu-west-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'regionName' => 'Germany (Frankfurt)',
+ 'areaId' => 'europeAmerica',
+ 'areaName' => 'Europe & Americas',
+ 'public' => 'vpcipam.eu-central-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.eu-central-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'me-east-1',
+ 'regionName' => 'UAE (Dubai)',
+ 'areaId' => 'middleEast',
+ 'areaName' => 'Middle East',
+ 'public' => 'vpcipam.me-east-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.me-east-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'me-central-1',
+ 'regionName' => 'Saudi Arabia (Riyadh)',
+ 'areaId' => 'middleEast',
+ 'areaName' => 'Middle East',
+ 'public' => 'vpcipam.me-central-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.me-central-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen-finance-1',
+ 'regionName' => 'China South 1 Finance',
+ 'areaId' => 'industryCloud',
+ 'areaName' => 'Industry Cloud',
+ 'public' => 'vpcipam.cn-shenzhen-finance-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-shenzhen-finance-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-finance-1',
+ 'regionName' => 'China East 2 Finance',
+ 'areaId' => 'industryCloud',
+ 'areaName' => 'Industry Cloud',
+ 'public' => 'vpcipam.cn-shanghai-finance-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-shanghai-finance-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-finance',
+ 'regionName' => 'China East 1 Finance',
+ 'areaId' => 'industryCloud',
+ 'areaName' => 'Industry Cloud',
+ 'public' => 'vpcipam.cn-hangzhou-finance.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-hangzhou-finance.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ [
+ 'regionId' => 'cn-beijing-finance-1',
+ 'regionName' => 'China North 2 Finance (Preview)',
+ 'areaId' => 'industryCloud',
+ 'areaName' => 'Industry Cloud',
+ 'public' => 'vpcipam.cn-beijing-finance-1.aliyuncs.com',
+ 'endpoint' => 'vpcipam.cn-beijing-finance-1.aliyuncs.com',
+ 'vpc' => '',
+ ],
+ ],
+ 'errorCodes' => [
+ [
+ 'code' => 'DependencyViolation.CustomCidrs',
+ 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.',
+ 'http_code' => 400,
+ 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.',
+ ],
+ [
+ 'code' => 'DependencyViolation.IpamMembers',
+ 'message' => 'The IPAM [%s] has managed members [%s], so the IPAM cannot be deleted.',
+ 'http_code' => 400,
+ 'description' => 'IPAM[%s] has managed member [%s], this IPAM cannot be deleted.',
+ ],
+ [
+ 'code' => 'DependencyViolation.IpamPool',
+ 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.',
+ 'http_code' => 400,
+ 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.',
+ ],
+ [
+ 'code' => 'DependencyViolation.ShareResource',
+ 'message' => 'The specified resource of IPAM pool depends on resource sharing, so the operation cannot be completed.',
+ 'http_code' => 400,
+ 'description' => 'The specified resource of IPAM pool depends on resource sharing, so the operation cannot be completed.',
+ ],
+ [
+ 'code' => 'DependencyViolation.ShareResource',
+ 'message' => 'The operation is not allowed because the default resource discovery of this IPAM is sharing.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the default resource discovery of this IPAM is sharing.',
+ ],
+ [
+ 'code' => 'DependencyViolation.ShareResource',
+ 'message' => 'The specified resource of IPAM resource discovery depends on resource sharing, so the operation cannot be completed.',
+ 'http_code' => 400,
+ 'description' => 'The specified resource of IPAM resource discovery depends on resource sharing, so the operation cannot be completed.',
+ ],
+ [
+ 'code' => 'DependencyViolation.SubCidr',
+ 'message' => 'The specified resource of %s depends on %s, so the operation cannot be completed.',
+ 'http_code' => 400,
+ 'description' => 'The specified resource is dependent on other resources and the current operation is not allowed.',
+ ],
+ [
+ 'code' => 'DryRunOperation',
+ 'message' => 'Request validation has been passed with DryRun flag set.',
+ 'http_code' => 400,
+ 'description' => '',
+ ],
+ [
+ 'code' => 'DuplicatedParam.TagKey',
+ 'message' => 'TagKey duplicate.',
+ 'http_code' => 400,
+ 'description' => 'TagKey parameter duplicate',
+ ],
+ [
+ 'code' => 'Forbidden.IpResourceAccess',
+ 'message' => 'The IPAM resource discovery instance in the parameters is not allowed to access the IP address of resource %s.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM resource discovery instance in the parameters is not allowed to access the IP address of resource %s.',
+ ],
+ [
+ 'code' => 'Forbidden.QueryShareResource',
+ 'message' => 'Authentication is failed for querying a shared IPAM pool.',
+ 'http_code' => 400,
+ 'description' => 'Authentication is failed for querying a shared IPAM pool.',
+ ],
+ [
+ 'code' => 'Forbidden.RAM',
+ 'message' => 'The user is not authorized to operate on the specified resource, or the API operation does not support RAM.',
+ 'http_code' => 400,
+ 'description' => 'The user is not authorized to operate on the specified resource, or the API operation does not support RAM.',
+ ],
+ [
+ 'code' => 'Forbidden.SubPool',
+ 'message' => 'The IPAM pool contains subpools.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM address pool contains subpools and cannot be deleted.',
+ ],
+ [
+ 'code' => 'IllegalParam.AllocationDefaultNetmask',
+ 'message' => 'The specified AllocationDefaultNetmask is illegal.',
+ 'http_code' => 400,
+ 'description' => 'AllocationDefaultNetmask parameter is illegal.',
+ ],
+ [
+ 'code' => 'IllegalParam.AllocationMaxNetmask',
+ 'message' => 'The specified AllocationMaxNetmask is illegal.',
+ 'http_code' => 400,
+ 'description' => 'AllocationMaxNetmask parameter is illegal.',
+ ],
+ [
+ 'code' => 'IllegalParam.AllocationMinNetmask',
+ 'message' => 'The specified AllocationMinNetmask is illegal.',
+ 'http_code' => 400,
+ 'description' => 'AllocationMinNetmask parameter is illegal.',
+ ],
+ [
+ 'code' => 'IllegalParam.Cidr',
+ 'message' => 'The specified CIDR is illegal.',
+ 'http_code' => 400,
+ 'description' => 'The CIDR block is invalid.',
+ ],
+ [
+ 'code' => 'IllegalParam.CidrMask',
+ 'message' => 'The specified CidrMask is illegal.',
+ 'http_code' => 400,
+ 'description' => 'Invalid CidrMask.',
+ ],
+ [
+ 'code' => 'IllegalParam.IpamPool',
+ 'message' => 'The specified IPAM pool cannot be empty.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM pool cannot be empty.',
+ ],
+ [
+ 'code' => 'IllegalParam.Ipv6Isp',
+ 'message' => 'The specified Ipv6Isp is illegal.',
+ 'http_code' => 400,
+ 'description' => 'The specified Ipv6Isp is illegal.',
+ ],
+ [
+ 'code' => 'IllegalParam.IpVersion',
+ 'message' => 'The specified IpVersion is illegal.',
+ 'http_code' => 400,
+ 'description' => 'Invalid IpVersion.',
+ ],
+ [
+ 'code' => 'IllegalParam.NetmaskLength',
+ 'message' => 'The specified NetmaskLength is illegal.',
+ 'http_code' => 400,
+ 'description' => 'The specified NetmaskLength is illegal.',
+ ],
+ [
+ 'code' => 'IllegalParam.OperatingRegion',
+ 'message' => 'The operating region is invalid.',
+ 'http_code' => 400,
+ 'description' => 'The operating region is invalid.',
+ ],
+ [
+ 'code' => 'IllegalParam.PoolRegionId',
+ 'message' => 'The specified PoolRegionId is illegal.',
+ 'http_code' => 400,
+ 'description' => 'PoolRegionId parameter is illegal.',
+ ],
+ [
+ 'code' => 'IllegalParam.ResourceGroupId',
+ 'message' => 'The input parameter ResourceGroupId is invalid.',
+ 'http_code' => 400,
+ 'description' => 'The parameter ResourceType is illegal.',
+ ],
+ [
+ 'code' => 'IllegalParam.ResourceRegion',
+ 'message' => 'The input parameter ResourceRegionId is invalid.',
+ 'http_code' => 400,
+ 'description' => 'The input parameter ResourceRegionId is invalid.',
+ ],
+ [
+ 'code' => 'IllegalParam.ResourceType',
+ 'message' => 'The input parameter ResourceType is invalid.',
+ 'http_code' => 400,
+ 'description' => 'Parameter ResourceType.',
+ ],
+ [
+ 'code' => 'IllegalParam.TagKey',
+ 'message' => 'The input parameter TagKey is invalid.',
+ 'http_code' => 400,
+ 'description' => 'Illegal parameter TagKey.',
+ ],
+ [
+ 'code' => 'IllegalParamFormat.%s',
+ 'message' => 'The param of %s is illegal.',
+ 'http_code' => 400,
+ 'description' => 'The param of %s is illegal.',
+ ],
+ [
+ 'code' => 'IllegalParamSize.ResourceIds',
+ 'message' => 'The number of Param ResourceIds exceeded the limit.',
+ 'http_code' => 400,
+ 'description' => 'The number of ResourceIds parameters passed in exceeds the limit.',
+ ],
+ [
+ 'code' => 'IllegalParamSize.Tags',
+ 'message' => 'The number of Parameter Tags exceeded the limit.',
+ 'http_code' => 400,
+ 'description' => 'The number of ResourceIds parameters passed in exceeds the limit.',
+ ],
+ [
+ 'code' => 'IncorrectStatus.IpamPool',
+ 'message' => 'The status of the IPAM pool is incorrect.',
+ 'http_code' => 400,
+ 'description' => 'The status of the IPAM pool is incorrect.',
+ ],
+ [
+ 'code' => 'IncorrectStatus.IpamResourceDiscovery',
+ 'message' => 'The status of the IPAM resource discovery is incorrect.',
+ 'http_code' => 400,
+ 'description' => 'The status of the IPAM resource discovery is incorrect.',
+ ],
+ [
+ 'code' => 'IncorrectStatus.IpamScope',
+ 'message' => 'The status of the IPAM scope is incorrect.',
+ 'http_code' => 400,
+ 'description' => 'The status of the IPAM scope is incorrect.',
+ ],
+ [
+ 'code' => 'Mismatch.CidrAndNetmaskLength',
+ 'message' => 'The mask of the input Cidr is inconsistent with the input NetmaskLength.',
+ 'http_code' => 400,
+ 'description' => 'The mask of the input Cidr is inconsistent with the input NetmaskLength.',
+ ],
+ [
+ 'code' => 'Mismatch.CidrAndPoolIpVersion',
+ 'message' => 'The ip verion of input Cidr is inconsistent with that of the input IPAM pool.',
+ 'http_code' => 400,
+ 'description' => 'The ip verion of input Cidr is inconsistent with that of the input IPAM pool.',
+ ],
+ [
+ 'code' => 'Mismatch.IpamResourceDiscoveryAndResource',
+ 'message' => 'The IPAM resource discovery %s and the queried %s do not match.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM resource discovery %s and the queried %s do not match.',
+ ],
+ [
+ 'code' => 'Mismatch.IpamScopeAndSourceIpamPool',
+ 'message' => 'The input source IPAM pool is not in the input IPAM scope.',
+ 'http_code' => 400,
+ 'description' => 'The input source IPAM pool is not in the input IPAM scope.',
+ ],
+ [
+ 'code' => 'Mismatch.Ipv6IspAndSourceIpamPool',
+ 'message' => 'The input Ipv6Isp is inconsistent with the Ipv6Isp of the input source IPAM pool.',
+ 'http_code' => 400,
+ 'description' => 'The input Ipv6Isp is inconsistent with the Ipv6Isp of the input source IPAM pool.',
+ ],
+ [
+ 'code' => 'Mismatch.VpcIdAndVSwitchId',
+ 'message' => 'VpcId and VSwitchId do not match.',
+ 'http_code' => 400,
+ 'description' => 'VpcId and VSwitchId do not match.',
+ ],
+ [
+ 'code' => 'MissingParam.Cidr',
+ 'message' => 'The Cidr must be input when adding CIDR for IPAM private top pool.',
+ 'http_code' => 400,
+ 'description' => 'The Cidr must be input when adding CIDR for IPAM private top pool.',
+ ],
+ [
+ 'code' => 'MissingParam.CidrOrCidrMask',
+ 'message' => 'The CIDR or CIDR Mask must be input.',
+ 'http_code' => 400,
+ 'description' => 'The CIDR or CIDR Mask must be input.',
+ ],
+ [
+ 'code' => 'MissingParam.CidrOrNetmaskLength',
+ 'message' => 'The Cidr or NetmaskLength must be input.',
+ 'http_code' => 400,
+ 'description' => 'The Cidr or NetmaskLength must be input.',
+ ],
+ [
+ 'code' => 'MissingParam.IpamResourceDiscoveryId',
+ 'message' => 'The IpamResourceDiscoveryId must be input.',
+ 'http_code' => 400,
+ 'description' => 'The IpamResourceDiscoveryId must be input.',
+ ],
+ [
+ 'code' => 'MissingParam.ResourceRegionId',
+ 'message' => 'The ResourceRegionId must be input.',
+ 'http_code' => 400,
+ 'description' => 'The ResourceRegionId must be input.',
+ ],
+ [
+ 'code' => 'MissingParam.VpcIdAndVSwitchId',
+ 'message' => 'VpcId and VSwitchId cannot both be empty please provide at least one.',
+ 'http_code' => 400,
+ 'description' => 'VpcId and VSwitchId cannot both be empty please provide at least one.',
+ ],
+ [
+ 'code' => 'MissingParameter.ResourceIds',
+ 'message' => 'The input parameter ResourceIds that is mandatory for processing this request is not supplied.',
+ 'http_code' => 400,
+ 'description' => 'Parameter ResourceIds not passed in.',
+ ],
+ [
+ 'code' => 'MissingParameter.ResourceType',
+ 'message' => 'The input parameter ResourceType that is mandatory for processing this request is not supplied.',
+ 'http_code' => 400,
+ 'description' => 'Parameter ResourceType not passed in.',
+ ],
+ [
+ 'code' => 'MissingParameter.TagKey',
+ 'message' => 'The input parameter TagKey that is mandatory for processing this request is not supplied.',
+ 'http_code' => 400,
+ 'description' => 'The parameter Tags was not passed in.',
+ ],
+ [
+ 'code' => 'MissingParameter.Tags',
+ 'message' => 'The input parameter Tags that is mandatory for processing this request is not supplied.',
+ 'http_code' => 400,
+ 'description' => 'Parameter ResourceType not passed in.',
+ ],
+ [
+ 'code' => 'MissingParameter.TagsAndResourceIds',
+ 'message' => 'The input parameter Tags and ResourceIds that is mandatory for processing this request is not supplied.',
+ 'http_code' => 400,
+ 'description' => 'The Tags and ResourceIds parameters are not passed in.',
+ ],
+ [
+ 'code' => 'MissingParameter.TagValue',
+ 'message' => 'The input parameter TagValue that is mandatory for processing this request is not supplied.',
+ 'http_code' => 400,
+ 'description' => 'The parameter Tags was not passed in.',
+ ],
+ [
+ 'code' => 'OperationDenied.AccountNotRDEntity',
+ 'message' => 'The operation is not allowed because the caller does not belong to the resource directory.',
+ 'http_code' => 400,
+ 'description' => 'The caller does not belong to any resource directory and is not allowed to manage IPAM trusted service members.',
+ ],
+ [
+ 'code' => 'OperationDenied.AutoImportNeedPoolRegion',
+ 'message' => 'The automatic import is not supported for the IPAM pool whose pool region is empty.',
+ 'http_code' => 400,
+ 'description' => 'The automatic import is not supported for the IPAM pool whose pool region is empty.',
+ ],
+ [
+ 'code' => 'OperationDenied.AvailableCidrInsufficient',
+ 'message' => 'The operation is not allowed because available CIDR is insufficient.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because available CIDR is insufficient.',
+ ],
+ [
+ 'code' => 'OperationDenied.CidrConflictWithExistAllocation',
+ 'message' => 'The operation is not allowed because the input CIDR conflicts with the existing allocation.',
+ 'http_code' => 400,
+ 'description' => 'The specified CIDR block conflicts with an existing CIDR block.',
+ ],
+ [
+ 'code' => 'OperationDenied.CidrConflictWithOfficialGuaCidrs',
+ 'message' => 'The operation is not allowed because the input CIDR conflicts with official GUA CIDRs.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the input CIDR conflicts with official GUA CIDRs.',
+ ],
+ [
+ 'code' => 'OperationDenied.CidrConflictWithTopCidrs',
+ 'message' => 'The operation is not allowed because the input CIDR conflicts with existing top CIDRs.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the input CIDR conflicts with existing top CIDRs.',
+ ],
+ [
+ 'code' => 'OperationDenied.CidrInExcludeCidrs',
+ 'message' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the input CIDR is within the illegal CIDRs.',
+ ],
+ [
+ 'code' => 'OperationDenied.CidrNotInSourceCidr',
+ 'message' => 'The operation is not allowed because the input CIDR is not in source CIDR.',
+ 'http_code' => 400,
+ 'description' => 'The specified CIDR block does not fall within the CIDR range of the parent pool.',
+ ],
+ [
+ 'code' => 'OperationDenied.CidrUnavailableInPool',
+ 'message' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the CIDR is unavailable in the IPAM pool.',
+ ],
+ [
+ 'code' => 'OperationDenied.CreateVpcOrAssociateVpcCidrBlock',
+ 'message' => 'The operation is not allowed because the IPAM pool not in specific region does not support creating VPC or associating CIDR for VPC.',
+ 'http_code' => 400,
+ 'description' => 'The operation is denied because you cannot create a VPC or add a secondary CIDR block to a VPC from a pool that does not have the region attribute.',
+ ],
+ [
+ 'code' => 'OperationDenied.DelegateAdminAsMember',
+ 'message' => 'The operation is not allowed because the IPAM delegate administrator cannot be a member.',
+ 'http_code' => 400,
+ 'description' => 'IPAM delegated administrators cannot add themselves as members of the IPAM trusted service.',
+ ],
+ [
+ 'code' => 'OperationDenied.DeleteDefaultScope',
+ 'message' => 'The operation is not allowed because of deleting default scope.',
+ 'http_code' => 400,
+ 'description' => 'The operation was denied because the default IPAM scope was deleted.',
+ ],
+ [
+ 'code' => 'OperationDenied.DissociateSelfSystemIpamResourceDiscovery',
+ 'message' => 'The operation is not allowed because the default resource discovery cannot be disassociated.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the default resource discovery cannot be disassociated.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamNotExist',
+ 'message' => 'The operation is not allowed because the IPAM does not exist.',
+ 'http_code' => 400,
+ 'description' => 'IPAM does not exist in the current region. IPAM trusted service members cannot be managed.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamPoolAllocationExist',
+ 'message' => 'The operation is not allowed because of the existence of IPAM pool allocation.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because an allocation exists.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamPoolNotInRegion',
+ 'message' => 'The operation is not allowed because the IPAM pool not in specific region does not support creating VPC or associating CIDR for VPC.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the IPAM pool not in specific region does not support creating VPC or associating CIDR for VPC.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamPublicIpv6PoolNeedPoolRegion',
+ 'message' => 'The public IPv6 pool cannot be created in IPAM when its pool region is empty.',
+ 'http_code' => 400,
+ 'description' => 'The public IPv6 pool cannot be created in IPAM when its pool region is empty.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamRDServiceAlreadyEnabledInOtherRegion',
+ 'message' => 'The operation is not allowed because the IPAM Resource Directory service is already enabled in another region.',
+ 'http_code' => 400,
+ 'description' => 'Only one IPAM instance can be selected to manage resource directory members.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamRDServiceMemberNotExist',
+ 'message' => 'The operation is not allowed because %s is not managed by the IPAM.',
+ 'http_code' => 400,
+ 'description' => 'The member %s to be removed from the input parameter is not managed by IPAM trusted service.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamRDServiceNotEnableInOperationRegion',
+ 'message' => 'The operation is not allowed because the IPAM RD service is not enabled in the current region.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM instance in the operating region does not manage any resource directory members.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamRegionCannotBeRemoved',
+ 'message' => 'The IPAM region cannot be removed.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM region cannot be removed.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamRegionNotSupportGetPoolAllocation',
+ 'message' => 'The operation is not allowed because IPAM region does not support getting the allocation.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because IPAM region does not support getting the allocation.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamRegionNotSupportGetPoolAvailableCidr',
+ 'message' => 'The operation is not allowed because IPAM region does not support getting available CIDR of IPAM pool.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because IPAM region does not support getting available CIDR of IPAM pool.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamRegionNotSupportListPoolAllocation',
+ 'message' => 'The operation is not allowed because IPAM region does not support listing allocations.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because IPAM region does not support listing allocations.',
+ ],
+ [
+ 'code' => 'OperationDenied.IpamResourceDiscoveryAlreadySharedWithAdmin',
+ 'message' => 'The operation is not allowed because the resource discovery has been shared with the IPAM delegated administrator by %s.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM Trusted Service does not allow the management of accounts that have already shared their resource discovery with the delegated administrator.',
+ ],
+ [
+ 'code' => 'OperationDenied.Ipv6VpcNotSupport',
+ 'message' => 'The allocation of IPv6 VPC is not supported to delete.',
+ 'http_code' => 400,
+ 'description' => 'The allocation of IPv6 VPC is not supported to delete.',
+ ],
+ [
+ 'code' => 'OperationDenied.MemberExistInIpamRDService',
+ 'message' => 'The operation is not allowed because %s is under the management of the IPAM.',
+ 'http_code' => 400,
+ 'description' => 'The input parameter %s has already been managed by IPAM trusted service. The same member cannot be managed repeatedly.',
+ ],
+ [
+ 'code' => 'OperationDenied.MemberIdNotMatchMemberType',
+ 'message' => 'The operation is not allowed because the Member ID and Member Type of members [%s] in the input parameters do not match.',
+ 'http_code' => 400,
+ 'description' => 'The Member Id and Member Type of [%s] in the input Members do not match.',
+ ],
+ [
+ 'code' => 'OperationDenied.NoServicePrincipalAdminPrivileges',
+ 'message' => 'The operation is not allowed because the caller is not the delegated IPAM admin for the resource directory.',
+ 'http_code' => 400,
+ 'description' => 'The caller is not the delegated administrator of the IPAM trusted service in the resource directory. IPAM trusted service members are not allowed to be managed.',
+ ],
+ [
+ 'code' => 'OperationDenied.NotDelegatedAdminAccount',
+ 'message' => 'The operation is not allowed because the caller is not the delegated IPAM admin for the resource directory.',
+ 'http_code' => 400,
+ 'description' => 'The caller is not the delegated administrator of the IPAM trusted service in the resource directory. IPAM trusted service members are not allowed to be managed.',
+ ],
+ [
+ 'code' => 'OperationDenied.OfficialCidrInsufficient',
+ 'message' => 'The operation is not allowed because the official CIDR is insufficient.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the official CIDR is insufficient.',
+ ],
+ [
+ 'code' => 'OperationDenied.OfficialCidrTmpUnavailable',
+ 'message' => 'The operation is not allowed because the official CIDR is temporarily unavailable.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the official CIDR is temporarily unavailable.',
+ ],
+ [
+ 'code' => 'OperationDenied.OfficialCidrUnavailable',
+ 'message' => 'The operation is not allowed because the official CIDR is unavailable.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the official CIDR is unavailable.',
+ ],
+ [
+ 'code' => 'OperationDenied.OperateShareResource',
+ 'message' => 'The operation is not allowed because the instance is a shared resource.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the instance is a shared resource.',
+ ],
+ [
+ 'code' => 'OperationDenied.OperatingRegionsNeedIncludeHomeRegion',
+ 'message' => 'The operating regions do not contain home region.',
+ 'http_code' => 400,
+ 'description' => 'The operating regions do not contain home region.',
+ ],
+ [
+ 'code' => 'OperationDenied.OwnerAlreadyManagedByRecipientIpam',
+ 'message' => 'The operation is not allowed because the resource owner is already managed by the resource recipient\'s IPAM.',
+ 'http_code' => 400,
+ 'description' => 'IPAM-managed member accounts are prohibited from sharing resource discovery with the IPAM delegated administrator.',
+ ],
+ [
+ 'code' => 'OperationDenied.PoolRegionNotSupportAddPoolCidr',
+ 'message' => 'The operation is not allowed because pool region does not support adding CIDR.',
+ 'http_code' => 400,
+ 'description' => 'The operation was not allowed because the operation to add CIDR could not be performed in the region.',
+ ],
+ [
+ 'code' => 'OperationDenied.PoolRegionNotSupportDeletePool',
+ 'message' => 'The operation is not allowed because of pool region not support delete.',
+ 'http_code' => 400,
+ 'description' => 'The operation was denied because the delete address pool operation could not be performed in the domain.',
+ ],
+ [
+ 'code' => 'OperationDenied.PoolRegionNotSupportDeletePoolCidr',
+ 'message' => 'The operation is not allowed because pool region does not support deleting cidr.',
+ 'http_code' => 400,
+ 'description' => 'You cannot delete CIDR blocks in this region.',
+ ],
+ [
+ 'code' => 'OperationDenied.PoolRegionNotSupportListPoolCidr',
+ 'message' => 'The operation is not allowed because pool region does not support listing cidrs.',
+ 'http_code' => 400,
+ 'description' => 'You cannot query CIDR blocks in this region.',
+ ],
+ [
+ 'code' => 'OperationDenied.PoolRegionNotSupportUpdatePool',
+ 'message' => 'The operation is not allowed because of pool region not support update.',
+ 'http_code' => 400,
+ 'description' => 'The operation was denied because the update address pool operation could not be performed in the domain',
+ ],
+ [
+ 'code' => 'OperationDenied.RemoveResourceDiscoveryHomeRegion',
+ 'message' => 'The home region of IPAM resource discovery cannot be removed.',
+ 'http_code' => 400,
+ 'description' => 'The home region of IPAM resource discovery cannot be removed.',
+ ],
+ [
+ 'code' => 'OperationDenied.RequestRegionInvalid',
+ 'message' => 'The operation is not allowed because the request is not invoked in the region of the IPAM pool.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not called in the region of the pool.',
+ ],
+ [
+ 'code' => 'OperationDenied.ResourceDiscoveryAlreadyAssociated',
+ 'message' => 'You cannot associate the resource discovery because an association already exists.',
+ 'http_code' => 400,
+ 'description' => 'You cannot associate the resource discovery because an association already exists.',
+ ],
+ [
+ 'code' => 'OperationDenied.ResourceRegionInvalid',
+ 'message' => 'The operation is denied because the resource is in a different region than the IPAM pool.',
+ 'http_code' => 400,
+ 'description' => 'The resource and the pool are in different regions.',
+ ],
+ [
+ 'code' => 'OperationDenied.ResourceShareExist',
+ 'message' => 'The operation is not allowed because the resource sharing already exists.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the resource sharing already exists.',
+ ],
+ [
+ 'code' => 'OperationDenied.ResourceTypeIsNotCustom',
+ 'message' => 'The operation is not allowed because the resource type is not Custom.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the resource type is not Custom.',
+ ],
+ [
+ 'code' => 'OperationDenied.SharedResourceDiscoveryAssociated',
+ 'message' => 'The operation is not allowed because the IPAM is associated with a shared resource discovery.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the IPAM is associated with a shared resource discovery.',
+ ],
+ [
+ 'code' => 'OperationDenied.SourceCidrIsNull',
+ 'message' => 'The operation is not allowed because the source CIDR is null.',
+ 'http_code' => 400,
+ 'description' => 'The parent pool does not have a CIDR block.',
+ ],
+ [
+ 'code' => 'OperationDenied.Unauthorized',
+ 'message' => 'The operation is denied because the user is not authorized.',
+ 'http_code' => 400,
+ 'description' => 'The operation is denied because the user is not authorized.',
+ ],
+ [
+ 'code' => 'OperationDenied.UnexpectedResourceType',
+ 'message' => 'The operation is not allowed because the resource type is unexpected.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the resource type is unexpected.',
+ ],
+ [
+ 'code' => 'OperationDenied.UnexpectedType',
+ 'message' => 'The operation is not allowed because the input type is unexpected.',
+ 'http_code' => 400,
+ 'description' => 'The operation is not allowed because the input type is unexpected.',
+ ],
+ [
+ 'code' => 'OperationFailed.AccountBalanceInsufficient',
+ 'message' => 'The account balance of this user is insufficient to place the order.',
+ 'http_code' => 400,
+ 'description' => 'The account balance of this user is insufficient to place the order.',
+ ],
+ [
+ 'code' => 'OperationFailed.AliGroupUserCanNotBuyInnerCommodity',
+ 'message' => 'IPAM has no group cloud product label, and users within the group are not allowed to purchase.',
+ 'http_code' => 400,
+ 'description' => 'IPAM does not have a merchandise tag and cannot be purchased by an internal group user.',
+ ],
+ [
+ 'code' => 'OperationFailed.BasicInfoUncompleted',
+ 'message' => 'You have not completed your basic personal information, please complete the information and try again.',
+ 'http_code' => 400,
+ 'description' => 'Your basic information is incomplete. Specify the information and try again.',
+ ],
+ [
+ 'code' => 'OperationFailed.ExceedPurchaseLimit',
+ 'message' => 'You have reached the limit of purchase quantity.',
+ 'http_code' => 400,
+ 'description' => 'The purchase limit is reached.',
+ ],
+ [
+ 'code' => 'OperationFailed.IpamPoolExist',
+ 'message' => 'The operation is failed because user IPAM pool exist.',
+ 'http_code' => 400,
+ 'description' => 'The operation failed because IPAM has a user-created address pool.',
+ ],
+ [
+ 'code' => 'OperationFailed.IpamScopeExist',
+ 'message' => 'The operation is failed because user IPAM scope exist.',
+ 'http_code' => 400,
+ 'description' => 'The operation failed because a user-defined scope exists.',
+ ],
+ [
+ 'code' => 'OperationFailed.OperatingRegionsNeedIncludeIpamRegion',
+ 'message' => 'The operating regions do not contain IPAM region.',
+ 'http_code' => 400,
+ 'description' => 'The operating regions do not contain IPAM region.',
+ ],
+ [
+ 'code' => 'OptInRequired.Ipam',
+ 'message' => 'You are not authorized to use the requested service of IPAM. Ensure that you have subscribed to the service you are trying to use.',
+ 'http_code' => 400,
+ 'description' => 'You are not authorized to use the requested service of IPAM. Ensure that you have subscribed to the service you are trying to use.',
+ ],
+ [
+ 'code' => 'Order.NoRealNameAuthentication',
+ 'message' => 'Real-name verification has not been completed for the account.',
+ 'http_code' => 400,
+ 'description' => 'You have not performed real-name authentication. Please go to the account center to complete real-name authentication.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.IpamCidrQuotaPerIpamPool',
+ 'message' => 'The quota of ipamCidrQuotaPerIpamPool count is exceeded.',
+ 'http_code' => 400,
+ 'description' => 'The number of CIDR blocks in the IPAM pool exceeds the upper limit.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.IpamPoolQuotaDepth',
+ 'message' => 'The quota of IpamPoolQuotaDepth count is exceeded.',
+ 'http_code' => 400,
+ 'description' => 'Maximum number of IPAM address pool depth allowed exceeds limit',
+ ],
+ [
+ 'code' => 'QuotaExceeded.IpamPublicIpv6TopPoolQuotaPerRegionIsp',
+ 'message' => 'The number of public IPv6 top pool in IPAM for this ISP owned by the user in this region exceeds the limit.',
+ 'http_code' => 400,
+ 'description' => 'The number of public IPv6 top pool in IPAM for this ISP owned by the user in this region exceeds the limit.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.IpamQuotaPerRegion',
+ 'message' => 'The quota of ipamQuotaPerRegion count is exceeded.',
+ 'http_code' => 400,
+ 'description' => 'The maximum number allowed by IPAM exceeds the limit.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.IpamResourceDiscoveryQuotaPerRegion',
+ 'message' => 'The number of non-shared IPAM resource discoveries owned by the user in this region exceeds the limit.',
+ 'http_code' => 400,
+ 'description' => 'The number of non-shared IPAM resource discoveries owned by the user in this region exceeds the limit.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.IpamScopeQuotaPerIpam',
+ 'message' => 'The quota of ipamScopeQuotaPerIpam count is exceeded.',
+ 'http_code' => 400,
+ 'description' => 'The maximum number allowed for the IPAM scope of action exceeds the limit.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.IpamSubPoolQuotaPerIpamPool',
+ 'message' => 'The quota of ipamSubPoolQuotaPerIpamPool count is exceeded.',
+ 'http_code' => 400,
+ 'description' => 'The number of sub-pools for the IPAM pool exceeds the limit.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.MemberAccount',
+ 'message' => 'The operation is not allowed because the number of % managed by IPAM has exceeded the limit, %s/%s.',
+ 'http_code' => 400,
+ 'description' => 'The member account managed by IPAM trusted service exceeds the quota limit.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.ResourceSharePerIpamPool',
+ 'message' => 'The IPAM pool exceeds the limit for sharing.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM pool exceeds the limit for sharing.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.ResourceSharePerIpamResourceDiscovery',
+ 'message' => 'The IPAM resource discovery exceeds the limit for sharing.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM resource discovery exceeds the limit for sharing.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.SharedIpamPoolPerUser',
+ 'message' => 'The number of shared IPAM pools owned by a user exceeds the limit.',
+ 'http_code' => 400,
+ 'description' => 'The number of shared IPAM pools owned by a user exceeds the limit.',
+ ],
+ [
+ 'code' => 'QuotaExceeded.SharedIpamResourceDiscoveryPerUser',
+ 'message' => 'The number of shared IPAM resource discoveries owned by a user exceeds the limit.',
+ 'http_code' => 400,
+ 'description' => 'The number of shared IPAM resource discoveries owned by a user exceeds the limit.',
+ ],
+ [
+ 'code' => 'ResourceNotEnough.IpamPoolCidr',
+ 'message' => 'The specified resource of IPAM pool CIDR is not enough.',
+ 'http_code' => 400,
+ 'description' => 'The specified resource of IPAM pool CIDR is not enough.',
+ ],
+ [
+ 'code' => 'ResourceNotFound.Ipam',
+ 'message' => 'The specified resource of ipam is not found.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM entered does not exist.',
+ ],
+ [
+ 'code' => 'ResourceNotFound.IpamDiscoveredResource',
+ 'message' => 'The queried %s is not found among IPAM discovered resources.',
+ 'http_code' => 400,
+ 'description' => 'The queried %s is not found among IPAM discovered resources.',
+ ],
+ [
+ 'code' => 'ResourceNotFound.IpamPool',
+ 'message' => 'The dependent IPAM pool is not found.',
+ 'http_code' => 404,
+ 'description' => 'The IPAM pool does not exist.',
+ ],
+ [
+ 'code' => 'ResourceNotFound.IpamPoolAllocation',
+ 'message' => 'The specified resource of IPAM pool allocation is not found.',
+ 'http_code' => 400,
+ 'description' => 'The specified allocation does not exist.',
+ ],
+ [
+ 'code' => 'ResourceNotFound.IpamPoolCidr',
+ 'message' => 'The specified resource of IPAM pool CIDR is not found.',
+ 'http_code' => 400,
+ 'description' => 'The CIDR block of the IPAM pool does not exist.',
+ ],
+ [
+ 'code' => 'ResourceNotFound.IpamResourceDiscovery',
+ 'message' => 'The dependent instance of IPAM resource discovery is not found.',
+ 'http_code' => 400,
+ 'description' => 'The dependent instance of IPAM resource discovery is not found.',
+ ],
+ [
+ 'code' => 'ResourceNotFound.IpamScope',
+ 'message' => 'The specified resource of IPAM scope is not found.',
+ 'http_code' => 400,
+ 'description' => 'The input IPAM scope does not exist.',
+ ],
+ [
+ 'code' => 'ResourceNotFound.ResourceDiscoveryAssociation',
+ 'message' => 'You cannot disassociate from the resource discovery because no association exists.',
+ 'http_code' => 400,
+ 'description' => 'You cannot disassociate from the resource discovery because no association exists.',
+ ],
+ [
+ 'code' => 'ResourceNotFound.SourceIpamPool',
+ 'message' => 'The dependent source IPAM pool is not found.',
+ 'http_code' => 400,
+ 'description' => 'The dependent resource source IPAM Pool does not exist.',
+ ],
+ [
+ 'code' => 'UnsupportedFeature.AddCidrForIpamPrivateIpv6Pool',
+ 'message' => 'Adding CIDR for IPAM private IPv6 pool is not supported for this user.',
+ 'http_code' => 400,
+ 'description' => 'Adding CIDR for IPAM private IPv6 pool is not supported for this user.',
+ ],
+ [
+ 'code' => 'UnsupportedFeature.AddUlaCidrForIpamPublicIpv6Pool',
+ 'message' => 'Adding ULA CIDR for IPAM public IPv6 pool is not supported.',
+ 'http_code' => 400,
+ 'description' => 'Adding ULA CIDR for IPAM public IPv6 pool is not supported.',
+ ],
+ [
+ 'code' => 'UnsupportedFeature.Ipam',
+ 'message' => 'IPAM is not supported in this region.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM feature is not supported in this region.',
+ ],
+ [
+ 'code' => 'UnsupportedFeature.IpamIpv6',
+ 'message' => 'The feature of IPv6 is not supported in this region.',
+ 'http_code' => 400,
+ 'description' => 'The feature of IPv6 is not supported in this region.',
+ ],
+ [
+ 'code' => 'UnsupportedFeature.IpamPublicIpv4Pool',
+ 'message' => 'The feature of public IPv4 pool is not supported in IPAM.',
+ 'http_code' => 400,
+ 'description' => 'The feature of public IPv4 pool is not supported in IPAM.',
+ ],
+ [
+ 'code' => 'UnsupportedFeature.Ipv6Isp',
+ 'message' => 'The Ipv6Isp feature is not supported.',
+ 'http_code' => 400,
+ 'description' => 'The Ipv6Isp feature is not supported.',
+ ],
+ [
+ 'code' => 'UnsupportedFeature.PublicIpamScopeType',
+ 'message' => 'The feature of PublicIpamScopeType is not supported.',
+ 'http_code' => 400,
+ 'description' => 'The IPAM you specified does not support the creation of public scope.',
+ ],
+ [
+ 'code' => 'UnsupportedRegion.Ipam',
+ 'message' => 'Ipam is not supported in this region.',
+ 'http_code' => 400,
+ 'description' => 'IPAM is not supported in this region.',
+ ],
+ [
+ 'code' => 'UnsupportedRegion.Ipv6Isp',
+ 'message' => 'The current region does not support this feature.',
+ 'http_code' => 400,
+ 'description' => 'The current region does not support this feature.',
+ ],
+ ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamResourceDiscoveryAssociations',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DissociateIpamResourceDiscovery',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamPools',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListTagResources',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpam',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UntagResources',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamPoolAllocations',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'GetVpcIpamServiceStatus',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamPoolCidrs',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'AssociateIpamResourceDiscovery',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpamPool',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamResourceDiscovery',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamPool',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpamPoolAllocation',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamResourceCidrs',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpamScope',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'OpenVpcIpamService',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpamResourceDiscovery',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpamPoolAllocation',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'GetIpamPoolNextAvailableCidr',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamPoolCidr',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'AddIpamPoolCidr',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpam',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpams',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamPoolAllocation',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpamScope',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'GetIpamPoolAllocation',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamResourceDiscoveries',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'DeleteIpamScope',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpam',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamDiscoveredResource',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'TagResources',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ListIpamScopes',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'CreateIpamResourceDiscovery',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'ChangeResourceGroup',
+ ],
+ [
+ 'threshold' => '300',
+ 'countWindow' => 60,
+ 'regionId' => '*',
+ 'api' => 'UpdateIpamPool',
+ ],
+ ],
+ ],
+ 'ram' => [
+ 'productCode' => 'VpcIpam',
+ 'productName' => 'Virtual Private Cloud',
+ 'ramCodes' => [
+ 'vpc',
+ ],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [],
+ 'ramActions' => [],
+ 'resourceTypes' => [],
+ ],
+];