diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/resourcedirectorymaster/2022-04-19/api-docs.php | |
| download | acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.tar.gz acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/en_us/resourcedirectorymaster/2022-04-19/api-docs.php')
| -rw-r--r-- | data/en_us/resourcedirectorymaster/2022-04-19/api-docs.php | 10323 |
1 files changed, 10323 insertions, 0 deletions
diff --git a/data/en_us/resourcedirectorymaster/2022-04-19/api-docs.php b/data/en_us/resourcedirectorymaster/2022-04-19/api-docs.php new file mode 100644 index 0000000..4cdf66a --- /dev/null +++ b/data/en_us/resourcedirectorymaster/2022-04-19/api-docs.php @@ -0,0 +1,10323 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'ResourceDirectoryMaster', + 'version' => '2022-04-19', + ], + 'directories' => [ + [ + 'id' => 349700, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'EnableResourceDirectory', + 'SendVerificationCodeForEnableRD', + 'GetResourceDirectory', + 'DestroyResourceDirectory', + ], + ], + [ + 'id' => 349705, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'CreateFolder', + 'GetFolder', + 'DeleteFolder', + 'ListFoldersForParent', + 'UpdateFolder', + 'ListAncestors', + 'ListAuthorizedFolders', + ], + ], + [ + 'id' => 349713, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'CreateResourceAccount', + 'GetAccount', + 'MoveAccount', + 'UpdateAccount', + 'ListAccounts', + 'RemoveCloudAccount', + 'ListAccountsForParent', + 'GetPayerForAccount', + 'UpdatePayerForAccount', + 'InviteAccountToResourceDirectory', + 'AcceptHandshake', + 'GetHandshake', + 'DeclineHandshake', + 'CancelHandshake', + 'ListHandshakesForAccount', + 'ListHandshakesForResourceDirectory', + 'SendVerificationCodeForBindSecureMobilePhone', + 'BindSecureMobilePhone', + 'SetMemberDeletionPermission', + 'SetMemberDisplayNameSyncStatus', + 'CheckAccountDelete', + 'GetAccountDeletionCheckResult', + 'DeleteAccount', + 'GetAccountDeletionStatus', + 'TagResources', + 'UntagResources', + 'ListTagResources', + 'ListTagKeys', + 'ListTagValues', + 'ChangeAccountEmail', + 'RetryChangeAccountEmail', + 'CancelChangeAccountEmail', + 'AddMessageContact', + 'SendEmailVerificationForMessageContact', + 'SendPhoneVerificationForMessageContact', + 'ListMessageContactVerifications', + 'AssociateMembers', + 'DisassociateMembers', + 'GetMessageContact', + 'ListMessageContacts', + 'DeleteMessageContact', + 'GetMessageContactDeletionStatus', + 'UpdateMessageContact', + 'CancelMessageContactUpdate', + 'PrecheckForConsolidatedBillingAccount', + 'ListAuthorizedAccounts', + ], + ], + [ + 'id' => 349760, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'EnableControlPolicy', + 'DisableControlPolicy', + 'GetControlPolicyEnablementStatus', + 'CreateControlPolicy', + 'GetControlPolicy', + 'ListControlPolicies', + 'UpdateControlPolicy', + 'DeleteControlPolicy', + 'AttachControlPolicy', + 'DetachControlPolicy', + 'ListControlPolicyAttachmentsForTarget', + 'ListTargetAttachmentsForControlPolicy', + ], + ], + [ + 'id' => 349773, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'ListTrustedServiceStatus', + 'RegisterDelegatedAdministrator', + 'DeregisterDelegatedAdministrator', + 'ListDelegatedAdministrators', + 'ListDelegatedServicesForAccount', + ], + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'EnableResourceDirectory' => [ + 'summary' => 'Enables a resource directory.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'MAName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the newly created account.'."\n" + ."\n" + .'Specify the name in the `<Prefix>@rdadmin.aliyunid.com` format. The prefix can contain letters, digits, and special characters but cannot contain consecutive special characters. The prefix must start and end with a letter or digit. Valid special characters include underscores (`_`), periods (.), and hyphens (-). The prefix must be 2 to 50 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[email protected]', + ], + ], + [ + 'name' => 'MASecureMobilePhone', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mobile phone number that is bound to the newly created account.'."\n" + ."\n" + .'If you leave this parameter empty, the mobile phone number that is bound to the current account is used. The mobile phone number you specify must be the same as the mobile phone number that you specify when you call the [SendVerificationCodeForEnableRD](~~SendVerificationCodeForEnableRD~~) operation to obtain a verification code.'."\n" + ."\n" + .'Specify the mobile phone number in the `<Country code>-<Mobile phone number>` format.'."\n" + ."\n" + .'> Mobile phone numbers in the `86-<Mobile phone number>` format in the Chinese mainland are not supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'xx-13900001234', + ], + ], + [ + 'name' => 'VerificationCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The verification code.'."\n" + ."\n" + .'You can call the [SendVerificationCodeForEnableRD](~~SendVerificationCodeForEnableRD~~) operation to obtain the verification code.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123456', + ], + ], + [ + 'name' => 'EnableMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mode in which you enable a resource directory. Valid values:'."\n" + ."\n" + .'* CurrentAccount: The current account is used to enable a resource directory.'."\n" + .'* NewManagementAccount: A newly created account is used to enable a resource directory. If you select this mode, you must configure the `MAName`, `MASecureMobilePhone`, and `VerificationCode` parameters.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'CurrentAccount', + ], + ], + [ + '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.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'ResourceDirectory' => [ + 'description' => 'The information about the resource directory.'."\n", + 'type' => 'object', + 'properties' => [ + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-54****', + ], + 'MasterAccountId' => [ + 'description' => 'The ID of the management account.'."\n", + 'type' => 'string', + 'example' => '507408460615****', + ], + 'MasterAccountName' => [ + 'description' => 'The name of the management account.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'RootFolderId' => [ + 'description' => 'The ID of the Root folder.'."\n", + 'type' => 'string', + 'example' => 'r-G9****', + ], + 'CreateTime' => [ + 'description' => 'The time when the resource directory was enabled.'."\n", + 'type' => 'string', + 'example' => '2021-12-08T02:15:31.744Z', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'EC2FE94D-A4A2-51A1-A493-5C273A36C46A', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 409 => [ + [ + 'errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', + 'errorMessage' => 'The specified account is an Alibaba Cloud account or already exists in another resource directory.', + ], + [ + 'errorCode' => 'Invalid.EnterpriseName', + 'errorMessage' => 'You must specify the enterprise name.', + ], + [ + 'errorCode' => 'EnterpriseRealNameVerificationError', + 'errorMessage' => 'The specified account does not pass enterprise real-name verification. We recommend you first complete enterprise real-name verification for the account.', + ], + [ + 'errorCode' => 'EntityAlreadyExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is already enabled. We recommend that you do not enable the resource directory again.', + ], + [ + 'errorCode' => 'InvalidParameter.ManagementAccountName.AlreadyUsed', + 'errorMessage' => 'The ManagementAccountName has been used.', + ], + [ + 'errorCode' => 'Invalid.VerificationCode', + 'errorMessage' => 'The verification code is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.ManagementAccountName', + 'errorMessage' => 'The management account name is in the wrong format.', + ], + [ + 'errorCode' => 'InvalidParameter.ManagementAccountSecurityInfo', + 'errorMessage' => 'The parameter management account secure mobile phone is invalid.', + ], + [ + 'errorCode' => 'MissingSecureMobilePhone', + 'errorMessage' => 'Secure mobile phone is missing.', + ], + [ + 'errorCode' => 'MissingSecurityInfo', + 'errorMessage' => 'Security info is missing.', + ], + [ + 'errorCode' => 'NotSupport.Account.Site', + 'errorMessage' => 'The caller is not a China site account, which is not supported.', + ], + [ + 'errorCode' => 'Invalid.AccountType', + 'errorMessage' => 'The specified profile type of account is invalid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ResourceDirectory\\": {\\n \\"ResourceDirectoryId\\": \\"rd-54****\\",\\n \\"MasterAccountId\\": \\"507408460615****\\",\\n \\"MasterAccountName\\": \\"[email protected]\\",\\n \\"RootFolderId\\": \\"r-G9****\\",\\n \\"CreateTime\\": \\"2021-12-08T02:15:31.744Z\\"\\n },\\n \\"RequestId\\": \\"EC2FE94D-A4A2-51A1-A493-5C273A36C46A\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableResourceDirectoryResponse>\\n <RequestId>EC2FE94D-A4A2-51A1-A493-5C273A36C46A</RequestId>\\n <ResourceDirectory>\\n <ResourceDirectoryId>rd-54****</ResourceDirectoryId>\\n <MasterAccountName>[email protected]</MasterAccountName>\\n <RootFolderId>r-G9****</RootFolderId>\\n <CreateTime>2021-12-08T02:15:31.744Z</CreateTime>\\n <MasterAccountId>507408460615****</MasterAccountId>\\n </ResourceDirectory>\\n</EnableResourceDirectoryResponse>","errorExample":""}]', + 'title' => 'EnableResourceDirectory', + 'description' => 'You can use the current account or a newly created account to enable a resource directory. For more information, see [Enable a resource directory](~~111215~~).'."\n", + ], + 'SendVerificationCodeForEnableRD' => [ + 'summary' => 'Sends a verification code to the mobile phone number bound to a newly created account when you use the account to enable a resource directory.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'SecureMobilePhone', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mobile phone number that is bound to the newly created account. If you leave this parameter empty, the mobile phone number that is bound to the current account is used.'."\n" + ."\n" + .'Specify the mobile phone number in the `<Country code>-<Mobile phone number>` format.'."\n" + ."\n" + .'> Mobile phone numbers in the `86-<Mobile phone number>` format in the Chinese mainland are not supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'xx-13900001234', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'EC2FE94D-A4A2-51A1-A493-5C273A36C46A', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 409 => [ + [ + 'errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', + 'errorMessage' => 'The specified account is an Alibaba Cloud account or already exists in another resource directory.', + ], + [ + 'errorCode' => 'EntityAlreadyExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is already enabled. We recommend that you do not enable the resource directory again.', + ], + [ + 'errorCode' => 'SendValidateCodeExceedsLimitForAccount', + 'errorMessage' => 'For the same account, the number of verification codes sent exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter.MobileCountryCode', + 'errorMessage' => 'The current site does not support the country code.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC2FE94D-A4A2-51A1-A493-5C273A36C46A\\"\\n}","errorExample":""},{"type":"xml","example":"<SendVerificationCodeForEnableRDResponse>\\n <RequestId>EC2FE94D-A4A2-51A1-A493-5C273A36C46A</RequestId>\\n</SendVerificationCodeForEnableRDResponse>","errorExample":""}]', + 'title' => 'SendVerificationCodeForEnableRD', + 'description' => 'Each Alibaba Cloud account can be used to send a maximum of 100 verification codes per day.'."\n", + ], + 'GetResourceDirectory' => [ + 'summary' => 'Queries the information of a resource directory. If you use a management account to call this API operation, the system returns the information of the resource directory that is enabled by using the management account. If you use a member to call this operation, the system returns the information of', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => 'CD76D376-2517-4924-92C5-DBC52262F93A', + ], + 'ResourceDirectory' => [ + 'description' => 'The information about the resource directory.'."\n", + 'type' => 'object', + 'properties' => [ + 'RootFolderId' => [ + 'description' => 'The ID of the Root folder.', + 'type' => 'string', + 'example' => 'r-Zo****', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.', + 'type' => 'string', + 'example' => 'rd-St****', + ], + 'CreateTime' => [ + 'description' => 'The time when the resource directory was enabled.', + 'type' => 'string', + 'example' => '2019-02-18T15:32:10.473Z', + ], + 'MasterAccountId' => [ + 'description' => 'The ID of the management account.', + 'type' => 'string', + 'example' => '172845045600****', + ], + 'MasterAccountName' => [ + 'description' => 'The name of the management account.', + 'type' => 'string', + 'example' => 'aliyun-admin', + ], + 'ControlPolicyStatus' => [ + 'description' => 'The status of the Control Policy feature. Valid values:'."\n" + ."\n" + .'- Enabled: The feature is enabled.'."\n" + .'- PendingEnable: The feature is being enabled.'."\n" + .'- Disabled: The feature is disabled.'."\n" + .'- PendingDisable: The feature is being disabled.', + 'type' => 'string', + 'example' => 'Enabled', + ], + 'MemberDeletionStatus' => [ + 'description' => 'The status of the member deletion feature. Valid values:'."\n" + ."\n" + .'- Enabled: The feature is enabled. You can call the [DeleteAccount](~~DeleteAccount~~) operation to delete members of the resource account type.'."\n" + .'- Disabled: The feature is disabled. You cannot delete members of the resource account type.', + 'type' => 'string', + 'example' => 'Enabled', + ], + 'IdentityInformation' => [ + 'description' => 'The real-name verification information.', + 'type' => 'string', + 'example' => '*** Co., Ltd.', + ], + 'MemberAccountDisplayNameSyncStatus' => [ + 'description' => 'The status of the Member Display Name Synchronization feature. Valid values:'."\n" + ."\n" + .'* Enabled'."\n" + .'* Disabled'."\n", + 'type' => 'string', + 'example' => 'Enabled', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ResourceDirectoryNotInUse', + 'errorMessage' => 'The specified account is not an Alibaba Cloud account or a member account of the resource directory.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CD76D376-2517-4924-92C5-DBC52262F93A\\",\\n \\"ResourceDirectory\\": {\\n \\"RootFolderId\\": \\"r-Zo****\\",\\n \\"ResourceDirectoryId\\": \\"rd-St****\\",\\n \\"CreateTime\\": \\"2019-02-18T15:32:10.473Z\\",\\n \\"MasterAccountId\\": \\"172845045600****\\",\\n \\"MasterAccountName\\": \\"aliyun-admin\\",\\n \\"ControlPolicyStatus\\": \\"Enabled\\",\\n \\"MemberDeletionStatus\\": \\"Enabled\\",\\n \\"IdentityInformation\\": \\"***有限公司\\",\\n \\"MemberAccountDisplayNameSyncStatus\\": \\"Enabled\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetResourceDirectoryResponse>\\n <RequestId>CD76D376-2517-4924-92C5-DBC52262F93A</RequestId>\\n <ResourceDirectory>\\n <RootFolderId>r-Zo****</RootFolderId>\\n <ResourceDirectoryId>rd-St****</ResourceDirectoryId>\\n <CreateTime>2019-02-18T15:32:10.473Z</CreateTime>\\n <MasterAccountId>172845045600****</MasterAccountId>\\n <MasterAccountName>aliyun-admin</MasterAccountName>\\n <ControlPolicyStatus>Enabled</ControlPolicyStatus>\\n <MemberDeletionStatus>Enabled</MemberDeletionStatus>\\n <IdentityInformation>***有限公司</IdentityInformation>\\n </ResourceDirectory>\\n</GetResourceDirectoryResponse>","errorExample":""}]', + 'title' => 'GetResourceDirectory', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DestroyResourceDirectory' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + 409 => [ + [ + 'errorCode' => 'DeleteConflict.ResourceDirectory.Account', + 'errorMessage' => 'Failed to delete the resource directory because one or more member accounts exist. We recommend that you first remove these member accounts.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DestroyResourceDirectoryResponse>\\r\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\r\\n</DestroyResourceDirectoryResponse>","errorExample":""}]', + 'title' => 'DestroyResourceDirectory', + 'summary' => 'Disables a resource directory. This operation cannot be undone. Therefore, proceed with caution.', + 'description' => 'Before you disable a resource directory, you must make sure that the following requirements are met:'."\n" + ."\n" + .'* All members of the cloud account type in the resource directory are removed. You can call the [RemoveCloudAccount](~~RemoveCloudAccount~~) operation to remove a member of the cloud account type.'."\n" + .'* All folders except the Root folder are deleted from the resource directory. You can call the [DeleteFolder](~~DeleteFolder~~) operation to delete a folder.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateFolder' => [ + 'summary' => 'Creates a folder.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ParentFolderId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the parent folder.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'r-b1****', + ], + ], + [ + 'name' => 'FolderName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the folder.'."\n" + ."\n" + .'The name must be 1 to 24 characters in length and can contain letters, digits, underscores (\\_), periods (.),and hyphens (-).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'rdFolder', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tag to add to the folder.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag to add to the folder.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k1', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Folder' => [ + 'description' => 'The information about the folder.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreateTime' => [ + 'description' => 'The time when the folder was created.'."\n", + 'type' => 'string', + 'example' => '2019-02-19T09:34:50.757Z', + ], + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-u8B321****', + ], + 'FolderName' => [ + 'description' => 'The name of the folder.'."\n", + 'type' => 'string', + 'example' => 'rdFolder', + ], + 'ParentFolderId' => [ + 'description' => 'The ID of the parent folder.'."\n", + 'type' => 'string', + 'example' => 'r-b1****', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C2CBCA30-C8DD-423E-B4AD-4FB694C9180C', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ParentFolderId', + 'errorMessage' => 'The ParentFolderId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.Folder.Name', + 'errorMessage' => 'You must specify the resource folder name.', + ], + [ + 'errorCode' => 'InvalidParameter.Folder.Name', + 'errorMessage' => 'The Name of folder is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Folder.Name.Length', + 'errorMessage' => 'The Name of folder exceeds the length limit.', + ], + [ + 'errorCode' => 'InvalidParameter.Folder.Name.AlreadyUsed', + 'errorMessage' => 'The name already exists under the same parent. Please change to another name.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'LimitExceeded.Folder.Depth', + 'errorMessage' => 'The folder depth exceeds the limit of 5.', + ], + [ + 'errorCode' => 'QuotaExceeded.Folder.Count', + 'errorMessage' => 'The number of folders exceeds the quota.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Folder\\": {\\n \\"CreateTime\\": \\"2019-02-19T09:34:50.757Z\\",\\n \\"FolderId\\": \\"fd-u8B321****\\",\\n \\"FolderName\\": \\"rdFolder\\",\\n \\"ParentFolderId\\": \\"r-b1****\\"\\n },\\n \\"RequestId\\": \\"C2CBCA30-C8DD-423E-B4AD-4FB694C9180C\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<CreateFolderResponse>\\r\\n <Folder>\\r\\n <FolderName>rdFolder</FolderName> \\r\\n <ParentFolderId>r-b1****</ParentFolderId>\\r\\n <FolderId>fd-u8B321****</FolderId>\\r\\n <CreateTime>2019-02-19T09:34:50.757Z</CreateTime>\\r\\n </Folder>\\r\\n <RequestId>C2CBCA30-C8DD-423E-B4AD-4FB694C9180C</RequestId>\\r\\n</CreateFolderResponse>","errorExample":""}]', + 'title' => 'CreateFolder', + 'description' => 'A maximum of five levels of folders can be created under the Root folder.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetFolder' => [ + 'summary' => 'Queries the information about a folder.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'FolderId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fd-Jyl5U7****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C2CBCA30-C8DD-423E-B4AD-4FB694C9180C', + ], + 'Folder' => [ + 'description' => 'The information about the folder.'."\n", + 'type' => 'object', + 'properties' => [ + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-Jyl5U7****', + ], + 'CreateTime' => [ + 'description' => 'The time when the folder was created.'."\n", + 'type' => 'string', + 'example' => '2021-06-15T06:39:08.521Z', + ], + 'ParentFolderId' => [ + 'description' => 'The ID of the parent folder.'."\n", + 'type' => 'string', + 'example' => 'r-Wm****', + ], + 'FolderName' => [ + 'description' => 'The name of the folder.'."\n", + 'type' => 'string', + 'example' => 'Applications', + ], + 'ResourceDirectoryPath' => [ + 'description' => 'The path of the folder in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-3G****/r-Wm****/fd-Jyl5U7****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.FolderId', + 'errorMessage' => 'You must specify FolderId.', + ], + [ + 'errorCode' => 'InvalidParameter.FolderId', + 'errorMessage' => 'The FolderId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C2CBCA30-C8DD-423E-B4AD-4FB694C9180C\\",\\n \\"Folder\\": {\\n \\"FolderId\\": \\"fd-Jyl5U7****\\",\\n \\"CreateTime\\": \\"2021-06-15T06:39:08.521Z\\",\\n \\"ParentFolderId\\": \\"r-Wm****\\",\\n \\"FolderName\\": \\"Applications\\",\\n \\"ResourceDirectoryPath\\": \\"rd-3G****/r-Wm****/fd-Jyl5U7****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<GetFolderResponse>\\r\\n\\t<RequestId>88EF473E-D5CD-589F-AAB3-F6E0D12AECA3</RequestId>\\r\\n\\t<Folder>\\r\\n\\t\\t<CreateTime>2021-06-15T06:39:08.521Z</CreateTime>\\r\\n\\t\\t<FolderId>fd-Jyl5U7****</FolderId>\\r\\n\\t\\t<FolderName>Applications</FolderName>\\r\\n\\t\\t<ParentFolderId>r-Wm****</ParentFolderId>\\r\\n\\t\\t<ResourceDirectoryPath>rd-3G****/r-Wm****/fd-Jyl5U7****</ResourceDirectoryPath>\\r\\n\\t</Folder>\\r\\n</GetFolderResponse>","errorExample":""}]', + 'title' => 'GetFolder', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteFolder' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'FolderId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fd-ae1in7****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.FolderId', + 'errorMessage' => 'You must specify FolderId.', + ], + [ + 'errorCode' => 'InvalidParameter.FolderId', + 'errorMessage' => 'The FolderId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'DeleteConflict.Folder.SubFolder', + 'errorMessage' => 'This folder has sub folders.', + ], + [ + 'errorCode' => 'DeleteConflict.Folder.Account', + 'errorMessage' => 'This folder has accounts.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeleteFolderResponse>\\r\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\r\\n</DeleteFolderResponse>","errorExample":""}]', + 'title' => 'DeleteFolder', + 'summary' => 'Deletes a folder.', + 'description' => 'Before you delete a folder, you must make sure that the folder does not contain members or subfolders.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListFoldersForParent' => [ + 'summary' => 'Queries the information of all subfolders of a folder.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ParentFolderId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the parent folder.'."\n" + ."\n" + .'If you leave this parameter empty, the information of the first-level subfolders of the Root folder is queried.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'r-b1****', + ], + ], + [ + 'name' => 'QueryKeyword', + 'in' => 'query', + 'schema' => [ + 'description' => 'The keyword used for the query, such as a folder name.'."\n" + ."\n" + .'Fuzzy match is supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rdFolder', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return.'."\n" + ."\n" + .'Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags. This parameter specifies a filter condition.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k1', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Folders' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Folder' => [ + 'description' => 'The folders.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a folder.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreateTime' => [ + 'description' => 'The time when the folder was created.'."\n", + 'type' => 'string', + 'example' => '2015-01-23T12:33:18Z', + ], + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'rd-evic31****', + ], + 'FolderName' => [ + 'description' => 'The name of the folder.'."\n", + 'type' => 'string', + 'example' => 'project-1', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags added to the folder.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag added to the folder.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of the tag.'."\n", + 'type' => 'string', + 'example' => 'k1', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'example' => 'v1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ParentFolderId', + 'errorMessage' => 'The ParentFolderId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Folders\\": {\\n \\"Folder\\": [\\n {\\n \\"CreateTime\\": \\"2015-01-23T12:33:18Z\\",\\n \\"FolderId\\": \\"rd-evic31****\\",\\n \\"FolderName\\": \\"project-1\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"k1\\",\\n \\"Value\\": \\"v1\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 5,\\n \\"RequestId\\": \\"7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\",\\n \\"TotalCount\\": 2\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ListFoldersForParentResponse>\\r\\n <RequestId>7B8A4E7D-6CFF-471D-84DF-195A7A241ECB</RequestId>\\r\\n <PageNumber>1</PageNumber>\\r\\n <PageSize>5</PageSize>\\r\\n <TotalCount>2</TotalCount>\\r\\n <Folders>\\r\\n <Folder>\\r\\n <FolderId>rd-evic31****</FolderId>\\r\\n <FolderName>project-1</FolderName>\\r\\n <CreateTime>2015-01-23T12:33:18Z</CreateTime>\\r\\n </Folder>\\r\\n <Folder>\\r\\n <FolderId>fd-evic31****</FolderId>\\r\\n <FolderName>project-2</FolderName>\\r\\n <CreateTime>2015-01-23T12:33:18Z</CreateTime>\\r\\n </Folder>\\r\\n </Folders>\\r\\n</ListFoldersForParentResponse>","errorExample":""}]', + 'title' => 'ListFoldersForParent', + 'description' => 'You can call this API operation to view the information of only the first-level subfolders of a folder.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateFolder' => [ + 'summary' => 'Changes the name of a folder.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'FolderId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fd-u8B321****', + ], + ], + [ + 'name' => 'NewFolderName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new name of the folder.'."\n" + ."\n" + .'The name must be 1 to 24 characters in length and can contain letters, digits, underscores (\\_), periods (.), and hyphens (-).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'rdFolder', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C2CBCA30-C8DD-423E-B4AD-4FB694C9180C', + ], + 'Folder' => [ + 'description' => 'The information about the folder.'."\n", + 'type' => 'object', + 'properties' => [ + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-u8B321****', + ], + 'CreateTime' => [ + 'description' => 'The time when the folder was created.'."\n", + 'type' => 'string', + 'example' => '2019-02-19T09:34:50.757Z', + ], + 'ParentFolderId' => [ + 'description' => 'The ID of the parent folder.'."\n", + 'type' => 'string', + 'example' => 'r-b1****', + ], + 'FolderName' => [ + 'description' => 'The name of the folder.'."\n", + 'type' => 'string', + 'example' => 'rdFolder', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.Folder.Name', + 'errorMessage' => 'You must specify the resource folder name.', + ], + [ + 'errorCode' => 'InvalidParameter.Folder.Name', + 'errorMessage' => 'The Name of folder is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Folder.Name.Length', + 'errorMessage' => 'The Name of folder exceeds the length limit.', + ], + [ + 'errorCode' => 'MissingParameter.FolderId', + 'errorMessage' => 'You must specify FolderId.', + ], + [ + 'errorCode' => 'InvalidParameter.FolderId', + 'errorMessage' => 'The FolderId is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Folder.Name.AlreadyUsed', + 'errorMessage' => 'The name already exists under the same parent. Please change to another name.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'LimitExceeded.Folder.Depth', + 'errorMessage' => 'The folder depth exceeds the limit of 5.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C2CBCA30-C8DD-423E-B4AD-4FB694C9180C\\",\\n \\"Folder\\": {\\n \\"FolderId\\": \\"fd-u8B321****\\",\\n \\"CreateTime\\": \\"2019-02-19T09:34:50.757Z\\",\\n \\"ParentFolderId\\": \\"r-b1****\\",\\n \\"FolderName\\": \\"rdFolder\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<UpdateFolderResponse>\\r\\n <Folder>\\r\\n <FolderName>rdFolder</FolderName>\\r\\n <ParentFolderId>r-b1****</ParentFolderId>\\r\\n <FolderId>fd-u8B321****</FolderId>\\r\\n <CreateTime>2019-02-19T09:34:50.757Z</CreateTime>\\r\\n </Folder>\\r\\n <RequestId>C2CBCA30-C8DD-423E-B4AD-4FB694C9180C</RequestId>\\r\\n</UpdateFolderResponse>","errorExample":""}]', + 'title' => 'UpdateFolder', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListAncestors' => [ + 'summary' => 'Queries the information of all the parent folders of a specified folder.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'ChildId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the subfolder.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fd-i1c9nr****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '83AFBEB6-DC03-406E-9686-867461FF6698', + ], + 'Folders' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Folder' => [ + 'description' => 'The information of the folders.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information of a folder.'."\n", + 'type' => 'object', + 'properties' => [ + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'r-b1****', + ], + 'CreateTime' => [ + 'description' => 'The time when the folder was created.'."\n", + 'type' => 'string', + 'example' => '2019-01-18T10:03:35.217Z', + ], + 'FolderName' => [ + 'description' => 'The name of the folder.'."\n", + 'type' => 'string', + 'example' => 'root', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.ChildId', + 'errorMessage' => 'You must specify ChildId.', + ], + [ + 'errorCode' => 'InvalidParameter.ChildId', + 'errorMessage' => 'The ChildId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"83AFBEB6-DC03-406E-9686-867461FF6698\\",\\n \\"Folders\\": {\\n \\"Folder\\": [\\n {\\n \\"FolderId\\": \\"r-b1****\\",\\n \\"CreateTime\\": \\"2019-01-18T10:03:35.217Z\\",\\n \\"FolderName\\": \\"root\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ListAncestorsResponse>\\r\\n <Folders>\\r\\n <Folder>\\r\\n <FolderName>root</FolderName>\\r\\n <FolderId>r-b1****</FolderId>\\r\\n <CreateTime>2019-01-18T10:03:35.217Z</CreateTime>\\r\\n </Folder>\\r\\n <Folder>\\r\\n <FolderName>myFirstFd</FolderName>\\r\\n <FolderId>fd-0adR35****</FolderId>\\r\\n <CreateTime>2019-01-23T08:48:37.530Z</CreateTime>\\r\\n </Folder>\\r\\n </Folders>\\r\\n <RequestId>83AFBEB6-DC03-406E-9686-867461FF6698</RequestId>\\r\\n</ListAncestorsResponse>","errorExample":""}]', + 'title' => 'ListAncestors', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListAuthorizedFolders' => [ + 'summary' => '列举有查询权限的资源夹列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n" + ."\n" + .'Page starts from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Folders' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Folder' => [ + 'description' => 'The folders.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The folder.'."\n", + 'type' => 'object', + 'properties' => [ + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-bVaRIG****', + ], + 'ResourceDirectoryPath' => [ + 'description' => 'The RDPath of the folder.'."\n", + 'type' => 'string', + 'example' => 'rd-k3****/r-Wm****/fd-bVaRIG****', + ], + 'FolderName' => [ + 'description' => 'The name of the folder.'."\n", + 'type' => 'string', + 'example' => 'project-1', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Folders\\": {\\n \\"Folder\\": [\\n {\\n \\"FolderId\\": \\"fd-bVaRIG****\\",\\n \\"ResourceDirectoryPath\\": \\"rd-k3****/r-Wm****/fd-bVaRIG****\\",\\n \\"FolderName\\": \\"project-1\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'description' => 'The permissions to query subfolder information refer to the permissions to call the [ListAccountsForParent](~~ListAccountsForParent~~) and [ListFoldersForParent](~~ListFoldersForParent~~) API operations.'."\n", + ], + 'CreateResourceAccount' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'DisplayName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The display name of the member.'."\n" + ."\n" + .'The name must be 2 to 50 characters in length.'."\n" + ."\n" + .'The name can contain letters, digits, underscores (\\_), periods (.), hyphens (-), and spaces.'."\n" + ."\n" + .'The name must be unique in the resource directory.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Dev', + ], + ], + [ + 'name' => 'ParentFolderId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the parent folder.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fd-r23M55****', + ], + ], + [ + 'name' => 'PayerAccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the billing account. If you leave this parameter empty, the newly created member is used as its billing account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '12323344****', + ], + ], + [ + 'name' => 'AccountNamePrefix', + 'in' => 'query', + 'schema' => [ + 'description' => 'The prefix for the Alibaba Cloud account name of the member. If you leave this parameter empty, the system randomly generates a prefix.'."\n" + ."\n" + .'The prefix must be 2 to 37 characters in length.'."\n" + ."\n" + .'The prefix can contain letters, digits, and special characters but cannot contain consecutive special characters. The prefix must start with a letter or digit and end with a letter or digit. Valid special characters include underscores (`_`), periods (.), and hyphens (`-`).'."\n" + ."\n" + .'The complete Alibaba Cloud account name of a member in a resource directory is in the @.aliyunid.com format, such as `alice@rd-3G****.aliyunid.com`.'."\n" + ."\n" + .'Each name must be unique in the resource directory.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'alice', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tag of the member.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag of the member.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k1', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'ResellAccountType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The identity type of the member. Valid values:'."\n" + ."\n" + .'* resell: The member is an account for a reseller. This is the default value. A relationship is automatically established between the member and the reseller. The management account of the resource directory must be used as the billing account of the member.'."\n" + .'* non_resell: The member is not an account for a reseller. The member is an account that is not associated with a reseller. You can directly use the account to purchase Alibaba Cloud resources. The member is used as its own billing account.'."\n" + ."\n" + .'> This parameter is available only for resellers at the international site (alibabacloud.com).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'resell', + ], + ], + [ + '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 whether an identity type can be specified for the member. If the request does not pass the dry run, an error code is returned.'."\n" + .'* false (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Account' => [ + 'description' => 'The information of the member.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the member. The value CreateSuccess indicates that the member is created.'."\n", + 'type' => 'string', + 'example' => 'CreateSuccess', + ], + 'Type' => [ + 'description' => 'The type of the member. The value ResourceAccount indicates that the member is a resource account.'."\n", + 'type' => 'string', + 'example' => 'ResourceAccount', + ], + 'DisplayName' => [ + 'description' => 'The display name of the member.'."\n", + 'type' => 'string', + 'example' => 'Dev', + ], + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-r23M55****', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-3G****', + ], + 'JoinTime' => [ + 'description' => 'The time when the member joined the resource directory. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-12-31T03:37:39.456Z', + ], + 'AccountId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'example' => '112730938585****', + ], + 'JoinMethod' => [ + 'description' => 'The way in which the member joins the resource directory. Valid values:'."\n" + ."\n" + .'* invited: The member is invited to join the resource directory.'."\n" + .'* created: The member is directly created in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'created', + ], + 'ModifyTime' => [ + 'description' => 'The time when the member was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2020-12-31T03:37:39.456Z', + ], + 'AccountName' => [ + 'description' => 'The Alibaba Cloud account name of the member.'."\n", + 'type' => 'string', + 'example' => 'alice@rd-3g****.aliyunid.com', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'B356A415-D860-43E5-865A-E2193D62BBD6', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.Account.DisplayName', + 'errorMessage' => 'You must specify DisplayName.', + ], + [ + 'errorCode' => 'InvalidParameter.Account.DisplayName', + 'errorMessage' => 'The DisplayName of account is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Account.DisplayName.Length', + 'errorMessage' => 'The DisplayName of the account exceeds the length limit.', + ], + [ + 'errorCode' => 'InvalidParameter.ParentFolderId', + 'errorMessage' => 'The ParentFolderId is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Account.AccountNamePrefix', + 'errorMessage' => 'The account name prefix is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Account.AccountNamePrefix.Length', + 'errorMessage' => 'The account name prefix exceeds the length limit.', + ], + [ + 'errorCode' => 'NotSupport.Site.Action', + 'errorMessage' => 'Site does not allow current action.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'LimitExceeded.Account', + 'errorMessage' => 'The maximum number of member accounts in a resource directory exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter.Account.DisplayName.AlreadyUsed', + 'errorMessage' => 'The displayname of account has been used.', + ], + [ + 'errorCode' => 'EntityAlreadyExists.ResourceDirectory.Account', + 'errorMessage' => 'The email address that the system generates when you create a member account already exists. Try again later.', + ], + [ + 'errorCode' => 'Invalid.PayRelation', + 'errorMessage' => 'Failed to create a member. The specified billing account is unavailable. Please change to another billing account and try again.', + ], + [ + 'errorCode' => 'NotSupport.PayerAccountInAnotherResourceDirectory', + 'errorMessage' => 'The specified settlement account does not exist in the resource directory. You must specify a valid settlement account.', + ], + [ + 'errorCode' => 'CreateAccountDisabled', + 'errorMessage' => 'The specified resource directory cannot create a new account.', + ], + [ + 'errorCode' => 'PaymentAccountEnterpriseVerifyError', + 'errorMessage' => 'The type of the payment account is not enterprise verified.', + ], + [ + 'errorCode' => 'PaymentAccountFinancialRelationshipVerifyError', + 'errorMessage' => 'The payment account must not be the beneficiary account from other financial relationships.', + ], + [ + 'errorCode' => 'PaymentAccountEnterpriseTypeError', + 'errorMessage' => 'The type of the payment account is not enterprise.', + ], + [ + 'errorCode' => 'PaymentAccountFinancialRelationshipsChangeFrequencyVerifyError', + 'errorMessage' => 'The financial relationship of payment account changes too frequently. Please try again later.', + ], + [ + 'errorCode' => 'MemberAccountVirtualCloudOperatorVerifyError', + 'errorMessage' => 'The type of the member account must not be virtual operator.', + ], + [ + 'errorCode' => 'MemberAccountResellerVerifyError', + 'errorMessage' => 'The type of the member account must not be reseller.', + ], + [ + 'errorCode' => 'PaymentAccountVirtualCloudOperatorVerifyError', + 'errorMessage' => 'The type of the payment account must not be virtual operator.', + ], + [ + 'errorCode' => 'PaymentAccountResellerVerifyError', + 'errorMessage' => 'The type of the payment account must not be reseller.', + ], + [ + 'errorCode' => 'PaymentAccountCreditIdentityTypeError', + 'errorMessage' => 'The identity of the payment account is not credit.', + ], + [ + 'errorCode' => 'InconsistentEnterpriseNameError', + 'errorMessage' => 'The enterprise name of the payment account and the member account must be consistent.', + ], + [ + 'errorCode' => 'PaymentAccountEnterpriseInvoiceError', + 'errorMessage' => 'No enterprise invoice header information is set for the payment account.', + ], + [ + 'errorCode' => 'UnknownFinancialError', + 'errorMessage' => 'An unknown financial error occurred.', + ], + [ + 'errorCode' => 'BusinessRestricted', + 'errorMessage' => 'Business is restricted. Please contact your customer service manager.', + ], + [ + 'errorCode' => 'FundAccountHasArrearsAmount', + 'errorMessage' => 'There are arrears in the current payment account. You cannot change the payment account. Please settle the arrears and try again.', + ], + [ + 'errorCode' => 'FundAccountOwnerPayedByOthers', + 'errorMessage' => 'If the payment has been made by another account, it is not allowed to be used as the main payment account.', + ], + [ + 'errorCode' => 'UserOwnFundAccountPayForOthers', + 'errorMessage' => 'If the account has been used as the main payment account, it is not allowed to set up payment by others.', + ], + [ + 'errorCode' => 'EcoRelationCheckFailed', + 'errorMessage' => 'Accounts associated with partners are not allowed to set up agency payment relationships.', + ], + [ + 'errorCode' => 'NotSupport.SettingResellAccountType', + 'errorMessage' => 'The current account does not support setting the resellAccountType for members.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Account\\": {\\n \\"Status\\": \\"CreateSuccess\\",\\n \\"Type\\": \\"ResourceAccount\\",\\n \\"DisplayName\\": \\"Dev\\",\\n \\"FolderId\\": \\"fd-r23M55****\\",\\n \\"ResourceDirectoryId\\": \\"rd-3G****\\",\\n \\"JoinTime\\": \\"2020-12-31T03:37:39.456Z\\",\\n \\"AccountId\\": \\"112730938585****\\",\\n \\"JoinMethod\\": \\"created\\",\\n \\"ModifyTime\\": \\"2020-12-31T03:37:39.456Z\\",\\n \\"AccountName\\": \\"alice@rd-3g****.aliyunid.com\\"\\n },\\n \\"RequestId\\": \\"B356A415-D860-43E5-865A-E2193D62BBD6\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateResourceAccountResponse>\\n <Account>\\n <Status>CreateSuccess</Status>\\n <Type>ResourceAccount</Type>\\n <DisplayName>Dev</DisplayName>\\n <FolderId>fd-r23M55****</FolderId>\\n <ResourceDirectoryId>rd-3G****</ResourceDirectoryId>\\n <JoinTime>2020-12-31T03:37:39.456Z</JoinTime>\\n <AccountId>112730938585****</AccountId>\\n <JoinMethod>created</JoinMethod>\\n <ModifyTime>2020-12-31T03:37:39.456Z</ModifyTime>\\n <AccountName>alice@rd-3g****.aliyunid.com</AccountName>\\n </Account>\\n <RequestId>B356A415-D860-43E5-865A-E2193D62BBD6</RequestId>\\n</CreateResourceAccountResponse>","errorExample":""}]', + 'title' => 'CreateResourceAccount', + 'summary' => 'Creates a member of the resource account type.', + 'description' => 'A member serves as a container for resources and is also an organizational unit in a resource directory. A member indicates a project or application. The resources of different members are isolated.'."\n" + ."\n" + .'This topic provides an example on how to call the API operation to create a member in the `fd-r23M55****` folder. The display name of the member is `Dev`, and the prefix for the Alibaba Cloud account name of the member is `alice`.'."\n", + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~159973~~).'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetAccount' => [ + 'summary' => 'Queries the information of a member.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '181761095690****', + ], + ], + [ + 'name' => 'IncludeTags', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to return the information of tags. Valid values:'."\n" + ."\n" + .'* false (default value)'."\n" + .'* true'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Account' => [ + 'description' => 'The information about the member.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the member. Valid values:'."\n" + ."\n" + .'* CreateSuccess: The member is created.'."\n" + .'* PromoteVerifying: The upgrade of the member is being confirmed.'."\n" + .'* PromoteFailed: The upgrade of the member fails.'."\n" + .'* PromoteExpired: The upgrade of the member expires.'."\n" + .'* PromoteCancelled: The upgrade of the member is canceled.'."\n" + .'* PromoteSuccess: The member is upgraded.'."\n" + .'* InviteSuccess: The member accepts the invitation.'."\n", + 'type' => 'string', + 'example' => 'CreateSuccess', + ], + 'Type' => [ + 'description' => 'The type of the member. Valid values:'."\n" + ."\n" + .'* CloudAccount: cloud account'."\n" + .'* ResourceAccount: resource account'."\n", + 'type' => 'string', + 'example' => 'ResourceAccount', + ], + 'DisplayName' => [ + 'description' => 'The display name of the member.'."\n", + 'type' => 'string', + 'example' => 'admin', + ], + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-bVaRIG****', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-k3****', + ], + 'IdentityInformation' => [ + 'description' => 'The real-name verification information.'."\n", + 'type' => 'string', + 'example' => 'aliyun-admin', + ], + 'JoinTime' => [ + 'description' => 'The time when the member joined the resource directory.'."\n", + 'type' => 'string', + 'example' => '2015-01-23T12:33:18Z', + ], + 'AccountId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'example' => '181761095690****', + ], + 'JoinMethod' => [ + 'description' => 'The way in which the member joins the resource directory. Valid values:'."\n" + ."\n" + .'* invited: The member is invited to join the resource directory.'."\n" + .'* created: The member is directly created in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'created', + ], + 'ModifyTime' => [ + 'description' => 'The time when the member was modified.'."\n", + 'type' => 'string', + 'example' => '2015-01-23T12:33:18Z', + ], + 'AccountName' => [ + 'description' => 'The Alibaba Cloud account name of the member.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'ResourceDirectoryPath' => [ + 'description' => 'The path of the member in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-k3****/r-Wm****/fd-bVaRIG****/181761095690****', + ], + 'Tags' => [ + 'description' => 'The tags of the member.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'tag_key', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'tag_value', + ], + ], + ], + ], + 'Location' => [ + 'description' => 'The location of the member in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'root/AlRd****/Z5Aa****', + ], + 'EmailStatus' => [ + 'description' => 'The status of the modification for the email address bound to the member. Valid values:'."\n" + ."\n" + .'* If the value of this parameter is empty, no modification is performed for the email address.'."\n" + .'* WAIT_MODIFY: The modification is being performed.'."\n" + .'* CANCELLED: The modification is canceled.'."\n" + .'* EXPIRED: The modification expires.'."\n", + 'type' => 'string', + 'example' => 'WAIT_MODIFY', + ], + 'HasSecureMobilePhone' => [ + 'description' => 'Indicates whether a mobile phone number is bound to the member for security purposes. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'SecureMobilePhone' => [ + 'type' => 'string', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.AccountId', + 'errorMessage' => 'You must specify AccountId.', + ], + [ + 'errorCode' => 'InvalidParameter.AccountId', + 'errorMessage' => 'The AccountId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Account\\": {\\n \\"Status\\": \\"CreateSuccess\\",\\n \\"Type\\": \\"ResourceAccount\\",\\n \\"DisplayName\\": \\"admin\\",\\n \\"FolderId\\": \\"fd-bVaRIG****\\",\\n \\"ResourceDirectoryId\\": \\"rd-k3****\\",\\n \\"IdentityInformation\\": \\"aliyun-admin\\",\\n \\"JoinTime\\": \\"2015-01-23T12:33:18Z\\",\\n \\"AccountId\\": \\"181761095690****\\",\\n \\"JoinMethod\\": \\"created\\",\\n \\"ModifyTime\\": \\"2015-01-23T12:33:18Z\\",\\n \\"AccountName\\": \\"[email protected]\\",\\n \\"ResourceDirectoryPath\\": \\"rd-k3****/r-Wm****/fd-bVaRIG****/181761095690****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tag_key\\",\\n \\"Value\\": \\"tag_value\\"\\n }\\n ],\\n \\"Location\\": \\"root/AlRd****/Z5Aa****\\",\\n \\"EmailStatus\\": \\"WAIT_MODIFY\\",\\n \\"HasSecureMobilePhone\\": true,\\n \\"SecureMobilePhone\\": \\"1234567****\\"\\n },\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"<GetAccountResponse>\\n <Account>\\n <Status>CreateSuccess</Status>\\n <Type>ResourceAccount</Type>\\n <DisplayName>admin</DisplayName>\\n <FolderId>fd-bVaRIG****</FolderId>\\n <ResourceDirectoryId>rd-k3****</ResourceDirectoryId>\\n <IdentityInformation>aliyun-admin</IdentityInformation>\\n <JoinTime>2015-01-23T12:33:18Z</JoinTime>\\n <AccountId>181761095690****</AccountId>\\n <JoinMethod>created</JoinMethod>\\n <ModifyTime>2015-01-23T12:33:18Z</ModifyTime>\\n <AccountName>[email protected]</AccountName>\\n <ResourceDirectoryPath>rd-k3****/r-Wm****/fd-bVaRIG****/181761095690****</ResourceDirectoryPath>\\n <Tags>\\n <Key>tag_key</Key>\\n <Value>tag_value</Value>\\n </Tags>\\n <Location>root/AlRd****/Z5Aa****</Location>\\n <EmailStatus>WAIT_MODIFY</EmailStatus>\\n </Account>\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\n</GetAccountResponse>","errorExample":""}]', + 'title' => 'GetAccount', + ], + 'MoveAccount' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member that you want to move.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '12323344****', + ], + ], + [ + 'name' => 'DestinationFolderId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the destination folder.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fd-bVaRIG****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.AccountId', + 'errorMessage' => 'You must specify AccountId.', + ], + [ + 'errorCode' => 'InvalidParameter.AccountId', + 'errorMessage' => 'The AccountId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.DestinationFolderId', + 'errorMessage' => 'You must specify DestinationFolderId.', + ], + [ + 'errorCode' => 'InvalidParameter.DestinationFolderId', + 'errorMessage' => 'The DestinationFolderId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'AccountTypeOrStatusMismatch', + 'errorMessage' => 'You cannot perform the action on the member account.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<MoveAccountResponse>\\r\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\r\\n</MoveAccountResponse>","errorExample":""}]', + 'title' => 'MoveAccount', + 'summary' => 'Moves a member from a folder to another.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateAccount' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'NewDisplayName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new display name of the member.'."\n" + ."\n" + .'> You can specify either `NewDisplayName` or `NewAccountType`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'admin', + ], + ], + [ + 'name' => 'NewAccountType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new type of the member. Valid values:'."\n" + ."\n" + .'* ResourceAccount: resource account'."\n" + .'* CloudAccount: cloud account'."\n" + ."\n" + .'> You can specify either `NewDisplayName` or `NewAccountType`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ResourceAccount', + ], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '12323344****', + ], + ], + [ + '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 items such as whether the member status can be modified and whether security information is configured for the member. If the request does not pass the dry run, an error code is returned.'."\n" + .'* false (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Account' => [ + 'description' => 'The information of the member.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the member. Valid values:'."\n" + ."\n" + .'* CreateSuccess: The member is created.'."\n" + .'* InviteSuccess: The member accepts the invitation.'."\n" + .'* Removed: The member is removed.'."\n" + .'* SwitchSuccess: The type of the member is switched.'."\n", + 'type' => 'string', + 'example' => 'CreateSuccess', + ], + 'Type' => [ + 'description' => 'The type of the member. Valid values:'."\n" + ."\n" + .'* CloudAccount: cloud account'."\n" + .'* ResourceAccount: resource account'."\n", + 'type' => 'string', + 'example' => 'ResourceAccount', + ], + 'DisplayName' => [ + 'description' => 'The display name of the member.'."\n", + 'type' => 'string', + 'example' => 'admin', + ], + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-bVaRIG****', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-k3****', + ], + 'JoinTime' => [ + 'description' => 'The time when the member joined the resource directory. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-01-23T12:33:18Z', + ], + 'AccountId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'example' => '12323344****', + ], + 'JoinMethod' => [ + 'description' => 'The way in which the member joins the resource directory. Valid values:'."\n" + ."\n" + .'* invited: The member is invited to join the resource directory.'."\n" + .'* created: The member is directly created in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'created', + ], + 'ModifyTime' => [ + 'description' => 'The time when the member was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-01-23T12:33:18Z', + ], + 'AccountName' => [ + 'description' => 'The Alibaba Cloud account name of the member.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'InvalidParameter.Account.DisplayName.AlreadyUsed', + 'errorMessage' => 'The displayname of account has been used.', + ], + [ + 'errorCode' => 'MissingDisplayNameOrAccountType', + 'errorMessage' => 'Either display name or account type must be specified.', + ], + [ + 'errorCode' => 'AccountTypeMismatch', + 'errorMessage' => 'The type or status of the member account cannot satisfy the current operation.', + ], + [ + 'errorCode' => 'PrimaryAkInUse', + 'errorMessage' => 'The account has the primary AK in use.', + ], + [ + 'errorCode' => 'MissingSecurityInfo', + 'errorMessage' => 'Security information is missing.', + ], + [ + 'errorCode' => 'LegalEntityDifferent', + 'errorMessage' => 'The account legal entity is different from the one of the Management Account.', + ], + [ + 'errorCode' => 'CallerIdentityError', + 'errorMessage' => 'Please use the RAM user or role of the Management Account.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Account\\": {\\n \\"Status\\": \\"CreateSuccess\\",\\n \\"Type\\": \\"ResourceAccount\\",\\n \\"DisplayName\\": \\"admin\\",\\n \\"FolderId\\": \\"fd-bVaRIG****\\",\\n \\"ResourceDirectoryId\\": \\"rd-k3****\\",\\n \\"JoinTime\\": \\"2015-01-23T12:33:18Z\\",\\n \\"AccountId\\": \\"12323344****\\",\\n \\"JoinMethod\\": \\"created\\",\\n \\"ModifyTime\\": \\"2015-01-23T12:33:18Z\\",\\n \\"AccountName\\": \\"[email protected]\\"\\n },\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<UpdateAccountResponse>\\r\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\r\\n <Account>\\r\\n <ResourceDirectoryId>rd-k3****</ResourceDirectoryId>\\r\\n <AccountId>12323344****</AccountId>\\r\\n <DisplayName>admin</DisplayName>\\r\\n <FolderId>fd-bVaRIG****</FolderId>\\r\\n <JoinMethod>created</JoinMethod>\\r\\n <JoinTime>2015-01-23T12:33:18Z</JoinTime>\\r\\n <Type>ResourceAccount</Type>\\r\\n <Status>CreateSuccess</Status>\\r\\n <RecordId>06950264-3f0d-4ca9-82dd-6ee7a3d33d6b</RecordId>\\r\\n <ModifyTime>2015-01-23T12:33:18Z</ModifyTime>\\r\\n </Account>\\r\\n</UpdateAccountResponse>","errorExample":""}]', + 'title' => 'UpdateAccount', + 'summary' => 'Changes the display name of a member, or switches the type of a member.', + 'description' => '* To ensure that the system can record the operators of management operations, you must use a RAM user or RAM role to which the AliyunResourceDirectoryFullAccess policy is attached within the management account of your resource directory to call this operation.'."\n" + .'* Before you switch the type of a member from resource account to cloud account, make sure that specific conditions are met. For more information about the conditions, see [Switch a resource account to a cloud account](~~111233~~).'."\n" + .'* Before you switch the type of a member from cloud account to resource account, make sure that specific conditions are met. For more information about the conditions, see [Switch a cloud account to a resource account](~~209980~~).', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListAccounts' => [ + 'summary' => 'Queries a list of members in a resource directory.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return.'."\n" + ."\n" + .'Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'QueryKeyword', + 'in' => 'query', + 'schema' => [ + 'description' => 'The keyword used for the query, such as the display name of a member.'."\n" + ."\n" + .'Fuzzy match is supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Advance', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags. This parameter specifies a filter condition.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information of a tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag_key', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag_value', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'IncludeTags', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to return information about tags. Valid values:'."\n" + ."\n" + .'* false (default value)'."\n" + .'* true'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. After you configure this parameter, token-based paging is preferentially used.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If you leave this parameter empty, the query starts from the beginning.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TGlzdFJlc291cm****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", + 'type' => 'string', + 'example' => 'TGlzdFJlc291cm****', + ], + 'Accounts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Account' => [ + 'description' => 'The information about the members.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information of a member.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the member. Valid values:'."\n" + ."\n" + .'* CreateSuccess: The member is created.'."\n" + .'* PromoteVerifying: The upgrade of the member is under confirmation.'."\n" + .'* PromoteFailed: The upgrade of the member fails.'."\n" + .'* PromoteExpired: The upgrade of the member expires.'."\n" + .'* PromoteCancelled: The upgrade of the member is canceled.'."\n" + .'* PromoteSuccess: The member is upgraded.'."\n" + .'* InviteSuccess: The member accepts the invitation.'."\n", + 'type' => 'string', + 'example' => 'CreateSuccess', + ], + 'Type' => [ + 'description' => 'The type of the member. Valid values:'."\n" + ."\n" + .'* CloudAccount: cloud account'."\n" + .'* ResourceAccount: resource account'."\n", + 'type' => 'string', + 'example' => 'ResourceAccount', + ], + 'DisplayName' => [ + 'description' => 'The display name of the member.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-QRzuim****', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-3G****', + ], + 'JoinTime' => [ + 'description' => 'The time when the member joined the resource directory. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2021-01-18T08:01:50.522Z', + ], + 'AccountId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'example' => '181761095690****', + ], + 'JoinMethod' => [ + 'description' => 'The way in which the member joins the resource directory. Valid values:'."\n" + ."\n" + .'* invited: The member is invited to join the resource directory.'."\n" + .'* created: The member is directly created in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'created', + ], + 'ModifyTime' => [ + 'description' => 'The time when the member was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2021-01-18T08:04:37.668Z', + ], + 'ResourceDirectoryPath' => [ + 'description' => 'The RDPath of the member.'."\n", + 'type' => 'string', + 'example' => 'rd-3G****/r-Wm****/fd-QRzuim****/181761095690****', + ], + 'AccountName' => [ + 'description' => 'The Alibaba Cloud account name of the member.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'DeletionStatus' => [ + 'description' => 'The deletion status of the member. Valid values:'."\n" + ."\n" + .'* Checking: A deletion check is being performed for the member.'."\n" + .'* Deleting: The member is being deleted.'."\n" + .'* CheckFailed: The deletion check for the member fails.'."\n" + .'* DeleteFailed: The member fails to be deleted.'."\n" + ."\n" + .'> If deletion is not performed for the member, the value of this parameter is empty.'."\n", + 'type' => 'string', + 'example' => 'Checking', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags that are added to the member.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information of a tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of the tag.'."\n", + 'type' => 'string', + 'example' => 'tag_key', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'example' => 'tag_value', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.MaxResults', + 'errorMessage' => 'The MaxResults is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken', + 'errorMessage' => 'The NextToken is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.NextToken.Length', + 'errorMessage' => 'The maximum length of NextToken (256 characters) is exceeded.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\",\\n \\"PageSize\\": 5,\\n \\"PageNumber\\": 1,\\n \\"NextToken\\": \\"TGlzdFJlc291cm****\\",\\n \\"Accounts\\": {\\n \\"Account\\": [\\n {\\n \\"Status\\": \\"CreateSuccess\\",\\n \\"Type\\": \\"ResourceAccount\\",\\n \\"DisplayName\\": \\"test\\",\\n \\"FolderId\\": \\"fd-QRzuim****\\",\\n \\"ResourceDirectoryId\\": \\"rd-3G****\\",\\n \\"JoinTime\\": \\"2021-01-18T08:01:50.522Z\\",\\n \\"AccountId\\": \\"181761095690****\\",\\n \\"JoinMethod\\": \\"created\\",\\n \\"ModifyTime\\": \\"2021-01-18T08:04:37.668Z\\",\\n \\"ResourceDirectoryPath\\": \\"rd-3G****/r-Wm****/fd-QRzuim****/181761095690****\\",\\n \\"AccountName\\": \\"[email protected]\\",\\n \\"DeletionStatus\\": \\"Checking\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"tag_key\\",\\n \\"Value\\": \\"tag_value\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListAccountsResponse>\\n <TotalCount>2</TotalCount>\\n <RequestId>7B8A4E7D-6CFF-471D-84DF-195A7A241ECB</RequestId>\\n <PageSize>1</PageSize>\\n <PageNumber>2</PageNumber>\\n <Accounts>\\n <Status>CreateSuccess</Status>\\n <Type>ResourceAccount</Type>\\n <DisplayName>test</DisplayName>\\n <FolderId>fd-QRzuim****</FolderId>\\n <ResourceDirectoryId>rd-3G****</ResourceDirectoryId>\\n <JoinTime>2021-01-18T08:01:50.522Z</JoinTime>\\n <AccountId>181761095690****</AccountId>\\n <JoinMethod>created</JoinMethod>\\n <ModifyTime>2021-01-18T08:04:37.668Z</ModifyTime>\\n <ResourceDirectoryPath>rd-3G****/r-Wm****/fd-QRzuim****/181761095690****</ResourceDirectoryPath>\\n <Tags>\\n <Key>tag_key</Key>\\n <Value>tag_value</Value>\\n </Tags>\\n </Accounts>\\n</ListAccountsResponse>","errorExample":""}]', + 'title' => 'ListAccounts', + 'description' => 'You can use only the management account of a resource directory or a delegated administrator account of a trusted service to call this operation.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RemoveCloudAccount' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '177242285274****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.AccountId', + 'errorMessage' => 'You must specify AccountId.', + ], + [ + 'errorCode' => 'InvalidParameter.AccountId', + 'errorMessage' => 'The AccountId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + 409 => [ + [ + 'errorCode' => 'AccountTypeOrStatusMismatch', + 'errorMessage' => 'You cannot perform the action on the member account.', + ], + [ + 'errorCode' => 'Deny.TrustedService', + 'errorMessage' => 'You attempted to remove an account that is used in %s. To complete this operation, you must first remove this account from the Trusted Service.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<RemoveCloudAccountResponse>\\r\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\r\\n</RemoveCloudAccountResponse>","errorExample":""}]', + 'title' => 'RemoveCloudAccount', + 'summary' => 'Removes a member of the cloud account type.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListAccountsForParent' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'ParentFolderId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fd-bVaRIG****', + ], + ], + [ + 'name' => 'QueryKeyword', + 'in' => 'query', + 'schema' => [ + 'description' => 'The keyword used for the query, such as the display name of a member.'."\n" + ."\n" + .'Fuzzy match is supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'admin', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return.'."\n" + ."\n" + .'Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags. This parameter specifies a filter condition.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information of a tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag_key', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag_value', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'IncludeTags', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to return information about tags. Valid values:'."\n" + ."\n" + .'* false (default value)'."\n" + .'* true'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Accounts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Account' => [ + 'description' => 'The information about the members.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information of a member.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the member. Valid values:'."\n" + ."\n" + .'* CreateSuccess: The member is created.'."\n" + .'* PromoteVerifying: The upgrade of the member is under confirmation.'."\n" + .'* PromoteFailed: The upgrade of the member fails.'."\n" + .'* PromoteExpired: The upgrade of the member expires.'."\n" + .'* PromoteCancelled: The upgrade of the member is canceled.'."\n" + .'* PromoteSuccess: The member is upgraded.'."\n" + .'* InviteSuccess: The member accepts the invitation.'."\n", + 'type' => 'string', + 'example' => 'CreateSuccess', + ], + 'Type' => [ + 'description' => 'The type of the member. Valid values:'."\n" + ."\n" + .'* CloudAccount: cloud account'."\n" + .'* ResourceAccount: resource account'."\n", + 'type' => 'string', + 'example' => 'ResourceAccount', + ], + 'DisplayName' => [ + 'description' => 'The display name of the member.'."\n", + 'type' => 'string', + 'example' => 'admin', + ], + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-bVaRIG****', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-k4****', + ], + 'JoinTime' => [ + 'description' => 'The time when the member joined the resource directory. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-01-23T12:33:18Z', + ], + 'AccountId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'example' => '184311716100****', + ], + 'JoinMethod' => [ + 'description' => 'The way in which the member joins the resource directory.'."\n" + ."\n" + .'* invited: The member is invited to join the resource directory.'."\n" + .'* created: The member is directly created in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'created', + ], + 'ModifyTime' => [ + 'description' => 'The time when the member was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-01-23T12:33:18Z', + ], + 'AccountName' => [ + 'description' => 'The Alibaba Cloud account name of the member.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'DeletionStatus' => [ + 'description' => 'The deletion status of the member. Valid values:'."\n" + ."\n" + .'* Checking: A deletion check is being performed for the member.'."\n" + .'* Deleting: The member is being deleted.'."\n" + .'* CheckFailed: The deletion check for the member fails.'."\n" + .'* DeleteFailed: The member fails to be deleted.'."\n" + ."\n" + .'> If deletion is not performed for the member, the value of this parameter is empty.'."\n", + 'type' => 'string', + 'example' => 'Checking', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags that are added to the member.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information of a tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of the tag.'."\n", + 'type' => 'string', + 'example' => 'tag_key', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'example' => 'tag_value', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ParentFolderId', + 'errorMessage' => 'The ParentFolderId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\",\\n \\"PageSize\\": 5,\\n \\"PageNumber\\": 1,\\n \\"Accounts\\": {\\n \\"Account\\": [\\n {\\n \\"Status\\": \\"CreateSuccess\\",\\n \\"Type\\": \\"ResourceAccount\\",\\n \\"DisplayName\\": \\"admin\\",\\n \\"FolderId\\": \\"fd-bVaRIG****\\",\\n \\"ResourceDirectoryId\\": \\"rd-k4****\\",\\n \\"JoinTime\\": \\"2015-01-23T12:33:18Z\\",\\n \\"AccountId\\": \\"184311716100****\\",\\n \\"JoinMethod\\": \\"created\\",\\n \\"ModifyTime\\": \\"2015-01-23T12:33:18Z\\",\\n \\"AccountName\\": \\"[email protected]\\",\\n \\"DeletionStatus\\": \\"Checking\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"tag_key\\",\\n \\"Value\\": \\"tag_value\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListAccountsForParentResponse>\\n <TotalCount>2</TotalCount>\\n <RequestId>7B8A4E7D-6CFF-471D-84DF-195A7A241ECB</RequestId>\\n <PageSize>1</PageSize>\\n <PageNumber>2</PageNumber>\\n <Accounts>\\n <Status>CreateSuccess</Status>\\n <Type>ResourceAccount</Type>\\n <DisplayName>admin</DisplayName>\\n <FolderId>fd-bVaRIG****</FolderId>\\n <ResourceDirectoryId>rd-k4****</ResourceDirectoryId>\\n <JoinTime>2015-01-23T12:33:18Z</JoinTime>\\n <AccountId>184311716100****</AccountId>\\n <JoinMethod>created</JoinMethod>\\n <ModifyTime>2015-01-23T12:33:18Z</ModifyTime>\\n <Tags>\\n <Key>tag_key</Key>\\n <Value>tag_value</Value>\\n </Tags>\\n </Accounts>\\n</ListAccountsForParentResponse>","errorExample":""}]', + 'title' => 'ListAccountsForParent', + 'summary' => 'Queries the information of members in a folder.', + 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~159973~~).'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetPayerForAccount' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the billing account.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '12323344****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'PayerAccountName' => [ + 'description' => 'The name of the billing account.'."\n", + 'type' => 'string', + 'example' => 'Alice', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'PayerAccountId' => [ + 'description' => 'The ID of the billing account.'."\n", + 'type' => 'string', + 'example' => '172841235500****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PayerAccountName\\": \\"Alice\\",\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"PayerAccountId\\": \\"172841235500****\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<GetPayerForAccountResponse>\\r\\n\\t<RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\r\\n\\t<PayerAccountId>172841235500****</PayerAccountId>\\r\\n\\t<PayerAccountName>Alice</PayerAccountName>\\r\\n</GetPayerForAccountResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'GetPayerForAccount', + 'summary' => 'Queries the information of a billing account.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdatePayerForAccount' => [ + 'summary' => 'Updates the billing account of a member.', + 'path' => '', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '138660628348****', + ], + ], + [ + 'name' => 'PayerAccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the billing account.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '12323344****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'AccountTypeMismatch', + 'errorMessage' => 'The type or status of the member account cannot satisfy the current operation.', + ], + [ + 'errorCode' => 'InconsistentEnterpriseNameError', + 'errorMessage' => 'The enterprise name of the payment account and the member must be consistent.', + ], + [ + 'errorCode' => 'NotSupport.PayerAccountInAnotherResourceDirectory', + 'errorMessage' => 'The specified payment account does not exist in the resource directory. You must specify a valid payment account.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","type":"json"}]', + 'title' => 'UpdatePayerForAccount', + ], + 'InviteAccountToResourceDirectory' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'TargetEntity', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID or logon email address of the account that you want to invite.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '[email protected]', + ], + ], + [ + 'name' => 'TargetType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the invited account. Valid values:'."\n" + ."\n" + .'* Account: indicates the ID of the account.'."\n" + .'* Email: indicates the logon email address of the account.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Email', + ], + ], + [ + 'name' => 'Note', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the invitation.'."\n" + ."\n" + .'The description can be up to 1,024 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Welcome'."\n", + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k1', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'ParentFolderId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the parent folder.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'r-b1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'Handshake' => [ + 'description' => 'The information about the invitation.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the invitation. Valid values:'."\n" + ."\n" + .'* Pending'."\n" + .'* Accepted'."\n" + .'* Cancelled'."\n" + .'* Declined'."\n" + .'* Expired'."\n", + 'type' => 'string', + 'example' => 'Pending', + ], + 'ExpireTime' => [ + 'description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-24T09:55:41Z', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-abcdef****', + ], + 'CreateTime' => [ + 'description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'Note' => [ + 'description' => 'The description of the invitation.'."\n", + 'type' => 'string', + 'example' => 'Welcome'."\n", + ], + 'TargetEntity' => [ + 'description' => 'The ID or logon email address of the invited account.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'MasterAccountId' => [ + 'description' => 'The ID of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => '172841235500****', + ], + 'MasterAccountName' => [ + 'description' => 'The name of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'Alice', + ], + 'ModifyTime' => [ + 'description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'TargetType' => [ + 'description' => 'The type of the invited account. Valid values:'."\n" + ."\n" + .'* Account: indicates the ID of the account.'."\n" + .'* Email: indicates the logon email address of the account.'."\n", + 'type' => 'string', + 'example' => 'Email', + ], + 'HandshakeId' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'example' => 'h-ycm4rp****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.TargetEntity', + 'errorMessage' => 'You must specify TargetEntity.', + ], + [ + 'errorCode' => 'InvalidParameter.TargetEntity', + 'errorMessage' => 'The TargetEntity is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.TargetType', + 'errorMessage' => 'You must specify TargetType.', + ], + [ + 'errorCode' => 'InvalidParameter.TargetType', + 'errorMessage' => 'The TargetType is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Note.Length', + 'errorMessage' => 'The length of the invitation note exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter.Note', + 'errorMessage' => 'The Note is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.ParentFolderId', + 'errorMessage' => 'The ParentFolderId is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.AccountId', + 'errorMessage' => 'The AccountId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Folder', + 'errorMessage' => 'The resource directory folder does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'LimitExceeded.Account', + 'errorMessage' => 'The maximum number of member accounts in a resource directory exceeds the limit.', + ], + [ + 'errorCode' => 'LimitExceeded.InvitationRate', + 'errorMessage' => 'The number of invitations sent exceeds the limit.', + ], + [ + 'errorCode' => 'EntityAlreadyExists.Handshake', + 'errorMessage' => 'Handshakes with the same target entity already exist.', + ], + [ + 'errorCode' => 'Invalid.AccountType', + 'errorMessage' => 'The specified profile type of account is invalid.', + ], + [ + 'errorCode' => 'EntityAlreadyExists.ResourceDir.Account', + 'errorMessage' => 'This resource directory account already exists.', + ], + [ + 'errorCode' => 'LimitExceeded.Invitation.InvalidTarget', + 'errorMessage' => 'The maximum number of invalid targets that can be invited by a single account is exceeded.', + ], + [ + 'errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', + 'errorMessage' => 'The invited account already belongs to another resource directory. To continue, remove the account from the other resource directory.', + ], + [ + 'errorCode' => 'LegalEntityMismatch', + 'errorMessage' => 'The account does not have the same legal entity as the management account.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"Handshake\\": {\\n \\"Status\\": \\"Pending\\",\\n \\"ExpireTime\\": \\"2018-08-24T09:55:41Z\\",\\n \\"ResourceDirectoryId\\": \\"rd-abcdef****\\",\\n \\"CreateTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"Note\\": \\"欢迎您加入\\",\\n \\"TargetEntity\\": \\"[email protected]\\",\\n \\"MasterAccountId\\": \\"172841235500****\\",\\n \\"MasterAccountName\\": \\"Alice\\",\\n \\"ModifyTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"TargetType\\": \\"Email\\",\\n \\"HandshakeId\\": \\"h-ycm4rp****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<InviteAccountToResourceDirectoryResponse>\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\n <Handshake>\\n <HandshakeId>h-ycm4rp****</HandshakeId>\\n <ResourceDirectoryId>rd-abcdef****</ResourceDirectoryId>\\n <MasterAccountId>172841235500****</MasterAccountId>\\n <MasterAccountName>Alice</MasterAccountName>\\n <TargetEntity>[email protected]</TargetEntity>\\n <TargetType>Email</TargetType>\\n <Note>欢迎您加入</Note>\\n <Status>Pending</Status>\\n <CreateTime>2018-08-10T09:55:41Z</CreateTime>\\n <ModifyTime>2018-08-10T09:55:41Z</ModifyTime>\\n <ExpireTime>2018-08-24T09:55:41Z</ExpireTime>\\n </Handshake>\\n</InviteAccountToResourceDirectoryResponse>","errorExample":""}]', + 'title' => 'InviteAccountToResourceDirectory', + 'summary' => 'Invites an account to join a resource directory.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AcceptHandshake' => [ + 'summary' => 'Accepts an invitation.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'HandshakeId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the invitation.'."\n" + ."\n" + .'You can call the [ListHandshakesForAccount](~~ListHandshakesForAccount~~) operation to obtain the ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'h-Ih8IuPfvV0t0****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '5828C836-3286-49A6-9006-15231BB19342', + ], + 'Handshake' => [ + 'description' => 'The information of the invitation.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the invitation. Valid values:'."\n" + ."\n" + .'* Pending: The invitation is waiting for confirmation.'."\n" + .'* Accepted: The invitation is accepted.'."\n" + .'* Cancelled: The invitation is canceled.'."\n" + .'* Declined: The invitation is rejected.'."\n" + .'* Expired: The invitation expires.'."\n", + 'type' => 'string', + 'example' => 'Accepted', + ], + 'ExpireTime' => [ + 'description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2021-01-20T02:15:40Z', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-3G****', + ], + 'CreateTime' => [ + 'description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2021-01-06T02:15:40Z', + ], + 'Note' => [ + 'description' => 'The description of the invitation.'."\n", + 'type' => 'string', + 'example' => 'Welcome'."\n", + ], + 'TargetEntity' => [ + 'description' => 'The ID or logon email address of the invited Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '177242285274****', + ], + 'MasterAccountId' => [ + 'description' => 'The ID of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => '151266687691****', + ], + 'MasterAccountName' => [ + 'description' => 'The name of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'CompanyA', + ], + 'ModifyTime' => [ + 'description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2021-01-06T02:16:40Z', + ], + 'TargetType' => [ + 'description' => 'The type of the invited Alibaba Cloud account. Valid values:'."\n" + ."\n" + .'* Account: indicates the ID of the Alibaba Cloud account.'."\n" + .'* Email: indicates the logon email address of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => 'Account', + ], + 'HandshakeId' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'example' => 'h-Ih8IuPfvV0t0****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.HandshakeId', + 'errorMessage' => 'You must specify HandshakeId.', + ], + [ + 'errorCode' => 'InvalidParameter.HandshakeId', + 'errorMessage' => 'The HandshakeId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Handshake', + 'errorMessage' => 'The specified handshake does not exist.', + ], + [ + 'errorCode' => 'SpecifiedResourceDirectoryNotExists', + 'errorMessage' => 'The specified resource directory does not exist. You must specify a valid resource directory.', + ], + ], + 409 => [ + [ + 'errorCode' => 'HandshakeStatusMismatch', + 'errorMessage' => 'The invitation is invalid.', + ], + [ + 'errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', + 'errorMessage' => 'Your account is a management account for another resource directory or a member of another resource directory.', + ], + [ + 'errorCode' => 'Invalid.AccountType', + 'errorMessage' => 'The specified profile type of account is invalid.', + ], + [ + 'errorCode' => 'NotSupport.Account.RealNameType', + 'errorMessage' => 'Your account is not a real-name of enterprise type, so you cannot accept the invitation.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5828C836-3286-49A6-9006-15231BB19342\\",\\n \\"Handshake\\": {\\n \\"Status\\": \\"Accepted\\",\\n \\"ExpireTime\\": \\"2021-01-20T02:15:40Z\\",\\n \\"ResourceDirectoryId\\": \\"rd-3G****\\",\\n \\"CreateTime\\": \\"2021-01-06T02:15:40Z\\",\\n \\"Note\\": \\"欢迎您加入\\",\\n \\"TargetEntity\\": \\"177242285274****\\",\\n \\"MasterAccountId\\": \\"151266687691****\\",\\n \\"MasterAccountName\\": \\"CompanyA\\",\\n \\"ModifyTime\\": \\"2021-01-06T02:16:40Z\\",\\n \\"TargetType\\": \\"Account\\",\\n \\"HandshakeId\\": \\"h-Ih8IuPfvV0t0****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<AcceptHandshakeResponse>\\n <RequestId>5828C836-3286-49A6-9006-15231BB19342</RequestId>\\n <Handshake>\\n <Status>Accepted</Status>\\n <ModifyTime>2021-01-06T02:16:40Z</ModifyTime>\\n <ResourceDirectoryId>rd-3G****</ResourceDirectoryId>\\n <HandshakeId>h-Ih8IuPfvV0t0****</HandshakeId>\\n <Note>欢迎您加入</Note>\\n <CreateTime>2021-01-06T02:15:40Z</CreateTime>\\n <TargetType>Account</TargetType>\\n <MasterAccountId>151266687691****</MasterAccountId>\\n <MasterAccountName>CompanyA</MasterAccountName>\\n <ExpireTime>2021-01-20T02:15:40Z</ExpireTime>\\n <TargetEntity>177242285274****</TargetEntity>\\n </Handshake>\\n</AcceptHandshakeResponse>","errorExample":""}]', + 'title' => 'AcceptHandshake', + 'description' => 'After an invited Alibaba Cloud account joins a resource directory, it becomes a member of the resource directory. By default, the name of the invited Alibaba Cloud account is used as the display name of the account in the resource directory.'."\n", + 'responseParamsDescription' => ' ', + ], + 'GetHandshake' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'HandshakeId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'h-ycm4rp****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'Handshake' => [ + 'description' => 'The information of the invitation.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the invitation. Valid values:'."\n" + ."\n" + .'* Pending: The invitation is waiting for confirmation.'."\n" + .'* Accepted: The invitation is accepted.'."\n" + .'* Cancelled: The invitation is canceled.'."\n" + .'* Declined: The invitation is rejected.'."\n" + .'* Expired: The invitation expires.'."\n", + 'type' => 'string', + 'example' => 'Pending', + ], + 'ExpireTime' => [ + 'description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-24T09:55:41Z', + ], + 'CreateTime' => [ + 'description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'TargetEntity' => [ + 'description' => 'The ID or logon email address of the invited account.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'MasterAccountId' => [ + 'description' => 'The ID of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => '172841235500****', + ], + 'HandshakeId' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'example' => 'h-ycm4rp****', + ], + 'MasterAccountRealName' => [ + 'description' => 'The real-name verification information of the management account of the resource directory.'."\n" + ."\n" + .'> This parameter is available only when an invitee calls this operation.'."\n", + 'type' => 'string', + 'example' => 'company', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-abcdef****', + ], + 'InvitedAccountRealName' => [ + 'description' => 'The real-name verification information of the invitee.'."\n" + ."\n" + .'> This parameter is available only when an invitee calls this operation.'."\n", + 'type' => 'string', + 'example' => 'Alice', + ], + 'Note' => [ + 'description' => 'The description of the invitation.'."\n", + 'type' => 'string', + 'example' => 'Welcome'."\n", + ], + 'MasterAccountName' => [ + 'description' => 'The name of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'TargetType' => [ + 'description' => 'The type of the invited account. Valid values:'."\n" + ."\n" + .'* Account: indicates the ID of the account.'."\n" + .'* Email: indicates the logon email address of the account.'."\n", + 'type' => 'string', + 'example' => 'Email', + ], + 'ModifyTime' => [ + 'description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.HandshakeId', + 'errorMessage' => 'You must specify HandshakeId.', + ], + [ + 'errorCode' => 'InvalidParameter.HandshakeId', + 'errorMessage' => 'The HandshakeId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Handshake', + 'errorMessage' => 'The specified handshake does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'HandshakeStatusMismatch', + 'errorMessage' => 'The invitation is invalid.', + ], + [ + 'errorCode' => 'MissingAccountRealName', + 'errorMessage' => 'The name of the invited account is not specified.', + ], + [ + 'errorCode' => 'NoRealNameAuthentication', + 'errorMessage' => 'The account invited has not passed real-name authentication.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"Handshake\\": {\\n \\"Status\\": \\"Pending\\",\\n \\"ExpireTime\\": \\"2018-08-24T09:55:41Z\\",\\n \\"CreateTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"TargetEntity\\": \\"[email protected]\\",\\n \\"MasterAccountId\\": \\"172841235500****\\",\\n \\"HandshakeId\\": \\"h-ycm4rp****\\",\\n \\"MasterAccountRealName\\": \\"company\\",\\n \\"ResourceDirectoryId\\": \\"rd-abcdef****\\",\\n \\"InvitedAccountRealName\\": \\"Alice\\",\\n \\"Note\\": \\"欢迎您加入\\",\\n \\"MasterAccountName\\": \\"[email protected]\\",\\n \\"TargetType\\": \\"Email\\",\\n \\"ModifyTime\\": \\"2018-08-10T09:55:41Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetHandshakeResponse>\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\n <Handshake>\\n <HandshakeId>h-ycm4rp****</HandshakeId>\\n <ResourceDirectoryId>rd-abcdef****</ResourceDirectoryId>\\n <MasterAccountId>172841235500****</MasterAccountId>\\n <MasterAccountName>[email protected]</MasterAccountName>\\n <MasterAccountRealName>company</MasterAccountRealName>\\n <InvitedAccountRealName>Alice</InvitedAccountRealName>\\n <TargetEntity>[email protected]</TargetEntity>\\n <TargetType>Email</TargetType>\\n <Note>欢迎您加入</Note>\\n <Status>Pending</Status>\\n <CreateTime>2018-08-10T09:55:41Z</CreateTime>\\n <ModifyTime>2018-08-10T09:55:41Z</ModifyTime>\\n <ExpireTime>2018-08-24T09:55:41Z</ExpireTime>\\n </Handshake>\\n</GetHandshakeResponse>","errorExample":""}]', + 'title' => 'GetHandshake', + 'summary' => 'Queries the information of an invitation.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeclineHandshake' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'HandshakeId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'h-ycm4rp****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'Handshake' => [ + 'description' => 'The information of the invitation.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the invitation. Valid values:'."\n" + ."\n" + .'* Pending: The invitation is waiting for confirmation.'."\n" + .'* Accepted: The invitation is accepted.'."\n" + .'* Cancelled: The invitation is canceled.'."\n" + .'* Declined: The invitation is rejected.'."\n" + .'* Expired: The invitation expires.'."\n", + 'type' => 'string', + 'example' => 'Declined', + ], + 'ExpireTime' => [ + 'description' => 'The time when the invitation expires.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-abcdef****', + ], + 'CreateTime' => [ + 'description' => 'The time when the invitation was created.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'Note' => [ + 'description' => 'The description of the invitation.'."\n", + 'type' => 'string', + 'example' => 'Welcome'."\n", + ], + 'TargetEntity' => [ + 'description' => 'The ID or logon email address of the invited account.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'MasterAccountId' => [ + 'description' => 'The ID of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => '172841235500****', + ], + 'MasterAccountName' => [ + 'description' => 'The name of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'Alice', + ], + 'ModifyTime' => [ + 'description' => 'The time when the invitation was modified.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'TargetType' => [ + 'description' => 'The type of the invited account. Valid values:'."\n" + ."\n" + .'* Account: indicates the ID of the account.'."\n" + .'* Email: indicates the logon email address of the account.'."\n", + 'type' => 'string', + 'example' => 'Email', + ], + 'HandshakeId' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'example' => 'h-ycm4rp****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.HandshakeId', + 'errorMessage' => 'You must specify HandshakeId.', + ], + [ + 'errorCode' => 'InvalidParameter.HandshakeId', + 'errorMessage' => 'The HandshakeId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Handshake', + 'errorMessage' => 'The specified handshake does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'HandshakeStatusMismatch', + 'errorMessage' => 'The invitation is invalid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"Handshake\\": {\\n \\"Status\\": \\"Declined\\",\\n \\"ExpireTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"ResourceDirectoryId\\": \\"rd-abcdef****\\",\\n \\"CreateTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"Note\\": \\"欢迎您加入\\",\\n \\"TargetEntity\\": \\"[email protected]\\",\\n \\"MasterAccountId\\": \\"172841235500****\\",\\n \\"MasterAccountName\\": \\"Alice\\",\\n \\"ModifyTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"TargetType\\": \\"Email\\",\\n \\"HandshakeId\\": \\"h-ycm4rp****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeclineHandshakeResponse>\\r\\n\\t<RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\r\\n\\t<Handshake>\\r\\n\\t\\t<HandshakeId>h-ycm4rp****</HandshakeId>\\r\\n\\t\\t<ResourceDirectoryId>rd-abcdef****</ResourceDirectoryId>\\r\\n\\t\\t<MasterAccountId>172841235500****</MasterAccountId>\\r\\n\\t\\t<MasterAccountName>Alice</MasterAccountName>\\r\\n\\t\\t<TargetEntity>[email protected]</TargetEntity>\\r\\n\\t\\t<TargetType>Email</TargetType>\\r\\n\\t\\t<Note>欢迎您加入</Note>\\r\\n\\t\\t<Status>Declined</Status>\\r\\n\\t\\t<CreateTime>2018-08-10T09:55:41Z</CreateTime>\\r\\n\\t\\t<ModifyTime>2018-08-10T09:55:41Z</ModifyTime>\\r\\n\\t\\t<ExpireTime>2018-08-17T09:55:41Z7</ExpireTime>\\r\\n\\t</Handshake>\\r\\n</DeclineHandshakeResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'DeclineHandshake', + 'summary' => 'Rejects an invitation.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CancelHandshake' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'HandshakeId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'h-ycm4rp****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'Handshake' => [ + 'description' => 'The information of the invitation.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the invitation. Valid values:'."\n" + ."\n" + .'* Pending: The invitation is waiting for confirmation.'."\n" + .'* Accepted: The invitation is accepted.'."\n" + .'* Cancelled: The invitation is canceled.'."\n" + .'* Declined: The invitation is rejected.'."\n" + .'* Expired: The invitation expires.'."\n", + 'type' => 'string', + 'example' => 'Cancelled', + ], + 'ExpireTime' => [ + 'description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-24T09:55:41Z', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'h-ycm4rp****', + ], + 'CreateTime' => [ + 'description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'Note' => [ + 'description' => 'The description of the invitation.'."\n", + 'type' => 'string', + 'example' => 'Welcome'."\n", + ], + 'TargetEntity' => [ + 'description' => 'The ID or logon email address of the invited account.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'MasterAccountId' => [ + 'description' => 'The ID of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => '172841235500****', + ], + 'MasterAccountName' => [ + 'description' => 'The name of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'Alice', + ], + 'ModifyTime' => [ + 'description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'TargetType' => [ + 'description' => 'The type of the invited account. Valid values:'."\n" + ."\n" + .'* Account: indicates the ID of the account.'."\n" + .'* Email: indicates the logon email address of the account.'."\n", + 'type' => 'string', + 'example' => 'Email', + ], + 'HandshakeId' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'example' => 'h-ycm4rp****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.HandshakeId', + 'errorMessage' => 'You must specify HandshakeId.', + ], + [ + 'errorCode' => 'InvalidParameter.HandshakeId', + 'errorMessage' => 'The HandshakeId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Handshake', + 'errorMessage' => 'The specified handshake does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'HandshakeStatusMismatch', + 'errorMessage' => 'The invitation is invalid.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"Handshake\\": {\\n \\"Status\\": \\"Cancelled\\",\\n \\"ExpireTime\\": \\"2018-08-24T09:55:41Z\\",\\n \\"ResourceDirectoryId\\": \\"h-ycm4rp****\\",\\n \\"CreateTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"Note\\": \\"欢迎您加入\\",\\n \\"TargetEntity\\": \\"[email protected]\\",\\n \\"MasterAccountId\\": \\"172841235500****\\",\\n \\"MasterAccountName\\": \\"Alice\\",\\n \\"ModifyTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"TargetType\\": \\"Email\\",\\n \\"HandshakeId\\": \\"h-ycm4rp****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CancelHandshakeResponse>\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\n <Handshake>\\n <HandshakeId>h-ycm4rp****</HandshakeId>\\n <ResourceDirectoryId>rd-abcdef****</ResourceDirectoryId>\\n <MasterAccountId>172841235500****</MasterAccountId>\\n <MasterAccountName>Alice</MasterAccountName>\\n <TargetEntity>[email protected]</TargetEntity>\\n <TargetType>Email</TargetType>\\n <Note>欢迎您加入</Note>\\n <Status>Cancelled</Status>\\n <CreateTime>2018-08-10T09:55:41Z</CreateTime>\\n <ModifyTime>2018-08-10T09:55:41Z</ModifyTime>\\n <ExpireTime>2018-08-24T09:55:41Z</ExpireTime>\\n </Handshake>\\n</CancelHandshakeResponse>","errorExample":""}]', + 'title' => 'CancelHandshake', + 'summary' => 'Cancels an invitation.', + 'responseParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~159973~~).'."\n", + 'extraInfo' => ' ', + ], + 'ListHandshakesForAccount' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return.'."\n" + ."\n" + .'Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of invitations.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Handshakes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Handshake' => [ + 'description' => 'The information of the invitations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information of an invitation.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the invitation. Valid values:'."\n" + ."\n" + .'* Pending: The invitation is waiting for confirmation.'."\n" + .'* Accepted: The invitation is accepted.'."\n" + .'* Cancelled: The invitation is canceled.'."\n" + .'* Declined: The invitation is rejected.'."\n" + .'* Expired: The invitation expires.'."\n", + 'type' => 'string', + 'example' => 'Pending', + ], + 'ExpireTime' => [ + 'description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-24T09:55:41Z', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-abcdef****', + ], + 'CreateTime' => [ + 'description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'Note' => [ + 'description' => 'The description of the invitation.'."\n", + 'type' => 'string', + 'example' => 'Welcome'."\n", + ], + 'TargetEntity' => [ + 'description' => 'The ID or logon email address of the invited Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'MasterAccountId' => [ + 'description' => 'The ID of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => '172841235500****', + ], + 'MasterAccountName' => [ + 'description' => 'The name of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'CompanyA', + ], + 'ModifyTime' => [ + 'description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'TargetType' => [ + 'description' => 'The type of the invited Alibaba Cloud account. Valid values:'."\n" + ."\n" + .'* Account: indicates the ID of the account.'."\n" + .'* Email: indicates the logon email address of the account.'."\n", + 'type' => 'string', + 'example' => 'Email', + ], + 'HandshakeId' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'example' => 'h-4N57QZzCTtES****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Handshakes\\": {\\n \\"Handshake\\": [\\n {\\n \\"Status\\": \\"Pending\\",\\n \\"ExpireTime\\": \\"2018-08-24T09:55:41Z\\",\\n \\"ResourceDirectoryId\\": \\"rd-abcdef****\\",\\n \\"CreateTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"Note\\": \\"欢迎您加入\\",\\n \\"TargetEntity\\": \\"[email protected]\\",\\n \\"MasterAccountId\\": \\"172841235500****\\",\\n \\"MasterAccountName\\": \\"CompanyA\\",\\n \\"ModifyTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"TargetType\\": \\"Email\\",\\n \\"HandshakeId\\": \\"h-4N57QZzCTtES****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListHandshakesForAccountResponse>\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>2</TotalCount>\\n <Handshakes>\\n <Handshake>\\n <HandshakeId>h-4N57QZzCTtES****</HandshakeId>\\n <ResourceDirectoryId>rd-abcdef****</ResourceDirectoryId>\\n <MasterAccountId>172841235500****</MasterAccountId>\\n <MasterAccountName>CompanyA</MasterAccountName>\\n <TargetEntity>[email protected]</TargetEntity>\\n <TargetType>Email</TargetType>\\n <Note>欢迎您加入</Note>\\n <Status>Pending</Status>\\n <CreateTime>2018-08-10T09:55:41Z</CreateTime>\\n <ModifyTime>2018-08-10T09:55:41Z</ModifyTime>\\n <ExpireTime>2018-08-24T09:55:41Z</ExpireTime>\\n </Handshake>\\n <Handshake>\\n <HandshakeId>h-BeJZW63fHT4l****</HandshakeId>\\n <ResourceDirectoryId>rd-abcdef****</ResourceDirectoryId>\\n <MasterAccountId>172841235500****</MasterAccountId>\\n <MasterAccountName>CompanyA</MasterAccountName>\\n <TargetEntity>172841235500****</TargetEntity>\\n <TargetType>Account</TargetType>\\n <Note>欢迎您加入</Note>\\n <Status>Pending</Status>\\n <CreateTime>2018-08-10T09:55:41Z</CreateTime>\\n <ModifyTime>2018-08-10T09:55:41Z</ModifyTime>\\n <ExpireTime>2018-08-24T09:55:41Z</ExpireTime>\\n </Handshake>\\n </Handshakes>\\n</ListHandshakesForAccountResponse>","errorExample":""}]', + 'title' => 'ListHandshakesForAccount', + 'summary' => 'Queries the invitations that are associated with an account.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListHandshakesForResourceDirectory' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return.'."\n" + ."\n" + .'Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Handshakes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Handshake' => [ + 'description' => 'The information of the invitations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information of an invitation.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the invitation. Valid values:'."\n" + ."\n" + .'* Pending: The invitation is waiting for confirmation.'."\n" + .'* Accepted: The invitation is accepted.'."\n" + .'* Cancelled: The invitation is canceled.'."\n" + .'* Declined: The invitation is rejected.'."\n" + .'* Expired: The invitation expires.'."\n", + 'type' => 'string', + 'example' => 'Pending', + ], + 'ExpireTime' => [ + 'description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-24T09:55:41Z', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-abcdef****', + ], + 'CreateTime' => [ + 'description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'Note' => [ + 'description' => 'The description of the invitation.'."\n", + 'type' => 'string', + 'example' => 'Welcome'."\n", + ], + 'TargetEntity' => [ + 'description' => 'The ID or logon email address of the invited account.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + 'MasterAccountId' => [ + 'description' => 'The ID of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => '172841235500****', + ], + 'MasterAccountName' => [ + 'description' => 'The name of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'Alice', + ], + 'ModifyTime' => [ + 'description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2018-08-10T09:55:41Z', + ], + 'TargetType' => [ + 'description' => 'The type of the invited account. Valid values:'."\n" + ."\n" + .'* Account: indicates the ID of the account.'."\n" + .'* Email: indicates the logon email address of the account.'."\n", + 'type' => 'string', + 'example' => 'Email', + ], + 'HandshakeId' => [ + 'description' => 'The ID of the invitation.'."\n", + 'type' => 'string', + 'example' => 'h-ycm4rp****', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Handshakes\\": {\\n \\"Handshake\\": [\\n {\\n \\"Status\\": \\"Pending\\",\\n \\"ExpireTime\\": \\"2018-08-24T09:55:41Z\\",\\n \\"ResourceDirectoryId\\": \\"rd-abcdef****\\",\\n \\"CreateTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"Note\\": \\"欢迎您加入\\",\\n \\"TargetEntity\\": \\"[email protected]\\",\\n \\"MasterAccountId\\": \\"172841235500****\\",\\n \\"MasterAccountName\\": \\"Alice\\",\\n \\"ModifyTime\\": \\"2018-08-10T09:55:41Z\\",\\n \\"TargetType\\": \\"Email\\",\\n \\"HandshakeId\\": \\"h-ycm4rp****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListHandshakesForResourceDirectoryResponse>\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <TotalCount>2</TotalCount>\\n <Handshakes>\\n <Handshake>\\n <HandshakeId>h-ycm4rp****</HandshakeId>\\n <ResourceDirectoryId>rd-abcdef****</ResourceDirectoryId>\\n <MasterAccountId>172841235500****</MasterAccountId>\\n <MasterAccountName>Alice</MasterAccountName>\\n <InviteEntity>[email protected]</InviteEntity>\\n <InviteType>Email</InviteType>\\n <Note>欢迎您加入</Note>\\n <Status>Pending</Status>\\n <CreateTime>2018-08-10T09:55:41Z</CreateTime>\\n <ModifyTime>2018-08-10T09:55:41Z</ModifyTime>\\n <ExpireTime>2018-08-24T09:55:41Z</ExpireTime>\\n </Handshake>\\n <Handshake>\\n <HandshakeId>h-ycm4rp****</HandshakeId>\\n <ResourceDirectoryId>rd-abcdef****</ResourceDirectoryId>\\n <MasterAccountId>172841235500****</MasterAccountId>\\n <MasterAccountName>Alice</MasterAccountName>\\n <TargetEntity>172841235500****</TargetEntity>\\n <TargetType>Account</TargetType>\\n <Note>欢迎您加入</Note>\\n <Status>Pending</Status>\\n <CreateTime>2018-08-10T09:55:41Z</CreateTime>\\n <ModifyTime>2018-08-10T09:55:41Z</ModifyTime>\\n <ExpireTime>2018-08-24T09:55:41Z</ExpireTime>\\n </Handshake>\\n </Handshakes>\\n</ListHandshakesForResourceDirectoryResponse>","errorExample":""}]', + 'title' => 'ListHandshakesForResourceDirectory', + 'summary' => 'Queries invitations in a resource directory.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'SendVerificationCodeForBindSecureMobilePhone' => [ + 'summary' => 'Sends a verification code to the mobile phone number that you want to bind to a member of the resource account type in a resource directory for security purposes.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + ], + 'parameters' => [ + [ + 'name' => 'SecureMobilePhone', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mobile phone number that you want to bind to the member for security purposes.'."\n" + ."\n" + .'Specify the mobile phone number in the \\<Country code>-\\<Mobile phone number> format.'."\n" + ."\n" + .'> Mobile phone numbers in the `86-<Mobile phone number>` format in the Chinese mainland are not supported.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'xx-13900001234', + ], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '138660628348****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'DCD43660-75DD-5D15-B342-1B83FCA5B913', + ], + 'ExpirationDate' => [ + 'description' => 'The time when the verification code expires.'."\n", + 'type' => 'string', + 'example' => '2021-12-17T07:38:41.747Z', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 409 => [ + [ + 'errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', + 'errorMessage' => 'The specified account is an Alibaba Cloud account or already exists in another resource directory.', + ], + [ + 'errorCode' => 'EntityAlreadyExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is already enabled. We recommend that you do not enable the resource directory again.', + ], + [ + 'errorCode' => 'SendValidateCodeExceedsLimitForAccount', + 'errorMessage' => 'For the same account, the number of verification codes sent exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter.MobileCountryCode', + 'errorMessage' => 'The current site does not support the country code.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DCD43660-75DD-5D15-B342-1B83FCA5B913\\",\\n \\"ExpirationDate\\": \\"2021-12-17T07:38:41.747Z\\"\\n}","errorExample":""},{"type":"xml","example":"<SendVerificationCodeForBindSecureMobilePhoneResponse>\\n <RequestId>DCD43660-75DD-5D15-B342-1B83FCA5B913</RequestId>\\n <ExpirationDate>2021-12-17T07:38:41.747Z</ExpirationDate>\\n</SendVerificationCodeForBindSecureMobilePhoneResponse>","errorExample":""}]', + 'title' => 'SendVerificationCodeForBindSecureMobilePhone', + 'description' => 'To ensure that the system can record the operators of management operations, you must use a RAM user or RAM role to which the AliyunResourceDirectoryFullAccess policy is attached within the management account of your resource directory to call this API operation.'."\n", + ], + 'BindSecureMobilePhone' => [ + 'summary' => 'Binds a mobile phone number to a member of the resource account type in a resource directory for security purposes.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'VerificationCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The verification code.'."\n" + ."\n" + .'You can call the [SendVerificationCodeForBindSecureMobilePhone](~~SendVerificationCodeForBindSecureMobilePhone~~) operation to obtain the verification code.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '123456', + ], + ], + [ + 'name' => 'SecureMobilePhone', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mobile phone number that you want to bind to the member for security purposes.'."\n" + ."\n" + .'The mobile phone number you specify must be the same as the mobile phone number that you specify when you call the [SendVerificationCodeForBindSecureMobilePhone](~~SendVerificationCodeForBindSecureMobilePhone~~) operation to obtain a verification code.'."\n" + ."\n" + .'Specify the mobile phone number in the \\<Country code>-\\<Mobile phone number> format.'."\n" + ."\n" + .'> Mobile phone numbers in the `86-<Mobile phone number>` format in the Chinese mainland are not supported.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'xx-13900001234', + ], + ], + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '138660628348****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '0217AFEB-5318-56D4-B167-1933D83EDF3F', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotSupport.Site.Action', + 'errorMessage' => 'Site does not allow current action.', + ], + ], + 409 => [ + [ + 'errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', + 'errorMessage' => 'The specified account is an Alibaba Cloud account or already exists in another resource directory.', + ], + [ + 'errorCode' => 'Invalid.EnterpriseName', + 'errorMessage' => 'You must specify the enterprise name.', + ], + [ + 'errorCode' => 'EnterpriseRealNameVerificationError', + 'errorMessage' => 'The specified account does not pass enterprise real-name verification. We recommend you first complete enterprise real-name verification for the account.', + ], + [ + 'errorCode' => 'EntityAlreadyExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is already enabled. We recommend that you do not enable the resource directory again.', + ], + [ + 'errorCode' => 'Invalid.VerificationCode', + 'errorMessage' => 'The verification code is invalid.', + ], + [ + 'errorCode' => 'AccountTypeMismatch', + 'errorMessage' => 'The type or status of the member account cannot satisfy the current operation.', + ], + [ + 'errorCode' => 'AccountSecureMobileAlreadyExists', + 'errorMessage' => 'The secure mobile number of the member already exists.', + ], + [ + 'errorCode' => 'CallerIdentityError', + 'errorMessage' => 'Please use the RAM user or role of the Management Account.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0217AFEB-5318-56D4-B167-1933D83EDF3F\\"\\n}","errorExample":""},{"type":"xml","example":"<BindSecureMobilePhoneResponse>\\n <RequestId>0217AFEB-5318-56D4-B167-1933D83EDF3F</RequestId>\\n</BindSecureMobilePhoneResponse>","errorExample":""}]', + 'title' => 'BindSecureMobilePhone', + 'description' => 'You can call this API operation only to bind a mobile phone number to a member of the resource account type. You cannot call this API operation to change the mobile phone number that is bound to a member of the resource account type.'."\n" + ."\n" + .'To ensure that the system can record the operators of management operations, you must use a RAM user or RAM role to which the AliyunResourceDirectoryFullAccess policy is attached within the management account of your resource directory to call this API operation.'."\n", + ], + 'SetMemberDeletionPermission' => [ + 'summary' => 'Enables or disables the member deletion feature.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the member deletion feature. Valid values:'."\n" + ."\n" + .'* Enabled: enables the member deletion feature.'."\n" + .'* Disabled: disables the member deletion feature.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Enabled', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C55A4CAA-9039-1DDF-91CE-FCC134513D29', + ], + 'MemberDeletionStatus' => [ + 'description' => 'The status of the member deletion feature. Valid values:'."\n" + ."\n" + .'* Enabled: The feature is enabled.'."\n" + .'* Disabled: The feature is disabled.'."\n", + 'type' => 'string', + 'example' => 'Enabled', + ], + 'ManagementAccountId' => [ + 'description' => 'The ID of the management account of the resource directory.'."\n", + 'type' => 'string', + 'example' => '151266687691****', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-3G****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Status', + 'errorMessage' => 'The specified Status is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'MemberAccountAccessDenied', + 'errorMessage' => 'The member account is not allowed to perform the operation.', + ], + ], + [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C55A4CAA-9039-1DDF-91CE-FCC134513D29\\",\\n \\"MemberDeletionStatus\\": \\"Enabled\\",\\n \\"ManagementAccountId\\": \\"151266687691****\\",\\n \\"ResourceDirectoryId\\": \\"rd-3G****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetMemberDeletionPermissionResponse>\\n <ResourceDirectoryId>rd-3G****</ResourceDirectoryId>\\n <RequestId>C55A4CAA-9039-1DDF-91CE-FCC134513D29</RequestId>\\n <MemberDeletionStatus>Enabled</MemberDeletionStatus>\\n <ManagementAccountId>151266687691****</ManagementAccountId>\\n</SetMemberDeletionPermissionResponse>","errorExample":""}]', + 'title' => 'SetMemberDeletionPermission', + 'description' => 'Members of the resource account type can be deleted only after the member deletion feature is enabled.'."\n", + ], + 'SetMemberDisplayNameSyncStatus' => [ + 'summary' => 'Enables or disables the Member Display Name Synchronization feature.', + 'path' => '', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the Member Display Name Synchronization feature. Valid values:'."\n" + ."\n" + .'* Enabled: The feature is enabled. This indicates that the display names specified by the management account for the members will be synchronized to the basic account information of the members. The display name information will be visible and perceptible to the members. If a notification is sent to a member, the display name of the member will be used as the appellation of the member.'."\n" + .'* Disabled: The feature is disabled. This indicates that the display names specified by the management account for the members are valid only in the resource directory and will not be updated to the basic account information of the members.'."\n", + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [], + 'example' => 'Enabled', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'MemberAccountDisplayNameSyncStatus' => [ + 'description' => 'The status of the Member Display Name Synchronization feature. Valid values:'."\n" + ."\n" + .'* Enabled'."\n" + .'* Disabled'."\n", + 'type' => 'string', + 'example' => 'Enabled', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Status', + 'errorMessage' => 'The specified Status is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'MemberAccountAccessDenied', + 'errorMessage' => 'The member account is not allowed to perform the operation.', + ], + ], + [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"MemberAccountDisplayNameSyncStatus\\": \\"Enabled\\"\\n}","type":"json"}]', + 'title' => 'SetMemberDisplayNameSyncStatus', + ], + 'CheckAccountDelete' => [ + 'summary' => 'Performs a member deletion check.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '179855839641****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '7CDDDCEF-CDFD-0825-B7D7-217BE0897B22', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.AccountId', + 'errorMessage' => 'You must specify AccountId.', + ], + [ + 'errorCode' => 'InvalidParameter.AccountId', + 'errorMessage' => 'The AccountId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + 409 => [ + [ + 'errorCode' => 'AccountTypeOrStatusMismatch', + 'errorMessage' => 'You cannot perform the action on the member account.', + ], + [ + 'errorCode' => 'InvalidControlPolicyEnablementStatus', + 'errorMessage' => 'The control policy enablement status is not valid to perform this operation.', + ], + [ + 'errorCode' => 'NoLicense.ResourceDirectory', + 'errorMessage' => 'The resource directory has not enabled the delete operation.', + ], + [ + 'errorCode' => 'UnknownError.Account', + 'errorMessage' => 'The deletion failed. An unknown error occurred. Please try again later.', + ], + [ + 'errorCode' => 'CallerIdentityError.DeleteAccount', + 'errorMessage' => 'Please use the RAM user or role of the management account to delete.', + ], + [ + 'errorCode' => 'RemoveConfilctAccountAsDelegatedAdministator', + 'errorMessage' => 'You attempted to remove a member that is registered as a delegated administrator. To complete this operation, you must first deregister this account as a delegated administrator.', + ], + [ + 'errorCode' => 'LegalEntityDifferent', + 'errorMessage' => 'The account legal entity is different from the one of the Management Account.', + ], + [ + 'errorCode' => 'MemberTypeError.DeleteAccount', + 'errorMessage' => 'You can only delete accounts of the resource account type created by Resource Directory.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7CDDDCEF-CDFD-0825-B7D7-217BE0897B22\\"\\n}","errorExample":""},{"type":"xml","example":"<CheckAccountDeleteResponse>\\n <RequestId>7CDDDCEF-CDFD-0825-B7D7-217BE0897B22</RequestId>\\n</CheckAccountDeleteResponse>","errorExample":""}]', + 'title' => 'CheckAccountDelete', + 'description' => 'Before you delete a member, you must call this API operation to check whether the member can be deleted.'."\n", + 'extraInfo' => '### What to do next'."\n" + ."\n" + .'You can call the [GetAccountDeletionCheckResult](~~GetAccountDeletionCheckResult~~) operation to query the deletion check result.'."\n", + ], + 'GetAccountDeletionCheckResult' => [ + 'summary' => 'Queries the result of a member deletion check.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '179855839641****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '54AC391D-4F7F-5F08-B8D3-0AECDE6EC5BD', + ], + 'AccountDeletionCheckResultInfo' => [ + 'description' => 'The result of the deletion check for the member.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the check. Valid values:'."\n" + ."\n" + .'* PreCheckComplete: The check is complete.'."\n" + .'* PreChecking: The check is in progress.'."\n", + 'type' => 'string', + 'example' => 'PreCheckComplete', + ], + 'AllowDelete' => [ + 'description' => 'Indicates whether the member can be deleted. Valid values:'."\n" + ."\n" + .'* true: The member can be deleted.'."\n" + .'* false: The member cannot be deleted.'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'NotAllowReason' => [ + 'description' => 'The reasons why the member cannot be deleted.'."\n" + ."\n" + .'> This parameter is returned only if the value of AllowDelete is false.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A reason why the member cannot be deleted.'."\n" + ."\n" + .'> This parameter is returned only if the value of AllowDelete is false.'."\n", + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => 'The description of the check item.'."\n", + 'type' => 'string', + 'example' => 'This account is an Enterprise Finance associated account. Please remove the financial association of this account before deleting it.', + ], + 'CheckId' => [ + 'description' => 'The ID of the check item.'."\n", + 'type' => 'string', + 'example' => 'NON_SP_efc', + ], + 'CheckName' => [ + 'description' => 'The name of the cloud service to which the check item belongs.'."\n", + 'type' => 'string', + 'example' => 'Enterprise finance', + ], + ], + ], + ], + 'AbandonableChecks' => [ + 'description' => 'The check items that you can choose to ignore for the member deletion.'."\n" + ."\n" + .'> This parameter may be returned if the value of AllowDelete is true.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A check item that you can choose to ignore for the member deletion.'."\n" + ."\n" + .'> This parameter may be returned if the value of AllowDelete is true.'."\n", + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => 'The description of the check item.'."\n", + 'type' => 'string', + 'example' => 'An instance of a cloud service is running within the member. Submit a ticket to contact Alibaba Cloud technical support.'."\n", + ], + 'CheckId' => [ + 'description' => 'The ID of the check item.'."\n", + 'type' => 'string', + 'example' => 'NON_SP_cs', + ], + 'CheckName' => [ + 'description' => 'The name of the cloud service to which the check item belongs.'."\n", + 'type' => 'string', + 'example' => 'Container Service for Kubernetes'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.AccountId', + 'errorMessage' => 'You must specify AccountId.', + ], + [ + 'errorCode' => 'InvalidParameter.AccountId', + 'errorMessage' => 'The AccountId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + 409 => [ + [ + 'errorCode' => 'AccountTypeOrStatusMismatch', + 'errorMessage' => 'You cannot perform the action on the member account.', + ], + [ + 'errorCode' => 'EntityNotExists.CheckAccount', + 'errorMessage' => 'There is no check task for this account', + ], + [ + 'errorCode' => 'UnknownError.Account', + 'errorMessage' => 'The deletion failed. An unknown error occurred. Please try again later.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54AC391D-4F7F-5F08-B8D3-0AECDE6EC5BD\\",\\n \\"AccountDeletionCheckResultInfo\\": {\\n \\"Status\\": \\"PreCheckComplete\\",\\n \\"AllowDelete\\": \\"false\\",\\n \\"NotAllowReason\\": [\\n {\\n \\"Description\\": \\"This account is an Enterprise Finance associated account. Please remove the financial association of this account before deleting it.\\",\\n \\"CheckId\\": \\"NON_SP_efc\\",\\n \\"CheckName\\": \\"Enterprise finance\\"\\n }\\n ],\\n \\"AbandonableChecks\\": [\\n {\\n \\"Description\\": \\"存在云产品实例运行,请联系客服人员提工单处理。\\",\\n \\"CheckId\\": \\"NON_SP_cs\\",\\n \\"CheckName\\": \\"容器服务\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAccountDeletionCheckResultResponse>\\n <AccountDeletionCheckResultInfo>\\n <Status>PreCheckComplete</Status>\\n <NotAllowReason>\\n <Description>instance number:1</Description>\\n <CheckName>eip_pre</CheckName>\\n <CheckId>SP_eip_eip_pre</CheckId>\\n </NotAllowReason>\\n <NotAllowReason>\\n <Description>This account is an Enterprise Finance associated account. Please remove the financial association of this account before deleting it.</Description>\\n <CheckName>Enterprise finance</CheckName>\\n <CheckId>NON_SP_efc</CheckId>\\n </NotAllowReason>\\n <AllowDelete>false</AllowDelete>\\n </AccountDeletionCheckResultInfo>\\n <RequestId>54AC391D-4F7F-5F08-B8D3-0AECDE6EC5BD</RequestId>\\n</GetAccountDeletionCheckResultResponse>","errorExample":""}]', + 'title' => 'GetAccountDeletionCheckResult', + 'description' => 'After you call the [CheckAccountDelete](~~CheckAccountDelete~~) operation to perform a member deletion check, you can call the [GetAccountDeletionCheckResult](~~GetAccountDeletionCheckResult~~) operation to query the check result. If the check result shows that the member meets deletion requirements, you can delete the member. Otherwise, you need to first modify the items that do not meet requirements.'."\n", + ], + 'DeleteAccount' => [ + 'summary' => 'Deletes a member of the resource account type.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '169946124551****', + ], + ], + [ + 'name' => 'AbandonableCheckId', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The IDs of the check items that you can choose to ignore for the member deletion.'."\n" + ."\n" + .'You can obtain the IDs from the response of the [GetAccountDeletionCheckResult](~~GetAccountDeletionCheckResult~~) operation.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of a check item that you can choose to ignore for the member deletion.'."\n" + ."\n" + .'You can obtain the ID from the response of the [GetAccountDeletionCheckResult](~~GetAccountDeletionCheckResult~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NON_SP_cs', + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '009429F8-C1C0-5872-B674-A6C2333B9647', + ], + 'DeletionType' => [ + 'description' => 'The type of the deletion. Valid values:'."\n" + ."\n" + .'* 0: direct deletion. If the member does not have pay-as-you-go resources that are purchased within the previous 30 days, the system directly deletes the member.'."\n" + .'* 1: deletion with a silence period. If the member has pay-as-you-go resources that are purchased within the previous 30 days, the member enters a silence period. The system starts to delete the member until the silence period ends. For more information about the silence period, see [What is the silence period for member deletion?](~~446079~~)'."\n", + 'type' => 'string', + 'example' => '0', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.AccountId', + 'errorMessage' => 'You must specify AccountId.', + ], + [ + 'errorCode' => 'InvalidParameter.AccountId', + 'errorMessage' => 'The AccountId is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + 409 => [ + [ + 'errorCode' => 'AccountTypeOrStatusMismatch', + 'errorMessage' => 'You cannot perform the action on the member account.', + ], + [ + 'errorCode' => 'NoLicense.ResourceDirectory', + 'errorMessage' => 'The resource directory has not enabled the delete operation.', + ], + [ + 'errorCode' => 'UnknownError.Account', + 'errorMessage' => 'Delete failed. An unknown error occurred. Please try again later.', + ], + [ + 'errorCode' => 'AccountNotExist.DeleteAccount', + 'errorMessage' => 'The deletion failed. The account does not exist. Please confirm whether it has been deleted.', + ], + [ + 'errorCode' => 'ExistProcessingDeleteFlow.DeleteAccount', + 'errorMessage' => 'The request is invalid. The account is already in the process of deletion. Please do not repeat the operation.', + ], + [ + 'errorCode' => 'CreditControlBlock.DeleteAccount', + 'errorMessage' => 'The deletion failed. There are unsettled bills in the current account. Please settle them first and try again.', + ], + [ + 'errorCode' => 'SpBlock.DeleteAccount', + 'errorMessage' => 'The deletion failed. There is a specific product under the current account. Please clear it and try again.', + ], + [ + 'errorCode' => 'PeripheralError.DeleteAccount', + 'errorMessage' => 'The deletion failed. The deletion process is abnormal. Please try again later.', + ], + [ + 'errorCode' => 'MemberTypeError.DeleteAccount', + 'errorMessage' => 'Cloud account type members do not support deletion.', + ], + [ + 'errorCode' => 'CallerIdentityError.DeleteAccount', + 'errorMessage' => 'Please use the RAM user or role of the management account to delete.', + ], + [ + 'errorCode' => 'ExistPrepaidInstance.DeleteAccount', + 'errorMessage' => 'The deletion failed. There are prepaid products under the current account. Please release them and try again.', + ], + [ + 'errorCode' => 'ForbidDelete.Account', + 'errorMessage' => 'Delete is prohibited. The current account is abnormal. Please contact customer service.', + ], + [ + 'errorCode' => 'QuotaExceeded.DeleteAccount', + 'errorMessage' => 'You have exceeded delete account quota for the past 30 days.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"009429F8-C1C0-5872-B674-A6C2333B9647\\",\\n \\"DeletionType\\": \\"0\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAccountResponse>\\n <RequestId>55B22096-0D0C-542D-9A01-9B95977D3A10</RequestId>\\n <DeletionType>0</DeletionType>\\n</DeleteAccountResponse>","errorExample":""}]', + 'title' => 'DeleteAccount', + 'description' => 'Before you delete a member, we recommend that you call the [CheckAccountDelete](~~CheckAccountDelete~~) and [GetAccountDeletionCheckResult](~~GetAccountDeletionCheckResult~~) operations to check whether the member meets deletion requirements. You can call the DeleteAccount operation to delete only members that meet the deletion requirements.'."\n" + ."\n" + .'After you submit a deletion request for a member, you can call the [GetAccountDeletionStatus](~~GetAccountDeletionStatus~~) operation to query the deletion status of the member. After a member is deleted, the resources and data within the member are deleted, and you can no longer use the member to log on to the Alibaba Cloud Management Console. In addition, the member cannot be recovered. Proceed with caution. For more information about how to delete a member, see [Delete a member of the resource account type](~~446078~~).'."\n", + ], + 'GetAccountDeletionStatus' => [ + 'summary' => 'Queries the deletion status of a member.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '169946124551****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RdAccountDeletionStatus' => [ + 'description' => 'The deletion status of the member.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status. Valid values:'."\n" + ."\n" + .'* Success: The member is deleted.'."\n" + .'* Checking: A deletion check is being performed for the member.'."\n" + .'* Deleting: The member is being deleted.'."\n" + .'* CheckFailed: The deletion check for the member fails.'."\n" + .'* DeleteFailed: The member fails to be deleted.'."\n", + 'type' => 'string', + 'example' => 'Success', + ], + 'AccountId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'example' => '169946124551****', + ], + 'CreateTime' => [ + 'description' => 'The start time of the deletion.'."\n", + 'type' => 'string', + 'example' => '2022-08-23T17:05:30+08:00', + ], + 'DeletionTime' => [ + 'description' => 'The end time of the deletion.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2022-08-23T17:06:01+08:00', + ], + 'FailReasonList' => [ + 'description' => 'The reasons why the member fails to be deleted.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A reason why the member fails to be deleted.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the cloud service to which the check item belongs.'."\n", + 'type' => 'string', + 'example' => 'Others', + ], + 'Description' => [ + 'description' => 'The description of the check item.'."\n", + 'type' => 'string', + 'example' => 'This account has a payer account. Please release the financial relationship of this account first.', + ], + ], + ], + ], + 'DeletionType' => [ + 'description' => 'The type of the deletion. Valid values:'."\n" + ."\n" + .'* 0: direct deletion. If the member does not have pay-as-you-go resources that are purchased within the previous 30 days, the system directly deletes the member.'."\n" + .'* 1: deletion with a silence period. If the member has pay-as-you-go resources that are purchased within the previous 30 days, the member enters a silence period of 45 days. The system starts to delete the member until the silence period ends. For more information about the silence period, see [What is the silence period for member deletion?](~~446079~~)'."\n", + 'type' => 'string', + 'example' => '0', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '8AA43293-7C8F-5730-8F2D-7F864EC092C5', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'EntityNotExists.CheckAccount', + 'errorMessage' => 'There is no check task for this account', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RdAccountDeletionStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"AccountId\\": \\"169946124551****\\",\\n \\"CreateTime\\": \\"2022-08-23T17:05:30+08:00\\",\\n \\"DeletionTime\\": \\"2022-08-23T17:06:01+08:00\\",\\n \\"FailReasonList\\": [\\n {\\n \\"Name\\": \\"Others\\",\\n \\"Description\\": \\"This account has a payer account. Please release the financial relationship of this account first.\\"\\n }\\n ],\\n \\"DeletionType\\": \\"0\\"\\n },\\n \\"RequestId\\": \\"8AA43293-7C8F-5730-8F2D-7F864EC092C5\\"\\n}","errorExample":""},{"type":"xml","example":"<GetAccountDeletionStatusResponse>\\n <RequestId>8AA43293-7C8F-5730-8F2D-7F864EC092C5</RequestId>\\n <RdAccountDeletionStatus>\\n <Status>Success</Status>\\n <AccountId>169946124551****</AccountId>\\n <DeletionType>0</DeletionType>\\n <CreateTime>2022-08-23T17:05:30+08:00</CreateTime>\\n <DeletionTime>2022-08-23T17:06:01+08:00</DeletionTime>\\n </RdAccountDeletionStatus>\\n</GetAccountDeletionStatusResponse>","errorExample":""}]', + 'title' => 'GetAccountDeletionStatus', + ], + 'TagResources' => [ + 'summary' => 'Adds tags to the members in a resource directory.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The Alibaba Cloud account IDs of the members.'."\n" + ."\n" + .'You can specify a maximum of 50 IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Alibaba Cloud account ID of a member.'."\n" + ."\n" + .'You can specify a maximum of 50 IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1524***', + ], + 'required' => true, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags.'."\n" + ."\n" + .'You can specify a maximum of 20 tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A tag.'."\n" + ."\n" + .'You can specify a maximum of 20 tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of the tag.'."\n" + ."\n" + .'A tag key can be a maximum of 128 characters in length. It cannot contain `http://` or `https://` and cannot start with `acs:` or `aliyun`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k1', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n" + ."\n" + .'A tag value can be a maximum of 128 characters in length. It cannot contain `http://` or `https://` and cannot start with `acs:`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'required' => true, + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the objects to which you want to add tags. Valid values:'."\n" + ."\n" + .'* Account: member'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Account', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C</RequestId>\\n</TagResourcesResponse>","errorExample":""}]', + 'title' => 'TagResources', + ], + 'UntagResources' => [ + 'summary' => 'Removes tags from the members in a resource directory.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to remove all tags from the specified members. Valid values:'."\n" + ."\n" + .'* false (default value)'."\n" + .'* true'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The Alibaba Cloud account IDs of the members.'."\n" + ."\n" + .'You can specify a maximum of 50 IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Alibaba Cloud account ID of a member.'."\n" + ."\n" + .'You can specify a maximum of 50 IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1524****', + ], + 'required' => true, + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tag keys.'."\n" + ."\n" + .'You can specify a maximum of 20 tag keys.'."\n" + ."\n" + .'> If you set the `All` parameter to `true`, you do not need to specify tag keys.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A tag key.'."\n" + ."\n" + .'You can specify a maximum of 20 tag keys.'."\n" + ."\n" + .'> If you set the `All` parameter to `true`, you do not need to specify tag keys.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k1', + ], + 'required' => false, + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the objects from which you want to remove tags. Valid values:'."\n" + ."\n" + .'* Account: member'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Account', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]', + 'title' => 'UntagResources', + ], + 'ListTagResources' => [ + 'summary' => 'Queries the tags that are added to the members in a resource directory.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The token that is used to start the next query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags. This parameter specifies a filter condition for the query.'."\n" + ."\n" + .'You can specify a maximum of 20 tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A tag. This parameter specifies a filter condition for the query.'."\n" + ."\n" + .'You can specify a maximum of 20 tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k1', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The Alibaba Cloud account IDs of the members. This parameter specifies a filter condition for the query.'."\n" + ."\n" + .'> If you want to query the tags that are added to the members in a resource directory, you must configure both the `ResourceId` and `ResourceType` parameters and set the `ResourceType` parameter to `Account` in your request.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Alibaba Cloud account ID of a member. This parameter specifies a filter condition for the query.'."\n" + ."\n" + .'> If you want to query the tags that are added to the members in a resource directory, you must configure both the `ResourceId` and `ResourceType` parameters and set the `ResourceType` parameter to `Account` in your request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1098***', + ], + 'required' => false, + 'maxItems' => 50, + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the objects whose tags you want to query. This parameter specifies a filter condition for the query. Valid values:'."\n" + ."\n" + .'* Account: member'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Account', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => 'Indicates whether the next query is required.```` Valid values:'."\n" + ."\n" + .'* If the value of this parameter is empty (`"NextToken": ""`), all results are returned, and the `next query` is not required.'."\n" + .'* If the value of this parameter is not empty, the next query is required, and the value is the token used to start the next query.````'."\n", + 'type' => 'string', + 'example' => 'caeba0bbb2be03f84eb48b699f0a****', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '8054B059-6B36-53BF-AA45-B8C9A0ED05AB', + ], + 'TagResources' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'TagValue' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'example' => 'k1', + ], + 'ResourceId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'example' => '1098***', + ], + 'TagKey' => [ + 'description' => 'The key of the tag.'."\n", + 'type' => 'string', + 'example' => 'k1', + ], + 'ResourceType' => [ + 'description' => 'The type of the object whose tags are queried. Valid values:'."\n" + ."\n" + .'* Account: member'."\n", + 'type' => 'string', + 'example' => 'Account', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"8054B059-6B36-53BF-AA45-B8C9A0ED05AB\\",\\n \\"TagResources\\": [\\n {\\n \\"TagValue\\": \\"k1\\",\\n \\"ResourceId\\": \\"1098***\\",\\n \\"TagKey\\": \\"k1\\",\\n \\"ResourceType\\": \\"Account\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <RequestId>8054B059-6B36-53BF-AA45-B8C9A0ED05AB</RequestId>\\n <TagResources>\\n <ResourceId>rg-aekz6bre2uq****</ResourceId>\\n <TagKey>k1</TagKey>\\n <ResourceType>resourcegroup</ResourceType>\\n <TagValue>v1</TagValue>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]', + 'title' => 'ListTagResources', + ], + 'ListTagKeys' => [ + 'summary' => 'Queries tag keys.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TGlzdFJlc291cm****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of entries to return for a single request.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The resource type.'."\n" + ."\n" + .'The value Account indicates the members of the resource directory.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Account', + ], + ], + [ + 'name' => 'KeyFilter', + 'in' => 'query', + 'schema' => [ + 'description' => 'The tag key for a fuzzy query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'team', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => 'Indicates whether the next query is required.'."\n" + ."\n" + .'* If the value of this parameter is empty (`"NextToken": ""`), all results are returned, and the next query is not required.'."\n" + .'* If the value of this parameter is not empty, the next query is required, and the value is the token used to start the next query.'."\n", + 'type' => 'string', + 'example' => 'TGlzdFJlc291cm****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A8842', + ], + 'Tags' => [ + 'description' => 'The information about the tag keys.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'team', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"TGlzdFJlc291cm****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A8842\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"team\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTagKeysResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a****</NextToken>\\n <RequestId>DC09A6AA-2713-4E10-A2E9-E6C5C43A8842</RequestId>\\n <Tags>\\n <Key>team</Key>\\n </Tags>\\n</ListTagKeysResponse>","errorExample":""}]', + 'title' => 'ListTagKeys', + ], + 'ListTagValues' => [ + 'summary' => 'Queries the tag values of a tag key.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TGlzdFJlc291cm****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of entries to return for a single request.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The resource type.'."\n" + ."\n" + .'The value Account indicates the members of the resource directory.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Account', + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'The tag key. This parameter specifies a filter condition for the query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'k1', + ], + ], + [ + 'name' => 'ValueFilter', + 'in' => 'query', + 'schema' => [ + 'description' => 'The tag value for a fuzzy query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'NextToken' => [ + 'description' => 'Indicates whether the next query is required.'."\n" + ."\n" + .'* If the value of this parameter is empty (`"NextToken": ""`), all results are returned, and the next query is not required.'."\n" + .'* If the value of this parameter is not empty, the next query is required, and the value is the token used to start the next query.'."\n", + 'type' => 'string', + 'example' => 'TGlzdFJlc291cm****', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A8842', + ], + 'Tags' => [ + 'description' => 'The information about the tag values.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'v1', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"TGlzdFJlc291cm****\\",\\n \\"RequestId\\": \\"DC09A6AA-2713-4E10-A2E9-E6C5C43A8842\\",\\n \\"Tags\\": [\\n {\\n \\"Value\\": \\"v1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTagValuesResponse>\\n <NextToken>TGlzdFJlc291cm****</NextToken>\\n <RequestId>DC09A6AA-2713-4E10-A2E9-E6C5C43A8842</RequestId>\\n <Tags>\\n <Value>v1</Value>\\n </Tags>\\n</ListTagValuesResponse>","errorExample":""}]', + 'title' => 'ListTagValues', + ], + 'ChangeAccountEmail' => [ + 'summary' => 'Changes the email address that is bound to a member.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '181761095690****', + ], + ], + [ + 'name' => 'Email', + 'in' => 'query', + 'schema' => [ + 'description' => 'The email address to be bound to the member.'."\n" + ."\n" + .'> The system automatically sends a verification email to the email address. After the verification is passed, the email address takes effect, and the system changes both the logon email address and secure email address of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '[email protected]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotSupportedOperation.Account.EmailModify', + 'errorMessage' => 'The operation is not supported because the account email is being modifying.', + ], + [ + 'errorCode' => 'NotSupport.InvitedAccount', + 'errorMessage' => 'The current operation is not supported for accounts invited to join the resource directory.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"<ChangeAccountEmailResponse>\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\n</ChangeAccountEmailResponse>","errorExample":""}]', + 'title' => 'ChangeAccountEmail', + ], + 'RetryChangeAccountEmail' => [ + 'summary' => 'Resends a verification email for the email address change of a member.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '181761095690****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.EmailModifyRecord', + 'errorMessage' => 'This email modification record of the account does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"<RetryChangeAccountEmailResponse>\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\n</RetryChangeAccountEmailResponse>","errorExample":""}]', + 'title' => 'RetryChangeAccountEmail', + ], + 'CancelChangeAccountEmail' => [ + 'summary' => 'Cancels the email address change of a member.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '181761095690****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.EmailModifyRecord', + 'errorMessage' => 'This email modification record of the account does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"<CancelChangeAccountEmailResponse>\\n <RequestId>9B34724D-54B0-4A51-B34D-4512372FE1BE</RequestId>\\n</CancelChangeAccountEmailResponse>","errorExample":""}]', + 'title' => 'CancelChangeAccountEmail', + ], + 'AddMessageContact' => [ + 'summary' => 'Adds a contact.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the contact.'."\n" + ."\n" + .'The name must be unique in your resource directory.'."\n" + ."\n" + .'The name must be 2 to 12 characters in length and can contain only letters.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'tom', + ], + ], + [ + 'name' => 'EmailAddress', + 'in' => 'query', + 'schema' => [ + 'description' => 'The email address of the contact.'."\n" + ."\n" + .'After you specify an email address, you need to call [SendEmailVerificationForMessageContact](~~SendEmailVerificationForMessageContact~~) to send verification information to the email address. After the verification is passed, the email address takes effect.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'someone***@example.com', + ], + ], + [ + 'name' => 'PhoneNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mobile phone number of the contact.'."\n" + ."\n" + .'Specify the mobile phone number in the `<Country code>-<Mobile phone number>` format.'."\n" + ."\n" + .'> Only mobile phone numbers in the `86-<Mobile phone number>` format in the Chinese mainland are supported.'."\n" + ."\n" + .'After you specify a mobile phone number, you need to call [SendPhoneVerificationForMessageContact](~~SendPhoneVerificationForMessageContact~~) to send verification information to the mobile phone number. After the verification is passed, the mobile phone number takes effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '86-139****1234', + ], + ], + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The job title of the contact.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* FinanceDirector'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* TechnicalDirector'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* MaintenanceDirector'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* CEO'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* ProjectDirector'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* Other'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n", + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'FinanceDirector' => '', + 'TechnicalDirector' => '', + 'MaintenanceDirector' => '', + 'CEO' => 'CEO', + 'ProjectDirector' => '', + 'Other' => '', + ], + 'example' => 'TechnicalDirector', + ], + ], + [ + 'name' => 'MessageTypes', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The types of messages received by the contact.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The type of the message received by the contact.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* ServiceMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* FaultMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* AccountExpenses'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* SecurityMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* ActivityMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* ProductMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'ServiceMessage' => '', + 'FaultMessage' => '', + 'AccountExpenses' => '', + 'SecurityMessage' => '', + 'ActivityMessage' => '', + 'ProductMessage' => '', + ], + 'example' => 'AccountExpenses', + ], + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2DFCE4C9-04A9-4C83-BB14-FE791275EC53', + ], + 'Contact' => [ + 'description' => 'The information about the contact.'."\n", + 'type' => 'object', + 'properties' => [ + 'ContactId' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'example' => 'c-qL4HqKONzOM7****', + ], + 'CreateDate' => [ + 'description' => 'The time when the contact was created.'."\n", + 'type' => 'string', + 'example' => '2023-03-27 17:19:21', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.Name', + 'errorMessage' => 'You must specify Name.', + ], + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Length', + 'errorMessage' => 'The Name exceeds the length limit.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.AlreadyUsed', + 'errorMessage' => 'The Name already exists. Please change to another name.', + ], + [ + 'errorCode' => 'MissingParameter.EmailAddress', + 'errorMessage' => 'You must specify EmailAddress.', + ], + [ + 'errorCode' => 'InvalidParameter.EmailAddress', + 'errorMessage' => 'The EmailAddress is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.PhoneNumber', + 'errorMessage' => 'You must specify PhoneNumber.', + ], + [ + 'errorCode' => 'InvalidParameter.PhoneNumber', + 'errorMessage' => 'The PhoneNumber is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.Title', + 'errorMessage' => 'You must specify Title.', + ], + [ + 'errorCode' => 'InvalidParameter.Title', + 'errorMessage' => 'The Title is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.MessageTypes', + 'errorMessage' => 'You must specify MessageTypes.', + ], + [ + 'errorCode' => 'InvalidParameter.MessageTypes', + 'errorMessage' => 'The MessageTypes is invalid.', + ], + [ + 'errorCode' => 'LimitExceeded.Contacts', + 'errorMessage' => 'The maximum number of contacts in a resource directory exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidParameter.MobileCountryCode', + 'errorMessage' => 'The current site does not support the country code.', + ], + [ + 'errorCode' => 'InvalidParameter.EmailAddress.Length', + 'errorMessage' => 'The EmailAddress exceeds the length limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'ConcurrentCallNotSupported', + 'errorMessage' => 'The operation conflicts with other operations. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2DFCE4C9-04A9-4C83-BB14-FE791275EC53\\",\\n \\"Contact\\": {\\n \\"ContactId\\": \\"c-qL4HqKONzOM7****\\",\\n \\"CreateDate\\": \\"2023-03-27 17:19:21\\"\\n }\\n}","type":"json"}]', + 'title' => 'AddMessageContact', + ], + 'SendEmailVerificationForMessageContact' => [ + 'summary' => 'Sends verification information to the email address of a contact.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c-5gsZAGt***PGduDF', + ], + ], + [ + 'name' => 'EmailAddress', + 'in' => 'query', + 'schema' => [ + 'description' => 'The email address of the contact.'."\n" + ."\n" + .'The specified email address must be the one you specify when you call [AddMessageContact](~~AddMessageContact~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'someone***@example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.EmailAddress', + 'errorMessage' => 'You must specify EmailAddress.', + ], + [ + 'errorCode' => 'InvalidParameter.EmailAddress', + 'errorMessage' => 'The EmailAddress is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.Contact.Verification', + 'errorMessage' => 'This contact verification does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'SendValidateCodeExceedsLimitForAccount', + 'errorMessage' => 'For the same account, the number of verification codes sent exceeds the limit.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\"\\n}","type":"json"}]', + 'title' => 'SendEmailVerificationForMessageContact', + ], + 'SendPhoneVerificationForMessageContact' => [ + 'summary' => 'Sends verification information to the mobile phone number of a contact.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + [ + 'name' => 'PhoneNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mobile phone number of the contact.'."\n" + ."\n" + .'The value must be in the `<Country code>-<Mobile phone number>` format.'."\n" + ."\n" + .'The specified mobile phone number must be the one you specify when you call the [AddMessageContact](~~AddMessageContact~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '86-139****1234', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CD76D376-2517-4924-92C5-DBC52262F93A', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.PhoneNumber', + 'errorMessage' => 'You must specify PhoneNumber.', + ], + [ + 'errorCode' => 'InvalidParameter.PhoneNumber', + 'errorMessage' => 'The PhoneNumber is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.MobileCountryCode', + 'errorMessage' => 'The current site does not support the country code.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.Contact.Verification', + 'errorMessage' => 'This contact verification does not exist.', + ], + ], + 409 => [ + [ + 'errorCode' => 'SendValidateCodeExceedsLimitForAccount', + 'errorMessage' => 'For the same account, the number of verification codes sent exceeds the limit.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CD76D376-2517-4924-92C5-DBC52262F93A\\"\\n}","type":"json"}]', + 'title' => 'SendPhoneVerificationForMessageContact', + ], + 'ListMessageContactVerifications' => [ + 'summary' => 'Queries the mobile phone number or email address to be verified for a contact.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CD76D376-2517-4924-92C5-DBC52262F93A', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '48', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ContactVerifications' => [ + 'description' => 'The record for the contact to be verified.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ContactId' => [ + 'description' => 'The ID of the contact.', + 'type' => 'string', + 'example' => 'c-qL4HqKONzOM7****', + ], + 'Target' => [ + 'description' => 'The object that is used for verification. Valid values:'."\n" + ."\n" + .'- Mobile phone number'."\n" + .'- Email address', + 'type' => 'string', + 'example' => 'someone***@example.com', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CD76D376-2517-4924-92C5-DBC52262F93A\\",\\n \\"TotalCount\\": 48,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"ContactVerifications\\": [\\n {\\n \\"ContactId\\": \\"c-qL4HqKONzOM7****\\",\\n \\"Target\\": \\"someone***@example.com\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListMessageContactVerifications', + ], + 'AssociateMembers' => [ + 'summary' => 'Binds a contact to a resource directory, folder, or member.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + [ + 'name' => 'Members', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The IDs of objects to which you want to bind the contact.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the object to which you want to bind the contact. Valid values:'."\n" + ."\n" + .'* ID of a resource directory'."\n" + .'* ID of a folder'."\n" + .'* ID of a member'."\n" + ."\n" + .'Valid values of N: 1 to 5. This indicates that a maximum of five objects can be specified at a time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fd-ZDNPiT****', + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '95060F1D-6990-4645-8920-A81D1BBFE992', + ], + 'Members' => [ + 'description' => 'The time when the contact was bound to the object.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ContactId' => [ + 'description' => 'The ID of the contact.', + 'type' => 'string', + 'example' => 'c-qL4HqKONzOM7****', + ], + 'MemberId' => [ + 'description' => 'The ID of the object. Valid values:'."\n" + ."\n" + .'- ID of the resource directory'."\n" + .'- ID of the folder'."\n" + .'- ID of the member', + 'type' => 'string', + 'example' => 'fd-ZDNPiT****', + ], + 'ModifyDate' => [ + 'description' => 'The time when the contact was bound to the object.', + 'type' => 'string', + 'example' => '2023-03-27 17:19:21', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + [ + 'errorCode' => 'InvalidParameter.Members', + 'errorMessage' => 'The Members is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Members.Duplicate', + 'errorMessage' => 'The Members contains duplicate values.', + ], + [ + 'errorCode' => 'LimitExceeded.ContactMembers', + 'errorMessage' => 'The maximum number of contact members exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidMember', + 'errorMessage' => 'The member does not exist in the resource directory.', + ], + [ + 'errorCode' => 'ContactStatusMismatchAction', + 'errorMessage' => 'The status of the contact does not allow the specified operation.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + ], + 429 => [ + [ + 'errorCode' => 'ConcurrentCallNotSupported', + 'errorMessage' => 'The operation conflicts with other operations. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95060F1D-6990-4645-8920-A81D1BBFE992\\",\\n \\"Members\\": [\\n {\\n \\"ContactId\\": \\"c-qL4HqKONzOM7****\\",\\n \\"MemberId\\": \\"fd-ZDNPiT****\\",\\n \\"ModifyDate\\": \\"2023-03-27 17:19:21\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'AssociateMembers', + ], + 'DisassociateMembers' => [ + 'summary' => 'Unbinds a contact from a resource directory, folder, or member.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + [ + 'name' => 'Members', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The IDs of objects from which you want to unbind the contact.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the object from which you want to unbind the contact. Valid values:'."\n" + ."\n" + .'* ID of a resource directory'."\n" + .'* ID of a folder'."\n" + .'* ID of a member'."\n" + ."\n" + .'Valid values of N: 1 to 5. This indicates that a maximum of five objects can be specified at a time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fd-ZDNPiT****', + ], + 'required' => true, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '95060F1D-6990-4645-8920-A81D1BBFE992', + ], + 'Members' => [ + 'description' => 'The time when the contact was unbound from the object.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ContactId' => [ + 'description' => 'The ID of the contact.', + 'type' => 'string', + 'example' => 'c-qL4HqKONzOM7****', + ], + 'MemberId' => [ + 'description' => 'The ID of the object. Valid values:'."\n" + ."\n" + .'- ID of the resource directory'."\n" + .'- ID of the folder'."\n" + .'- ID of the member', + 'type' => 'string', + 'example' => 'fd-ZDNPiT****', + ], + 'ModifyDate' => [ + 'description' => 'The time when the contact was unbound from the object.', + 'type' => 'string', + 'example' => '2023-03-27 17:19:21', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + [ + 'errorCode' => 'InvalidParameter.Members', + 'errorMessage' => 'The Members is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Members.Duplicate', + 'errorMessage' => 'The Members contains duplicate values.', + ], + [ + 'errorCode' => 'InvalidParameter.Members.Length', + 'errorMessage' => 'The maximum number of Members exceeds the limit.', + ], + [ + 'errorCode' => 'QuotaExceeded.Members', + 'errorMessage' => 'The maximum number of Members exceeds the limit.', + ], + [ + 'errorCode' => 'InvalidMember', + 'errorMessage' => 'The member does not exist in the resource directory.', + ], + [ + 'errorCode' => 'ContactStatusMismatchAction', + 'errorMessage' => 'The status of the contact does not allow the specified operation.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95060F1D-6990-4645-8920-A81D1BBFE992\\",\\n \\"Members\\": [\\n {\\n \\"ContactId\\": \\"c-qL4HqKONzOM7****\\",\\n \\"MemberId\\": \\"fd-ZDNPiT****\\",\\n \\"ModifyDate\\": \\"2023-03-27 17:19:21\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DisassociateMembers', + ], + 'GetMessageContact' => [ + 'summary' => 'Queries the information about a contact.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'Contact' => [ + 'description' => 'The information about the contact.'."\n", + 'type' => 'object', + 'properties' => [ + 'ContactId' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'example' => 'c-qL4HqKONzOM7****', + ], + 'MessageTypes' => [ + 'description' => 'The types of messages received by the contact.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The type of the message received by the contact.'."\n", + 'type' => 'string', + 'example' => 'AccountExpenses', + ], + ], + 'CreateDate' => [ + 'description' => 'The time when the contact was created.'."\n", + 'type' => 'string', + 'example' => '2023-03-27 17:19:21', + ], + 'Name' => [ + 'description' => 'The name of the contact.'."\n", + 'type' => 'string', + 'example' => 'tom', + ], + 'EmailAddress' => [ + 'description' => 'The email address of the contact.'."\n", + 'type' => 'string', + 'example' => 'someone***@example.com', + ], + 'PhoneNumber' => [ + 'description' => 'The mobile phone number of the contact.'."\n", + 'type' => 'string', + 'example' => '86-139****1234', + ], + 'Title' => [ + 'description' => 'The job title of the contact.'."\n", + 'type' => 'string', + 'example' => 'TechnicalDirector', + ], + 'Members' => [ + 'description' => 'The IDs of objects to which the contact is bound.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the object to which the contact is bound.'."\n", + 'type' => 'string', + 'example' => 'fd-ZDNPiT****', + ], + ], + 'Status' => [ + 'description' => 'The status of the contact. Valid values:'."\n" + ."\n" + .'* Verifying'."\n" + .'* Active'."\n" + .'* Deleting'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"Contact\\": {\\n \\"ContactId\\": \\"c-qL4HqKONzOM7****\\",\\n \\"MessageTypes\\": [\\n \\"AccountExpenses\\"\\n ],\\n \\"CreateDate\\": \\"2023-03-27 17:19:21\\",\\n \\"Name\\": \\"tom\\",\\n \\"EmailAddress\\": \\"someone***@example.com\\",\\n \\"PhoneNumber\\": \\"86-139****1234\\",\\n \\"Title\\": \\"TechnicalDirector\\",\\n \\"Members\\": [\\n \\"fd-ZDNPiT****\\"\\n ],\\n \\"Status\\": \\"Active\\"\\n }\\n}","type":"json"}]', + 'title' => 'GetMessageContact', + ], + 'ListMessageContacts' => [ + 'summary' => 'Queries contacts.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + [ + 'name' => 'Member', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the object to which the contact is bound. Valid values:'."\n" + ."\n" + .'* ID of the resource directory'."\n" + .'* ID of the folder'."\n" + .'* ID of the member'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fd-ZDNPiT****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '95060F1D-6990-4645-8920-A81D1BBFE992', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Contacts' => [ + 'description' => 'The time when the contact was bound to the objects.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the object to which the contact is bound.'."\n", + 'type' => 'object', + 'properties' => [ + 'ContactId' => [ + 'description' => 'The ID of the contact.', + 'type' => 'string', + 'example' => 'c-qL4HqKONzOM7****', + ], + 'Name' => [ + 'description' => 'The name of the contact.', + 'type' => 'string', + 'example' => 'tom', + ], + 'EmailAddress' => [ + 'description' => 'The email address of the contact.', + 'type' => 'string', + 'example' => 'someone***@example.com', + ], + 'PhoneNumber' => [ + 'description' => 'The mobile phone number of the contact.', + 'type' => 'string', + 'example' => '86-139****1234', + ], + 'Title' => [ + 'description' => 'The job title of the contact.', + 'type' => 'string', + 'example' => 'TechnicalDirector', + ], + 'MessageTypes' => [ + 'description' => 'The types of messages received by the contact.', + 'type' => 'array', + 'items' => [ + 'description' => 'The type of the message received by the contact.', + 'type' => 'string', + 'example' => 'AccountExpenses', + ], + ], + 'Members' => [ + 'description' => 'The IDs of objects to which the contact is bound.', + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the object to which the contact is bound.', + 'type' => 'string', + 'example' => 'fd-ZDNPiT****', + ], + ], + 'Status' => [ + 'description' => 'The status of the contact. Valid values:'."\n" + ."\n" + .'- Verifying'."\n" + .'- Active'."\n" + .'- Deleting', + 'type' => 'string', + 'example' => 'Active', + ], + 'CreateDate' => [ + 'description' => 'The time when the contact was added.', + 'type' => 'string', + 'example' => '2023-03-27 17:19:21', + ], + 'AssociatedDate' => [ + 'description' => 'The time when the contact was bound to the objects.', + 'type' => 'string', + 'example' => '2023-03-27 17:19:21', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Member', + 'errorMessage' => 'The Member is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + [ + 'errorCode' => 'EntityNotExists.Member', + 'errorMessage' => 'This Member does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95060F1D-6990-4645-8920-A81D1BBFE992\\",\\n \\"TotalCount\\": 20,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Contacts\\": [\\n {\\n \\"ContactId\\": \\"c-qL4HqKONzOM7****\\",\\n \\"Name\\": \\"tom\\",\\n \\"EmailAddress\\": \\"someone***@example.com\\",\\n \\"PhoneNumber\\": \\"86-139****1234\\",\\n \\"Title\\": \\"TechnicalDirector\\",\\n \\"MessageTypes\\": [\\n \\"AccountExpenses\\"\\n ],\\n \\"Members\\": [\\n \\"fd-ZDNPiT****\\"\\n ],\\n \\"Status\\": \\"Active\\",\\n \\"CreateDate\\": \\"2023-03-27 17:19:21\\",\\n \\"AssociatedDate\\": \\"2023-03-27 17:19:21\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListMessageContacts', + ], + 'DeleteMessageContact' => [ + 'summary' => 'Deletes a contact.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + [ + 'name' => 'RetainContactInMembers', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to retain the contact for members. Valid values:'."\n" + ."\n" + .'* true (default): retains the contact for members. In this case, the contact can still receive messages for the members.'."\n" + .'* false: does not retain the contact for members. In this case, the contact can no longer receive messages for the members. If you set this parameter to false, the response is asynchronously returned. You can call [GetMessageContactDeletionStatus](~~GetMessageContactDeletionStatus~~) to obtain the deletion result.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + 'Status' => [ + 'description' => 'The deletion status of the contact. Valid values:'."\n" + ."\n" + .'* Deleting'."\n" + .'* Deleted'."\n", + 'type' => 'string', + 'example' => 'Deleting', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + ], + 429 => [ + [ + 'errorCode' => 'ConcurrentCallNotSupported', + 'errorMessage' => 'The operation conflicts with other operations. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"Status\\": \\"Deleting\\"\\n}","type":"json"}]', + 'title' => 'DeleteMessageContact', + ], + 'GetMessageContactDeletionStatus' => [ + 'summary' => 'Queries the deletion status of a contact.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '95060F1D-6990-4645-8920-A81D1BBFE992', + ], + 'ContactDeletionStatus' => [ + 'description' => 'The deletion information of the contact.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The deletion status of the contact. Valid values:'."\n" + ."\n" + .'* Deleting'."\n" + .'* Failed'."\n", + 'type' => 'string', + 'example' => 'Deleting', + ], + 'ContactId' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'example' => 'c-qL4HqKONzOM7****', + ], + 'FailReasonList' => [ + 'description' => 'The types of messages received by the contact.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The types of messages received by the contact.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccountId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.', + 'type' => 'string', + 'example' => '199796839435****', + ], + 'MessageTypes' => [ + 'description' => 'The types of messages received by the contact.', + 'type' => 'array', + 'items' => [ + 'description' => 'The types of messages received by the contact.', + 'type' => 'string', + 'example' => 'AccountExpenses', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95060F1D-6990-4645-8920-A81D1BBFE992\\",\\n \\"ContactDeletionStatus\\": {\\n \\"Status\\": \\"Deleting\\",\\n \\"ContactId\\": \\"c-qL4HqKONzOM7****\\",\\n \\"FailReasonList\\": [\\n {\\n \\"AccountId\\": \\"199796839435****\\",\\n \\"MessageTypes\\": [\\n \\"AccountExpenses\\"\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'GetMessageContactDeletionStatus', + ], + 'UpdateMessageContact' => [ + 'summary' => 'Updates a contact.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tom', + ], + ], + [ + 'name' => 'EmailAddress', + 'in' => 'query', + 'schema' => [ + 'description' => 'The email address of the contact.'."\n" + ."\n" + .'After you specify an email address, you need to call [SendEmailVerificationForMessageContact](~~SendEmailVerificationForMessageContact~~) to send verification information to the email address. After the verification is passed, the email address takes effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'someone***@example.com', + ], + ], + [ + 'name' => 'PhoneNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mobile phone number of the contact.'."\n" + ."\n" + .'Specify the mobile phone number in the `<Country code>-<Mobile phone number>` format.'."\n" + ."\n" + .'After you specify a mobile phone number, you need to call [SendPhoneVerificationForMessageContact](~~SendPhoneVerificationForMessageContact~~) to send verification information to the mobile phone number. After the verification is passed, the mobile phone number takes effect.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '86-139****1234', + ], + ], + [ + 'name' => 'Title', + 'in' => 'query', + 'schema' => [ + 'description' => 'The job title of the contact.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* FinanceDirector'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* TechnicalDirector'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* MaintenanceDirector'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* CEO'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* ProjectDirector'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* Other'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'FinanceDirector' => '', + 'TechnicalDirector' => '', + 'MaintenanceDirector' => '', + 'CEO' => 'CEO', + 'ProjectDirector' => '', + 'Other' => '', + ], + 'example' => 'TechnicalDirector', + ], + ], + [ + 'name' => 'MessageTypes', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The types of messages received by the contact.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The type of the message received by the contact.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* ServiceMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* FaultMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* AccountExpenses'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* SecurityMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* ActivityMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .'* ProductMessage'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n" + ."\n" + .' <!-- -->'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'ServiceMessage' => '', + 'FaultMessage' => '', + 'AccountExpenses' => '', + 'SecurityMessage' => '', + 'ActivityMessage' => '', + 'ProductMessage' => '', + ], + 'example' => 'AccountExpenses', + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The Name is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.Length', + 'errorMessage' => 'The Name exceeds the length limit.', + ], + [ + 'errorCode' => 'InvalidParameter.Name.AlreadyUsed', + 'errorMessage' => 'The Name already exists. Please change to another name.', + ], + [ + 'errorCode' => 'InvalidParameter.EmailAddress', + 'errorMessage' => 'The EmailAddress is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.PhoneNumber', + 'errorMessage' => 'The PhoneNumber is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.Title', + 'errorMessage' => 'The Title is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.MessageTypes', + 'errorMessage' => 'The MessageTypes is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.MobileCountryCode', + 'errorMessage' => 'The current site does not support the country code.', + ], + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + [ + 'errorCode' => 'InvalidParameter.EmailAddress.Length', + 'errorMessage' => 'The EmailAddress exceeds the length limit.', + ], + [ + 'errorCode' => 'ContactStatusMismatchAction', + 'errorMessage' => 'The status of the contact does not allow the specified operation.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + ], + 429 => [ + [ + 'errorCode' => 'ConcurrentCallNotSupported', + 'errorMessage' => 'The operation conflicts with other operations. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","type":"json"}]', + 'title' => 'UpdateMessageContact', + ], + 'CancelMessageContactUpdate' => [ + 'summary' => 'Cancels the update of the mobile phone number or email address of a contact.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ContactId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c-qL4HqKONzOM7****', + ], + ], + [ + 'name' => 'PhoneNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mobile phone number of the contact.'."\n" + ."\n" + .'Specify the mobile phone number in the `<Country code>-<Mobile phone number>` format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '86-139****1234', + ], + ], + [ + 'name' => 'EmailAddress', + 'in' => 'query', + 'schema' => [ + 'description' => 'The email address of the contact.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'someone***@example.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter.ContactId', + 'errorMessage' => 'You must specify ContactId.', + ], + [ + 'errorCode' => 'InvalidParameter.ContactId', + 'errorMessage' => 'The ContactId is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.PhoneNumber', + 'errorMessage' => 'The PhoneNumber is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.MobileCountryCode', + 'errorMessage' => 'The current site does not support the country code.', + ], + [ + 'errorCode' => 'InvalidParameter.EmailAddress', + 'errorMessage' => 'The EmailAddress is invalid.', + ], + [ + 'errorCode' => 'ContactStatusMismatchAction', + 'errorMessage' => 'The status of the contact does not allow the specified operation.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Contact', + 'errorMessage' => 'This Contact does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","type":"json"}]', + 'title' => 'CancelMessageContactUpdate', + ], + 'PrecheckForConsolidatedBillingAccount' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'BillingAccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the management account or member to be used as a main financial account.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '111***089', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9E6B6CA8-9E7A-521F-A743-AA582714727E', + ], + 'Reasons' => [ + 'description' => 'The cause of the check failure.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Code' => [ + 'description' => 'The error code.'."\n", + 'type' => 'string', + 'example' => 'PaymentAccountEnterpriseInvoiceError', + ], + 'Message' => [ + 'description' => 'The error message.'."\n", + 'type' => 'string', + 'example' => 'No enterprise invoice header information is set for the payment account.', + ], + ], + ], + ], + 'Result' => [ + 'description' => 'Indicates whether the check was successful. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'MemberAccountOperationNotAllowed', + 'errorMessage' => 'The member account is not allowed to perform the operation.', + ], + ], + [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + [ + 'errorCode' => 'EntityNotExists.Account', + 'errorMessage' => 'This resource directory account does not exist.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9E6B6CA8-9E7A-521F-A743-AA582714727E\\",\\n \\"Reasons\\": [\\n {\\n \\"Code\\": \\"PaymentAccountEnterpriseInvoiceError\\",\\n \\"Message\\": \\"No enterprise invoice header information is set for the payment account.\\"\\n }\\n ],\\n \\"Result\\": false\\n}","type":"json"}]', + 'title' => 'PrecheckForConsolidatedBillingAccount', + 'summary' => 'Checks whether a management account or member can be used as a main financial account.', + ], + 'ListAuthorizedAccounts' => [ + 'summary' => 'Queries a list of members who have the permission to query member information in a resource directory.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n" + ."\n" + .'Page starts from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Accounts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Account' => [ + 'description' => 'The information about the member.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the member.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the member. Valid values:'."\n" + ."\n" + .'* CreateSuccess: The member is created.'."\n" + .'* PromoteVerifying: The upgrade of the member is under confirmation.'."\n" + .'* PromoteFailed: The upgrade of the member fails.'."\n" + .'* PromoteExpired: The upgrade of the member expires.'."\n" + .'* PromoteCancelled: The upgrade of the member is canceled.'."\n" + .'* PromoteSuccess: The member is upgraded.'."\n" + .'* InviteSuccess: The member accepts the invitation.'."\n", + 'type' => 'string', + 'example' => 'CreateSuccess', + ], + 'Type' => [ + 'description' => 'The type of the member. Valid values:'."\n" + ."\n" + .'* CloudAccount: cloud account'."\n" + .'* ResourceAccount: resource account'."\n", + 'type' => 'string', + 'example' => 'ResourceAccount', + ], + 'DisplayName' => [ + 'description' => 'The display name of the member.'."\n", + 'type' => 'string', + 'example' => 'admin', + ], + 'FolderId' => [ + 'description' => 'The ID of the folder.'."\n", + 'type' => 'string', + 'example' => 'fd-bVaRIG****', + ], + 'ResourceDirectoryId' => [ + 'description' => 'The ID of the resource directory.'."\n", + 'type' => 'string', + 'example' => 'rd-k4****', + ], + 'JoinTime' => [ + 'description' => 'The time when the member joined the resource directory. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-01-23T12:33:18Z', + ], + 'AccountId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'example' => '184311716100****', + ], + 'JoinMethod' => [ + 'description' => 'The way in which the member joins the resource directory. Valid values:'."\n" + ."\n" + .'* invited: The member is invited to join the resource directory.'."\n" + .'* created: The member is directly created in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'created', + ], + 'ModifyTime' => [ + 'description' => 'The time when the member was modified. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2015-01-23T12:33:18Z', + ], + 'ResourceDirectoryPath' => [ + 'description' => 'The RDPath of the member.'."\n", + 'type' => 'string', + 'example' => 'rd-k4****/r-Wm****/fd-bVaRIG****/184311716100****', + ], + 'AccountName' => [ + 'description' => 'The name of the member.'."\n", + 'type' => 'string', + 'example' => '[email protected]', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\",\\n \\"PageSize\\": 5,\\n \\"PageNumber\\": 1,\\n \\"Accounts\\": {\\n \\"Account\\": [\\n {\\n \\"Status\\": \\"CreateSuccess\\",\\n \\"Type\\": \\"ResourceAccount\\",\\n \\"DisplayName\\": \\"admin\\",\\n \\"FolderId\\": \\"fd-bVaRIG****\\",\\n \\"ResourceDirectoryId\\": \\"rd-k4****\\",\\n \\"JoinTime\\": \\"2015-01-23T12:33:18Z\\",\\n \\"AccountId\\": \\"184311716100****\\",\\n \\"JoinMethod\\": \\"created\\",\\n \\"ModifyTime\\": \\"2015-01-23T12:33:18Z\\",\\n \\"ResourceDirectoryPath\\": \\"rd-k4****/r-Wm****/fd-bVaRIG****/184311716100****\\",\\n \\"AccountName\\": \\"[email protected]\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListAuthorizedAccounts', + 'description' => 'The permission to query member information refers to the permission to call the [GetAccount](~~GetAccount~~) API operation.'."\n", + ], + 'EnableControlPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnablementStatus' => [ + 'description' => 'The status of the Control Policy feature. Valid values:'."\n" + ."\n" + .'* Enabled: The feature is enabled.'."\n" + .'* PendingEnable: The feature is being enabled.'."\n" + .'* Disabled: The feature is disabled.'."\n" + .'* PendingDisable: The feature is being disabled.'."\n", + 'type' => 'string', + 'example' => 'PendingEnable', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '8CE7BD95-EFFA-4911-A1E0-BD4412697FEB', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 409 => [ + [ + 'errorCode' => 'Throttling.EnableControlPolicy', + 'errorMessage' => 'The enable operation is too frequent. Please try again in %s minute(s).', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EnablementStatus\\": \\"PendingEnable\\",\\n \\"RequestId\\": \\"8CE7BD95-EFFA-4911-A1E0-BD4412697FEB\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<EnableControlPolicyResponse>\\r\\n\\t<EnablementStatus>PendingEnable</EnablementStatus>\\r\\n\\t<RequestId>8CE7BD95-EFFA-4911-A1E0-BD4412697FEB</RequestId>\\r\\n</EnableControlPolicyResponse>","errorExample":""}]', + 'title' => 'EnableControlPolicy', + 'summary' => 'Enables the Control Policy feature.', + 'description' => 'The Control Policy feature provided by the Resource Directory service allows you to manage the permission boundaries of the folders or members in your resource directory in a centralized manner. This feature is implemented based on the resource directory. You can use this feature to develop common or dedicated rules for access control. The Control Policy feature does not grant permissions but only defines permission boundaries. A member in a resource directory can be used to access resources only after it is granted the required permissions by using the Resource Access Management (RAM) service. For more information, see [Overview of the Control Policy feature](~~178671~~).'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DisableControlPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnablementStatus' => [ + 'description' => 'The status of the Control Policy feature. Valid values:'."\n" + ."\n" + .'* Enabled: The feature is enabled.'."\n" + .'* PendingEnable: The feature is being enabled.'."\n" + .'* Disabled: The feature is disabled.'."\n" + .'* PendingDisable: The feature is being disabled.'."\n", + 'type' => 'string', + 'example' => 'PendingDisable', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '7C709979-451D-4C92-835D-7DDCCAA562E9', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EnablementStatus\\": \\"PendingDisable\\",\\n \\"RequestId\\": \\"7C709979-451D-4C92-835D-7DDCCAA562E9\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DisableControlPolicyResponse>\\r\\n\\t<EnablementStatus>PendingDisable</EnablementStatus>\\r\\n\\t<RequestId>7C709979-451D-4C92-835D-7DDCCAA562E9</RequestId>\\r\\n</DisableControlPolicyResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'DisableControlPolicy', + 'summary' => 'Disables the Control Policy feature.', + 'description' => 'After you disable the Control Policy feature, the system automatically detaches all access control policies that are attached to folders and members. The system does not delete these access control policies, but you cannot attach them to folders or members again.'."\n" + ."\n" + .'> If you disable the Control Policy feature, the permissions of all folders and members in your resource directory are affected. Therefore, proceed with caution.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetControlPolicyEnablementStatus' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnablementStatus' => [ + 'description' => 'The status of the Control Policy feature. Valid values:'."\n" + ."\n" + .'* Enabled: The feature is enabled.'."\n" + .'* PendingEnable: The feature is being enabled.'."\n" + .'* Disabled: The feature is disabled.'."\n" + .'* PendingDisable: The feature is being disabled.'."\n", + 'type' => 'string', + 'example' => 'Disabled', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '1DC39A4E-3B52-4EFE-9F93-4897D7FFA0C4', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EnablementStatus\\": \\"Disabled\\",\\n \\"RequestId\\": \\"1DC39A4E-3B52-4EFE-9F93-4897D7FFA0C4\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<GetControlPolicyEnablementStatusResponse>\\r\\n\\t<EnablementStatus>Disabled</EnablementStatus>\\r\\n\\t<RequestId>1DC39A4E-3B52-4EFE-9F93-4897D7FFA0C4</RequestId>\\r\\n</GetControlPolicyEnablementStatusResponse>","errorExample":""}]', + 'title' => 'GetControlPolicyEnablementStatus', + 'summary' => 'Queries the status of the Control Policy feature.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'CreateControlPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the access control policy.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length. The name can contain letters, digits, and hyphens (-) and must start with a letter.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ExampleControlPolicy', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the access control policy.'."\n" + ."\n" + .'The description must be 1 to 1,024 characters in length. The description can contain letters, digits, underscores (\\_), and hyphens (-) and must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ExampleControlPolicy', + ], + ], + [ + 'name' => 'EffectScope', + 'in' => 'query', + 'schema' => [ + 'description' => 'The effective scope of the access control policy.'."\n" + ."\n" + .'The value RAM indicates that the access control policy takes effect only for RAM users and RAM roles.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'RAM', + ], + ], + [ + 'name' => 'PolicyDocument', + 'in' => 'query', + 'schema' => [ + 'description' => 'The document of the access control policy.'."\n" + ."\n" + .'The document can be a maximum of 4,096 characters in length.'."\n" + ."\n" + .'For more information about the languages of access control policies, see [Languages of access control policies](~~179096~~).'."\n" + ."\n" + .'For more information about the examples of access control policies, see [Examples of custom access control policies](~~181474~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '{"Version":"1","Statement":[{"Effect":"Deny","Action":["ram:UpdateRole","ram:DeleteRole","ram:AttachPolicyToRole","ram:DetachPolicyFromRole"],"Resource":"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole"}]}', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tag to add to the access control policy.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag to add to the access control policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'k1', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'ControlPolicy' => [ + 'description' => 'The details of the access control policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'AttachmentCount' => [ + 'description' => 'The number of times that the access control policy is referenced.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'CreateDate' => [ + 'description' => 'The time when the access control policy was created.'."\n", + 'type' => 'string', + 'example' => '2021-03-18T09:24:19Z', + ], + 'Description' => [ + 'description' => 'The description of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'ExampleControlPolicy', + ], + 'EffectScope' => [ + 'description' => 'The effective scope of the access control policy.'."\n" + ."\n" + .'The value RAM indicates that the access control policy takes effect only for RAM users and RAM roles.'."\n", + 'type' => 'string', + 'example' => 'RAM', + ], + 'PolicyId' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'cp-jExXAqIYkwHN****', + ], + 'PolicyName' => [ + 'description' => 'The name of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'ExampleControlPolicy', + ], + 'PolicyType' => [ + 'description' => 'The type of the access control policy. Valid values:'."\n" + ."\n" + .'* System: system access control policy'."\n" + .'* Custom: custom access control policy'."\n", + 'type' => 'string', + 'example' => 'Custom', + ], + 'UpdateDate' => [ + 'description' => 'The time when the access control policy was updated.'."\n", + 'type' => 'string', + 'example' => '2021-03-18T09:24:19Z', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '776B05B3-A0B0-464B-A191-F4E1119A94B2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 409 => [ + [ + 'errorCode' => 'InvalidParameter.PolicyDocument.Length', + 'errorMessage' => 'The maximum length of the policy document is exceeded. It must not exceed 4096 characters.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ControlPolicy\\": {\\n \\"AttachmentCount\\": \\"0\\",\\n \\"CreateDate\\": \\"2021-03-18T09:24:19Z\\",\\n \\"Description\\": \\"ExampleControlPolicy\\",\\n \\"EffectScope\\": \\"RAM\\",\\n \\"PolicyId\\": \\"cp-jExXAqIYkwHN****\\",\\n \\"PolicyName\\": \\"ExampleControlPolicy\\",\\n \\"PolicyType\\": \\"Custom\\",\\n \\"UpdateDate\\": \\"2021-03-18T09:24:19Z\\"\\n },\\n \\"RequestId\\": \\"776B05B3-A0B0-464B-A191-F4E1119A94B2\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<CreateControlPolicyResponse>\\r\\n\\t<ControlPolicy>\\r\\n\\t\\t<PolicyType>Custom</PolicyType>\\r\\n\\t\\t<UpdateDate>2021-03-18T09:24:19Z</UpdateDate>\\r\\n\\t\\t<Description>ExampleControlPolicy</Description>\\r\\n\\t\\t<AttachmentCount>0</AttachmentCount>\\r\\n\\t\\t<PolicyName>ExampleControlPolicy</PolicyName>\\r\\n\\t\\t<CreateDate>2021-03-18T09:24:19Z</CreateDate>\\r\\n\\t\\t<PolicyId>cp-jExXAqIYkwHN****</PolicyId>\\r\\n\\t\\t<EffectScope>RAM</EffectScope>\\r\\n\\t</ControlPolicy>\\r\\n\\t<RequestId>776B05B3-A0B0-464B-A191-F4E1119A94B2</RequestId>\\r\\n</CreateControlPolicyResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'CreateControlPolicy', + 'summary' => 'Creates a custom access control policy.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetControlPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cp-SImPt8GCEwiq****', + ], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'schema' => [ + 'description' => 'The language in which you want to return the description of the access control policy. Valid values:'."\n" + ."\n" + .'* zh-CN (default value): Chinese'."\n" + .'* en: English'."\n" + .'* ja: Japanese'."\n" + ."\n" + .'> This parameter is valid only for system access control policies.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'ControlPolicy' => [ + 'description' => 'The details of the access control policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'PolicyDocument' => [ + 'description' => 'The document of the access control policy.'."\n", + 'type' => 'string', + 'example' => '{\\"Version\\":\\"1\\",\\"Statement\\":[{\\"Effect\\":\\"Deny\\",\\"Action\\":[\\"ram:UpdateRole\\",\\"ram:DeleteRole\\",\\"ram:AttachPolicyToRole\\",\\"ram:DetachPolicyFromRole\\"],\\"Resource\\":\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\"}]}', + ], + 'UpdateDate' => [ + 'description' => 'The time when the access control policy was updated.'."\n", + 'type' => 'string', + 'example' => '2021-03-18T08:51:33Z', + ], + 'Description' => [ + 'description' => 'The description of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'ExampleControlPolicy', + ], + 'EffectScope' => [ + 'description' => 'The effective scope of the access control policy. Valid values:'."\n" + ."\n" + .'* All: The access control policy is in effect for Alibaba Cloud accounts, RAM users, and RAM roles.'."\n" + .'* RAM: The access control policy is in effect only for RAM users and RAM roles.'."\n", + 'type' => 'string', + 'example' => 'RAM', + ], + 'AttachmentCount' => [ + 'description' => 'The number of times that the access control policy is referenced.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'PolicyName' => [ + 'description' => 'The name of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'PolicyId' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'cp-SImPt8GCEwiq****', + ], + 'CreateDate' => [ + 'description' => 'The time when the access control policy was created.'."\n", + 'type' => 'string', + 'example' => '2021-03-18T08:51:33Z', + ], + 'PolicyType' => [ + 'description' => 'The type of the access control policy. Valid values:'."\n" + ."\n" + .'* System: system access control policy'."\n" + .'* Custom: custom access control policy'."\n", + 'type' => 'string', + 'example' => 'Custom', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'AB769936-CDFA-4D52-8CE2-A3581800044A', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ControlPolicy\\": {\\n \\"PolicyDocument\\": \\"{\\\\\\\\\\\\\\"Version\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Statement\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"Effect\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"Deny\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Action\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"ram:UpdateRole\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ram:DeleteRole\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ram:AttachPolicyToRole\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ram:DetachPolicyFromRole\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"Resource\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\\\\\\\\\\\\\"}]}\\",\\n \\"UpdateDate\\": \\"2021-03-18T08:51:33Z\\",\\n \\"Description\\": \\"ExampleControlPolicy\\",\\n \\"EffectScope\\": \\"RAM\\",\\n \\"AttachmentCount\\": \\"0\\",\\n \\"PolicyName\\": \\"test\\",\\n \\"PolicyId\\": \\"cp-SImPt8GCEwiq****\\",\\n \\"CreateDate\\": \\"2021-03-18T08:51:33Z\\",\\n \\"PolicyType\\": \\"Custom\\"\\n },\\n \\"RequestId\\": \\"AB769936-CDFA-4D52-8CE2-A3581800044A\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<GetControlPolicyResponse>\\r\\n\\t<ControlPolicy>\\r\\n\\t\\t<PolicyType>Custom</PolicyType>\\r\\n\\t\\t<UpdateDate>2021-03-18T08:51:33Z</UpdateDate>\\r\\n\\t\\t<Description>ExampleControlPolicy</Description>\\r\\n\\t\\t<AttachmentCount>0</AttachmentCount>\\r\\n\\t\\t<PolicyName>test</PolicyName>\\r\\n\\t\\t<PolicyDocument>{"Version":"1","Statement":[{"Effect":"Deny","Action":["ram:UpdateRole","ram:DeleteRole","ram:AttachPolicyToRole","ram:DetachPolicyFromRole"],"Resource":"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole"}]}</PolicyDocument>\\r\\n\\t\\t<CreateDate>2021-03-18T08:51:33Z</CreateDate>\\r\\n\\t\\t<PolicyId>cp-SImPt8GCEwiq****</PolicyId>\\r\\n\\t\\t<EffectScope>RAM</EffectScope>\\r\\n\\t</ControlPolicy>\\r\\n\\t<RequestId>AB769936-CDFA-4D52-8CE2-A3581800044A</RequestId>\\r\\n</GetControlPolicyResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'GetControlPolicy', + 'summary' => 'Queries the details of an access control policy.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListControlPolicies' => [ + 'summary' => 'Queries access control policies.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'PolicyType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the access control policies. Valid values:'."\n" + ."\n" + .'* System: system access control policy'."\n" + .'* Custom: custom access control policy'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'System', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n" + ."\n" + .'Page starts from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '200000', + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'schema' => [ + 'description' => 'The language in which you want to return the descriptions of the access control policies. Valid values:'."\n" + ."\n" + .'* zh-CN (default value): Chinese'."\n" + .'* en: English'."\n" + .'* ja: Japanese'."\n" + ."\n" + .'> This parameter is available only for system access control policies.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag_key', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag_value', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The number of access control policies.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9424A34C-3471-45AD-B6AB-924BBDFE42F9', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ControlPolicies' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ControlPolicy' => [ + 'description' => 'The access control policies.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The access control policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'UpdateDate' => [ + 'description' => 'The time when the access control policy was updated.'."\n", + 'type' => 'string', + 'example' => '2020-08-05T06:32:24Z', + ], + 'Description' => [ + 'description' => 'The description of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'System access control policy available for all operations on the cloud'."\n", + ], + 'EffectScope' => [ + 'description' => 'The effective scope of the access control policy. Valid values:'."\n" + ."\n" + .'* All: The access control policy is in effect for Alibaba Cloud accounts, RAM users, and RAM roles.'."\n" + .'* RAM: The access control policy is in effect only for RAM users and RAM roles.'."\n", + 'type' => 'string', + 'example' => 'All', + ], + 'AttachmentCount' => [ + 'description' => 'The number of times that the access control policy is referenced.'."\n", + 'type' => 'string', + 'example' => '44', + ], + 'PolicyName' => [ + 'description' => 'The name of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'FullAliyunAccess', + ], + 'PolicyId' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'cp-FullAliyunAccess', + ], + 'CreateDate' => [ + 'description' => 'The time when the access control policy was created.'."\n", + 'type' => 'string', + 'example' => '2020-08-05T06:32:24Z', + ], + 'PolicyType' => [ + 'description' => 'The type of the access control policy. Valid values:'."\n" + ."\n" + .'* System: system access control policy'."\n" + .'* Custom: custom access control policy'."\n", + 'type' => 'string', + 'example' => 'System', + ], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'tag_key', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'tag_value', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"9424A34C-3471-45AD-B6AB-924BBDFE42F9\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"ControlPolicies\\": {\\n \\"ControlPolicy\\": [\\n {\\n \\"UpdateDate\\": \\"2020-08-05T06:32:24Z\\",\\n \\"Description\\": \\"支持阿里云所有操作的系统管控策略\\",\\n \\"EffectScope\\": \\"All\\",\\n \\"AttachmentCount\\": \\"44\\",\\n \\"PolicyName\\": \\"FullAliyunAccess\\",\\n \\"PolicyId\\": \\"cp-FullAliyunAccess\\",\\n \\"CreateDate\\": \\"2020-08-05T06:32:24Z\\",\\n \\"PolicyType\\": \\"System\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"tag_key\\",\\n \\"Value\\": \\"tag_value\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ListControlPoliciesResponse>\\r\\n\\t<TotalCount>1</TotalCount>\\r\\n\\t<RequestId>9424A34C-3471-45AD-B6AB-924BBDFE42F9</RequestId>\\r\\n\\t<PageSize>10</PageSize>\\r\\n\\t<PageNumber>1</PageNumber>\\r\\n\\t<ControlPolicies>\\r\\n\\t\\t<ControlPolicy>\\r\\n\\t\\t\\t<PolicyType>System</PolicyType>\\r\\n\\t\\t\\t<UpdateDate>2020-08-05T06:32:24Z</UpdateDate>\\r\\n\\t\\t\\t<Description>支持阿里云所有操作的系统管控策略</Description>\\r\\n\\t\\t\\t<AttachmentCount>44</AttachmentCount>\\r\\n\\t\\t\\t<PolicyName>FullAliyunAccess</PolicyName>\\r\\n\\t\\t\\t<CreateDate>2020-08-05T06:32:24Z</CreateDate>\\r\\n\\t\\t\\t<PolicyId>cp-FullAliyunAccess</PolicyId>\\r\\n\\t\\t\\t<EffectScope>All</EffectScope>\\r\\n\\t\\t</ControlPolicy>\\r\\n\\t</ControlPolicies>\\r\\n</ListControlPoliciesResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'ListControlPolicies', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateControlPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cp-jExXAqIYkwHN****', + ], + ], + [ + 'name' => 'NewPolicyName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new name of the access control policy.'."\n" + ."\n" + .'The name must be 1 to 128 characters in length. The name can contain letters, digits, and hyphens (-) and must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NewControlPolicy', + ], + ], + [ + 'name' => 'NewDescription', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new description of the access control policy.'."\n" + ."\n" + .'The description must be 1 to 1,024 characters in length. The description can contain letters, digits, underscores (\\_), and hyphens (-) and must start with a letter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ExampleControlPolicy', + ], + ], + [ + 'name' => 'NewPolicyDocument', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new document of the access control policy.'."\n" + ."\n" + .'The document can be a maximum of 4,096 characters in length.'."\n" + ."\n" + .'For more information about the languages of access control policies, see [Languages of access control policies](~~179096~~).'."\n" + ."\n" + .'For more information about the examples of access control policies, see [Examples of custom access control policies](~~181474~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Version":"1","Statement":[{"Effect":"Deny","Action":["ram:UpdateRole","ram:DeleteRole","ram:AttachPolicyToRole","ram:DetachPolicyFromRole"],"Resource":"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole"}]}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'ControlPolicy' => [ + 'description' => 'The details of the access control policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'UpdateDate' => [ + 'description' => 'The time when the access control policy was updated.'."\n", + 'type' => 'string', + 'example' => '2021-03-18T10:04:55Z', + ], + 'Description' => [ + 'description' => 'The description of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'ExampleControlPolicy', + ], + 'EffectScope' => [ + 'description' => 'The effective scope of the access control policy. Valid values:'."\n" + ."\n" + .'* All: The access control policy is in effect for Alibaba Cloud accounts, RAM users, and RAM roles.'."\n" + .'* RAM: The access control policy is in effect only for RAM users and RAM roles.'."\n", + 'type' => 'string', + 'example' => 'RAM', + ], + 'AttachmentCount' => [ + 'description' => 'The number of times that the access control policy is referenced.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'PolicyName' => [ + 'description' => 'The name of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'NewControlPolicy', + ], + 'PolicyId' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'cp-jExXAqIYkwHN****', + ], + 'CreateDate' => [ + 'description' => 'The time when the access control policy was created.'."\n", + 'type' => 'string', + 'example' => '2021-03-18T09:24:19Z', + ], + 'PolicyType' => [ + 'description' => 'The type of the access control policy. Valid values:'."\n" + ."\n" + .'* System: system access control policy'."\n" + .'* Custom: custom access control policy'."\n", + 'type' => 'string', + 'example' => 'Custom', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '2DFCE4C9-04A9-4C83-BB14-FE791275EC53', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.NewPolicyDocument.Length', + 'errorMessage' => 'Unable to save your policy. A policy contains a maximum of 4096 characters.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ControlPolicy\\": {\\n \\"UpdateDate\\": \\"2021-03-18T10:04:55Z\\",\\n \\"Description\\": \\"ExampleControlPolicy\\",\\n \\"EffectScope\\": \\"RAM\\",\\n \\"AttachmentCount\\": \\"0\\",\\n \\"PolicyName\\": \\"NewControlPolicy\\",\\n \\"PolicyId\\": \\"cp-jExXAqIYkwHN****\\",\\n \\"CreateDate\\": \\"2021-03-18T09:24:19Z\\",\\n \\"PolicyType\\": \\"Custom\\"\\n },\\n \\"RequestId\\": \\"2DFCE4C9-04A9-4C83-BB14-FE791275EC53\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<UpdateControlPolicyResponse>\\r\\n\\t<ControlPolicy>\\r\\n\\t\\t<PolicyType>Custom</PolicyType>\\r\\n\\t\\t<UpdateDate>2021-03-18T10:04:55Z</UpdateDate>\\r\\n\\t\\t<Description>ExampleControlPolicy</Description>\\r\\n\\t\\t<AttachmentCount>0</AttachmentCount>\\r\\n\\t\\t<PolicyName>NewControlPolicy</PolicyName>\\r\\n\\t\\t<CreateDate>2021-03-18T09:24:19Z</CreateDate>\\r\\n\\t\\t<PolicyId>cp-jExXAqIYkwHN****</PolicyId>\\r\\n\\t\\t<EffectScope>RAM</EffectScope>\\r\\n\\t</ControlPolicy>\\r\\n\\t<RequestId>2DFCE4C9-04A9-4C83-BB14-FE791275EC53</RequestId>\\r\\n</UpdateControlPolicyResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'UpdateControlPolicy', + 'summary' => 'Updates a custom access control policy.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteControlPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cp-SImPt8GCEwiq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C8541E06-B207-46BF-92C9-DC8DE4609D75', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C8541E06-B207-46BF-92C9-DC8DE4609D75\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeleteControlPolicyResponse>\\r\\n\\t<RequestId>C8541E06-B207-46BF-92C9-DC8DE4609D75</RequestId>\\r\\n</DeleteControlPolicyResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'DeleteControlPolicy', + 'summary' => 'Deletes a custom access control policy.', + 'description' => 'If you want to delete a custom access control policy that is attached to folders or members, you must call the [DetachControlPolicy](~~DetachControlPolicy~~) operation to detach the policy before you delete it.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'AttachControlPolicy' => [ + 'summary' => 'Attaches an access control policy.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cp-jExXAqIYkwHN****', + ], + ], + [ + 'name' => 'TargetId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the object to which you want to attach the access control policy. Access control policies can be attached to the following objects:'."\n" + ."\n" + .'* Root folder'."\n" + .'* Subfolders of the Root folder'."\n" + .'* Members'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fd-ZDNPiT****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '95060F1D-6990-4645-8920-A81D1BBFE992', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Target', + 'errorMessage' => 'The specified target does not exist in the resource directory.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"95060F1D-6990-4645-8920-A81D1BBFE992\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<AttachControlPolicyResponse>\\r\\n\\t<RequestId>95060F1D-6990-4645-8920-A81D1BBFE992</RequestId>\\r\\n</AttachControlPolicyResponse>","errorExample":""}]', + 'title' => 'AttachControlPolicy', + 'description' => 'After you attach a custom access control policy, the operations performed on resources by using members are limited by the policy. Make sure that the attached policy meets your expectations. Otherwise, your business may be affected.'."\n" + ."\n" + .'By default, the system access control policy FullAliyunAccess is attached to each folder and member.'."\n" + ."\n" + .'The access control policy that is attached to a folder also applies to all its subfolders and all members in the subfolders.'."\n" + ."\n" + .'A maximum of 10 access control policies can be attached to a folder or member.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DetachControlPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cp-jExXAqIYkwHN****', + ], + ], + [ + 'name' => 'TargetId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the object from which you want to detach the access control policy. Access control policies can be attached to the following objects:'."\n" + ."\n" + .'* Root folder'."\n" + .'* Subfolders of the Root folder'."\n" + .'* Members'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fd-ZDNPiT****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '9EA4F962-1A2E-4AFE-BE0C-B14736FC46CC', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'NotSupport.DetachLastControlPolicy', + 'errorMessage' => 'It is not detach the last control policy on the target node.', + ], + ], + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Target', + 'errorMessage' => 'The specified target does not exist in the resource directory.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9EA4F962-1A2E-4AFE-BE0C-B14736FC46CC\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DetachControlPolicyResponse>\\r\\n\\t<RequestId>9EA4F962-1A2E-4AFE-BE0C-B14736FC46CC</RequestId>\\r\\n</DetachControlPolicyResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'DetachControlPolicy', + 'summary' => 'Detaches an access control policy.', + 'description' => 'After you detach an access control policy, the operations performed on resources by using members are not limited by the policy. Make sure that the detached policy meets your expectations. Otherwise, your business may be affected.'."\n" + ."\n" + .'Both the system and custom access control policies can be detached. If an object has only one access control policy attached, the policy cannot be detached.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListControlPolicyAttachmentsForTarget' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'TargetId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the object whose access control policies you want to query. Access control policies can be attached to the following objects:'."\n" + ."\n" + .'* Root folder'."\n" + .'* Subfolders of the Root folder'."\n" + .'* Members'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fd-ZDNPiT****', + ], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'schema' => [ + 'description' => 'The language in which you want to return the descriptions of the access control policies. Valid values:'."\n" + ."\n" + .'* zh-CN (default value): Chinese'."\n" + .'* en: English'."\n" + .'* ja: Japanese'."\n" + ."\n" + .'> This parameter is valid only for system access control policies.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'C276B600-7B7A-49E8-938C-E16CFA955A82', + ], + 'ControlPolicyAttachments' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ControlPolicyAttachment' => [ + 'description' => 'The information about the attached access control policies.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about an attached access control policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'Description' => [ + 'description' => 'The description of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'ExampleControlPolicy', + ], + 'EffectScope' => [ + 'description' => 'The effective scope of the access control policy. Valid values:'."\n" + ."\n" + .'* All: The access control policy is in effect for Alibaba Cloud accounts, RAM users, and RAM roles.'."\n" + .'* RAM: The access control policy is in effect only for RAM users and RAM roles.'."\n", + 'type' => 'string', + 'example' => 'RAM', + ], + 'PolicyName' => [ + 'description' => 'The name of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'ExampleControlPolicy', + ], + 'PolicyId' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'example' => 'cp-jExXAqIYkwHN****', + ], + 'AttachDate' => [ + 'description' => 'The time when the access control policy was attached.'."\n", + 'type' => 'string', + 'example' => '2021-03-19T02:56:24Z', + ], + 'PolicyType' => [ + 'description' => 'The type of the access control policy. Valid values:'."\n" + ."\n" + .'* System: system access control policy'."\n" + .'* Custom: custom access control policy'."\n", + 'type' => 'string', + 'example' => 'Custom', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.Target', + 'errorMessage' => 'The specified target does not exist in the resource directory.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C276B600-7B7A-49E8-938C-E16CFA955A82\\",\\n \\"ControlPolicyAttachments\\": {\\n \\"ControlPolicyAttachment\\": [\\n {\\n \\"Description\\": \\"ExampleControlPolicy\\",\\n \\"EffectScope\\": \\"RAM\\",\\n \\"PolicyName\\": \\"ExampleControlPolicy\\",\\n \\"PolicyId\\": \\"cp-jExXAqIYkwHN****\\",\\n \\"AttachDate\\": \\"2021-03-19T02:56:24Z\\",\\n \\"PolicyType\\": \\"Custom\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ListControlPolicyAttachmentsForTargetResponse>\\r\\n\\t<RequestId>C276B600-7B7A-49E8-938C-E16CFA955A82</RequestId>\\r\\n\\t<ControlPolicyAttachments>\\r\\n\\t\\t<ControlPolicyAttachment>\\r\\n\\t\\t\\t<PolicyType>System</PolicyType>\\r\\n\\t\\t\\t<Description>支持阿里云所有操作的系统管控策略</Description>\\r\\n\\t\\t\\t<AttachDate>2021-03-18T07:27:59Z</AttachDate>\\r\\n\\t\\t\\t<PolicyName>FullAliyunAccess</PolicyName>\\r\\n\\t\\t\\t<PolicyId>cp-FullAliyunAccess</PolicyId>\\r\\n\\t\\t</ControlPolicyAttachment>\\r\\n\\t\\t<ControlPolicyAttachment>\\r\\n\\t\\t\\t<PolicyType>Custom</PolicyType>\\r\\n\\t\\t\\t<Description>ExampleControlPolicy</Description>\\r\\n\\t\\t\\t<AttachDate>2021-03-19T02:56:24Z</AttachDate>\\r\\n\\t\\t\\t<PolicyName>ExampleControlPolicy</PolicyName>\\r\\n\\t\\t\\t<PolicyId>cp-jExXAqIYkwHN****</PolicyId>\\r\\n\\t\\t</ControlPolicyAttachment>\\r\\n\\t</ControlPolicyAttachments>\\r\\n</ListControlPolicyAttachmentsForTargetResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'ListControlPolicyAttachmentsForTarget', + 'summary' => 'Queries the access control policies that are attached to a folder or member.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTargetAttachmentsForControlPolicy' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the access control policy.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cp-jExXAqIYkwHN****', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return.'."\n" + ."\n" + .'Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '200000', + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'default' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of objects to which the access control policy is attached.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'B32BD3D6-1089-41F3-8E70-E0079BC7D760', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TargetAttachments' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TargetAttachment' => [ + 'description' => 'The information about the objects to which the access control policy is attached.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about an object to which the access control policy is attached.'."\n", + 'type' => 'object', + 'properties' => [ + 'TargetId' => [ + 'description' => 'The ID of the object.'."\n", + 'type' => 'string', + 'example' => 'fd-ZDNPiT****', + ], + 'TargetName' => [ + 'description' => 'The name of the object.'."\n", + 'type' => 'string', + 'example' => 'Dev_Department', + ], + 'AttachDate' => [ + 'description' => 'The time when the access control policy was attached to the object.'."\n", + 'type' => 'string', + 'example' => '2021-03-19T02:56:24Z', + ], + 'TargetType' => [ + 'description' => 'The type of the object. Valid values:'."\n" + ."\n" + .'* Root: Root folder'."\n" + .'* Folder: subfolder of the Root folder'."\n" + .'* Account: member'."\n", + 'type' => 'string', + 'example' => 'Folder', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"B32BD3D6-1089-41F3-8E70-E0079BC7D760\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TargetAttachments\\": {\\n \\"TargetAttachment\\": [\\n {\\n \\"TargetId\\": \\"fd-ZDNPiT****\\",\\n \\"TargetName\\": \\"Dev_Department\\",\\n \\"AttachDate\\": \\"2021-03-19T02:56:24Z\\",\\n \\"TargetType\\": \\"Folder\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ListTargetAttachmentsForControlPolicyResponse>\\r\\n\\t<TotalCount>1</TotalCount>\\r\\n\\t<RequestId>B32BD3D6-1089-41F3-8E70-E0079BC7D760</RequestId>\\r\\n\\t<PageSize>10</PageSize>\\r\\n\\t<PageNumber>1</PageNumber>\\r\\n\\t<TargetAttachments>\\r\\n\\t\\t<TargetAttachment>\\r\\n\\t\\t\\t<AttachDate>2021-03-19T02:56:24Z</AttachDate>\\r\\n\\t\\t\\t<TargetType>Folder</TargetType>\\r\\n\\t\\t\\t<TargetName>Dev_Department</TargetName>\\r\\n\\t\\t\\t<TargetId>fd-ZDNPiT****</TargetId>\\r\\n\\t\\t</TargetAttachment>\\r\\n\\t</TargetAttachments>\\r\\n</ListTargetAttachmentsForControlPolicyResponse>\\t\\r\\n\\r\\n\\t\\r\\n","errorExample":""}]', + 'title' => 'ListTargetAttachmentsForControlPolicy', + 'summary' => 'Queries the objects to which an access control policy is attached.', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListTrustedServiceStatus' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return.'."\n" + ."\n" + .'Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'AdminAccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the management account or delegated administrator account.'."\n" + ."\n" + .'* If you set this parameter to the ID of a management account, the trusted services that are enabled within the management account are queried. The default value of this parameter is the ID of an management account.'."\n" + .'* If you set this parameter to the ID of a delegated administrator account, the trusted services that are enabled within the delegated administrator account are queried.'."\n" + ."\n" + .'For more information about trusted services and delegated administrator accounts, see [Overview of trusted services](~~208133~~) and [Delegated administrator accounts](~~208117~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '177242285274****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'CD76D376-2517-4924-92C5-DBC52262F93A', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'EnabledServicePrincipals' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'EnabledServicePrincipal' => [ + 'description' => 'The information about the trusted services that are enabled.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a trusted service that is enabled.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServicePrincipal' => [ + 'description' => 'The identifier of the trusted service.'."\n", + 'type' => 'string', + 'example' => 'config.aliyuncs.com', + ], + 'EnableTime' => [ + 'description' => 'The time when the trusted service was enabled.'."\n", + 'type' => 'string', + 'example' => '2019-02-18T15:32:10.473Z', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'EntityNotExists.ResourceDirectory', + 'errorMessage' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"CD76D376-2517-4924-92C5-DBC52262F93A\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"EnabledServicePrincipals\\": {\\n \\"EnabledServicePrincipal\\": [\\n {\\n \\"ServicePrincipal\\": \\"config.aliyuncs.com\\",\\n \\"EnableTime\\": \\"2019-02-18T15:32:10.473Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ListTrustedServiceStatusResponse>\\r\\n <EnabledServicePrincipal>\\r\\n <ServicePrincipal>config.aliyuncs.com</ServicePrincipal>\\r\\n <EnableTime>2019-02-18T15:32:10.473Z</EnableTime>\\r\\n </EnabledServicePrincipal>\\r\\n <EnabledServicePrincipal>\\r\\n <ServicePrincipal>actiontrail.aliyuncs.com</ServicePrincipal>\\r\\n <EnableTime>2019-02-16T15:32:10.473Z</EnableTime>\\r\\n </EnabledServicePrincipal>\\r\\n <RequestId>CD76D376-2517-4924-92C5-DBC52262F93A</RequestId>\\r\\n</ListTrustedServiceStatusResponse>","errorExample":""}]', + 'title' => 'ListTrustedServiceStatus', + 'summary' => 'Queries the trusted services that are enabled within a management account or delegated administrator account.', + 'description' => 'Only a management account or delegated administrator account can be used to call this operation.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RegisterDelegatedAdministrator' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member in the resource directory.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '181761095690****', + ], + ], + [ + 'name' => 'ServicePrincipal', + 'in' => 'query', + 'schema' => [ + 'description' => 'The identifier of the trusted service.'."\n" + ."\n" + .'For more information, see the `Trusted service identifier` column in [Supported trusted services](~~208133~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cloudfw.aliyuncs.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '0A45FC8F-54D2-4A65-8338-25E5DEBDA304', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 409 => [ + [ + 'errorCode' => 'InvalidParameter.ServicePrincipal', + 'errorMessage' => 'The specified ServicePrincipal is invalid.', + ], + [ + 'errorCode' => 'AccountAlreadyRegistered', + 'errorMessage' => 'The specified account is already a delegated administrator for this service.', + ], + [ + 'errorCode' => 'DelegatedAccountNumberExceeded', + 'errorMessage' => 'The maximum number of delegated administrators for the service principal is exceeded.', + ], + [ + 'errorCode' => 'CannotRegisterMasterAsDelegatedAdministrator', + 'errorMessage' => 'You attempted to register the enterprise management account as a delegated administrator for the service. You can designate only a member account as a delegated administrator.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0A45FC8F-54D2-4A65-8338-25E5DEBDA304\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<RegisterDelegatedAdministratorResponse>\\r\\n\\t<RequestId>0A45FC8F-54D2-4A65-8338-25E5DEBDA304</RequestId>\\r\\n</RegisterDelegatedAdministratorResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'RegisterDelegatedAdministrator', + 'summary' => 'Specifies a member in a resource directory as a delegated administrator account of a trusted service.', + 'description' => 'The delegated administrator account can be used to access the information of the resource directory and view the structure and members of the resource directory. The delegated administrator account can also be used to perform service-related management operations in the trusted service on behalf of the management account of the resource directory. When you call this operation, you must take note of the following limits:'."\n" + ."\n" + .'* Only some trusted services support delegated administrator accounts. For more information, see [Supported trusted services](~~208133~~).'."\n" + .'* Only the management account of a resource directory or an authorized RAM user or RAM role of the management account can be used to call this operation.'."\n" + .'* The number of delegated administrator accounts that are allowed for a trusted service is defined by the trusted service.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeregisterDelegatedAdministrator' => [ + 'summary' => 'Removes a delegated administrator account for a trusted service.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member in the resource directory.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '181761095690****', + ], + ], + [ + 'name' => 'ServicePrincipal', + 'in' => 'query', + 'schema' => [ + 'description' => 'The identifier of the trusted service.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cloudfw.aliyuncs.com', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'DF5D5C52-7BD0-40E7-94C6-23A1505038A2', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 409 => [ + [ + 'errorCode' => 'InvalidParameter.ServicePrincipal', + 'errorMessage' => 'The specified ServicePrincipal is invalid.', + ], + [ + 'errorCode' => 'AccountNotRegistered', + 'errorMessage' => 'The specified account is not a delegated administrator for this service.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DF5D5C52-7BD0-40E7-94C6-23A1505038A2\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeregisterDelegatedAdministratorResponse>\\r\\n\\t<RequestId>DF5D5C52-7BD0-40E7-94C6-23A1505038A2</RequestId>\\r\\n</DeregisterDelegatedAdministratorResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'DeregisterDelegatedAdministrator', + 'description' => 'If the delegated administrator account that you want to remove has historical management tasks in the related trusted service, the trusted service may be affected after the delegated administrator account is removed. Therefore, proceed with caution.'."\n", + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListDelegatedAdministrators' => [ + 'summary' => 'Queries delegated administrator accounts.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + ], + 'parameters' => [ + [ + 'name' => 'ServicePrincipal', + 'in' => 'query', + 'schema' => [ + 'description' => 'The identifier of the trusted service.'."\n" + ."\n" + .'For more information, see the `Trusted service identifier` column in [Supported trusted services](~~208133~~).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cloudfw.aliyuncs.com', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of the page to return.'."\n" + ."\n" + .'Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: 1 to 100. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '009C3A02-7D4B-416C-9CE7-548C91508F1E', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Accounts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Account' => [ + 'description' => 'The information about the delegated administrator accounts.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a delegated administrator account.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccountId' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'example' => '138660628348****', + ], + 'DisplayName' => [ + 'description' => 'The display name of the member.'."\n", + 'type' => 'string', + 'example' => 'abc', + ], + 'JoinMethod' => [ + 'description' => 'The way in which the member joins the resource directory. Valid values:'."\n" + ."\n" + .'* invited: The member is invited to join the resource directory.'."\n" + .'* created: The member is directly created in the resource directory.'."\n", + 'type' => 'string', + 'example' => 'created', + ], + 'ServicePrincipal' => [ + 'description' => 'The identifier of the trusted service.'."\n", + 'type' => 'string', + 'example' => 'cloudfw.aliyuncs.com', + ], + 'DelegationEnabledTime' => [ + 'description' => 'The time when the member was specified as a delegated administrator account.'."\n", + 'type' => 'string', + 'example' => '1616652684164', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"009C3A02-7D4B-416C-9CE7-548C91508F1E\\",\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Accounts\\": {\\n \\"Account\\": [\\n {\\n \\"AccountId\\": \\"138660628348****\\",\\n \\"DisplayName\\": \\"abc\\",\\n \\"JoinMethod\\": \\"created\\",\\n \\"ServicePrincipal\\": \\"cloudfw.aliyuncs.com\\",\\n \\"DelegationEnabledTime\\": \\"1616652684164\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ListDelegatedAdministratorsResponse>\\r\\n\\t<RequestId>009C3A02-7D4B-416C-9CE7-548C91508F1E</RequestId>\\r\\n\\t<TotalCount>2</TotalCount>\\r\\n\\t<PageSize>10</PageSize>\\r\\n\\t<PageNumber>1</PageNumber>\\r\\n\\t<Accounts>\\r\\n\\t\\t<Account>\\r\\n\\t\\t\\t<DelegationEnabledTime>1616652684164</DelegationEnabledTime>\\r\\n\\t\\t\\t<JoinMethod>created</JoinMethod>\\r\\n\\t\\t\\t<AccountId>138660628348****</AccountId>\\r\\n\\t\\t\\t<ServicePrincipal>cloudfw.aliyuncs.com</ServicePrincipal>\\r\\n\\t\\t\\t<DisplayName>abc</DisplayName>\\r\\n\\t\\t</Account>\\r\\n\\t\\t<Account>\\r\\n\\t\\t\\t<DelegationEnabledTime>1616489836069</DelegationEnabledTime>\\r\\n\\t\\t\\t<JoinMethod>invited</JoinMethod>\\r\\n\\t\\t\\t<AccountId>177242285274****</AccountId>\\r\\n\\t\\t\\t<ServicePrincipal>cloudfw.aliyuncs.com</ServicePrincipal>\\r\\n\\t\\t\\t<DisplayName>test</DisplayName>\\r\\n\\t\\t</Account>\\r\\n\\t</Accounts>\\r\\n</ListDelegatedAdministratorsResponse>\\t\\r\\n","errorExample":""}]', + 'title' => 'ListDelegatedAdministrators', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ListDelegatedServicesForAccount' => [ + 'summary' => 'Queries the trusted services for which a member is specified as a delegated administrator account.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'AccountId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Alibaba Cloud account ID of the member.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '138660628348****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'title' => '当请求的返回结果被截断时,您可以使用NextToken再次发起请求,获取从当前截断位置之后的内容。', + 'type' => 'string', + 'required' => false, + 'example' => 'TGlzdFJlc291cm****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'title' => '单次请求返回结果的最大条数。取值范围:1~100。默认值:10。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'D9C03B94-9396-4794-A74B-13DC437556A6', + ], + 'DelegatedServices' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DelegatedService' => [ + 'description' => 'The information about the trusted services.'."\n" + ."\n" + .'> If the value of this parameter is empty, the member is not specified as a delegated administrator account.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a trusted service.'."\n" + ."\n" + .'> If the value of this parameter is empty, the member is not specified as a delegated administrator account.'."\n", + 'type' => 'object', + 'properties' => [ + 'DelegationEnabledTime' => [ + 'description' => 'The time when the member was specified as a delegated administrator account.'."\n", + 'type' => 'string', + 'example' => '1616652684164', + ], + 'ServicePrincipal' => [ + 'description' => 'The identifier of the trusted service.'."\n", + 'type' => 'string', + 'example' => 'cloudfw.aliyuncs.com', + ], + 'Status' => [ + 'description' => 'The status of the trusted service. Valid values:'."\n" + ."\n" + .'* ENABLED: enabled'."\n" + .'* DISABLED: disabled'."\n", + 'type' => 'string', + 'example' => 'ENABLED', + ], + ], + ], + ], + ], + ], + 'NextToken' => [ + 'title' => '当请求的返回结果被截断时,您可以使用NextToken再次发起请求,获取从当前截断位置之后的内容。', + 'type' => 'string', + 'example' => 'TGlzdFJlc291cm****', + ], + 'MaxResults' => [ + 'title' => '单次请求返回结果的最大条数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D9C03B94-9396-4794-A74B-13DC437556A6\\",\\n \\"DelegatedServices\\": {\\n \\"DelegatedService\\": [\\n {\\n \\"DelegationEnabledTime\\": \\"1616652684164\\",\\n \\"ServicePrincipal\\": \\"cloudfw.aliyuncs.com\\",\\n \\"Status\\": \\"ENABLED\\"\\n }\\n ]\\n },\\n \\"NextToken\\": \\"TGlzdFJlc291cm****\\",\\n \\"MaxResults\\": 20\\n}","errorExample":""},{"type":"xml","example":"<ListDelegatedServicesForAccountResponse>\\n <RequestId>D9C03B94-9396-4794-A74B-13DC437556A6</RequestId>\\n <DelegatedServices>\\n <DelegatedService>\\n <Status>ENABLED</Status>\\n <DelegationEnabledTime>1616652684164</DelegationEnabledTime>\\n <ServicePrincipal>cloudfw.aliyuncs.com</ServicePrincipal>\\n </DelegatedService>\\n </DelegatedServices>\\n</ListDelegatedServicesForAccountResponse>","errorExample":""}]', + 'title' => 'ListDelegatedServicesForAccount', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-shanghai', + 'endpoint' => 'resourcedirectory.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-1', + 'endpoint' => 'resourcedirectory-intl.aliyuncs.com', + ], + ], +]; |
