'1.0', 'info' => ['style' => 'RPC', 'product' => 'ResourceDirectoryMaster', 'version' => '2022-04-19'], 'directories' => [ [ 'children' => ['EnableResourceDirectory', 'SendVerificationCodeForEnableRD'], 'type' => 'directory', 'title' => 'Services', ], [ 'children' => ['ListAuthorizedFolders'], 'type' => 'directory', 'title' => 'Folders', ], [ 'children' => ['AddMessageContact', 'UpdateMessageContact', 'ListAuthorizedAccounts'], 'type' => 'directory', 'title' => 'Members', ], [ 'children' => ['EnableControlPolicy', 'DisableControlPolicy', 'GetControlPolicyEnablementStatus', 'CreateControlPolicy', 'GetControlPolicy', 'ListControlPolicies', 'UpdateControlPolicy', 'DeleteControlPolicy', 'AttachControlPolicy', 'DetachControlPolicy', 'ListControlPolicyAttachmentsForTarget'], 'type' => 'directory', 'title' => 'Control policies', ], [ 'children' => ['ListDelegatedServicesForAccount'], 'type' => 'directory', 'title' => 'Trusted services', ], [ 'children' => [ 'AcceptHandshake', 'AssociateMembers', 'BindSecureMobilePhone', 'CancelChangeAccountEmail', 'CancelHandshake', 'CancelMessageContactUpdate', 'ChangeAccountEmail', 'CheckAccountDelete', 'CreateFolder', 'CreateResourceAccount', 'DeclineHandshake', 'DeleteAccount', 'DeleteFolder', 'DeleteMessageContact', 'DeregisterDelegatedAdministrator', 'DestroyResourceDirectory', 'DisassociateMembers', 'GetAccount', 'GetAccountDeletionCheckResult', 'GetAccountDeletionStatus', 'GetFolder', 'GetHandshake', 'GetMessageContact', 'GetMessageContactDeletionStatus', 'GetPayerForAccount', 'GetResourceDirectory', 'InviteAccountToResourceDirectory', 'ListAccounts', 'ListAccountsForParent', 'ListAncestors', 'ListDelegatedAdministrators', 'ListFoldersForParent', 'ListHandshakesForAccount', 'ListHandshakesForResourceDirectory', 'ListMessageContactVerifications', 'ListMessageContacts', 'ListTagKeys', 'ListTagResources', 'ListTagValues', 'ListTargetAttachmentsForControlPolicy', 'ListTrustedServiceStatus', 'MoveAccount', 'PrecheckForConsolidatedBillingAccount', 'RegisterDelegatedAdministrator', 'RemoveCloudAccount', 'RetryChangeAccountEmail', 'SendEmailVerificationForMessageContact', 'SendPhoneVerificationForMessageContact', 'SendVerificationCodeForBindSecureMobilePhone', 'SetMemberDeletionPermission', 'SetMemberDisplayNameSyncStatus', 'TagResources', 'UntagResources', 'UpdateAccount', 'UpdateFolder', 'UpdatePayerForAccount', ], 'title' => 'Others', 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'AcceptHandshake' => [ '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****', 'title' => ''], ], ], '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', 'title' => ''], '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', 'title' => ''], 'ExpireTime' => ['description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-01-20T02:15:40Z', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-3G****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-01-06T02:15:40Z', 'title' => ''], 'Note' => ['description' => 'The description of the invitation.'."\n", 'type' => 'string', 'example' => 'Welcome'."\n", 'title' => ''], 'TargetEntity' => ['description' => 'The ID or logon email address of the invited Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => '177242285274****', 'title' => ''], 'MasterAccountId' => ['description' => 'The ID of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => '151266687691****', 'title' => ''], 'MasterAccountName' => ['description' => 'The name of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => 'CompanyA', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2021-01-06T02:16:40Z', 'title' => ''], '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', 'title' => ''], 'HandshakeId' => ['description' => 'The ID of the invitation.'."\n", 'type' => 'string', 'example' => 'h-Ih8IuPfvV0t0****', 'title' => ''], ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.HandshakeId', 'errorMessage' => 'You must specify HandshakeId.', 'description' => ''], ['errorCode' => 'InvalidParameter.HandshakeId', 'errorMessage' => 'The HandshakeId is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Handshake', 'errorMessage' => 'The specified handshake does not exist.', 'description' => ''], ['errorCode' => 'SpecifiedResourceDirectoryNotExists', 'errorMessage' => 'The specified resource directory does not exist. You must specify a valid resource directory.', 'description' => ''], ], 409 => [ ['errorCode' => 'HandshakeStatusMismatch', 'errorMessage' => 'The invitation is invalid.', 'description' => ''], ['errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', 'errorMessage' => 'Your account is a management account for another resource directory or a member of another resource directory.', 'description' => ''], ['errorCode' => 'Invalid.AccountType', 'errorMessage' => 'The specified profile type of account is invalid.', 'description' => ''], ['errorCode' => 'NotSupport.Account.RealNameType', 'errorMessage' => 'Your account is not a real-name of enterprise type, so you cannot accept the invitation.', 'description' => ''], ], ], '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\\": \\"Welcome\\\\n\\",\\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":"","errorExample":""}]', 'title' => 'AcceptHandshake', 'summary' => 'Accepts an invitation.', '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' => ' ', 'changeSet' => [], ], '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.', 'type' => 'string', 'required' => true, 'example' => 'tom', 'title' => ''], ], [ '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.', 'type' => 'string', 'required' => true, 'example' => 'someone***@example.com', 'title' => ''], ], [ 'name' => 'PhoneNumber', 'in' => 'query', 'schema' => ['description' => 'The mobile phone number of the contact.'."\n" ."\n" .'Specify the mobile phone number in the `-` format.'."\n" ."\n" .'> Only mobile phone numbers in the `86-` 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.', 'type' => 'string', 'required' => false, 'example' => '86-139****1234', 'title' => ''], ], [ '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" .' ', 'enumValueTitles' => ['FinanceDirector' => 'Finance manager', 'TechnicalDirector' => 'Technical manager', 'MaintenanceDirector' => 'O\\&M manager', 'CEO' => 'CEO', 'ProjectDirector' => 'Project manager', 'Other' => 'Others'], 'type' => 'string', 'required' => true, 'example' => 'TechnicalDirector', 'title' => '', ], ], [ 'name' => 'MessageTypes', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The types of messages received by the contact.', '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" .' ', 'enumValueTitles' => ['ServiceMessage' => 'Service messages', 'FaultMessage' => 'Fault messages', 'AccountExpenses' => 'Account fund messages', 'SecurityMessage' => 'Security messages', 'ActivityMessage' => 'Promotional messages', 'ProductMessage' => 'Product messages'], 'type' => 'string', 'required' => false, 'example' => 'AccountExpenses', 'title' => '', ], 'required' => true, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '2DFCE4C9-04A9-4C83-BB14-FE791275EC53'], 'Contact' => [ 'description' => 'The information about the contact.', 'type' => 'object', 'properties' => [ 'ContactId' => ['description' => 'The ID of the contact.', 'type' => 'string', 'example' => 'c-qL4HqKONzOM7****', 'title' => ''], 'CreateDate' => ['description' => 'The time when the contact was created.', 'type' => 'string', 'example' => '2023-03-27 17:19:21', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.Name', 'errorMessage' => 'You must specify Name.', 'description' => 'You must specify Name.'], ['errorCode' => 'InvalidParameter.Name', 'errorMessage' => 'The Name is invalid.', 'description' => 'The value of the Name parameter is invalid. The value can contain only letters.'], ['errorCode' => 'InvalidParameter.Name.Length', 'errorMessage' => 'The Name exceeds the length limit.', 'description' => 'The length of the value specified for the Name parameter exceeds the upper limit. The value must be 2 to 12 characters in length and can contain only letters.'], ['errorCode' => 'InvalidParameter.Name.AlreadyUsed', 'errorMessage' => 'The Name already exists. Please change to another name.', 'description' => 'The contact name already exists in the resource directory. Use another name.'], ['errorCode' => 'MissingParameter.EmailAddress', 'errorMessage' => 'You must specify EmailAddress.', 'description' => 'The EmailAddress parameter is not configured.'], ['errorCode' => 'InvalidParameter.EmailAddress', 'errorMessage' => 'The EmailAddress is invalid.', 'description' => 'The value of the EmailAddress parameter is invalid.'], ['errorCode' => 'MissingParameter.PhoneNumber', 'errorMessage' => 'You must specify PhoneNumber.', 'description' => 'The PhoneNumber parameter is not configured.'], ['errorCode' => 'InvalidParameter.PhoneNumber', 'errorMessage' => 'The PhoneNumber is invalid.', 'description' => 'The value of the PhoneNumber parameter is invalid.'], ['errorCode' => 'MissingParameter.Title', 'errorMessage' => 'You must specify Title.', 'description' => 'The Title parameter is not configured.'], ['errorCode' => 'InvalidParameter.Title', 'errorMessage' => 'The Title is invalid.', 'description' => 'The value of the Title parameter is invalid.'], ['errorCode' => 'MissingParameter.MessageTypes', 'errorMessage' => 'You must specify MessageTypes.', 'description' => 'The MessageTypes parameter is not configured.'], ['errorCode' => 'InvalidParameter.MessageTypes', 'errorMessage' => 'The MessageTypes is invalid.', 'description' => 'The value of the MessageTypes parameter is invalid.'], ['errorCode' => 'LimitExceeded.Contacts', 'errorMessage' => 'The maximum number of contacts in a resource directory exceeds the limit.', 'description' => 'The number of contacts exceeds the upper limit.'], ['errorCode' => 'InvalidParameter.MobileCountryCode', 'errorMessage' => 'The current site does not support the country code.', 'description' => ''], ['errorCode' => 'InvalidParameter.EmailAddress.Length', 'errorMessage' => 'The EmailAddress exceeds the length limit.', 'description' => 'The length of the value specified for the EmailAddress parameter exceeds the upper limit.'], ], 429 => [ ['errorCode' => 'ConcurrentCallNotSupported', 'errorMessage' => 'The operation conflicts with other operations. Please try again later.', 'description' => 'The operation conflicts with other operations. 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', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddMessageContact'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:AddMessageContact', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/*'], ], ], ], ], ], 'AssociateMembers' => [ '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****', 'title' => ''], ], [ '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****', 'title' => ''], 'required' => false, 'title' => '', ], ], ], '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****', 'title' => ''], '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****', 'title' => ''], 'ModifyDate' => ['description' => 'The time when the contact was bound to the object.', 'type' => 'string', 'example' => '2023-03-27 17:19:21', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.ContactId', 'errorMessage' => 'You must specify ContactId.', 'description' => ''], ['errorCode' => 'InvalidParameter.Members', 'errorMessage' => 'The Members is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Members.Duplicate', 'errorMessage' => 'The Members contains duplicate values.', 'description' => ''], ['errorCode' => 'LimitExceeded.ContactMembers', 'errorMessage' => 'The maximum number of contact members exceeds the limit.', 'description' => ''], ['errorCode' => 'InvalidMember', 'errorMessage' => 'The member does not exist in the resource directory.', 'description' => ''], ['errorCode' => 'ContactStatusMismatchAction', 'errorMessage' => 'The status of the contact does not allow the specified operation.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ], 429 => [ ['errorCode' => 'ConcurrentCallNotSupported', 'errorMessage' => 'The operation conflicts with other operations. Please try again later.', 'description' => ''], ], ], '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', 'summary' => 'Binds a contact to a resource directory, folder, or member.', 'changeSet' => [], ], 'AttachControlPolicy' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'PolicyId', 'in' => 'query', 'schema' => ['description' => 'The ID of the access control policy.', 'type' => 'string', 'required' => true, 'example' => 'cp-jExXAqIYkwHN****', 'title' => ''], ], [ '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" ."\n" .'- Subfolders of the Root folder'."\n" ."\n" .'- Members', 'type' => 'string', 'required' => true, 'example' => 'fd-ZDNPiT****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '95060F1D-6990-4645-8920-A81D1BBFE992', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'EntityNotExists.Target', 'errorMessage' => 'The specified target does not exist in the resource directory.', 'description' => 'The specified object does not exist in the resource directory.'], ['errorCode' => 'EntityNotExists.ResourceControlPolicy', 'errorMessage' => 'The specified resource control policy does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'EntityAlreadyExists.ResourceControlPolicy', 'errorMessage' => 'The resource control policy already exists.', 'description' => ''], ['errorCode' => 'EntityAlreadyExists.ResourceControlPolicyAttachment', 'errorMessage' => 'The resource control policy attachment already exists.', 'description' => ''], ['errorCode' => 'LimitExceeded.ResourceControlPolicyAttachment', 'errorMessage' => 'The resource control policy attachment number exceeds the limit.', 'description' => ''], ], ], 'title' => 'AttachControlPolicy', 'summary' => 'Attaches an access control policy.', '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.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachControlPolicy'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:AttachControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95060F1D-6990-4645-8920-A81D1BBFE992\\"\\n}","type":"json"}]', ], 'BindSecureMobilePhone' => [ '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', 'title' => ''], ], [ '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 \\-\\ format.'."\n" ."\n" .'> Mobile phone numbers in the `86-` format in the Chinese mainland are not supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'xx-13900001234', 'title' => ''], ], [ 'name' => 'AccountId', 'in' => 'query', 'schema' => ['description' => 'The Alibaba Cloud account ID of the member.'."\n", 'type' => 'string', 'required' => true, 'example' => '138660628348****', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'NotSupport.Site.Action', 'errorMessage' => 'Site does not allow current action.', 'description' => ''], ], 409 => [ ['errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', 'errorMessage' => 'The specified account is an Alibaba Cloud account or already exists in another resource directory.', 'description' => ''], ['errorCode' => 'Invalid.EnterpriseName', 'errorMessage' => 'You must specify the enterprise name.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'EntityAlreadyExists.ResourceDirectory', 'errorMessage' => 'The resource directory for the account is already enabled. We recommend that you do not enable the resource directory again.', 'description' => ''], ['errorCode' => 'Invalid.VerificationCode', 'errorMessage' => 'The verification code is invalid.', 'description' => ''], ['errorCode' => 'AccountTypeMismatch', 'errorMessage' => 'The type or status of the member account cannot satisfy the current operation.', 'description' => ''], ['errorCode' => 'AccountSecureMobileAlreadyExists', 'errorMessage' => 'The secure mobile number of the member already exists.', 'description' => ''], ['errorCode' => 'CallerIdentityError', 'errorMessage' => 'Please use the RAM user or role of the Management Account.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0217AFEB-5318-56D4-B167-1933D83EDF3F\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0217AFEB-5318-56D4-B167-1933D83EDF3F\\n","errorExample":""}]', 'title' => 'BindSecureMobilePhone', 'summary' => 'Binds a mobile phone number to a member of the resource account type in a resource directory for security purposes.', '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", 'changeSet' => [], ], 'CancelChangeAccountEmail' => [ '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****', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'EntityNotExists.EmailModifyRecord', 'errorMessage' => 'This email modification record of the account does not exist.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9B34724D-54B0-4A51-B34D-4512372FE1BE\\n","errorExample":""}]', 'title' => 'CancelChangeAccountEmail', 'summary' => 'Cancels the email address change of a member.', 'changeSet' => [], ], '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****', 'title' => ''], ], ], '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', 'title' => ''], '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', 'title' => ''], 'ExpireTime' => ['description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-24T09:55:41Z', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'h-ycm4rp****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], 'Note' => ['description' => 'The description of the invitation.'."\n", 'type' => 'string', 'example' => 'Welcome'."\n", 'title' => ''], 'TargetEntity' => ['description' => 'The ID or logon email address of the invited account.'."\n", 'type' => 'string', 'example' => 'someone@example.com', 'title' => ''], 'MasterAccountId' => ['description' => 'The ID of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => '172841235500****', 'title' => ''], 'MasterAccountName' => ['description' => 'The name of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => 'Alice', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], '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', 'title' => ''], 'HandshakeId' => ['description' => 'The ID of the invitation.'."\n", 'type' => 'string', 'example' => 'h-ycm4rp****', 'title' => ''], ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.HandshakeId', 'errorMessage' => 'You must specify HandshakeId.', 'description' => ''], ['errorCode' => 'InvalidParameter.HandshakeId', 'errorMessage' => 'The HandshakeId is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Handshake', 'errorMessage' => 'The specified handshake does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'HandshakeStatusMismatch', 'errorMessage' => 'The invitation is invalid.', 'description' => ''], ], ], '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\\": \\"Welcome\\\\n\\",\\n \\"TargetEntity\\": \\"someone@example.com\\",\\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":"","errorExample":""}]', 'title' => 'CancelHandshake', 'summary' => 'Cancels an invitation.', 'responseParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~159973~~).'."\n", 'extraInfo' => ' ', 'changeSet' => [], ], 'CancelMessageContactUpdate' => [ '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****', 'title' => ''], ], [ 'name' => 'PhoneNumber', 'in' => 'query', 'schema' => ['description' => 'The mobile phone number of the contact.'."\n" ."\n" .'Specify the mobile phone number in the `-` format.'."\n", 'type' => 'string', 'required' => false, 'example' => '86-139****1234', 'title' => ''], ], [ 'name' => 'EmailAddress', 'in' => 'query', 'schema' => ['description' => 'The email address of the contact.'."\n", 'type' => 'string', 'required' => false, 'example' => 'someone***@example.com', 'title' => ''], ], ], '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.', 'description' => ''], ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.PhoneNumber', 'errorMessage' => 'The PhoneNumber is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.MobileCountryCode', 'errorMessage' => 'The current site does not support the country code.', 'description' => ''], ['errorCode' => 'InvalidParameter.EmailAddress', 'errorMessage' => 'The EmailAddress is invalid.', 'description' => ''], ['errorCode' => 'ContactStatusMismatchAction', 'errorMessage' => 'The status of the contact does not allow the specified operation.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","type":"json"}]', 'title' => 'CancelMessageContactUpdate', 'summary' => 'Cancels the update of the mobile phone number or email address of a contact.', 'changeSet' => [], ], 'ChangeAccountEmail' => [ '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****', 'title' => ''], ], [ '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' => 'someone@example.com', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'NotSupportedOperation.Account.EmailModify', 'errorMessage' => 'The operation is not supported because the account email is being modifying.', 'description' => ''], ['errorCode' => 'NotSupport.InvitedAccount', 'errorMessage' => 'The current operation is not supported for accounts invited to join the resource directory.', 'description' => ''], ], 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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9B34724D-54B0-4A51-B34D-4512372FE1BE\\n","errorExample":""}]', 'title' => 'ChangeAccountEmail', 'summary' => 'Changes the email address that is bound to a member.', 'changeSet' => [], ], 'CheckAccountDelete' => [ '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****', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.AccountId', 'errorMessage' => 'You must specify AccountId.', 'description' => ''], ['errorCode' => 'InvalidParameter.AccountId', 'errorMessage' => 'The AccountId is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ['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.', 'description' => ''], ], 409 => [ ['errorCode' => 'AccountTypeOrStatusMismatch', 'errorMessage' => 'You cannot perform the action on the member account.', 'description' => ''], ['errorCode' => 'InvalidControlPolicyEnablementStatus', 'errorMessage' => 'The control policy enablement status is not valid to perform this operation.', 'description' => ''], ['errorCode' => 'NoLicense.ResourceDirectory', 'errorMessage' => 'The resource directory has not enabled the delete operation.', 'description' => ''], ['errorCode' => 'UnknownError.Account', 'errorMessage' => 'The deletion failed. An unknown error occurred. Please try again later.', 'description' => ''], ['errorCode' => 'CallerIdentityError.DeleteAccount', 'errorMessage' => 'Please use the RAM user or role of the management account to delete.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'LegalEntityDifferent', 'errorMessage' => 'The account legal entity is different from the one of the Management Account.', 'description' => ''], ['errorCode' => 'MemberTypeError.DeleteAccount', 'errorMessage' => 'You can only delete accounts of the resource account type created by Resource Directory.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7CDDDCEF-CDFD-0825-B7D7-217BE0897B22\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 7CDDDCEF-CDFD-0825-B7D7-217BE0897B22\\n","errorExample":""}]', 'title' => 'CheckAccountDelete', 'summary' => 'Performs a member deletion check.', '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", 'changeSet' => [], ], '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 control policy.'."\n" ."\n" .'The name must be 1 to 128 characters in length. It must start with a letter and can contain letters, digits, and hyphens (-).', 'type' => 'string', 'required' => true, 'example' => 'ExampleControlPolicy', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the control policy.'."\n" ."\n" .'The description must be 1 to 1,024 characters in length. It must start with a letter and can contain letters, digits, underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'ExampleControlPolicy', 'title' => ''], ], [ 'name' => 'EffectScope', 'in' => 'query', 'schema' => ['description' => 'The effective scope of the control policy.'."\n" ."\n" .'Valid value: RAM. This indicates that the control policy applies only to RAM users or RAM roles.', 'type' => 'string', 'required' => true, 'example' => 'RAM', 'title' => ''], ], [ 'name' => 'PolicyDocument', 'in' => 'query', 'schema' => ['description' => 'The policy document.'."\n" ."\n" .'The policy document can be up to 4,096 characters in length.'."\n" ."\n" .'For more information about the policy language, see [Control Policy Language](~~179096~~).'."\n" ."\n" .'For examples, see [Examples of Custom Control Policies](~~181474~~).', 'type' => 'string', 'required' => true, 'example' => '{"Version":"1","Statement":[{"Effect":"Deny","Action":["ram:UpdateRole","ram:DeleteRole","ram:AttachPolicyToRole","ram:DetachPolicyFromRole"],"Resource":"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole"}]}', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The tags to attach to the control policy.', 'type' => 'array', 'items' => [ 'description' => 'A tag for the control policy.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'k1', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'ControlPolicyType', 'in' => 'query', 'schema' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ 'ControlPolicy' => [ 'description' => 'The details of the control policy.', 'type' => 'object', 'properties' => [ 'AttachmentCount' => ['description' => 'The number of times the control policy is attached.', 'type' => 'string', 'example' => '0', 'title' => ''], 'CreateDate' => ['description' => 'The time when the control policy was created.', 'type' => 'string', 'example' => '2021-03-18T09:24:19Z', 'title' => ''], 'Description' => ['description' => 'The description of the control policy.', 'type' => 'string', 'example' => 'ExampleControlPolicy', 'title' => ''], 'EffectScope' => ['description' => 'The scope of the control policy.'."\n" ."\n" .'Valid value: RAM. This value indicates that the control policy applies only to RAM users and RAM roles.', 'type' => 'string', 'example' => 'RAM', 'title' => ''], 'PolicyId' => ['description' => 'The ID of the control policy.', 'type' => 'string', 'example' => 'cp-jExXAqIYkwHN****', 'title' => ''], 'PolicyName' => ['description' => 'The name of the control policy.', 'type' => 'string', 'example' => 'ExampleControlPolicy', 'title' => ''], 'PolicyType' => ['description' => 'The type of the control policy. Valid values:'."\n" ."\n" .'- `System`: a system control policy.'."\n" ."\n" .'- `Custom`: a custom control policy.', 'type' => 'string', 'example' => 'Custom', 'title' => ''], 'UpdateDate' => ['description' => 'The time when the control policy was last updated.', 'type' => 'string', 'example' => '2021-03-18T09:24:19Z', 'title' => ''], 'ControlPolicyType' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '776B05B3-A0B0-464B-A191-F4E1119A94B2', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 409 => [ ['errorCode' => 'InvalidParameter.PolicyDocument.Length', 'errorMessage' => 'The maximum length of the policy document is exceeded. It must not exceed 4096 characters.', 'description' => ''], ['errorCode' => 'ResourceControlPolicyNotEnabled', 'errorMessage' => 'Resource control policy has not been enabled.', 'description' => ''], ['errorCode' => 'InvalidResourceControlPolicyEnablementStatus', 'errorMessage' => 'The resource control policy enablement status is not valid to perform this operation.', 'description' => ''], ['errorCode' => 'LimitExceeded.ResourceControlPolicy', 'errorMessage' => 'The resource control policy number exceeds the limit.', 'description' => ''], ], ], 'title' => 'CreateControlPolicy', 'summary' => 'Use `CreateControlPolicy` to create a custom control policy.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateControlPolicy'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:CreateControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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 \\"ControlPolicyType\\": \\"RESOURCE_CONTROL_POLICY\\"\\n },\\n \\"RequestId\\": \\"776B05B3-A0B0-464B-A191-F4E1119A94B2\\"\\n}","type":"json"}]', ], 'CreateFolder' => [ '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****', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'title' => '', ], ], ], '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', 'title' => ''], 'FolderId' => ['description' => 'The ID of the folder.'."\n", 'type' => 'string', 'example' => 'fd-u8B321****', 'title' => ''], 'FolderName' => ['description' => 'The name of the folder.'."\n", 'type' => 'string', 'example' => 'rdFolder', 'title' => ''], 'ParentFolderId' => ['description' => 'The ID of the parent folder.'."\n", 'type' => 'string', 'example' => 'r-b1****', 'title' => ''], ], 'title' => '', ], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C2CBCA30-C8DD-423E-B4AD-4FB694C9180C', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ParentFolderId', 'errorMessage' => 'The ParentFolderId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.Folder.Name', 'errorMessage' => 'You must specify the resource folder name.', 'description' => ''], ['errorCode' => 'InvalidParameter.Folder.Name', 'errorMessage' => 'The Name of folder is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Folder.Name.Length', 'errorMessage' => 'The Name of folder exceeds the length limit.', 'description' => ''], ['errorCode' => 'InvalidParameter.Folder.Name.AlreadyUsed', 'errorMessage' => 'The name already exists under the same parent. Please change to another name.', 'description' => ''], ], 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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'LimitExceeded.Folder.Depth', 'errorMessage' => 'The folder depth exceeds the limit of 5.', 'description' => ''], ['errorCode' => 'QuotaExceeded.Folder.Count', 'errorMessage' => 'The number of folders exceeds the quota.', 'description' => ''], ], ], '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":"\\r\\n\\r\\n \\r\\n rdFolder \\r\\n r-b1****\\r\\n fd-u8B321****\\r\\n 2019-02-19T09:34:50.757Z\\r\\n \\r\\n C2CBCA30-C8DD-423E-B4AD-4FB694C9180C\\r\\n","errorExample":""}]', 'title' => 'CreateFolder', 'summary' => 'Creates a folder.', 'description' => 'A maximum of five levels of folders can be created under the Root folder.'."\n", 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], 'CreateResourceAccount' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'DisplayName', 'in' => 'query', 'schema' => ['description' => 'The display name of the member.'."\n" ."\n" .'Length: 2 to 50 characters.'."\n" ."\n" .'Format: Can contain letters, digits, underscores (\\_), periods (.), hyphens (-), and spaces.'."\n" ."\n" .'The display name must be unique within the resource directory.', 'type' => 'string', 'required' => true, 'example' => 'Dev', 'title' => ''], ], [ 'name' => 'ParentFolderId', 'in' => 'query', 'schema' => ['description' => 'The ID of the parent folder.', 'type' => 'string', 'required' => false, 'example' => 'fd-r23M55****', 'title' => ''], ], [ 'name' => 'PayerAccountId', 'in' => 'query', 'schema' => ['description' => 'The ID of the billing account. If you leave this parameter empty, the newly created member pays for its own resource consumption.', 'type' => 'string', 'required' => false, 'example' => '12323344****', 'title' => ''], ], [ 'name' => 'AccountNamePrefix', 'in' => 'query', 'schema' => ['description' => 'The prefix of the account name. If you leave this parameter empty, the system randomly generates a prefix.'."\n" ."\n" .'Length: 2 to 50 characters.'."\n" ."\n" .'Length: 2 to 37 characters.'."\n" ."\n" .'Format: Can contain letters, digits, and special characters `_.-`. Must start and end with a letter or digit. Consecutive special characters `_.-` are not allowed.'."\n" ."\n" .'The full account name is in the format of @.aliyunid.com, such as `alice@rd-3G****.aliyunid.com`.'."\n" ."\n" .'The account name must be unique within the resource directory.', 'type' => 'string', 'required' => false, 'example' => 'alice', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The tags of the member.', 'type' => 'array', 'items' => [ 'description' => 'The tags of the member.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'k1', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResellAccountType', 'in' => 'query', 'schema' => ['description' => 'The identity type of the member. Valid values:'."\n" ."\n" .'- resell (default): reseller account. The created member automatically establishes a reseller relationship with your reseller. You must use the management account to pay for the new member.'."\n" .'- non_resell: non-reseller account. The created member is a regular Alibaba Cloud account that is not associated with your current reseller. The account purchases resources directly from Alibaba Cloud and pays for its own resource consumption.'."\n" ."\n" .'> This parameter is supported only for China site (Chinese mainland) reseller customers.', 'type' => 'string', 'required' => false, 'example' => 'resell', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run for the request. Valid values:'."\n" .'- true: performs a dry run without actually creating the member. The check currently includes whether the current account is allowed to set the identity type of the member. If the check fails, the corresponding error code is returned.'."\n" .'- false (default): sends the request. If the check passes, the member is created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'Account' => [ 'description' => 'The member information.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The join status of the member. The value CreateSuccess indicates that the member is created.', 'type' => 'string', 'example' => 'CreateSuccess', 'title' => ''], 'Type' => ['description' => 'The type of the member. The value ResourceAccount indicates a resource account.', 'type' => 'string', 'example' => 'ResourceAccount', 'title' => ''], 'DisplayName' => ['description' => 'The display name of the member.', 'type' => 'string', 'example' => 'Dev', 'title' => ''], 'FolderId' => ['description' => 'The ID of the folder.', 'type' => 'string', 'example' => 'fd-r23M55****', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.', 'type' => 'string', 'example' => 'rd-3G****', 'title' => ''], 'JoinTime' => ['description' => 'The time when the member joined the resource directory (UTC).', 'type' => 'string', 'example' => '2020-12-31T03:37:39.456Z', 'title' => ''], 'AccountId' => ['description' => 'The ID of the member.', 'type' => 'string', 'example' => '112730938585****', 'title' => ''], 'JoinMethod' => ['description' => 'The way in which the member joined the resource directory. Valid values:'."\n" ."\n" .'- invited: invited.'."\n" .'- created: created.', 'type' => 'string', 'example' => 'created', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the member was last modified (UTC).', 'type' => 'string', 'example' => '2020-12-31T03:37:39.456Z', 'title' => ''], 'AccountName' => ['description' => 'The name of the account.', 'type' => 'string', 'example' => 'alice@rd-3g****.aliyunid.com', 'title' => ''], ], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B356A415-D860-43E5-865A-E2193D62BBD6', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.Account.DisplayName', 'errorMessage' => 'You must specify DisplayName.', 'description' => 'The DisplayName parameter is not configured. Configure this parameter.'], ['errorCode' => 'InvalidParameter.Account.DisplayName', 'errorMessage' => 'The DisplayName of account is invalid.', 'description' => 'The value of the DisplayName parameter is invalid. The value can contain only letters, digits, underscores (_), periods (.), and hyphens (-).'], ['errorCode' => 'InvalidParameter.Account.DisplayName.Length', 'errorMessage' => 'The DisplayName of the account exceeds the length limit.', 'description' => 'The length of the value for the DisplayName parameter exceeds the upper limit. The value must be 2 to 50 characters in length.'], ['errorCode' => 'InvalidParameter.ParentFolderId', 'errorMessage' => 'The ParentFolderId is invalid.', 'description' => 'The value of the ParentFolderId parameter is invalid. The value must start with r- followed by 6 characters or start with fd- followed by 10 characters. Valid characters include letters and digits.'], ['errorCode' => 'InvalidParameter.Account.AccountNamePrefix', 'errorMessage' => 'The account name prefix is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Account.AccountNamePrefix.Length', 'errorMessage' => 'The account name prefix exceeds the length limit.', 'description' => ''], ['errorCode' => 'NotSupport.Site.Action', 'errorMessage' => 'Site does not allow current action.', 'description' => '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.', 'description' => 'The account is not used to enable a resource directory. Use the account to enable a resource directory first.'], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => 'The specified folder does not exist. Create such a folder first.'], ], 409 => [ ['errorCode' => 'LimitExceeded.Account', 'errorMessage' => 'The maximum number of member accounts in a resource directory exceeds the limit.', 'description' => 'The number of members in the resource directory exceeds the upper limit.'], ['errorCode' => 'InvalidParameter.Account.DisplayName.AlreadyUsed', 'errorMessage' => 'The displayname of account has been used.', 'description' => '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.', 'description' => 'The email address that is generated by the system when the member is created 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.', 'description' => 'Failed to create the member. The specified billing account is unavailable. Specify a valid 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.', 'description' => ''], ['errorCode' => 'CreateAccountDisabled', 'errorMessage' => 'The specified resource directory cannot create a new account.', 'description' => ''], ['errorCode' => 'PaymentAccountEnterpriseVerifyError', 'errorMessage' => 'The type of the payment account is not enterprise verified.', 'description' => 'The billing account does not pass enterprise real-name verification.'], ['errorCode' => 'PaymentAccountFinancialRelationshipVerifyError', 'errorMessage' => 'The payment account must not be the beneficiary account from other financial relationships.', 'description' => 'A billing account cannot be associated with a financial account.'], ['errorCode' => 'PaymentAccountEnterpriseTypeError', 'errorMessage' => 'The type of the payment account is not enterprise.', 'description' => 'The billing account is not an enterprise account.'], ['errorCode' => 'PaymentAccountFinancialRelationshipsChangeFrequencyVerifyError', 'errorMessage' => 'The financial relationship of payment account changes too frequently. Please try again later.', 'description' => 'The financial relationship of the billing account frequently changes. Try again later.'], ['errorCode' => 'MemberAccountVirtualCloudOperatorVerifyError', 'errorMessage' => 'The type of the member account must not be virtual operator.', 'description' => ''], ['errorCode' => 'MemberAccountResellerVerifyError', 'errorMessage' => 'The type of the member account must not be reseller.', 'description' => ''], ['errorCode' => 'PaymentAccountVirtualCloudOperatorVerifyError', 'errorMessage' => 'The type of the payment account must not be virtual operator.', 'description' => 'A billing account cannot be an account for a virtual network operator (VNO).'], ['errorCode' => 'PaymentAccountResellerVerifyError', 'errorMessage' => 'The type of the payment account must not be reseller.', 'description' => 'The billing account cannot be an account for a reseller.'], ['errorCode' => 'PaymentAccountCreditIdentityTypeError', 'errorMessage' => 'The identity of the payment account is not credit.', 'description' => ''], ['errorCode' => 'InconsistentEnterpriseNameError', 'errorMessage' => 'The enterprise name of the payment account and the member account must be consistent.', 'description' => ''], ['errorCode' => 'PaymentAccountEnterpriseInvoiceError', 'errorMessage' => 'No enterprise invoice header information is set for the payment account.', 'description' => 'No invoice title information is specified for the billing account.'], ['errorCode' => 'UnknownFinancialError', 'errorMessage' => 'An unknown financial error occurred.', 'description' => 'An unknown financial error occurred.'], ['errorCode' => 'BusinessRestricted', 'errorMessage' => 'Business is restricted. Please contact your customer service manager.', 'description' => 'Your business is limited. Contact your customer business manager (CBM).'], ['errorCode' => 'FundAccountHasArrearsAmount', 'errorMessage' => 'There are arrears in the current payment account. You cannot change the payment account. Please settle the arrears and try again.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => 'The current account does not support setting the resellAccountType for members.'], ['errorCode' => 'InvalidParameter.Email.AlreadyUsed', 'errorMessage' => 'The email has been used.', 'description' => 'The email has been used.'], ], ], 'title' => 'Create a member', 'summary' => 'Creates a member of the resource account type by calling CreateResourceAccount.', 'description' => 'In a resource directory, a member serves as a resource container and is a unit for resource grouping. A member typically represents a project or application. Resources in each member are physically isolated from resources in other members.'."\n" ."\n" .'This topic provides an example of how to create a member in the folder `fd-r23M55****`. The display name of the member is `Dev`, and the account name prefix is `alice`.', 'requestParamsDescription' => ' For more information about common request parameters, see [Common parameters](~~159973~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateResourceAccount'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:CreateResourceAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager:*:{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], '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****', 'title' => ''], ], ], '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', 'title' => ''], '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', 'title' => ''], 'ExpireTime' => ['description' => 'The time when the invitation expires.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-abcdef****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the invitation was created.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], 'Note' => ['description' => 'The description of the invitation.'."\n", 'type' => 'string', 'example' => 'Welcome'."\n", 'title' => ''], 'TargetEntity' => ['description' => 'The ID or logon email address of the invited account.'."\n", 'type' => 'string', 'example' => 'someone@example.com', 'title' => ''], 'MasterAccountId' => ['description' => 'The ID of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => '172841235500****', 'title' => ''], 'MasterAccountName' => ['description' => 'The name of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => 'Alice', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the invitation was modified.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], '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', 'title' => ''], 'HandshakeId' => ['description' => 'The ID of the invitation.'."\n", 'type' => 'string', 'example' => 'h-ycm4rp****', 'title' => ''], ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.HandshakeId', 'errorMessage' => 'You must specify HandshakeId.', 'description' => ''], ['errorCode' => 'InvalidParameter.HandshakeId', 'errorMessage' => 'The HandshakeId is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Handshake', 'errorMessage' => 'The specified handshake does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'HandshakeStatusMismatch', 'errorMessage' => 'The invitation is invalid.', 'description' => ''], ], ], '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\\": \\"Welcome\\\\n\\",\\n \\"TargetEntity\\": \\"someone@example.com\\",\\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":"","errorExample":""}]', 'title' => 'DeclineHandshake', 'summary' => 'Rejects an invitation.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], 'DeleteAccount' => [ '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****', 'title' => ''], ], [ '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', 'title' => ''], 'required' => false, 'title' => '', ], ], ], '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', 'title' => ''], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.AccountId', 'errorMessage' => 'You must specify AccountId.', 'description' => ''], ['errorCode' => 'InvalidParameter.AccountId', 'errorMessage' => 'The AccountId is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ['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.', 'description' => ''], ], 409 => [ ['errorCode' => 'AccountTypeOrStatusMismatch', 'errorMessage' => 'You cannot perform the action on the member account.', 'description' => ''], ['errorCode' => 'NoLicense.ResourceDirectory', 'errorMessage' => 'The resource directory has not enabled the delete operation.', 'description' => ''], ['errorCode' => 'UnknownError.Account', 'errorMessage' => 'Delete failed. An unknown error occurred. Please try again later.', 'description' => ''], ['errorCode' => 'AccountNotExist.DeleteAccount', 'errorMessage' => 'The deletion failed. The account does not exist. Please confirm whether it has been deleted.', 'description' => ''], ['errorCode' => 'ExistProcessingDeleteFlow.DeleteAccount', 'errorMessage' => 'The request is invalid. The account is already in the process of deletion. Please do not repeat the operation.', 'description' => ''], ['errorCode' => 'CreditControlBlock.DeleteAccount', 'errorMessage' => 'The deletion failed. There are unsettled bills in the current account. Please settle them first and try again.', 'description' => ''], ['errorCode' => 'SpBlock.DeleteAccount', 'errorMessage' => 'The deletion failed. There is a specific product under the current account. Please clear it and try again.', 'description' => ''], ['errorCode' => 'PeripheralError.DeleteAccount', 'errorMessage' => 'The deletion failed. The deletion process is abnormal. Please try again later.', 'description' => ''], ['errorCode' => 'MemberTypeError.DeleteAccount', 'errorMessage' => 'Cloud account type members do not support deletion.', 'description' => ''], ['errorCode' => 'CallerIdentityError.DeleteAccount', 'errorMessage' => 'Please use the RAM user or role of the management account to delete.', 'description' => ''], ['errorCode' => 'ExistPrepaidInstance.DeleteAccount', 'errorMessage' => 'The deletion failed. There are prepaid products under the current account. Please release them and try again.', 'description' => ''], ['errorCode' => 'ForbidDelete.Account', 'errorMessage' => 'Delete is prohibited. The current account is abnormal. Please contact customer service.', 'description' => ''], ['errorCode' => 'QuotaExceeded.DeleteAccount', 'errorMessage' => 'You have exceeded delete account quota for the past 30 days.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"009429F8-C1C0-5872-B674-A6C2333B9647\\",\\n \\"DeletionType\\": \\"0\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 55B22096-0D0C-542D-9A01-9B95977D3A10\\n 0\\n","errorExample":""}]', 'title' => 'DeleteAccount', 'summary' => 'Deletes a member of the resource account type.', '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", 'changeSet' => [], ], 'DeleteControlPolicy' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'PolicyId', 'in' => 'query', 'schema' => ['description' => 'The ID of the access control policy.', 'type' => 'string', 'required' => true, 'example' => 'cp-SImPt8GCEwiq****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C8541E06-B207-46BF-92C9-DC8DE4609D75', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'EntityNotExists.ResourceControlPolicy', 'errorMessage' => 'The specified resource control policy does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'InvalidResourceControlPolicyEnablementStatus', 'errorMessage' => 'The resource control policy enablement status is not valid to perform this operation.', 'description' => ''], ['errorCode' => 'DeleteConflict.SystemResourceControlPolicy', 'errorMessage' => 'The system resource control policy cannot be deleted.', 'description' => ''], ], ], '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.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteControlPolicy'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'resourcemanager:DeleteControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C8541E06-B207-46BF-92C9-DC8DE4609D75\\"\\n}","type":"json"}]', ], '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****', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.FolderId', 'errorMessage' => 'You must specify FolderId.', 'description' => ''], ['errorCode' => 'InvalidParameter.FolderId', 'errorMessage' => 'The FolderId is invalid.', 'description' => ''], ], 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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'DeleteConflict.Folder.SubFolder', 'errorMessage' => 'This folder has sub folders.', 'description' => ''], ['errorCode' => 'DeleteConflict.Folder.Account', 'errorMessage' => 'This folder has accounts.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 9B34724D-54B0-4A51-B34D-4512372FE1BE\\r\\n","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' => ' ', 'changeSet' => [], ], 'DeleteMessageContact' => [ '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****', 'title' => ''], ], [ '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', 'title' => ''], ], ], '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', 'title' => ''], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.ContactId', 'errorMessage' => 'You must specify ContactId.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ], 429 => [ ['errorCode' => 'ConcurrentCallNotSupported', 'errorMessage' => 'The operation conflicts with other operations. Please try again later.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"Status\\": \\"Deleting\\"\\n}","type":"json"}]', 'title' => 'DeleteMessageContact', 'summary' => 'Deletes a contact.', 'changeSet' => [], ], 'DeregisterDelegatedAdministrator' => [ '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****', 'title' => ''], ], [ 'name' => 'ServicePrincipal', 'in' => 'query', 'schema' => ['description' => 'The identifier of the trusted service.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cloudfw.aliyuncs.com', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 409 => [ ['errorCode' => 'InvalidParameter.ServicePrincipal', 'errorMessage' => 'The specified ServicePrincipal is invalid.', 'description' => ''], ['errorCode' => 'AccountNotRegistered', 'errorMessage' => 'The specified account is not a delegated administrator for this service.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DF5D5C52-7BD0-40E7-94C6-23A1505038A2\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\tDF5D5C52-7BD0-40E7-94C6-23A1505038A2\\r\\n\\t\\r\\n","errorExample":""}]', 'title' => 'DeregisterDelegatedAdministrator', 'summary' => 'Removes a delegated administrator account for a trusted service.', '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' => ' ', 'changeSet' => [], ], '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', 'title' => ''], ], 'title' => '', ], ], ], '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.', 'description' => ''], ], 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.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 9B34724D-54B0-4A51-B34D-4512372FE1BE\\r\\n","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' => ' ', 'changeSet' => [], ], 'DetachControlPolicy' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'PolicyId', 'in' => 'query', 'schema' => ['description' => 'The ID of the access control policy.', 'type' => 'string', 'required' => true, 'example' => 'cp-jExXAqIYkwHN****', 'title' => ''], ], [ '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" ."\n" .'- Subfolders of the Root folder'."\n" ."\n" .'- Members', 'type' => 'string', 'required' => true, 'example' => 'fd-ZDNPiT****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9EA4F962-1A2E-4AFE-BE0C-B14736FC46CC', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'NotSupport.DetachLastControlPolicy', 'errorMessage' => 'It is not detach the last control policy on the target node.', 'description' => 'It is not detach the last control policy on the target node.'], ['errorCode' => 'NotSupport.DetachLastResourceControlPolicy', 'errorMessage' => 'It is not supported to detach the last resource control policy.', 'description' => ''], ['errorCode' => 'NotSupport.DetachSystemResourceControlPolicy', 'errorMessage' => 'It is not supported to detach system resource control policy.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Target', 'errorMessage' => 'The specified target does not exist in the resource directory.', 'description' => 'The specified object does not exist in the resource directory.'], ['errorCode' => 'EntityNotExists.ResourceControlPolicy', 'errorMessage' => 'The specified resource control policy does not exist.', 'description' => ''], ['errorCode' => 'EntityNotExists.ResourceControlPolicyAttachment', 'errorMessage' => 'The specified resource control policy attachment does not exist.', 'description' => ''], ], ], '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.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachControlPolicy'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:DetachControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9EA4F962-1A2E-4AFE-BE0C-B14736FC46CC\\"\\n}","type":"json"}]', ], 'DisableControlPolicy' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'ControlPolicyType', 'in' => 'query', 'schema' => [ 'type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'enum' => [], 'description' => '', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ 'EnablementStatus' => ['description' => 'The status of the control policy feature. Valid values:'."\n" ."\n" .'- Enabled: The feature is active.'."\n" ."\n" .'- PendingEnable: The feature is being enabled.'."\n" ."\n" .'- Disabled: The feature is inactive.'."\n" ."\n" .'- PendingDisable: The feature is being disabled.', 'type' => 'string', 'example' => 'PendingDisable', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7C709979-451D-4C92-835D-7DDCCAA562E9', 'title' => ''], 'ControlPolicyType' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'title' => 'DisableControlPolicy', 'summary' => 'Disables the control policy feature.', 'description' => 'Disabling the control policy feature automatically detaches all control policies from folders and member accounts. These policies are not deleted, but you can no longer attach them to any target nodes.'."\n" ."\n" .'> Disabling the control policy feature affects permissions for all folders and member accounts in your Resource Directory. Use caution when you perform this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableControlPolicy'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:DisableControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ResourceDirectory', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EnablementStatus\\": \\"PendingDisable\\",\\n \\"RequestId\\": \\"7C709979-451D-4C92-835D-7DDCCAA562E9\\",\\n \\"ControlPolicyType\\": \\"RESOURCE_CONTROL_POLICY\\"\\n}","type":"json"}]', ], 'DisassociateMembers' => [ '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****', 'title' => ''], ], [ '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****', 'title' => ''], 'required' => true, 'title' => '', ], ], ], '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****', 'title' => ''], '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****', 'title' => ''], 'ModifyDate' => ['description' => 'The time when the contact was unbound from the object.', 'type' => 'string', 'example' => '2023-03-27 17:19:21', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.ContactId', 'errorMessage' => 'You must specify ContactId.', 'description' => ''], ['errorCode' => 'InvalidParameter.Members', 'errorMessage' => 'The Members is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Members.Duplicate', 'errorMessage' => 'The Members contains duplicate values.', 'description' => ''], ['errorCode' => 'InvalidParameter.Members.Length', 'errorMessage' => 'The maximum number of Members exceeds the limit.', 'description' => ''], ['errorCode' => 'QuotaExceeded.Members', 'errorMessage' => 'The maximum number of Members exceeds the limit.', 'description' => ''], ['errorCode' => 'InvalidMember', 'errorMessage' => 'The member does not exist in the resource directory.', 'description' => ''], ['errorCode' => 'ContactStatusMismatchAction', 'errorMessage' => 'The status of the contact does not allow the specified operation.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ], ], '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', 'summary' => 'Unbinds a contact from a resource directory, folder, or member.', 'changeSet' => [], ], 'EnableControlPolicy' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'ControlPolicyType', 'in' => 'query', 'schema' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'EnablementStatus' => ['description' => 'The status of the control policy feature. Valid values:'."\n" ."\n" .'- `Enabled`: The feature is enabled.'."\n" ."\n" .'- `PendingEnable`: The feature is being enabled.'."\n" ."\n" .'- `Disabled`: The feature is disabled.'."\n" ."\n" .'- `PendingDisable`: The feature is being disabled.', 'type' => 'string', 'example' => 'PendingEnable', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8CE7BD95-EFFA-4911-A1E0-BD4412697FEB', 'title' => ''], 'ControlPolicyType' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 409 => [ ['errorCode' => 'Throttling.EnableControlPolicy', 'errorMessage' => 'The enable operation is too frequent. Please try again in %s minute(s).', 'description' => 'The operation is frequently performed. Wait %s minutes and try again.'], ['errorCode' => 'Throttling.EnableResourceControlPolicy', 'errorMessage' => 'The enable operation is too frequent. Please try again in %s minute(s).', 'description' => ''], ], ], 'title' => 'EnableControlPolicy', 'summary' => 'Enables the control policy feature.', 'description' => 'A control policy is a type of access control policy in Resource Directory based on your resource structure, such as folders and member accounts. You can use a control policy to manage the permissions boundaries for resource access across levels of your Resource Directory. This helps you establish consistent access control principles for your entire organization or for specific parts of it. A control policy only defines a permissions boundary and does not grant permissions. You must use RAM within a member account to grant permissions to an identity to access your resources. For more information, see [Overview of control policies](~~178671~~).', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableControlPolicy'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:EnableControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ResourceDirectory', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EnablementStatus\\": \\"PendingEnable\\",\\n \\"RequestId\\": \\"8CE7BD95-EFFA-4911-A1E0-BD4412697FEB\\",\\n \\"ControlPolicyType\\": \\"RESOURCE_CONTROL_POLICY\\"\\n}","type":"json"}]', ], '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 `@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.', 'type' => 'string', 'required' => false, 'example' => 'user01@rdadmin.aliyunid.com', 'title' => ''], ], [ '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 `-` format.'."\n" ."\n" .'> Mobile phone numbers in the `86-` format in the Chinese mainland are not supported.', 'type' => 'string', 'required' => false, 'example' => 'xx-13900001234', 'title' => ''], ], [ 'name' => 'VerificationCode', 'in' => 'query', 'schema' => ['description' => 'The verification code.'."\n" ."\n" .'You can call the [SendVerificationCodeForEnableRD](~~SendVerificationCodeForEnableRD~~) operation to obtain the verification code.', 'type' => 'string', 'required' => false, 'example' => '123456', 'title' => ''], ], [ '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" ."\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.', 'type' => 'string', 'required' => true, 'example' => 'CurrentAccount', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'- **true**: performs only a dry run.'."\n" ."\n" .'- **false** (default): performs a dry run and performs the actual request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'ResourceDirectory' => [ 'description' => 'The information about the resource directory.', 'type' => 'object', 'properties' => [ 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.', 'type' => 'string', 'example' => 'rd-54****', 'title' => ''], 'MasterAccountId' => ['description' => 'The ID of the management account.', 'type' => 'string', 'example' => '507408460615****', 'title' => ''], 'MasterAccountName' => ['description' => 'The name of the management account.', 'type' => 'string', 'example' => 'alice@example.com', 'title' => ''], 'RootFolderId' => ['description' => 'The ID of the Root folder.', 'type' => 'string', 'example' => 'r-G9****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the resource directory was enabled.', 'type' => 'string', 'example' => '2021-12-08T02:15:31.744Z', 'title' => ''], ], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC2FE94D-A4A2-51A1-A493-5C273A36C46A', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 409 => [ ['errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', 'errorMessage' => 'The specified account is an Alibaba Cloud account or already exists in another resource directory.', 'description' => ''], ['errorCode' => 'Invalid.EnterpriseName', 'errorMessage' => 'You must specify the enterprise name.', 'description' => 'No enterprise name is specified for the account. Specify an enterprise name for the account.'], ['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.', 'description' => 'The account does not pass enterprise real-name verification. Complete the verification for the account first.'], ['errorCode' => 'EntityAlreadyExists.ResourceDirectory', 'errorMessage' => 'The resource directory for the account is already enabled. We recommend that you do not enable the resource directory again.', 'description' => 'The account has been used to enable a resource directory. Do not use the account to enable a resource directory again.'], ['errorCode' => 'InvalidParameter.ManagementAccountName.AlreadyUsed', 'errorMessage' => 'The ManagementAccountName has been used.', 'description' => 'The name specified for the management account already exists. Specify a valid name.'], ['errorCode' => 'Invalid.VerificationCode', 'errorMessage' => 'The verification code is invalid.', 'description' => 'The verification code is invalid.'], ['errorCode' => 'InvalidParameter.ManagementAccountName', 'errorMessage' => 'The management account name is in the wrong format.', 'description' => 'The format of the name specified for the management account is incorrect.'], ['errorCode' => 'InvalidParameter.ManagementAccountSecurityInfo', 'errorMessage' => 'The parameter management account secure mobile phone is invalid.', 'description' => 'The format of the mobile phone number specified for security purposes is incorrect.'], ['errorCode' => 'MissingSecureMobilePhone', 'errorMessage' => 'Secure mobile phone is missing.', 'description' => 'No mobile phone number is specified for security purposes.'], ['errorCode' => 'MissingSecurityInfo', 'errorMessage' => 'Security info is missing.', 'description' => 'No security information is specified.'], ['errorCode' => 'NotSupport.Account.Site', 'errorMessage' => 'The caller is not a China site account, which is not supported.', 'description' => 'The account is not registered at the current site. Use an account registered at the current site.'], ['errorCode' => 'Invalid.AccountType', 'errorMessage' => 'The specified profile type of account is invalid.', 'description' => 'The account type is invalid. Use an enterprise account.'], ], ], '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~~).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableResourceDirectory'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:EnableResourceDirectory', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResourceDirectory\\": {\\n \\"ResourceDirectoryId\\": \\"rd-54****\\",\\n \\"MasterAccountId\\": \\"507408460615****\\",\\n \\"MasterAccountName\\": \\"alice@example.com\\",\\n \\"RootFolderId\\": \\"r-G9****\\",\\n \\"CreateTime\\": \\"2021-12-08T02:15:31.744Z\\"\\n },\\n \\"RequestId\\": \\"EC2FE94D-A4A2-51A1-A493-5C273A36C46A\\"\\n}","type":"json"}]', ], 'GetAccount' => [ 'summary' => 'Queries the information about 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 ID of the member.', 'type' => 'string', 'required' => true, 'example' => '181761095690****', 'title' => ''], ], [ 'name' => 'IncludeTags', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to return tag information. Valid values:'."\n" ."\n" .'- true'."\n" ."\n" .'- false'."\n" ."\n" .'Default value: false.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'Account' => [ 'description' => 'The information about the member.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the member. Valid values:'."\n" ."\n" .'- CreateSuccess: The member is created.'."\n" ."\n" .'- PromoteVerifying: The upgrade is being confirmed.'."\n" ."\n" .'- PromoteFailed: The upgrade failed.'."\n" ."\n" .'- PromoteExpired: The upgrade expired.'."\n" ."\n" .'- PromoteCancelled: The upgrade is canceled.'."\n" ."\n" .'- PromoteSuccess: The member is upgraded.'."\n" ."\n" .'- InviteSuccess: The invitation is successful.', 'type' => 'string', 'example' => 'CreateSuccess', 'title' => ''], 'Type' => ['description' => 'The type of the member. Valid values:'."\n" ."\n" .'- CloudAccount: Alibaba Cloud account.'."\n" ."\n" .'- ResourceAccount: resource account.', 'type' => 'string', 'example' => 'ResourceAccount', 'title' => ''], 'DisplayName' => ['description' => 'The display name of the member.', 'type' => 'string', 'example' => 'admin', 'title' => ''], 'FolderId' => ['description' => 'The ID of the folder.', 'type' => 'string', 'example' => 'fd-bVaRIG****', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.', 'type' => 'string', 'example' => 'rd-k3****', 'title' => ''], 'IdentityInformation' => ['description' => 'The identity verification information.', 'type' => 'string', 'example' => 'aliyun-admin', 'title' => ''], 'JoinTime' => ['description' => 'The time when the member joined the resource directory.', 'type' => 'string', 'example' => '2015-01-23T12:33:18Z', 'title' => ''], 'AccountId' => ['description' => 'The ID of the member.', 'type' => 'string', 'example' => '181761095690****', 'title' => ''], 'JoinMethod' => ['description' => 'The method by which the member joined the resource directory. Valid values:'."\n" ."\n" .'- invited: The member was invited.'."\n" ."\n" .'- created: The member was created.', 'type' => 'string', 'example' => 'created', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the member was last modified.', 'type' => 'string', 'example' => '2015-01-23T12:33:18Z', 'title' => ''], 'AccountName' => ['description' => 'The name of the account.', 'type' => 'string', 'example' => 'someone@example.com', 'title' => ''], 'ResourceDirectoryPath' => ['description' => 'The path of the member in the resource directory (RDPath).', 'type' => 'string', 'example' => 'rd-k3****/r-Wm****/fd-bVaRIG****/181761095690****', 'title' => ''], 'Tags' => [ 'description' => 'The tags.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'tag_key', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'tag_value', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'Location' => ['description' => 'The location of the member in the resource directory.', 'type' => 'string', 'example' => 'root/AlRd****/Z5Aa****', 'title' => ''], 'EmailStatus' => ['description' => 'The status of the email address. Valid values:'."\n" ."\n" .'- Empty: No records of email address modifications exist.'."\n" ."\n" .'- WAIT\\_MODIFY: The email address is being modified.'."\n" ."\n" .'- CANCELLED: The modification is canceled.'."\n" ."\n" .'- EXPIRED: The modification expired.', 'type' => 'string', 'example' => 'WAIT_MODIFY', 'title' => ''], 'HasSecureMobilePhone' => ['description' => 'Indicates whether a mobile phone number is attached to the member. Valid values:'."\n" ."\n" .'- true'."\n" ."\n" .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'SecureMobilePhone' => ['description' => 'The mobile phone number.', 'type' => 'string', 'example' => '1234567****', 'title' => ''], ], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.AccountId', 'errorMessage' => 'You must specify AccountId.', 'description' => 'The AccountId parameter is not configured.'], ['errorCode' => 'InvalidParameter.AccountId', 'errorMessage' => 'The AccountId is invalid.', 'description' => 'The value of the AccountId parameter is invalid. Specify a 16-digit ID.'], ], 404 => [ ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => 'The member does not exist. Create such a member first.'], ['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.', 'description' => 'The account is not used to enable a resource directory. Use the account to enable a resource directory first.'], ], ], 'title' => 'GetAccount', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccount'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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\\": \\"someone@example.com\\",\\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}","type":"json"}]', ], 'GetAccountDeletionCheckResult' => [ '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****', 'title' => ''], ], ], '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', 'title' => ''], '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', 'title' => ''], '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', 'title' => ''], '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.', 'title' => ''], 'CheckId' => ['description' => 'The ID of the check item.'."\n", 'type' => 'string', 'example' => 'NON_SP_efc', 'title' => ''], 'CheckName' => ['description' => 'The name of the cloud service to which the check item belongs.'."\n", 'type' => 'string', 'example' => 'Enterprise finance', 'title' => ''], ], 'title' => '', ], 'title' => '', ], '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", 'title' => ''], 'CheckId' => ['description' => 'The ID of the check item.'."\n", 'type' => 'string', 'example' => 'NON_SP_cs', 'title' => ''], 'CheckName' => ['description' => 'The name of the cloud service to which the check item belongs.'."\n", 'type' => 'string', 'example' => 'Container Service for Kubernetes'."\n", 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.AccountId', 'errorMessage' => 'You must specify AccountId.', 'description' => ''], ['errorCode' => 'InvalidParameter.AccountId', 'errorMessage' => 'The AccountId is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ['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.', 'description' => ''], ], 409 => [ ['errorCode' => 'AccountTypeOrStatusMismatch', 'errorMessage' => 'You cannot perform the action on the member account.', 'description' => ''], ['errorCode' => 'EntityNotExists.CheckAccount', 'errorMessage' => 'There is no check task for this account', 'description' => ''], ['errorCode' => 'UnknownError.Account', 'errorMessage' => 'The deletion failed. An unknown error occurred. Please try again later.', 'description' => ''], ], ], '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\\": \\"An instance of a cloud service is running within the member. Submit a ticket to contact Alibaba Cloud technical support.\\\\n\\",\\n \\"CheckId\\": \\"NON_SP_cs\\",\\n \\"CheckName\\": \\"Container Service for Kubernetes\\\\n\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n \\n PreCheckComplete\\n \\n instance number:1\\n eip_pre\\n SP_eip_eip_pre\\n \\n \\n This account is an Enterprise Finance associated account. Please remove the financial association of this account before deleting it.\\n Enterprise finance\\n NON_SP_efc\\n \\n false\\n \\n 54AC391D-4F7F-5F08-B8D3-0AECDE6EC5BD\\n","errorExample":""}]', 'title' => 'GetAccountDeletionCheckResult', 'summary' => 'Queries the result of a member deletion check.', '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", 'changeSet' => [], ], 'GetAccountDeletionStatus' => [ '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****', 'title' => ''], ], ], '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', 'title' => ''], 'AccountId' => ['description' => 'The Alibaba Cloud account ID of the member.'."\n", 'type' => 'string', 'example' => '169946124551****', 'title' => ''], 'CreateTime' => ['description' => 'The start time of the deletion.'."\n", 'type' => 'string', 'example' => '2022-08-23T17:05:30+08:00', 'title' => ''], 'DeletionTime' => ['description' => 'The end time of the deletion.'."\n", 'type' => 'string', 'required' => true, 'example' => '2022-08-23T17:06:01+08:00', 'title' => ''], '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', 'title' => ''], '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.', 'title' => ''], ], 'title' => '', ], 'title' => '', ], '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', 'title' => ''], ], 'title' => '', ], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8AA43293-7C8F-5730-8F2D-7F864EC092C5', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'EntityNotExists.CheckAccount', 'errorMessage' => 'There is no check task for this account', 'description' => ''], ], ], '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":"\\n 8AA43293-7C8F-5730-8F2D-7F864EC092C5\\n \\n Success\\n 169946124551****\\n 0\\n 2022-08-23T17:05:30+08:00\\n 2022-08-23T17:06:01+08:00\\n \\n","errorExample":""}]', 'title' => 'GetAccountDeletionStatus', 'summary' => 'Queries the deletion status of a member.', 'changeSet' => [], ], 'GetControlPolicy' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'PolicyId', 'in' => 'query', 'schema' => ['description' => 'The ID of the control policy.', 'type' => 'string', 'required' => true, 'example' => 'cp-SImPt8GCEwiq****', 'title' => ''], ], [ 'name' => 'Language', 'in' => 'query', 'schema' => ['description' => 'The language of the returned control policy description. Valid values:'."\n" ."\n" .'- zh-CN (default): Chinese.'."\n" ."\n" .'- en: English.'."\n" ."\n" .'- ja: Japanese.'."\n" ."\n" .'> This parameter is valid only for system control policies.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'ControlPolicy' => [ 'description' => 'The details of the control policy.', 'type' => 'object', 'properties' => [ 'PolicyDocument' => ['description' => 'The content of the control policy.', 'type' => 'string', 'example' => '{\\"Version\\":\\"1\\",\\"Statement\\":[{\\"Effect\\":\\"Deny\\",\\"Action\\":[\\"ram:UpdateRole\\",\\"ram:DeleteRole\\",\\"ram:AttachPolicyToRole\\",\\"ram:DetachPolicyFromRole\\"],\\"Resource\\":\\"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole\\"}]}', 'title' => ''], 'UpdateDate' => ['description' => 'The time the control policy was last updated.', 'type' => 'string', 'example' => '2021-03-18T08:51:33Z', 'title' => ''], 'Description' => ['description' => 'The description of the control policy.', 'type' => 'string', 'example' => 'ExampleControlPolicy', 'title' => ''], 'EffectScope' => ['description' => 'The effective scope of the control policy. Valid values:'."\n" ."\n" .'- All: The control policy applies to Alibaba Cloud accounts, RAM users, and RAM roles.'."\n" ."\n" .'- RAM: The control policy applies only to RAM users and RAM roles.', 'type' => 'string', 'example' => 'RAM', 'title' => ''], 'AttachmentCount' => ['description' => 'The number of attachments.', 'type' => 'string', 'example' => '0', 'title' => ''], 'PolicyName' => ['description' => 'The name of the control policy.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'PolicyId' => ['description' => 'The ID of the control policy.', 'type' => 'string', 'example' => 'cp-SImPt8GCEwiq****', 'title' => ''], 'CreateDate' => ['description' => 'The time the control policy was created.', 'type' => 'string', 'example' => '2021-03-18T08:51:33Z', 'title' => ''], 'PolicyType' => ['description' => 'The type of the control policy. Valid values:'."\n" ."\n" .'- System: A system-provided control policy.'."\n" ."\n" .'- Custom: A user-created control policy.', 'type' => 'string', 'example' => 'Custom', 'title' => ''], 'ControlPolicyType' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'AB769936-CDFA-4D52-8CE2-A3581800044A', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'EntityNotExists.ResourceControlPolicy', 'errorMessage' => 'The specified resource control policy does not exist.', 'description' => ''], ], ], 'title' => 'GetControlPolicy', 'summary' => 'Gets the details of a control policy.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetControlPolicy'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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 \\"ControlPolicyType\\": \\"RESOURCE_CONTROL_POLICY\\"\\n },\\n \\"RequestId\\": \\"AB769936-CDFA-4D52-8CE2-A3581800044A\\"\\n}","type":"json"}]', ], 'GetControlPolicyEnablementStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'ControlPolicyType', 'in' => 'query', 'schema' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'EnablementStatus' => ['description' => 'The enablement status of the control policy. Valid values:'."\n" ."\n" .'- Enabled: The control policy is enabled.'."\n" ."\n" .'- PendingEnable: The control policy is being enabled.'."\n" ."\n" .'- Disabled: The control policy is disabled.'."\n" ."\n" .'- PendingDisable: The control policy is being disabled.', 'type' => 'string', 'example' => 'Disabled', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1DC39A4E-3B52-4EFE-9F93-4897D7FFA0C4', 'title' => ''], 'ControlPolicyType' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'title' => 'GetControlPolicyEnablementStatus', 'summary' => 'Retrieves the enablement status of the control policy.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetControlPolicyEnablementStatus'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetControlPolicyEnablementStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ResourceDirectory', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EnablementStatus\\": \\"Disabled\\",\\n \\"RequestId\\": \\"1DC39A4E-3B52-4EFE-9F93-4897D7FFA0C4\\",\\n \\"ControlPolicyType\\": \\"RESOURCE_CONTROL_POLICY\\"\\n}","type":"json"}]', ], 'GetFolder' => [ '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****', 'title' => ''], ], ], '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', 'title' => ''], 'Folder' => [ 'description' => 'The information about the folder.'."\n", 'type' => 'object', 'properties' => [ 'FolderId' => ['description' => 'The ID of the folder.'."\n", 'type' => 'string', 'example' => 'fd-Jyl5U7****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the folder was created.'."\n", 'type' => 'string', 'example' => '2021-06-15T06:39:08.521Z', 'title' => ''], 'ParentFolderId' => ['description' => 'The ID of the parent folder.'."\n", 'type' => 'string', 'example' => 'r-Wm****', 'title' => ''], 'FolderName' => ['description' => 'The name of the folder.'."\n", 'type' => 'string', 'example' => 'Applications', 'title' => ''], 'ResourceDirectoryPath' => ['description' => 'The path of the folder in the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-3G****/r-Wm****/fd-Jyl5U7****', 'title' => ''], ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.FolderId', 'errorMessage' => 'You must specify FolderId.', 'description' => ''], ['errorCode' => 'InvalidParameter.FolderId', 'errorMessage' => 'The FolderId is invalid.', 'description' => ''], ], 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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => ''], ], ], '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":"\\r\\n\\r\\n\\t88EF473E-D5CD-589F-AAB3-F6E0D12AECA3\\r\\n\\t\\r\\n\\t\\t2021-06-15T06:39:08.521Z\\r\\n\\t\\tfd-Jyl5U7****\\r\\n\\t\\tApplications\\r\\n\\t\\tr-Wm****\\r\\n\\t\\trd-3G****/r-Wm****/fd-Jyl5U7****\\r\\n\\t\\r\\n","errorExample":""}]', 'title' => 'GetFolder', 'summary' => 'Queries the information about a folder.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], '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****', 'title' => ''], ], ], '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', 'title' => ''], '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', 'title' => ''], 'ExpireTime' => ['description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-24T09:55:41Z', 'title' => ''], 'CreateTime' => ['description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], 'TargetEntity' => ['description' => 'The ID or logon email address of the invited account.'."\n", 'type' => 'string', 'example' => 'someone@example.com', 'title' => ''], 'MasterAccountId' => ['description' => 'The ID of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => '172841235500****', 'title' => ''], 'HandshakeId' => ['description' => 'The ID of the invitation.'."\n", 'type' => 'string', 'example' => 'h-ycm4rp****', 'title' => ''], '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', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-abcdef****', 'title' => ''], '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', 'title' => ''], 'Note' => ['description' => 'The description of the invitation.'."\n", 'type' => 'string', 'example' => 'Welcome'."\n", 'title' => ''], 'MasterAccountName' => ['description' => 'The name of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => 'company@example.com', 'title' => ''], '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', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.HandshakeId', 'errorMessage' => 'You must specify HandshakeId.', 'description' => ''], ['errorCode' => 'InvalidParameter.HandshakeId', 'errorMessage' => 'The HandshakeId is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Handshake', 'errorMessage' => 'The specified handshake does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'HandshakeStatusMismatch', 'errorMessage' => 'The invitation is invalid.', 'description' => ''], ['errorCode' => 'MissingAccountRealName', 'errorMessage' => 'The name of the invited account is not specified.', 'description' => ''], ['errorCode' => 'NoRealNameAuthentication', 'errorMessage' => 'The account invited has not passed real-name authentication.', 'description' => ''], ], ], '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\\": \\"someone@example.com\\",\\n \\"MasterAccountId\\": \\"172841235500****\\",\\n \\"HandshakeId\\": \\"h-ycm4rp****\\",\\n \\"MasterAccountRealName\\": \\"company\\",\\n \\"ResourceDirectoryId\\": \\"rd-abcdef****\\",\\n \\"InvitedAccountRealName\\": \\"Alice\\",\\n \\"Note\\": \\"Welcome\\\\n\\",\\n \\"MasterAccountName\\": \\"company@example.com\\",\\n \\"TargetType\\": \\"Email\\",\\n \\"ModifyTime\\": \\"2018-08-10T09:55:41Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'GetHandshake', 'summary' => 'Queries the information of an invitation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], 'GetMessageContact' => [ '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****', 'title' => ''], ], ], '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****', 'title' => ''], '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', 'title' => ''], 'title' => '', ], 'CreateDate' => ['description' => 'The time when the contact was created.'."\n", 'type' => 'string', 'example' => '2023-03-27 17:19:21', 'title' => ''], 'Name' => ['description' => 'The name of the contact.'."\n", 'type' => 'string', 'example' => 'tom', 'title' => ''], 'EmailAddress' => ['description' => 'The email address of the contact.'."\n", 'type' => 'string', 'example' => 'someone***@example.com', 'title' => ''], 'PhoneNumber' => ['description' => 'The mobile phone number of the contact.'."\n", 'type' => 'string', 'example' => '86-139****1234', 'title' => ''], 'Title' => ['description' => 'The job title of the contact.'."\n", 'type' => 'string', 'example' => 'TechnicalDirector', 'title' => ''], '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****', 'title' => ''], 'title' => '', ], 'Status' => ['description' => 'The status of the contact. Valid values:'."\n" ."\n" .'* Verifying'."\n" .'* Active'."\n" .'* Deleting'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.ContactId', 'errorMessage' => 'You must specify ContactId.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ], ], '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', 'summary' => 'Queries the information about a contact.', 'changeSet' => [], ], 'GetMessageContactDeletionStatus' => [ '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****', 'title' => ''], ], ], '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', 'title' => ''], 'ContactId' => ['description' => 'The ID of the contact.'."\n", 'type' => 'string', 'example' => 'c-qL4HqKONzOM7****', 'title' => ''], '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****', 'title' => ''], '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', 'title' => ''], 'title' => '', ], ], 'title' => '', ], 'title' => '', ], ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.ContactId', 'errorMessage' => 'You must specify ContactId.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ], ], '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', 'summary' => 'Queries the deletion status of a contact.', 'changeSet' => [], ], '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****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned result.'."\n", 'type' => 'object', 'properties' => [ 'PayerAccountName' => ['description' => 'The name of the billing account.'."\n", 'type' => 'string', 'example' => 'Alice', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', 'title' => ''], 'PayerAccountId' => ['description' => 'The ID of the billing account.'."\n", 'type' => 'string', 'example' => '172841235500****', 'title' => ''], ], 'title' => '', ], ], ], '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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"PayerAccountName\\": \\"Alice\\",\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"PayerAccountId\\": \\"172841235500****\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\t9B34724D-54B0-4A51-B34D-4512372FE1BE\\r\\n\\t172841235500****\\r\\n\\tAlice\\r\\n\\t\\r\\n","errorExample":""}]', 'title' => 'GetPayerForAccount', 'summary' => 'Queries the information of a billing account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], 'GetResourceDirectory' => [ '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', 'title' => ''], '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****', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.', 'type' => 'string', 'example' => 'rd-St****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the resource directory was enabled.', 'type' => 'string', 'example' => '2019-02-18T15:32:10.473Z', 'title' => ''], 'MasterAccountId' => ['description' => 'The ID of the management account.', 'type' => 'string', 'example' => '172845045600****', 'title' => ''], 'MasterAccountName' => ['description' => 'The name of the management account.', 'type' => 'string', 'example' => 'aliyun-admin', 'title' => ''], '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', 'title' => ''], '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', 'title' => ''], 'IdentityInformation' => ['description' => 'The real-name verification information.', 'type' => 'string', 'example' => '*** Co., Ltd.', 'title' => ''], 'MemberAccountDisplayNameSyncStatus' => ['description' => 'The status of the Member Display Name Synchronization feature. Valid values:'."\n" ."\n" .'* Enabled'."\n" .'* Disabled'."\n", 'type' => 'string', 'example' => 'Enabled', 'title' => ''], ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'ResourceDirectoryNotInUse', 'errorMessage' => 'The specified account is not an Alibaba Cloud account or a member account of the resource directory.', 'description' => ''], ], ], '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\\": \\"*** Co., Ltd.\\",\\n \\"MemberAccountDisplayNameSyncStatus\\": \\"Enabled\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => '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', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], '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' => 'someone@example.com', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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", 'title' => ''], ], [ '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', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'title' => '', ], ], [ 'name' => 'ParentFolderId', 'in' => 'query', 'schema' => ['description' => 'The ID of the parent folder.'."\n", 'type' => 'string', 'required' => false, 'example' => 'r-b1****', 'title' => ''], ], ], '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', 'title' => ''], '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', 'title' => ''], 'ExpireTime' => ['description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-24T09:55:41Z', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-abcdef****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], 'Note' => ['description' => 'The description of the invitation.'."\n", 'type' => 'string', 'example' => 'Welcome'."\n", 'title' => ''], 'TargetEntity' => ['description' => 'The ID or logon email address of the invited account.'."\n", 'type' => 'string', 'example' => 'someone@example.com', 'title' => ''], 'MasterAccountId' => ['description' => 'The ID of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => '172841235500****', 'title' => ''], 'MasterAccountName' => ['description' => 'The name of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => 'Alice', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], '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', 'title' => ''], 'HandshakeId' => ['description' => 'The ID of the invitation.'."\n", 'type' => 'string', 'example' => 'h-ycm4rp****', 'title' => ''], ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.TargetEntity', 'errorMessage' => 'You must specify TargetEntity.', 'description' => ''], ['errorCode' => 'InvalidParameter.TargetEntity', 'errorMessage' => 'The TargetEntity is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.TargetType', 'errorMessage' => 'You must specify TargetType.', 'description' => ''], ['errorCode' => 'InvalidParameter.TargetType', 'errorMessage' => 'The TargetType is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Note.Length', 'errorMessage' => 'The length of the invitation note exceeds the limit.', 'description' => ''], ['errorCode' => 'InvalidParameter.Note', 'errorMessage' => 'The Note is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.ParentFolderId', 'errorMessage' => 'The ParentFolderId is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.AccountId', 'errorMessage' => 'The AccountId is invalid.', 'description' => ''], ], 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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'LimitExceeded.Account', 'errorMessage' => 'The maximum number of member accounts in a resource directory exceeds the limit.', 'description' => ''], ['errorCode' => 'LimitExceeded.InvitationRate', 'errorMessage' => 'The number of invitations sent exceeds the limit.', 'description' => ''], ['errorCode' => 'EntityAlreadyExists.Handshake', 'errorMessage' => 'Handshakes with the same target entity already exist.', 'description' => ''], ['errorCode' => 'Invalid.AccountType', 'errorMessage' => 'The specified profile type of account is invalid.', 'description' => ''], ['errorCode' => 'EntityAlreadyExists.ResourceDir.Account', 'errorMessage' => 'This resource directory account already exists.', 'description' => ''], ['errorCode' => 'LimitExceeded.Invitation.InvalidTarget', 'errorMessage' => 'The maximum number of invalid targets that can be invited by a single account is exceeded.', 'description' => ''], ['errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', 'errorMessage' => 'The invited account already belongs to another resource directory. To continue, remove the account from the other resource directory.', 'description' => ''], ['errorCode' => 'LegalEntityMismatch', 'errorMessage' => 'The account does not have the same legal entity as the management account.', 'description' => ''], ], ], '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\\": \\"Welcome\\\\n\\",\\n \\"TargetEntity\\": \\"someone@example.com\\",\\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":"","errorExample":""}]', 'title' => 'InviteAccountToResourceDirectory', 'summary' => 'Invites an account to join a resource directory.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], 'ListAccounts' => [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tag_value', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'title' => '', ], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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****', 'title' => ''], ], ], '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', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], '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****', 'title' => ''], 'Accounts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Account' => [ 'description' => 'The information about the members.'."\n", 'title' => '', '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', 'title' => ''], 'Type' => ['description' => 'The type of the member. Valid values:'."\n" ."\n" .'* CloudAccount: cloud account'."\n" .'* ResourceAccount: resource account'."\n", 'type' => 'string', 'example' => 'ResourceAccount', 'title' => ''], 'DisplayName' => ['description' => 'The display name of the member.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], 'FolderId' => ['description' => 'The ID of the folder.'."\n", 'type' => 'string', 'example' => 'fd-QRzuim****', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-3G****', 'title' => ''], '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', 'title' => ''], 'AccountId' => ['description' => 'The Alibaba Cloud account ID of the member.'."\n", 'type' => 'string', 'example' => '181761095690****', 'title' => ''], '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', 'title' => ''], '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', 'title' => ''], 'ResourceDirectoryPath' => ['description' => 'The RDPath of the member.'."\n", 'type' => 'string', 'example' => 'rd-3G****/r-Wm****/fd-QRzuim****/181761095690****', 'title' => ''], 'AccountName' => ['description' => 'The Alibaba Cloud account name of the member.'."\n", 'type' => 'string', 'example' => 'oxy01414357@alibaba-inc.com', 'title' => ''], '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', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tags that are added to the member.'."\n", 'title' => '', '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', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => 'tag_value', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.MaxResults', 'errorMessage' => 'The MaxResults is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.NextToken', 'errorMessage' => 'The NextToken is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.NextToken.Length', 'errorMessage' => 'The maximum length of NextToken (256 characters) is exceeded.', 'description' => ''], ], 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.', 'description' => ''], ], ], '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\\": \\"oxy01414357@alibaba-inc.com\\",\\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":"\\n 2\\n 7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\n 1\\n 2\\n \\n CreateSuccess\\n ResourceAccount\\n test\\n fd-QRzuim****\\n rd-3G****\\n 2021-01-18T08:01:50.522Z\\n 181761095690****\\n created\\n 2021-01-18T08:04:37.668Z\\n rd-3G****/r-Wm****/fd-QRzuim****/181761095690****\\n \\n tag_key\\n tag_value\\n \\n \\n","errorExample":""}]', 'title' => 'ListAccounts', 'summary' => 'Queries a list of members in a resource directory.', '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' => ' ', 'changeSet' => [], ], '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****', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tag_value', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'title' => '', ], ], [ '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', 'title' => ''], ], ], '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', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Accounts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Account' => [ 'description' => 'The information about the members.'."\n", 'title' => '', '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', 'title' => ''], 'Type' => ['description' => 'The type of the member. Valid values:'."\n" ."\n" .'* CloudAccount: cloud account'."\n" .'* ResourceAccount: resource account'."\n", 'type' => 'string', 'example' => 'ResourceAccount', 'title' => ''], 'DisplayName' => ['description' => 'The display name of the member.'."\n", 'type' => 'string', 'example' => 'admin', 'title' => ''], 'FolderId' => ['description' => 'The ID of the folder.'."\n", 'type' => 'string', 'example' => 'fd-bVaRIG****', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-k4****', 'title' => ''], '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', 'title' => ''], 'AccountId' => ['description' => 'The Alibaba Cloud account ID of the member.'."\n", 'type' => 'string', 'example' => '184311716100****', 'title' => ''], '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', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the member was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2015-01-23T12:33:18Z', 'title' => ''], 'AccountName' => ['description' => 'The Alibaba Cloud account name of the member.'."\n", 'type' => 'string', 'example' => 'hdd01429358@alibaba-inc.com', 'title' => ''], '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', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tags that are added to the member.'."\n", 'title' => '', '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', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => 'tag_value', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ParentFolderId', 'errorMessage' => 'The ParentFolderId is invalid.', 'description' => ''], ], 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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => ''], ], ], '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\\": \\"hdd01429358@alibaba-inc.com\\",\\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":"\\n 2\\n 7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\n 1\\n 2\\n \\n CreateSuccess\\n ResourceAccount\\n admin\\n fd-bVaRIG****\\n rd-k4****\\n 2015-01-23T12:33:18Z\\n 184311716100****\\n created\\n 2015-01-23T12:33:18Z\\n \\n tag_key\\n tag_value\\n \\n \\n","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' => ' ', 'changeSet' => [], ], 'ListAncestors' => [ '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****', 'title' => ''], ], ], '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', 'title' => ''], 'Folders' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Folder' => [ 'description' => 'The information of the folders.'."\n", 'title' => '', '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****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the folder was created.'."\n", 'type' => 'string', 'example' => '2019-01-18T10:03:35.217Z', 'title' => ''], 'FolderName' => ['description' => 'The name of the folder.'."\n", 'type' => 'string', 'example' => 'root', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.ChildId', 'errorMessage' => 'You must specify ChildId.', 'description' => ''], ['errorCode' => 'InvalidParameter.ChildId', 'errorMessage' => 'The ChildId is invalid.', 'description' => ''], ], 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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => ''], ], ], '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":"\\r\\n\\r\\n \\r\\n \\r\\n root\\r\\n r-b1****\\r\\n 2019-01-18T10:03:35.217Z\\r\\n \\r\\n \\r\\n myFirstFd\\r\\n fd-0adR35****\\r\\n 2019-01-23T08:48:37.530Z\\r\\n \\r\\n \\r\\n 83AFBEB6-DC03-406E-9686-867461FF6698\\r\\n","errorExample":""}]', 'title' => 'ListAncestors', 'summary' => 'Queries the information of all the parent folders of a specified folder.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], 'ListAuthorizedAccounts' => [ 'summary' => 'Queries the members that have query permissions.', '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" .'Pages start from page 1.'."\n" ."\n" .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page.'."\n" ."\n" .'Valid values: 1 to 100.'."\n" ."\n" .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Accounts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Account' => [ 'description' => 'The information about the members.', 'type' => 'array', 'items' => [ 'description' => 'The information about the member.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The status of the member. Valid values:'."\n" ."\n" .'- CreateSuccess: The member is created.'."\n" ."\n" .'- PromoteVerifying: The upgrade is being confirmed.'."\n" ."\n" .'- PromoteFailed: The upgrade failed.'."\n" ."\n" .'- PromoteExpired: The upgrade expired.'."\n" ."\n" .'- PromoteCancelled: The upgrade is canceled.'."\n" ."\n" .'- PromoteSuccess: The member is upgraded.'."\n" ."\n" .'- InviteSuccess: The invitation is successful.', 'type' => 'string', 'example' => 'CreateSuccess', 'title' => ''], 'Type' => ['description' => 'The type of the member. Valid values:'."\n" ."\n" .'- CloudAccount: Alibaba Cloud account.'."\n" ."\n" .'- ResourceAccount: resource account.', 'type' => 'string', 'example' => 'ResourceAccount', 'title' => ''], 'DisplayName' => ['description' => 'The display name of the member.', 'type' => 'string', 'example' => 'admin', 'title' => ''], 'FolderId' => ['description' => 'The ID of the folder.', 'type' => 'string', 'example' => 'fd-bVaRIG****', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.', 'type' => 'string', 'example' => 'rd-k4****', 'title' => ''], 'JoinTime' => ['description' => 'The time when the member joined the resource directory. The time is displayed in UTC.', 'type' => 'string', 'example' => '2015-01-23T12:33:18Z', 'title' => ''], 'AccountId' => ['description' => 'The ID of the member account.', 'type' => 'string', 'example' => '184311716100****', 'title' => ''], 'JoinMethod' => ['description' => 'The method by which the member joined the resource directory. Valid values:'."\n" ."\n" .'- invited: The member was invited to join the resource directory.'."\n" ."\n" .'- created: The member was created in the resource directory.', 'type' => 'string', 'example' => 'created', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the member was last modified. The time is displayed in UTC.', 'type' => 'string', 'example' => '2015-01-23T12:33:18Z', 'title' => ''], 'ResourceDirectoryPath' => ['description' => 'The path ID of the member in the resource directory (RDPath).', 'type' => 'string', 'example' => 'rd-k4****/r-Wm****/fd-bVaRIG****/184311716100****', 'title' => ''], 'AccountName' => ['description' => 'The name of the member.', 'type' => 'string', 'example' => 'someone@example.com', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], '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.', 'description' => 'The account is not used to enable a resource directory. Use the account to enable a resource directory first.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListAuthorizedAccounts', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListAuthorizedAccounts', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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\\": \\"someone@example.com\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'ListAuthorizedFolders' => [ '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" .'Pages start from page 1.'."\n" ."\n" .'Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page.'."\n" ."\n" .'Valid values: 1 to 100.'."\n" ."\n" .'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Folders' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Folder' => [ 'description' => 'The folders.', 'type' => 'array', 'items' => [ 'description' => 'The folder.', 'type' => 'object', 'properties' => [ 'FolderId' => ['description' => 'The folder ID.', 'type' => 'string', 'example' => 'fd-bVaRIG****', 'title' => ''], 'ResourceDirectoryPath' => ['description' => 'The path of the folder in the resource directory (RDPath).', 'type' => 'string', 'example' => 'rd-k3****/r-Wm****/fd-bVaRIG****', 'title' => ''], 'FolderName' => ['description' => 'The folder name.', 'type' => 'string', 'example' => 'project-1', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListAuthorizedFolders', 'summary' => 'Queries the folders that you have query permissions for.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListAuthorizedFolders', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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"}]', ], 'ListControlPolicies' => [ 'summary' => 'Call `ListControlPolicies` to retrieve a list of 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 control policy. Valid values:'."\n" ."\n" .'- System: A system control policy.'."\n" ."\n" .'- Custom: A custom control policy.', 'type' => 'string', 'required' => false, 'example' => 'System', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number.'."\n" ."\n" .'Starting value: 1. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '200000', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page.'."\n" ."\n" .'Valid range: 1 to 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'Language', 'in' => 'query', 'schema' => ['description' => 'The language of the returned descriptions for control policies. Valid values:'."\n" ."\n" .'- `zh-CN` (default): Chinese.'."\n" ."\n" .'- `en`: English.'."\n" ."\n" .'- `ja`: Japanese.'."\n" ."\n" .'> This parameter takes effect only for system control policies.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The tags of the policy.', 'type' => 'array', 'items' => [ 'description' => 'A tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'example' => 'tag_key', 'title' => ''], 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'example' => 'tag_value', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'ControlPolicyType', 'in' => 'query', 'schema' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'title' => '', 'description' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ 'TotalCount' => ['description' => 'The total number of control policies.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9424A34C-3471-45AD-B6AB-924BBDFE42F9', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'ControlPolicies' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ControlPolicy' => [ 'description' => 'The list of control policies.', 'type' => 'array', 'items' => [ 'description' => 'A control policy.', 'type' => 'object', 'properties' => [ 'UpdateDate' => ['description' => 'The time the control policy was last updated.', 'type' => 'string', 'example' => '2020-08-05T06:32:24Z', 'title' => ''], 'Description' => ['description' => 'The description of the control policy.', 'type' => 'string', 'example' => '支持阿里云所有操作的系统管控策略', 'title' => ''], 'EffectScope' => ['description' => 'The effective scope of the control policy. Valid values:'."\n" ."\n" .'- `All`: The control policy applies to Alibaba Cloud accounts, RAM users, and RAM roles.'."\n" ."\n" .'- `RAM`: The control policy applies only to RAM users and RAM roles.', 'type' => 'string', 'example' => 'All', 'title' => ''], 'AttachmentCount' => ['description' => 'The number of times the control policy is attached.', 'type' => 'string', 'example' => '44', 'title' => ''], 'PolicyName' => ['description' => 'The name of the control policy.', 'type' => 'string', 'example' => 'FullAliyunAccess', 'title' => ''], 'PolicyId' => ['description' => 'The ID of the control policy.', 'type' => 'string', 'example' => 'cp-FullAliyunAccess', 'title' => ''], 'CreateDate' => ['description' => 'The time the control policy was created.', 'type' => 'string', 'example' => '2020-08-05T06:32:24Z', 'title' => ''], 'PolicyType' => ['description' => 'The type of the control policy. Valid values:'."\n" ."\n" .'- `System`: system control policy.'."\n" ."\n" .'- `Custom`: custom control policy.', 'type' => 'string', 'example' => 'System', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'A tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'tag_key', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'tag_value', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => 'The tags attached to the control policy.', 'title' => '', 'example' => '', ], 'ControlPolicyType' => ['description' => 'The type of the control policy. This parameter is available only in the China (Shenzhen) Finance and China (Shanghai) Finance regions.', 'type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => 'The control policies.', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListControlPolicies', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListControlPolicies'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListControlPolicies', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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 \\"ControlPolicyType\\": \\"RESOURCE_CONTROL_POLICY\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'ListControlPolicyAttachmentsForTarget' => [ 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'TargetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the target. Valid values:'."\n" ."\n" .'- The ID of the Root.'."\n" ."\n" .'- The ID of a folder.'."\n" ."\n" .'- The ID of a member.', 'type' => 'string', 'required' => true, 'example' => 'fd-ZDNPiT****', 'title' => ''], ], [ 'name' => 'Language', 'in' => 'query', 'schema' => ['description' => 'The language for the descriptions of system control policies. Valid values:'."\n" ."\n" .'- zh-CN (default): Chinese.'."\n" ."\n" .'- en: English.'."\n" ."\n" .'- ja: Japanese.'."\n" ."\n" .'> This parameter applies only to system control policies.', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], [ 'name' => 'ControlPolicyType', 'in' => 'query', 'schema' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C276B600-7B7A-49E8-938C-E16CFA955A82', 'title' => ''], 'ControlPolicyAttachments' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ControlPolicyAttachment' => [ 'description' => 'The list of attached control policies.', 'type' => 'array', 'items' => [ 'description' => 'The information about an attached control policy.', 'type' => 'object', 'properties' => [ 'Description' => ['description' => 'The description of the control policy.', 'type' => 'string', 'example' => 'ExampleControlPolicy', 'title' => ''], 'EffectScope' => ['description' => 'The effective scope of the control policy. Valid values:'."\n" ."\n" .'- All: The control policy applies to Alibaba Cloud accounts, RAM users, and RAM roles.'."\n" ."\n" .'- RAM: The control policy applies only to RAM users and RAM roles.', 'type' => 'string', 'example' => 'RAM', 'title' => ''], 'PolicyName' => ['description' => 'The name of the control policy.', 'type' => 'string', 'example' => 'ExampleControlPolicy', 'title' => ''], 'PolicyId' => ['description' => 'The ID of the control policy.', 'type' => 'string', 'example' => 'cp-jExXAqIYkwHN****', 'title' => ''], 'AttachDate' => ['description' => 'The time when the control policy was attached.', 'type' => 'string', 'example' => '2021-03-19T02:56:24Z', 'title' => ''], 'PolicyType' => ['description' => 'The type of the control policy. Valid values:'."\n" ."\n" .'- System: system control policy.'."\n" ."\n" .'- Custom: custom control policy.', 'type' => 'string', 'example' => 'Custom', 'title' => ''], 'ControlPolicyType' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => 'The attached control policies.', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'EntityNotExists.Target', 'errorMessage' => 'The specified target does not exist in the resource directory.', 'description' => 'The specified object does not exist in the resource directory.'], ], ], 'title' => 'ListControlPolicyAttachmentsForTarget', 'summary' => 'Lists the control policies attached to the Root, a folder, or a member.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListControlPolicyAttachmentsForTarget'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListControlPolicyAttachmentsForTarget', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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 \\"ControlPolicyType\\": \\"RESOURCE_CONTROL_POLICY\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'ListDelegatedAdministrators' => [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], ], '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', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'Accounts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Account' => [ 'description' => 'The information about the delegated administrator accounts.'."\n", 'title' => '', '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****', 'title' => ''], 'DisplayName' => ['description' => 'The display name of the member.'."\n", 'type' => 'string', 'example' => 'abc', 'title' => ''], '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', 'title' => ''], 'ServicePrincipal' => ['description' => 'The identifier of the trusted service.'."\n", 'type' => 'string', 'example' => 'cloudfw.aliyuncs.com', 'title' => ''], 'DelegationEnabledTime' => ['description' => 'The time when the member was specified as a delegated administrator account.'."\n", 'type' => 'string', 'example' => '1616652684164', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], '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":"\\r\\n\\r\\n\\t009C3A02-7D4B-416C-9CE7-548C91508F1E\\r\\n\\t2\\r\\n\\t10\\r\\n\\t1\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t1616652684164\\r\\n\\t\\t\\tcreated\\r\\n\\t\\t\\t138660628348****\\r\\n\\t\\t\\tcloudfw.aliyuncs.com\\r\\n\\t\\t\\tabc\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t1616489836069\\r\\n\\t\\t\\tinvited\\r\\n\\t\\t\\t177242285274****\\r\\n\\t\\t\\tcloudfw.aliyuncs.com\\r\\n\\t\\t\\ttest\\r\\n\\t\\t\\r\\n\\t\\r\\n\\t\\r\\n","errorExample":""}]', 'title' => 'ListDelegatedAdministrators', 'summary' => 'Queries delegated administrator accounts.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], 'ListDelegatedServicesForAccount' => [ 'summary' => 'Lists the trusted services for which the specified member account is a delegated administrator.', '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 ID of the member account.', 'type' => 'string', 'required' => true, 'example' => '138660628348****', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The pagination token for retrieving the next page of results. Omit this parameter for the first request. If a previous response was truncated, pass the `NextToken` value from that response.', 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291cm****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The maximum number of entries to return on a single page. Valid values: 1 to 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D9C03B94-9396-4794-A74B-13DC437556A6', 'title' => ''], 'DelegatedServices' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DelegatedService' => [ 'description' => 'The list of trusted services.'."\n" ."\n" .'> If the returned list is empty, the specified member account is not a delegated administrator account.', 'type' => 'array', 'items' => [ 'description' => 'Details of a delegated trusted service.', 'type' => 'object', 'properties' => [ 'DelegationEnabledTime' => ['description' => 'The timestamp when the member account was designated as a delegated administrator account.', 'type' => 'string', 'example' => '1616652684164', 'title' => ''], 'ServicePrincipal' => ['description' => 'The identifier of the trusted service.', 'type' => 'string', 'example' => 'cloudfw.aliyuncs.com', 'title' => ''], 'Status' => ['description' => 'The status of the trusted service. Valid values:'."\n" ."\n" .'- ENABLED: The integration with the trusted service is enabled.'."\n" ."\n" .'- DISABLED: The integration with the trusted service is disabled.', 'type' => 'string', 'example' => 'ENABLED', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => 'Details of the delegated services.', 'title' => '', 'example' => '', ], 'NextToken' => ['description' => 'The token for retrieving the next page of results. This parameter is returned only when the response is truncated, indicating that more results are available.', 'type' => 'string', 'example' => 'TGlzdFJlc291cm****', 'title' => ''], 'MaxResults' => ['description' => 'The maximum number of entries returned on a single page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'title' => 'ListDelegatedServicesForAccount', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDelegatedServicesForAccount'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListDelegatedServicesForAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], ], ], 'ListFoldersForParent' => [ '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****', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned result.'."\n", 'type' => 'object', 'properties' => [ 'Folders' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Folder' => [ 'description' => 'The folders.'."\n", 'title' => '', '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', 'title' => ''], 'FolderId' => ['description' => 'The ID of the folder.'."\n", 'type' => 'string', 'example' => 'rd-evic31****', 'title' => ''], 'FolderName' => ['description' => 'The name of the folder.'."\n", 'type' => 'string', 'example' => 'project-1', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ 'description' => 'The tags added to the folder.'."\n", 'title' => '', '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', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => 'v1', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], ], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '7B8A4E7D-6CFF-471D-84DF-195A7A241ECB', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ParentFolderId', 'errorMessage' => 'The ParentFolderId is invalid.', 'description' => ''], ], 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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => ''], ], ], '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":"\\r\\n\\r\\n 7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\r\\n 1\\r\\n 5\\r\\n 2\\r\\n \\r\\n \\r\\n rd-evic31****\\r\\n project-1\\r\\n 2015-01-23T12:33:18Z\\r\\n \\r\\n \\r\\n fd-evic31****\\r\\n project-2\\r\\n 2015-01-23T12:33:18Z\\r\\n \\r\\n \\r\\n","errorExample":""}]', 'title' => 'ListFoldersForParent', 'summary' => 'Queries the information of all subfolders of a folder.', 'description' => 'You can call this API operation to view the information of only the first-level subfolders of a folder.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], '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', 'title' => ''], ], [ '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', 'title' => ''], ], ], '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', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Handshakes' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Handshake' => [ 'description' => 'The information of the invitations.'."\n", 'title' => '', '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', 'title' => ''], 'ExpireTime' => ['description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-24T09:55:41Z', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-abcdef****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], 'Note' => ['description' => 'The description of the invitation.'."\n", 'type' => 'string', 'example' => 'Welcome'."\n", 'title' => ''], 'TargetEntity' => ['description' => 'The ID or logon email address of the invited Alibaba Cloud account.'."\n", 'type' => 'string', 'example' => 'someone@example.com', 'title' => ''], 'MasterAccountId' => ['description' => 'The ID of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => '172841235500****', 'title' => ''], 'MasterAccountName' => ['description' => 'The name of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => 'CompanyA', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], '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', 'title' => ''], 'HandshakeId' => ['description' => 'The ID of the invitation.'."\n", 'type' => 'string', 'example' => 'h-4N57QZzCTtES****', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], '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\\": \\"Welcome\\\\n\\",\\n \\"TargetEntity\\": \\"someone@example.com\\",\\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":"","errorExample":""}]', 'title' => 'ListHandshakesForAccount', 'summary' => 'Queries the invitations that are associated with an account.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], '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', 'title' => ''], ], [ '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', 'title' => ''], ], ], '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', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Handshakes' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Handshake' => [ 'description' => 'The information of the invitations.'."\n", 'title' => '', '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', 'title' => ''], 'ExpireTime' => ['description' => 'The time when the invitation expires. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-24T09:55:41Z', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-abcdef****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the invitation was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], 'Note' => ['description' => 'The description of the invitation.'."\n", 'type' => 'string', 'example' => 'Welcome'."\n", 'title' => ''], 'TargetEntity' => ['description' => 'The ID or logon email address of the invited account.'."\n", 'type' => 'string', 'example' => 'someone@example.com', 'title' => ''], 'MasterAccountId' => ['description' => 'The ID of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => '172841235500****', 'title' => ''], 'MasterAccountName' => ['description' => 'The name of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => 'Alice', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the invitation was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-08-10T09:55:41Z', 'title' => ''], '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', 'title' => ''], 'HandshakeId' => ['description' => 'The ID of the invitation.'."\n", 'type' => 'string', 'example' => 'h-ycm4rp****', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], '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.', 'description' => ''], ], ], '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\\": \\"Welcome\\\\n\\",\\n \\"TargetEntity\\": \\"someone@example.com\\",\\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":"","errorExample":""}]', 'title' => 'ListHandshakesForResourceDirectory', 'summary' => 'Queries invitations in a resource directory.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], 'ListMessageContactVerifications' => [ '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****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], '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', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], '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****', 'title' => ''], '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', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.ContactId', 'errorMessage' => 'You must specify ContactId.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ], ], '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', 'summary' => 'Queries the mobile phone number or email address to be verified for a contact.', 'changeSet' => [], ], 'ListMessageContacts' => [ '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****', 'title' => ''], ], [ '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****', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], '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', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], '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****', 'title' => ''], 'Name' => ['description' => 'The name of the contact.', 'type' => 'string', 'example' => 'tom', 'title' => ''], 'EmailAddress' => ['description' => 'The email address of the contact.', 'type' => 'string', 'example' => 'someone***@example.com', 'title' => ''], 'PhoneNumber' => ['description' => 'The mobile phone number of the contact.', 'type' => 'string', 'example' => '86-139****1234', 'title' => ''], 'Title' => ['description' => 'The job title of the contact.', 'type' => 'string', 'example' => 'TechnicalDirector', 'title' => ''], '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', 'title' => ''], 'title' => '', ], '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****', 'title' => ''], 'title' => '', ], 'Status' => ['description' => 'The status of the contact. Valid values:'."\n" ."\n" .'- Verifying'."\n" .'- Active'."\n" .'- Deleting', 'type' => 'string', 'example' => 'Active', 'title' => ''], 'CreateDate' => ['description' => 'The time when the contact was added.', 'type' => 'string', 'example' => '2023-03-27 17:19:21', 'title' => ''], 'AssociatedDate' => ['description' => 'The time when the contact was bound to the objects.', 'type' => 'string', 'example' => '2023-03-27 17:19:21', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Member', 'errorMessage' => 'The Member is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ['errorCode' => 'EntityNotExists.Member', 'errorMessage' => 'This Member does not exist.', 'description' => ''], ], ], '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', 'summary' => 'Queries contacts.', 'changeSet' => [], ], 'ListTagKeys' => [ '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****', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ 'name' => 'KeyFilter', 'in' => 'query', 'schema' => ['description' => 'The tag key for a fuzzy query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'team', 'title' => ''], ], ], '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****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A8842', 'title' => ''], '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', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'title' => '', ], ], ], '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":"\\n caeba0bbb2be03f84eb48b699f0a****\\n DC09A6AA-2713-4E10-A2E9-E6C5C43A8842\\n \\n team\\n \\n","errorExample":""}]', 'title' => 'ListTagKeys', 'summary' => 'Queries tag keys.', 'changeSet' => [], ], 'ListTagResources' => [ '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****', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', ], ], [ '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***', 'title' => ''], 'required' => false, 'maxItems' => 50, 'title' => '', ], ], [ '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', 'title' => ''], ], ], '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****', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '8054B059-6B36-53BF-AA45-B8C9A0ED05AB', 'title' => ''], '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', 'title' => ''], 'ResourceId' => ['description' => 'The Alibaba Cloud account ID of the member.'."\n", 'type' => 'string', 'example' => '1098***', 'title' => ''], 'TagKey' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'example' => 'k1', 'title' => ''], 'ResourceType' => ['description' => 'The type of the object whose tags are queried. Valid values:'."\n" ."\n" .'* Account: member'."\n", 'type' => 'string', 'example' => 'Account', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'title' => '', ], ], ], '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":"\\n 8054B059-6B36-53BF-AA45-B8C9A0ED05AB\\n \\n rg-aekz6bre2uq****\\n k1\\n resourcegroup\\n v1\\n \\n","errorExample":""}]', 'title' => 'ListTagResources', 'summary' => 'Queries the tags that are added to the members in a resource directory.', 'changeSet' => [], ], 'ListTagValues' => [ '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****', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ 'name' => 'ValueFilter', 'in' => 'query', 'schema' => ['description' => 'The tag value for a fuzzy query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], ], '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****', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'DC09A6AA-2713-4E10-A2E9-E6C5C43A8842', 'title' => ''], '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', 'title' => ''], ], 'title' => '', ], 'title' => '', ], ], 'title' => '', ], ], ], '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":"\\n TGlzdFJlc291cm****\\n DC09A6AA-2713-4E10-A2E9-E6C5C43A8842\\n \\n v1\\n \\n","errorExample":""}]', 'title' => 'ListTagValues', 'summary' => 'Queries the tag values of a tag key.', 'changeSet' => [], ], '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****', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], ], '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', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'B32BD3D6-1089-41F3-8E70-E0079BC7D760', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TargetAttachments' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TargetAttachment' => [ 'description' => 'The information about the objects to which the access control policy is attached.'."\n", 'title' => '', '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****', 'title' => ''], 'TargetName' => ['description' => 'The name of the object.'."\n", 'type' => 'string', 'example' => 'Dev_Department', 'title' => ''], 'AttachDate' => ['description' => 'The time when the access control policy was attached to the object.'."\n", 'type' => 'string', 'example' => '2021-03-19T02:56:24Z', 'title' => ''], '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', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], '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":"\\r\\n\\r\\n\\t1\\r\\n\\tB32BD3D6-1089-41F3-8E70-E0079BC7D760\\r\\n\\t10\\r\\n\\t1\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t2021-03-19T02:56:24Z\\r\\n\\t\\t\\tFolder\\r\\n\\t\\t\\tDev_Department\\r\\n\\t\\t\\tfd-ZDNPiT****\\r\\n\\t\\t\\r\\n\\t\\r\\n\\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' => ' ', 'changeSet' => [], ], '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ '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****', 'title' => ''], ], ], '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', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'CD76D376-2517-4924-92C5-DBC52262F93A', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'EnabledServicePrincipals' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'EnabledServicePrincipal' => [ 'description' => 'The information about the trusted services that are enabled.'."\n", 'title' => '', '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', 'title' => ''], 'EnableTime' => ['description' => 'The time when the trusted service was enabled.'."\n", 'type' => 'string', 'example' => '2019-02-18T15:32:10.473Z', 'title' => ''], ], 'title' => '', ], ], ], ], ], 'title' => '', ], ], ], '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.', 'description' => ''], ], ], '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":"\\r\\n\\r\\n \\r\\n config.aliyuncs.com\\r\\n 2019-02-18T15:32:10.473Z\\r\\n \\r\\n \\r\\n actiontrail.aliyuncs.com\\r\\n 2019-02-16T15:32:10.473Z\\r\\n \\r\\n CD76D376-2517-4924-92C5-DBC52262F93A\\r\\n","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' => ' ', 'changeSet' => [], ], '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****', 'title' => ''], ], [ 'name' => 'DestinationFolderId', 'in' => 'query', 'schema' => ['description' => 'The ID of the destination folder.'."\n", 'type' => 'string', 'required' => true, 'example' => 'fd-bVaRIG****', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.AccountId', 'errorMessage' => 'You must specify AccountId.', 'description' => ''], ['errorCode' => 'InvalidParameter.AccountId', 'errorMessage' => 'The AccountId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.DestinationFolderId', 'errorMessage' => 'You must specify DestinationFolderId.', 'description' => ''], ['errorCode' => 'InvalidParameter.DestinationFolderId', 'errorMessage' => 'The DestinationFolderId is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'AccountTypeOrStatusMismatch', 'errorMessage' => 'You cannot perform the action on the member account.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 9B34724D-54B0-4A51-B34D-4512372FE1BE\\r\\n","errorExample":""}]', 'title' => 'MoveAccount', 'summary' => 'Moves a member from a folder to another.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], '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', 'title' => ''], ], ], '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', 'title' => ''], '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', 'title' => ''], 'Message' => ['description' => 'The error message.'."\n", 'type' => 'string', 'example' => 'No enterprise invoice header information is set for the payment account.', 'title' => ''], ], 'title' => '', ], 'title' => '', ], 'Result' => ['description' => 'Indicates whether the check was successful. Valid values:'."\n" ."\n" .'* true'."\n" .'* false'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'MemberAccountOperationNotAllowed', 'errorMessage' => 'The member account is not allowed to perform the operation.', 'description' => ''], ], [ ['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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ], ], '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.', 'changeSet' => [], ], '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****', 'title' => ''], ], [ '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', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 409 => [ ['errorCode' => 'InvalidParameter.ServicePrincipal', 'errorMessage' => 'The specified ServicePrincipal is invalid.', 'description' => ''], ['errorCode' => 'AccountAlreadyRegistered', 'errorMessage' => 'The specified account is already a delegated administrator for this service.', 'description' => ''], ['errorCode' => 'DelegatedAccountNumberExceeded', 'errorMessage' => 'The maximum number of delegated administrators for the service principal is exceeded.', 'description' => ''], ['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.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0A45FC8F-54D2-4A65-8338-25E5DEBDA304\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n\\t0A45FC8F-54D2-4A65-8338-25E5DEBDA304\\r\\n\\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' => ' ', 'changeSet' => [], ], '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****', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.AccountId', 'errorMessage' => 'You must specify AccountId.', 'description' => ''], ['errorCode' => 'InvalidParameter.AccountId', 'errorMessage' => 'The AccountId is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ['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.', 'description' => ''], ], 409 => [ ['errorCode' => 'AccountTypeOrStatusMismatch', 'errorMessage' => 'You cannot perform the action on the member account.', 'description' => ''], ['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.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 9B34724D-54B0-4A51-B34D-4512372FE1BE\\r\\n","errorExample":""}]', 'title' => 'RemoveCloudAccount', 'summary' => 'Removes a member of the cloud account type.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], 'RetryChangeAccountEmail' => [ '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****', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'EntityNotExists.EmailModifyRecord', 'errorMessage' => 'This email modification record of the account does not exist.', 'description' => ''], ['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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9B34724D-54B0-4A51-B34D-4512372FE1BE\\n","errorExample":""}]', 'title' => 'RetryChangeAccountEmail', 'summary' => 'Resends a verification email for the email address change of a member.', 'changeSet' => [], ], 'SendEmailVerificationForMessageContact' => [ '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', 'title' => ''], ], [ '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', 'title' => ''], ], ], '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.', 'description' => ''], ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.EmailAddress', 'errorMessage' => 'You must specify EmailAddress.', 'description' => ''], ['errorCode' => 'InvalidParameter.EmailAddress', 'errorMessage' => 'The EmailAddress is invalid.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ['errorCode' => 'EntityNotExists.Contact.Verification', 'errorMessage' => 'This contact verification does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'SendValidateCodeExceedsLimitForAccount', 'errorMessage' => 'For the same account, the number of verification codes sent exceeds the limit.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7B8A4E7D-6CFF-471D-84DF-195A7A241ECB\\"\\n}","type":"json"}]', 'title' => 'SendEmailVerificationForMessageContact', 'summary' => 'Sends verification information to the email address of a contact.', 'changeSet' => [], ], 'SendPhoneVerificationForMessageContact' => [ '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****', 'title' => ''], ], [ 'name' => 'PhoneNumber', 'in' => 'query', 'schema' => ['description' => 'The mobile phone number of the contact.'."\n" ."\n" .'The value must be in the `-` 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', 'title' => ''], ], ], '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.', 'description' => ''], ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => ''], ['errorCode' => 'MissingParameter.PhoneNumber', 'errorMessage' => 'You must specify PhoneNumber.', 'description' => ''], ['errorCode' => 'InvalidParameter.PhoneNumber', 'errorMessage' => 'The PhoneNumber is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.MobileCountryCode', 'errorMessage' => 'The current site does not support the country code.', 'description' => ''], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => ''], ['errorCode' => 'EntityNotExists.Contact.Verification', 'errorMessage' => 'This contact verification does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'SendValidateCodeExceedsLimitForAccount', 'errorMessage' => 'For the same account, the number of verification codes sent exceeds the limit.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CD76D376-2517-4924-92C5-DBC52262F93A\\"\\n}","type":"json"}]', 'title' => 'SendPhoneVerificationForMessageContact', 'summary' => 'Sends verification information to the mobile phone number of a contact.', 'changeSet' => [], ], 'SendVerificationCodeForBindSecureMobilePhone' => [ '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 \\-\\ format.'."\n" ."\n" .'> Mobile phone numbers in the `86-` format in the Chinese mainland are not supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'xx-13900001234', 'title' => ''], ], [ 'name' => 'AccountId', 'in' => 'query', 'schema' => ['description' => 'The Alibaba Cloud account ID of the member.'."\n", 'type' => 'string', 'required' => true, 'example' => '138660628348****', 'title' => ''], ], ], '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', 'title' => ''], 'ExpirationDate' => ['description' => 'The time when the verification code expires.'."\n", 'type' => 'string', 'example' => '2021-12-17T07:38:41.747Z', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 409 => [ ['errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', 'errorMessage' => 'The specified account is an Alibaba Cloud account or already exists in another resource directory.', 'description' => ''], ['errorCode' => 'EntityAlreadyExists.ResourceDirectory', 'errorMessage' => 'The resource directory for the account is already enabled. We recommend that you do not enable the resource directory again.', 'description' => ''], ['errorCode' => 'SendValidateCodeExceedsLimitForAccount', 'errorMessage' => 'For the same account, the number of verification codes sent exceeds the limit.', 'description' => ''], ['errorCode' => 'InvalidParameter.MobileCountryCode', 'errorMessage' => 'The current site does not support the country code.', 'description' => ''], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DCD43660-75DD-5D15-B342-1B83FCA5B913\\",\\n \\"ExpirationDate\\": \\"2021-12-17T07:38:41.747Z\\"\\n}","errorExample":""},{"type":"xml","example":"\\n DCD43660-75DD-5D15-B342-1B83FCA5B913\\n 2021-12-17T07:38:41.747Z\\n","errorExample":""}]', 'title' => '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.', '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", 'changeSet' => [], ], 'SendVerificationCodeForEnableRD' => [ '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 `-` format.'."\n" ."\n" .'> Mobile phone numbers in the `86-` format in the Chinese mainland are not supported.', 'type' => 'string', 'required' => false, 'example' => 'xx-13900001234', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC2FE94D-A4A2-51A1-A493-5C273A36C46A', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 409 => [ ['errorCode' => 'NotSupport.AccountInAnotherResourceDirectory', 'errorMessage' => 'The specified account is an Alibaba Cloud account or already exists in another resource directory.', 'description' => ''], ['errorCode' => 'EntityAlreadyExists.ResourceDirectory', 'errorMessage' => 'The resource directory for the account is already enabled. We recommend that you do not enable the resource directory again.', 'description' => 'The account has been used to enable a resource directory. Do not use the account to enable a resource directory again.'], ['errorCode' => 'SendValidateCodeExceedsLimitForAccount', 'errorMessage' => 'For the same account, the number of verification codes sent exceeds the limit.', 'description' => 'The number of verification codes that are sent per day by using the account exceeds the upper limit.'], ['errorCode' => 'InvalidParameter.MobileCountryCode', 'errorMessage' => 'The current site does not support the country code.', 'description' => 'The specified country code is not supported at the current site.'], ], ], 'title' => '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.', 'description' => 'Each Alibaba Cloud account can be used to send a maximum of 100 verification codes per day.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendVerificationCodeForEnableRD'], ], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'resourcemanager:SendVerificationCodeForEnableRD', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC2FE94D-A4A2-51A1-A493-5C273A36C46A\\"\\n}","type":"json"}]', ], 'SetMemberDeletionPermission' => [ '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', 'title' => ''], ], ], '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', 'title' => ''], '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', 'title' => ''], 'ManagementAccountId' => ['description' => 'The ID of the management account of the resource directory.'."\n", 'type' => 'string', 'example' => '151266687691****', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-3G****', 'title' => ''], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.Status', 'errorMessage' => 'The specified Status is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'MemberAccountAccessDenied', 'errorMessage' => 'The member account is not allowed to perform the operation.', 'description' => ''], ], [ ['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.', 'description' => ''], ], ], '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":"\\n rd-3G****\\n C55A4CAA-9039-1DDF-91CE-FCC134513D29\\n Enabled\\n 151266687691****\\n","errorExample":""}]', 'title' => 'SetMemberDeletionPermission', 'summary' => 'Enables or disables the member deletion feature.', 'description' => 'Members of the resource account type can be deleted only after the member deletion feature is enabled.'."\n", 'changeSet' => [], ], 'SetMemberDisplayNameSyncStatus' => [ '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', 'title' => '', ], ], ], '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', 'title' => ''], 'MemberAccountDisplayNameSyncStatus' => ['description' => 'The status of the Member Display Name Synchronization feature. Valid values:'."\n" ."\n" .'* Enabled'."\n" .'* Disabled'."\n", 'type' => 'string', 'example' => 'Enabled', 'title' => ''], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.Status', 'errorMessage' => 'The specified Status is invalid.', 'description' => ''], ], 403 => [ ['errorCode' => 'MemberAccountAccessDenied', 'errorMessage' => 'The member account is not allowed to perform the operation.', 'description' => ''], ], [ ['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.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\",\\n \\"MemberAccountDisplayNameSyncStatus\\": \\"Enabled\\"\\n}","type":"json"}]', 'title' => 'SetMemberDisplayNameSyncStatus', 'summary' => 'Enables or disables the Member Display Name Synchronization feature.', 'changeSet' => [], ], 'TagResources' => [ '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 IDs of the members.'."\n" ."\n" .'You can specify up to 50 member IDs.', 'type' => 'array', 'items' => ['description' => 'The ID of the member in the resource directory.'."\n" ."\n" .'You can specify up to 50 member IDs.', 'type' => 'string', 'required' => false, 'example' => '1524***', 'title' => ''], 'required' => true, 'title' => '', 'example' => '', ], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The tags.'."\n" ."\n" .'You can attach up to 20 tags.', 'type' => 'array', 'items' => [ 'description' => 'The tag.'."\n" ."\n" .'You can attach up to 20 tags.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.'."\n" ."\n" .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'k1', 'title' => ''], 'Value' => ['description' => 'The tag value.'."\n" ."\n" .'The tag value can be up to 128 characters in length. It cannot start with `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'v1', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type. Valid value:'."\n" ."\n" .'- Account: Attaches tags to members in a resource directory.', 'type' => 'string', 'required' => true, 'example' => 'Account', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'title' => 'TagResources', 'summary' => 'Attaches tags to members in a resource directory.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:TagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C\\"\\n}","type":"json"}]', ], 'UntagResources' => [ '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', 'title' => ''], ], [ '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****', 'title' => ''], 'required' => true, 'title' => '', ], ], [ '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', 'title' => ''], 'required' => false, 'title' => '', ], ], [ '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', 'title' => ''], ], ], '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', 'title' => ''], ], 'title' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C\\"\\n}","errorExample":""},{"type":"xml","example":"\\n E7747EDF-EDDC-5B38-9B6A-6392B9C92B1C\\n","errorExample":""}]', 'title' => 'UntagResources', 'summary' => 'Removes tags from the members in a resource directory.', 'changeSet' => [], ], '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', 'title' => ''], ], [ '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', 'title' => ''], ], [ 'name' => 'AccountId', 'in' => 'query', 'schema' => ['description' => 'The Alibaba Cloud account ID of the member.'."\n", 'type' => 'string', 'required' => true, 'example' => '12323344****', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" ."\n" .'* true: performs only a dry run. The system checks 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', 'title' => ''], ], ], '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', 'title' => ''], 'Type' => ['description' => 'The type of the member. Valid values:'."\n" ."\n" .'* CloudAccount: cloud account'."\n" .'* ResourceAccount: resource account'."\n", 'type' => 'string', 'example' => 'ResourceAccount', 'title' => ''], 'DisplayName' => ['description' => 'The display name of the member.'."\n", 'type' => 'string', 'example' => 'admin', 'title' => ''], 'FolderId' => ['description' => 'The ID of the folder.'."\n", 'type' => 'string', 'example' => 'fd-bVaRIG****', 'title' => ''], 'ResourceDirectoryId' => ['description' => 'The ID of the resource directory.'."\n", 'type' => 'string', 'example' => 'rd-k3****', 'title' => ''], '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', 'title' => ''], 'AccountId' => ['description' => 'The Alibaba Cloud account ID of the member.'."\n", 'type' => 'string', 'example' => '12323344****', 'title' => ''], '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', 'title' => ''], 'ModifyTime' => ['description' => 'The time when the member was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2015-01-23T12:33:18Z', 'title' => ''], 'AccountName' => ['description' => 'The Alibaba Cloud account name of the member.'."\n", 'type' => 'string', 'example' => 'ecs-manager@aliyun.com', 'title' => ''], ], 'title' => '', ], 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE', 'title' => ''], ], 'title' => '', ], ], ], '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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'InvalidParameter.Account.DisplayName.AlreadyUsed', 'errorMessage' => 'The displayname of account has been used.', 'description' => ''], ['errorCode' => 'MissingDisplayNameOrAccountType', 'errorMessage' => 'Either display name or account type must be specified.', 'description' => ''], ['errorCode' => 'AccountTypeMismatch', 'errorMessage' => 'The type or status of the member account cannot satisfy the current operation.', 'description' => ''], ['errorCode' => 'PrimaryAkInUse', 'errorMessage' => 'The account has the primary AK in use.', 'description' => ''], ['errorCode' => 'MissingSecurityInfo', 'errorMessage' => 'Security information is missing.', 'description' => ''], ['errorCode' => 'LegalEntityDifferent', 'errorMessage' => 'The account legal entity is different from the one of the Management Account.', 'description' => ''], ['errorCode' => 'CallerIdentityError', 'errorMessage' => 'Please use the RAM user or role of the Management Account.', 'description' => ''], ], ], '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\\": \\"ecs-manager@aliyun.com\\"\\n },\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n 9B34724D-54B0-4A51-B34D-4512372FE1BE\\r\\n \\r\\n rd-k3****\\r\\n 12323344****\\r\\n admin\\r\\n fd-bVaRIG****\\r\\n created\\r\\n 2015-01-23T12:33:18Z\\r\\n ResourceAccount\\r\\n CreateSuccess\\r\\n 06950264-3f0d-4ca9-82dd-6ee7a3d33d6b\\r\\n 2015-01-23T12:33:18Z\\r\\n \\r\\n","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' => ' ', 'changeSet' => [], ], 'UpdateControlPolicy' => [ 'summary' => 'Updates a custom control policy.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'PolicyId', 'in' => 'query', 'schema' => ['description' => 'The ID of the control policy.', 'type' => 'string', 'required' => true, 'example' => 'cp-jExXAqIYkwHN****', 'title' => ''], ], [ 'name' => 'NewPolicyName', 'in' => 'query', 'schema' => ['description' => 'The new name of the control policy.'."\n" ."\n" .'The name must be 1 to 128 characters long. It must start with a letter and can contain only letters, digits, and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'NewControlPolicy', 'title' => ''], ], [ 'name' => 'NewDescription', 'in' => 'query', 'schema' => ['description' => 'The new description of the control policy.'."\n" ."\n" .'The description must be 1 to 1,024 characters long. It must start with a letter and can contain only letters, digits, underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'ExampleControlPolicy', 'title' => ''], ], [ 'name' => 'NewPolicyDocument', 'in' => 'query', 'schema' => ['description' => 'The new policy document.'."\n" ."\n" .'The policy document can be up to 4,096 characters long.'."\n" ."\n" .'For more information about the control policy language, see [control policy language](~~179096~~).'."\n" ."\n" .'For policy examples, see [custom control policy examples](~~181474~~).', 'type' => 'string', 'required' => false, 'example' => '{"Version":"1","Statement":[{"Effect":"Deny","Action":["ram:UpdateRole","ram:DeleteRole","ram:AttachPolicyToRole","ram:DetachPolicyFromRole"],"Resource":"acs:ram:*:*:role/ResourceDirectoryAccountAccessRole"}]}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'ControlPolicy' => [ 'description' => 'The details of the control policy.', 'type' => 'object', 'properties' => [ 'UpdateDate' => ['description' => 'The time when the control policy was last updated.', 'type' => 'string', 'example' => '2021-03-18T10:04:55Z', 'title' => ''], 'Description' => ['description' => 'The description of the control policy.', 'type' => 'string', 'example' => 'ExampleControlPolicy', 'title' => ''], 'EffectScope' => ['description' => 'The scope of the control policy. Valid values:'."\n" ."\n" .'- All: The control policy applies to Alibaba Cloud accounts, RAM users, and RAM roles.'."\n" ."\n" .'- RAM: The control policy applies only to RAM users and RAM roles.', 'type' => 'string', 'example' => 'RAM', 'title' => ''], 'AttachmentCount' => ['description' => 'The number of entities to which the control policy is attached.', 'type' => 'string', 'example' => '0', 'title' => ''], 'PolicyName' => ['description' => 'The name of the control policy.', 'type' => 'string', 'example' => 'NewControlPolicy', 'title' => ''], 'PolicyId' => ['description' => 'The ID of the control policy.', 'type' => 'string', 'example' => 'cp-jExXAqIYkwHN****', 'title' => ''], 'CreateDate' => ['description' => 'The time when the control policy was created.', 'type' => 'string', 'example' => '2021-03-18T09:24:19Z', 'title' => ''], 'PolicyType' => ['description' => 'The type of the control policy. Valid values:'."\n" ."\n" .'- System: A system control policy.'."\n" ."\n" .'- Custom: A custom control policy.', 'type' => 'string', 'example' => 'Custom', 'title' => ''], 'ControlPolicyType' => ['type' => 'string', 'example' => 'RESOURCE_CONTROL_POLICY', 'description' => '', 'title' => ''], ], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2DFCE4C9-04A9-4C83-BB14-FE791275EC53', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.NewPolicyDocument.Length', 'errorMessage' => 'Unable to save your policy. A policy contains a maximum of 4096 characters.', 'description' => 'Failed to save the policy. The policy document can be up to 4,096 characters in length.'], ], 404 => [ ['errorCode' => 'EntityNotExists.ResourceControlPolicy', 'errorMessage' => 'The specified resource control policy does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'DeleteConflict.SystemResourceControlPolicy', 'errorMessage' => 'The system resource control policy cannot be deleted.', 'description' => ''], ['errorCode' => 'InvalidResourceControlPolicyEnablementStatus', 'errorMessage' => 'The resource control policy enablement status is not valid to perform this operation.', 'description' => ''], ], ], 'title' => 'UpdateControlPolicy', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateControlPolicy'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:UpdateControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","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 \\"ControlPolicyType\\": \\"RESOURCE_CONTROL_POLICY\\"\\n },\\n \\"RequestId\\": \\"2DFCE4C9-04A9-4C83-BB14-FE791275EC53\\"\\n}","type":"json"}]', ], 'UpdateFolder' => [ '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****', 'title' => ''], ], [ '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', 'title' => ''], ], ], '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', 'title' => ''], 'Folder' => [ 'description' => 'The information about the folder.'."\n", 'type' => 'object', 'properties' => [ 'FolderId' => ['description' => 'The ID of the folder.'."\n", 'type' => 'string', 'example' => 'fd-u8B321****', 'title' => ''], 'CreateTime' => ['description' => 'The time when the folder was created.'."\n", 'type' => 'string', 'example' => '2019-02-19T09:34:50.757Z', 'title' => ''], 'ParentFolderId' => ['description' => 'The ID of the parent folder.'."\n", 'type' => 'string', 'example' => 'r-b1****', 'title' => ''], 'FolderName' => ['description' => 'The name of the folder.'."\n", 'type' => 'string', 'example' => 'rdFolder', 'title' => ''], ], 'title' => '', ], ], 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParameter.Folder.Name', 'errorMessage' => 'You must specify the resource folder name.', 'description' => ''], ['errorCode' => 'InvalidParameter.Folder.Name', 'errorMessage' => 'The Name of folder is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Folder.Name.Length', 'errorMessage' => 'The Name of folder exceeds the length limit.', 'description' => ''], ['errorCode' => 'MissingParameter.FolderId', 'errorMessage' => 'You must specify FolderId.', 'description' => ''], ['errorCode' => 'InvalidParameter.FolderId', 'errorMessage' => 'The FolderId is invalid.', 'description' => ''], ['errorCode' => 'InvalidParameter.Folder.Name.AlreadyUsed', 'errorMessage' => 'The name already exists under the same parent. Please change to another name.', 'description' => ''], ], 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.', 'description' => ''], ['errorCode' => 'EntityNotExists.Folder', 'errorMessage' => 'The resource directory folder does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'LimitExceeded.Folder.Depth', 'errorMessage' => 'The folder depth exceeds the limit of 5.', 'description' => ''], ], ], '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":"\\r\\n\\r\\n \\r\\n rdFolder\\r\\n r-b1****\\r\\n fd-u8B321****\\r\\n 2019-02-19T09:34:50.757Z\\r\\n \\r\\n C2CBCA30-C8DD-423E-B4AD-4FB694C9180C\\r\\n","errorExample":""}]', 'title' => 'UpdateFolder', 'summary' => 'Changes the name of a folder.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], ], '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.', 'type' => 'string', 'required' => false, 'example' => 'c-qL4HqKONzOM7****', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the contact.', 'type' => 'string', 'required' => false, 'example' => 'tom', 'title' => ''], ], [ '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.', 'type' => 'string', 'required' => false, 'example' => 'someone***@example.com', 'title' => ''], ], [ 'name' => 'PhoneNumber', 'in' => 'query', 'schema' => ['description' => 'The mobile phone number of the contact.'."\n" ."\n" .'Specify the mobile phone number in the `-` 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.', 'type' => 'string', 'required' => false, 'example' => '86-139****1234', 'title' => ''], ], [ '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" .' ', 'enumValueTitles' => ['FinanceDirector' => 'Finance manager', 'TechnicalDirector' => 'Technical manager', 'MaintenanceDirector' => 'O\\&M manager', 'CEO' => 'CEO', 'ProjectDirector' => 'Project manager', 'Other' => 'Others'], 'type' => 'string', 'required' => false, 'example' => 'TechnicalDirector', 'title' => '', ], ], [ 'name' => 'MessageTypes', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The types of messages received by the contact.', '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" .' ', 'enumValueTitles' => ['ServiceMessage' => 'Service messages', 'FaultMessage' => 'Fault messages', 'AccountExpenses' => 'Account fund messages', 'SecurityMessage' => 'Security messages', 'ActivityMessage' => 'Promotional messages', 'ProductMessage' => 'Product messages'], 'type' => 'string', 'required' => false, 'example' => 'AccountExpenses', 'title' => '', ], 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '9B34724D-54B0-4A51-B34D-4512372FE1BE'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter.Name', 'errorMessage' => 'The Name is invalid.', 'description' => 'The value of the Name parameter is invalid. The value can contain only letters.'], ['errorCode' => 'InvalidParameter.Name.Length', 'errorMessage' => 'The Name exceeds the length limit.', 'description' => 'The length of the value specified for the Name parameter exceeds the upper limit. The value must be 2 to 12 characters in length and can contain only letters.'], ['errorCode' => 'InvalidParameter.Name.AlreadyUsed', 'errorMessage' => 'The Name already exists. Please change to another name.', 'description' => 'The contact name already exists in the resource directory. Use another name.'], ['errorCode' => 'InvalidParameter.EmailAddress', 'errorMessage' => 'The EmailAddress is invalid.', 'description' => 'The value of the EmailAddress parameter is invalid.'], ['errorCode' => 'InvalidParameter.PhoneNumber', 'errorMessage' => 'The PhoneNumber is invalid.', 'description' => 'The value of the PhoneNumber parameter is invalid.'], ['errorCode' => 'InvalidParameter.Title', 'errorMessage' => 'The Title is invalid.', 'description' => 'The value of the Title parameter is invalid.'], ['errorCode' => 'InvalidParameter.MessageTypes', 'errorMessage' => 'The MessageTypes is invalid.', 'description' => 'The value of the MessageTypes parameter is invalid.'], ['errorCode' => 'InvalidParameter.MobileCountryCode', 'errorMessage' => 'The current site does not support the country code.', 'description' => ''], ['errorCode' => 'InvalidParameter.ContactId', 'errorMessage' => 'The ContactId is invalid.', 'description' => 'The value of the ContactId parameter is invalid.'], ['errorCode' => 'MissingParameter.ContactId', 'errorMessage' => 'You must specify ContactId.', 'description' => 'The ContactId parameter is not configured.'], ['errorCode' => 'InvalidParameter.EmailAddress.Length', 'errorMessage' => 'The EmailAddress exceeds the length limit.', 'description' => 'The length of the value specified for the EmailAddress parameter exceeds the upper limit.'], ['errorCode' => 'ContactStatusMismatchAction', 'errorMessage' => 'The status of the contact does not allow the specified operation.', 'description' => 'The status of the contact does not support the current operation.'], ], 404 => [ ['errorCode' => 'EntityNotExists.Contact', 'errorMessage' => 'This Contact does not exist.', 'description' => 'The specified contact does not exist.'], ], 429 => [ ['errorCode' => 'ConcurrentCallNotSupported', 'errorMessage' => 'The operation conflicts with other operations. Please try again later.', 'description' => 'The operation conflicts with other operations. Try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","type":"json"}]', 'title' => 'UpdateMessageContact', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateMessageContact'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:UpdateMessageContact', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ], ], ], ], ], 'UpdatePayerForAccount' => [ '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****', 'title' => ''], ], [ 'name' => 'PayerAccountId', 'in' => 'query', 'schema' => ['description' => 'The ID of the billing account.'."\n", 'type' => 'string', 'required' => true, 'example' => '12323344****', 'title' => ''], ], ], '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', 'title' => ''], ], ], ], ], 'errorCodes' => [ 404 => [ ['errorCode' => 'EntityNotExists.Account', 'errorMessage' => 'This resource directory account does not exist.', 'description' => ''], ], 409 => [ ['errorCode' => 'AccountTypeMismatch', 'errorMessage' => 'The type or status of the member account cannot satisfy the current operation.', 'description' => ''], ['errorCode' => 'InconsistentEnterpriseNameError', 'errorMessage' => 'The enterprise name of the payment account and the member must be consistent.', 'description' => ''], ['errorCode' => 'NotSupport.PayerAccountInAnotherResourceDirectory', 'errorMessage' => 'The specified payment account does not exist in the resource directory. You must specify a valid payment account.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B34724D-54B0-4A51-B34D-4512372FE1BE\\"\\n}","type":"json"}]', 'title' => 'UpdatePayerForAccount', 'summary' => 'Updates the billing account of a member.', 'changeSet' => [], ], ], 'endpoints' => [ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'resourcedirectory-intl.aliyuncs.com', 'endpoint' => 'resourcedirectory-intl.aliyuncs.com', 'vpc' => 'resourcedirectory.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'resourcedirectory.aliyuncs.com', 'endpoint' => 'resourcedirectory.aliyuncs.com', 'vpc' => 'resourcedirectory.vpc-proxy.aliyuncs.com'], ], 'errorCodes' => [ ['code' => 'AccountInAnotherResourceDir', 'message' => 'This account is a master account or a member account in another resource directory.', 'http_code' => 409, 'description' => 'The account is an Alibaba Cloud account or a member of another resource directory.'], ['code' => 'AccountNotExist.DeleteAccount', 'message' => 'The deletion failed. The account does not exist. Please confirm whether it has been deleted.', 'http_code' => 409, 'description' => 'Delete failed. The account does not exist. Check whether the account is already deleted.'], ['code' => 'AccountNotInResourceDirectory', 'message' => 'The account is not a master or a member of a resource directory.', 'http_code' => 409, 'description' => 'The account is not a master or a member of a resource directory.'], ['code' => 'AccountSecureMobileAlreadyExists', 'message' => 'The secure mobile number of the member already exists.', 'http_code' => 409, 'description' => 'A mobile phone number is already bound to the member for security purposes.'], ['code' => 'AccountTypeMismatch', 'message' => 'The type or status of the member account cannot satisfy the current operation.', 'http_code' => 409, 'description' => 'The type or status of the member account cannot satisfy the current operation.'], ['code' => 'AccountTypeOrStatusMismatch', 'message' => 'You cannot perform the action on the member account.', 'http_code' => 409, 'description' => 'You cannot perform the operation on the member.'], ['code' => 'AssociateConflict', 'message' => 'You cannot perform the operation while disassociation operation is being performed.', 'http_code' => 409, 'description' => 'The operation is not supported while a disassociation operation is being performed.'], ['code' => 'BusinessRestricted', 'message' => 'Business is restricted. Please contact your customer service manager.', 'http_code' => 409, 'description' => 'Your business is limited. Contact your customer business manager (CBM).'], ['code' => 'CallerIdentityError', 'message' => 'Please use the RAM user or role of the Management Account.', 'http_code' => 409, 'description' => 'Only a RAM user or RAM role within the management account can be used to perform this operation.'], ['code' => 'CallerIdentityError.DeleteAccount', 'message' => 'Delete operation is not supported for caller identity.', 'http_code' => 409, 'description' => 'The operation is not supported for the caller.'], ['code' => 'CallerIdentityError.DeleteAccount', 'message' => 'Please use the RAM user or role of the management account to delete.', 'http_code' => 409, 'description' => 'Only a RAM user or RAM role within the management account can be used to perform this operation.'], ['code' => 'CanNotBeDetached.FullAliyunAccess', 'message' => 'The system policy FullAliyunAccess cannot be detached.', 'http_code' => 409, 'description' => 'The system policy FullAliyunAccess cannot be detached.'], ['code' => 'CannotRegisterMasterAsDelegatedAdministrator', 'message' => 'You attempted to register the management account as a delegated administrator for the service. You can designate only a member as a delegated administrator.', 'http_code' => 409, 'description' => 'You are specifying the management account of a resource directory as a delegated administrator account of a trusted service. You can specify only the members of a resource directory as delegated administrator accounts.'], ['code' => 'ConcurrentCallNotSupported', 'message' => 'The operation conflicts with other operations. Please try again later.', 'http_code' => 429, 'description' => 'The operation conflicts with other operations. Try again later.'], ['code' => 'ConflictedAssociationType', 'message' => 'The specified ResourceId or Target conflicts with AssociationType.', 'http_code' => 400, 'description' => 'The specified ResourceId or Target conflicts with AssociationType.'], ['code' => 'ContactStatusMismatchAction', 'message' => 'The status of the contact does not allow the specified operation.', 'http_code' => 400, 'description' => 'The status of the contact does not support the current operation.'], ['code' => 'ControlPolicyNotDisabled', 'message' => 'You should disable Control Policy before performing this operation.', 'http_code' => 409, 'description' => 'You should disable Control Policy before performing this operation.'], ['code' => 'ControlPolicyNotEnabled', 'message' => 'The control policy has not been enabled.', 'http_code' => 409, 'description' => 'The access control policy is disabled.'], ['code' => 'CreditControlBlock.DeleteAccount', 'message' => 'The deletion failed. The current account has a credit limit. Please handle the deletion and try again.', 'http_code' => 409, 'description' => 'Delete failed. The current account has a fund limit. Process it and try again.'], ['code' => 'DeleteConflict.AttachedPolicy', 'message' => 'The control policy has been attached and cannot be deleted.', 'http_code' => 409, 'description' => 'The access control policy is attached to an object and cannot be deleted.'], ['code' => 'DeleteConflict.Folder.Account', 'message' => 'This folder has accounts.', 'http_code' => 409, 'description' => 'One or more members exist in the folder. Remove the members first.'], ['code' => 'DeleteConflict.Folder.SubFolder', 'message' => 'This folder has sub folders.', 'http_code' => 409, 'description' => 'The folder contains subfolders. Delete the subfolders first.'], ['code' => 'DeleteConflict.Policy.Group', 'message' => 'The policy cannot be attached to any group when you delete it.', 'http_code' => 409, 'description' => 'The policy cannot be attached to any group when you delete it.'], ['code' => 'DeleteConflict.Policy.Role', 'message' => 'The policy cannot be attached to any role when you delete it.', 'http_code' => 409, 'description' => 'The policy cannot be attached to any role when you delete it.'], ['code' => 'DeleteConflict.Policy.User', 'message' => 'Before deleting the policy, it may not be attached to any user.', 'http_code' => 409, 'description' => 'The policy must not be attached to any user when you delete it.'], ['code' => 'DeleteConflict.Policy.Version', 'message' => 'You must delete all non-default versions before you delete the policy.', 'http_code' => 409, 'description' => 'You must delete all non-default versions before you delete the policy.'], ['code' => 'DeleteConflict.Policy.Version.Default', 'message' => 'You cannot delete the default policy version.', 'http_code' => 409, 'description' => 'You cannot delete the default policy version.'], ['code' => 'DeleteConflict.ResourceDir.Account', 'message' => 'This resource directory has accounts.', 'http_code' => 409, 'description' => 'One or more members exist in the resource directory. Remove or delete the members first.'], ['code' => 'DeleteConflict.ResourceDirectory.Account', 'message' => 'Failed to delete the resource directory because one or more member accounts exist. We recommend that you first remove these member accounts.', 'http_code' => 409, 'description' => 'One or more members exist in the resource directory. Remove or delete the members first.'], ['code' => 'DeleteConflict.Role.Policy', 'message' => 'The role cannot have any attached policies when you delete it.', 'http_code' => 409, 'description' => 'The role cannot have any attached policies when you delete it.'], ['code' => 'DeleteConflict.SystemControlPolicy', 'message' => 'The control policy is a system policy and cannot be deleted.', 'http_code' => 409, 'description' => 'The access control policy is a system access control policy and cannot be deleted.'], ['code' => 'DeleteResourceShareConflict', 'message' => 'You cannot delete resource sharing while there are unfinished tasks.', 'http_code' => 409, 'description' => 'You cannot delete the resource share because a task is being performed for the resource share.'], ['code' => 'Deny.TrustedService', 'message' => '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.', 'http_code' => 409, 'description' => 'The current account is used in the trusted service %s. Remove the account from the trusted service first.'], ['code' => 'DeregisterDA.Deny.TrustedService', 'message' => 'To complete this operation, you need to first remove the member account from being managed in the trusted service.', 'http_code' => 409, 'description' => 'To complete this operation, you need to first remove the member account from being managed in the trusted service.'], ['code' => 'DeregisterDeny.TrustedService', 'message' => 'You attempted to deregister an account that is used as a delegated adminstrator in %s. To complete this operation, you must first remove this account from the Trusted Service.', 'http_code' => 409, 'description' => 'The current account is a delegated administrator account of the trusted service %s. Remove the delegated administrator account for the trusted service first.'], ['code' => 'DisassociateConflict', 'message' => 'You cannot perform an associate operation while it is being perfomed.', 'http_code' => 409, 'description' => 'The operation is not supported while an association is being performed.'], ['code' => 'DisassociateInvalid', 'message' => 'You can not disassociate unassociated resource or target.', 'http_code' => 400, 'description' => 'The operation is not supported because the object is not associated with the resource share.'], ['code' => 'EcoRelationCheckFailed', 'message' => 'Accounts associated with partners are not allowed to set up agency payment relationships.', 'http_code' => 409, 'description' => 'Accounts associated with partners are not allowed to set up agency payment relationships.'], ['code' => 'EmailSendingExceedsLimit', 'message' => 'The daily number of messages sent to the same email exceeds the limit.', 'http_code' => 409, 'description' => 'The maximum number of emails that can be sent to the email address per day is reached.'], ['code' => 'EnterpriseCertifyAuthenticationError', 'message' => 'Your account has not passed the enterprise real-name authentication yet.', 'http_code' => 404, 'description' => 'The account does not pass enterprise real-name verification. Complete the verification for the account first.'], ['code' => 'EnterpriseInvoiceAuthenticationError', 'message' => 'Your account has not set the enterprise invoice yet.', 'http_code' => 404, 'description' => 'No invoice title information is specified for the account. Specify invoice title information.'], ['code' => 'EnterpriseInvoiceTitleError', 'message' => 'The invoice title of the specified account is invalid. You must specify a valid invoice title.', 'http_code' => 409, 'description' => 'No invoice title information is specified for the account. Specify invoice title information.'], ['code' => 'EnterpriseNameMismatch', 'message' => 'Your account does not have the same enterpriseName as the master account.', 'http_code' => 409, 'description' => 'The enterprise name of the current account is inconsistent with that of your Alibaba Cloud account.'], ['code' => 'EnterpriseRealNameVerificationError', 'message' => 'The specified account does not pass enterprise real-name verification. We recommend you first complete enterprise real-name verification for the account.', 'http_code' => 409, 'description' => 'The account does not pass enterprise real-name verification. Complete the verification for the account first.'], ['code' => 'EntityAlreadyExists.ControlPolicy', 'message' => 'The control policy already exists.', 'http_code' => 409, 'description' => 'The access control policy already exists.'], ['code' => 'EntityAlreadyExists.ControlPolicyAttachment', 'message' => 'The specified control policy has already been attached to the specified target.', 'http_code' => 409, 'description' => 'The access control policy is already attached to the specified object.'], ['code' => 'EntityAlreadyExists.Policy', 'message' => 'The policy already exists.', 'http_code' => 409, 'description' => 'The policy already exists.'], ['code' => 'EntityAlreadyExists.ResourceDir', 'message' => 'The caller has already initialized resource directory.', 'http_code' => 409, 'description' => 'The account has been used to enable a resource directory. Do not use the account to enable a resource directory again.'], ['code' => 'EntityAlreadyExists.ResourceDir.Account', 'message' => 'This resource directory account already exists.', 'http_code' => 409, 'description' => 'The email address that is generated by the system when the member is created already exists. Try again later.'], ['code' => 'EntityAlreadyExists.ResourceDirectory', 'message' => 'The resource directory for the account is already enabled. We recommend that you do not enable the resource directory again.', 'http_code' => 409, 'description' => 'The account has been used to enable a resource directory. Do not use the account to enable a resource directory again.'], ['code' => 'EntityAlreadyExists.ResourceDirectory.Account', 'message' => 'The email address that the system generates when you create a member account already exists. Try again later.', 'http_code' => 409, 'description' => 'The email address that is generated by the system when the member is created already exists. Try again later.'], ['code' => 'EntityAlreadyExists.ResourceShare', 'message' => 'The specified resource share ID already exists.', 'http_code' => 409, 'description' => 'The specified resource sharing ID already exists.'], ['code' => 'EntityAlreadyExists.Role', 'message' => 'The role already exists.', 'http_code' => 409, 'description' => 'The role already exists.'], ['code' => 'EntityAlreadyExists.Role.Policy', 'message' => 'This policy is already attached to the role.', 'http_code' => 409, 'description' => 'This policy is already attached to the role.'], ['code' => 'EntityAlreadyExists.User.Policy', 'message' => 'This policy is already attached to the user.', 'http_code' => 409, 'description' => 'This policy is already attached to the user.'], ['code' => 'EntityNotExist.Group.Policy', 'message' => 'This policy is not attached to the group.', 'http_code' => 404, 'description' => 'This policy is not attached to the group.'], ['code' => 'EntityNotExist.Policy', 'message' => 'The policy does not exist.', 'http_code' => 404, 'description' => 'The policy does not exist.'], ['code' => 'EntityNotExist.Policy.Version', 'message' => 'The policy version does not exist.', 'http_code' => 404, 'description' => 'The policy version does not exist.'], ['code' => 'EntityNotExist.Role', 'message' => 'The role does not exist.', 'http_code' => 404, 'description' => 'The role does not exist.'], ['code' => 'EntityNotExist.Role.Policy', 'message' => 'This policy is not attached to the role.', 'http_code' => 404, 'description' => 'This policy is not attached to the role.'], ['code' => 'EntityNotExist.Service', 'message' => 'The service does not exist.', 'http_code' => 404, 'description' => 'The service does not exist.'], ['code' => 'EntityNotExist.ServiceLinkedRole', 'message' => 'This role exists but is not a Service Linked Role.', 'http_code' => 404, 'description' => 'The role exists but is not a service-linked role.'], ['code' => 'EntityNotExist.ServiceLinkedRole.DeletionTask', 'message' => 'The deletion task for the given ID does not exist.', 'http_code' => 404, 'description' => 'The deletion task for the given ID does not exist.'], ['code' => 'EntityNotExist.ServiceLinkedRoleTemplate', 'message' => 'The Service Linked Role template does not exist.', 'http_code' => 404, 'description' => 'The Service Linked Role template does not exist.'], ['code' => 'EntityNotExist.User.Policy', 'message' => 'This policy is not attached to the user.', 'http_code' => 404, 'description' => 'This policy is not attached to the user.'], ['code' => 'EntityNotExists.Account', 'message' => 'This resource directory account does not exist.', 'http_code' => 404, 'description' => 'The member does not exist. Create such a member first.'], ['code' => 'EntityNotExists.AccountRecord', 'message' => 'This resource directory account recordId does not exist.', 'http_code' => 404, 'description' => 'The record ID does not exist.'], ['code' => 'EntityNotExists.AgAccount', 'message' => 'The account does not exist.', 'http_code' => 409, 'description' => 'The account does not exist.'], ['code' => 'EntityNotExists.Contact', 'message' => 'This Contact does not exist.', 'http_code' => 404, 'description' => 'The specified contact does not exist.'], ['code' => 'EntityNotExists.Contact.Verification', 'message' => 'This contact verification does not exist.', 'http_code' => 404, 'description' => 'The verification code of the contact does not exist.'], ['code' => 'EntityNotExists.ControlPolicy', 'message' => 'The specified control policy does not exist.', 'http_code' => 404, 'description' => 'The specified access control policy does not exist.'], ['code' => 'EntityNotExists.ControlPolicyAttachment', 'message' => 'The specified control policy on the specified target does not exist.', 'http_code' => 404, 'description' => 'The specified access control policy for the specified object does not exist.'], ['code' => 'EntityNotExists.EmailModifyRecord', 'message' => 'This email modification record of the account does not exist.', 'http_code' => 404, 'description' => 'This email modification record of the account does not exist.'], ['code' => 'EntityNotExists.Folder', 'message' => 'The resource directory folder does not exist.', 'http_code' => 404, 'description' => 'The specified folder does not exist. Create such a folder first.'], ['code' => 'EntityNotExists.Member', 'message' => 'This Member does not exist.', 'http_code' => 404, 'description' => 'The specified member does not exist.'], ['code' => 'EntityNotExists.ResourceDir', 'message' => 'The account has not initialized resource directory.', 'http_code' => 404, 'description' => 'The account is not used to enable a resource directory. Use the account to enable a resource directory first.'], ['code' => 'EntityNotExists.ResourceDirectory', 'message' => 'The resource directory for the account is not enabled. We recommend that you first enable the resource directory for the account.', 'http_code' => 404, 'description' => 'The account is not used to enable a resource directory. Use the account to enable a resource directory first.'], ['code' => 'EntityNotExists.ResourceShare', 'message' => 'Resource sharing does not exist in the current account.', 'http_code' => 404, 'description' => 'Resource sharing does not exist in the current account.'], ['code' => 'EntityNotExists.Target', 'message' => 'The specified target does not exist in the resource directory.', 'http_code' => 404, 'description' => 'The specified object does not exist in the resource directory.'], ['code' => 'ExistPrepaidInstance.DeleteAccount', 'message' => 'The deletion failed. There are prepaid products under the current account. Please release them and try again.', 'http_code' => 409, 'description' => 'Delete failed. The current account has subscription resources. Release the resources and try again.'], ['code' => 'ExistProcessingDeleteFlow.DeleteAccount', 'message' => 'The request is invalid. The account is already in the process of deletion. Please do not repeat the operation.', 'http_code' => 409, 'description' => 'The request is invalid. The account is being deleted. Do not repeat the operation.'], ['code' => 'ExistUnreleaseInstance.DeleteAccount', 'message' => 'The deletion failed. Certain cloud resources under the current account and you need to delete them.', 'http_code' => 409, 'description' => 'Delete failed. The current account has resources that are not released. Release these resources first.'], ['code' => 'ExistUnsettledBill.DeleteAccount', 'message' => 'The deletion failed. There are unsettled bills in the current account, please settle and try again.', 'http_code' => 409, 'description' => 'Delete failed. The current account has unsettled bills. Settle the bills and try again.'], ['code' => 'ForbidDelete.Account', 'message' => 'Delete is prohibited. The current account is abnormal. Please contact customer service.', 'http_code' => 409, 'description' => 'The current account is abnormal, and the deletion is prohibited. Contact customer service representatives.'], ['code' => 'FundAccountHasArrearsAmount', 'message' => 'There are arrears in the current payment account. You cannot change the payment account. Please settle the arrears and try again.', 'http_code' => 409, 'description' => 'There are arrears in the current payment account. You cannot change the payment account. Please settle the arrears and try again.'], ['code' => 'FundAccountOwnerPayedByOthers', 'message' => 'If the payment has been made by another account, it is not allowed to be used as the main payment account.', 'http_code' => 409, 'description' => 'If the payment has been made by another account, it is not allowed to be used as the main payment account.'], ['code' => 'HandshakeStatusMismatch', 'message' => 'The invitation is invalid.', 'http_code' => 409, 'description' => 'The invitation is invalid.'], ['code' => 'IllegalParameter.Account.AccountName', 'message' => 'The account name is illegal.', 'http_code' => 409, 'description' => 'The account name is illegal.'], ['code' => 'Inactive', 'message' => 'Resource Management or Resource Access Management is not activated under the account. We recommend that you first activate the two services.', 'http_code' => 404, 'description' => 'Resource Management or Resource Access Management is not activated under the account. We recommend that you first activate the two services.'], ['code' => 'InconsistentEnterpriseNameError', 'message' => 'The enterprise name of the payment account and the member must be consistent.', 'http_code' => 409, 'description' => 'The enterprise names of the billing account and the member are inconsistent.'], ['code' => 'Invalid.AccountType', 'message' => 'The specified profile type of account is invalid.', 'http_code' => 409, 'description' => 'The account type is invalid. Use an enterprise account.'], ['code' => 'Invalid.EnterpriseName', 'message' => 'You must specify the enterprise name.', 'http_code' => 409, 'description' => 'No enterprise name is specified for the account. Specify an enterprise name for the account.'], ['code' => 'Invalid.payRelation', 'message' => 'Failed to create a member. The specified billing account is unavailable. Please try again.', 'http_code' => 400, 'description' => 'Failed to create the member. The specified billing account is unavailable. Specify a valid billing account and try again.'], ['code' => 'Invalid.PayRelation', 'message' => 'Failed to create a member. The specified billing account is unavailable. Please change to another billing account and try again.', 'http_code' => 409, 'description' => 'Failed to create the member. The specified billing account is unavailable. Specify a valid billing account and try again.'], ['code' => 'Invalid.VerificationCode', 'message' => 'The verification code is invalid.', 'http_code' => 409, 'description' => 'The verification code is invalid.'], ['code' => 'InvalidControlPolicyEnablementStatus', 'message' => 'The control policy enablement status is not valid to perform this operation.', 'http_code' => 409, 'description' => 'You cannot perform the operation when the access control policy is enabled.'], ['code' => 'InvalidMember', 'message' => 'The member does not exist in the resource directory.', 'http_code' => 400, 'description' => 'The specified member does not belong to the resource directory.'], ['code' => 'InvalidParameter', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => 'The value of a parameter is invalid.'], ['code' => 'InvalidParameter.Account.AccountNamePrefix.Length', 'message' => 'The account name prefix exceeds the length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'InvalidParameter.Account.DisplayName', 'message' => 'The DisplayName of account is invalid.', 'http_code' => 400, 'description' => 'The value of the DisplayName parameter is invalid. The value can contain only letters, digits, underscores (_), periods (.), and hyphens (-).'], ['code' => 'InvalidParameter.Account.DisplayName.AlreadyUsed', 'message' => 'The display name of account has been used. You must specify a valid display name.', 'http_code' => 409, 'description' => 'The display name already exists. Specify a valid display name.'], ['code' => 'InvalidParameter.Account.DisplayName.AlreadyUsed', 'message' => 'The displayname of account has been used.', 'http_code' => 409, 'description' => 'The displayname of account has been used.'], ['code' => 'InvalidParameter.Account.DisplayName.Length', 'message' => 'The DisplayName of the account exceeds the length limit.', 'http_code' => 400, 'description' => 'The length of the value for the DisplayName parameter exceeds the upper limit. The value must be 2 to 50 characters in length.'], ['code' => 'InvalidParameter.AccountId', 'message' => 'The AccountId is invalid.', 'http_code' => 400, 'description' => 'The value of the AccountId parameter is invalid. Specify a 16-digit ID.'], ['code' => 'InvalidParameter.AdminAccountId', 'message' => 'The specified account is not management account or delegated administrator account.', 'http_code' => 409, 'description' => 'The current account is not a management account or delegated administrator account.'], ['code' => 'InvalidParameter.AssociationStatus', 'message' => 'The AssociationStatus is invalid.', 'http_code' => 400, 'description' => 'The AssociationStatus is invalid.'], ['code' => 'InvalidParameter.AssociationType', 'message' => 'The AssociationType is invalid.', 'http_code' => 400, 'description' => 'The AssociationType is invalid.'], ['code' => 'InvalidParameter.AssumeRolePolicyDocument.Length', 'message' => 'The maximum length of the trust policy document of the role is exceeded.', 'http_code' => 400, 'description' => 'The maximum length of the trust policy document of the role is exceeded.'], ['code' => 'InvalidParameter.ChildId', 'message' => 'The ChildId is invalid.', 'http_code' => 400, 'description' => 'The value of the ChildId parameter is invalid. The value must start with r- followed by 6 characters or start with fd- followed by 10 characters. Valid characters are letters and digits.'], ['code' => 'InvalidParameter.Comments.Length', 'message' => 'The maximum length of Note is exceeded.', 'http_code' => 400, 'description' => 'The maximum length of Note is exceeded.'], ['code' => 'InvalidParameter.ContactId', 'message' => 'The ContactId is invalid.', 'http_code' => 400, 'description' => 'The value of the ContactId parameter is invalid.'], ['code' => 'InvalidParameter.CustomSuffix.InvalidChars', 'message' => 'The parameter CustomSuffix contains invalid characters.', 'http_code' => 400, 'description' => 'The value of the CustomSuffix parameter contains invalid characters.'], ['code' => 'InvalidParameter.CustomSuffix.Length', 'message' => 'The maximum length of the parameter CustomSuffix is exceeded.', 'http_code' => 400, 'description' => 'The length of the value for the CustomSuffix parameter exceeds the upper limit.'], ['code' => 'InvalidParameter.CustomSuffix.NotAllowed', 'message' => 'Custom suffix is not allowed for this Service Linked Role.', 'http_code' => 400, 'description' => 'The service-linked role does not support custom suffixes.'], ['code' => 'InvalidParameter.DeletionTaskId', 'message' => 'The DeletionTaskId is invalid.', 'http_code' => 400, 'description' => 'The value of the DeletionTaskId parameter is invalid.'], ['code' => 'InvalidParameter.DeletionTaskId.Length', 'message' => 'The length of DeletionTaskId must be between 26 and 255 characters.', 'http_code' => 400, 'description' => 'The length of DeletionTaskId must be between 26 and 255 characters.'], ['code' => 'InvalidParameter.Description.Length', 'message' => 'The maximum length of the description is exceeded. It must not exceed 1024 characters.', 'http_code' => 400, 'description' => 'The maximum length of the description is exceeded. It must not exceed 1024 characters.'], ['code' => 'InvalidParameter.Description.NotAllowed', 'message' => 'Custom description is not allowed for this Service Linked Role.', 'http_code' => 400, 'description' => 'The service-linked role does not support custom descriptions.'], ['code' => 'InvalidParameter.DestinationFolderId', 'message' => 'The DestinationFolderId is invalid.', 'http_code' => 400, 'description' => 'The value of the DestinationFolderId parameter is invalid. The value must start with r- followed by 6 characters or start with fd- followed by 10 characters. Valid characters are letters and digits.'], ['code' => 'InvalidParameter.DisplayName', 'message' => 'The DisplayName is invalid.', 'http_code' => 400, 'description' => 'The value of the DisplayName parameter is invalid.'], ['code' => 'InvalidParameter.DisplayName.Length', 'message' => 'The maximum length of DisplayName is exceeded.', 'http_code' => 400, 'description' => 'The length of the value for the DisplayName parameter exceeds the upper limit.'], ['code' => 'InvalidParameter.EffectScope', 'message' => 'The parameter EffectScope is invalid.', 'http_code' => 400, 'description' => 'The value of the parameter EffectScope is invalid.'], ['code' => 'InvalidParameter.Email', 'message' => 'The Email is invalid.', 'http_code' => 400, 'description' => 'The format of the value for the Email parameter is invalid.'], ['code' => 'InvalidParameter.Email.AlreadyUsed', 'message' => 'The email has been used.', 'http_code' => 409, 'description' => 'The email has been used.'], ['code' => 'InvalidParameter.EmailAddress', 'message' => 'The EmailAddress is invalid.', 'http_code' => 400, 'description' => 'The value of the EmailAddress parameter is invalid.'], ['code' => 'InvalidParameter.EmailAddress.Length', 'message' => 'The EmailAddress exceeds the length limit.', 'http_code' => 400, 'description' => 'The length of the value specified for the EmailAddress parameter exceeds the upper limit.'], ['code' => 'InvalidParameter.Folder.Name', 'message' => 'The Name of folder is invalid.', 'http_code' => 400, 'description' => 'The folder name is invalid. The name can contain only letters, digits, underscores (_), periods (.), and hyphens (-).'], ['code' => 'InvalidParameter.Folder.Name.AlreadyUsed', 'message' => 'The name already exists under the same parent. Please change to another name.', 'http_code' => 400, 'description' => 'The folder name already exists in the same parent folder. Change the name.'], ['code' => 'InvalidParameter.Folder.Name.Length', 'message' => 'The Name of folder exceeds the length limit.', 'http_code' => 400, 'description' => 'The length of the folder name exceeds the upper limit. The name must be 1 to 24 characters in length.'], ['code' => 'InvalidParameter.FolderId', 'message' => 'The FolderId is invalid.', 'http_code' => 400, 'description' => 'The value of the FolderId parameter is invalid. The value must start with r- followed by 6 characters or start with fd- followed by 10 characters. Valid characters are letters and digits.'], ['code' => 'InvalidParameter.HandshakeId', 'message' => 'The HandshakeId is invalid.', 'http_code' => 400, 'description' => 'The value of the HandshakeId parameter is invalid. The value must start with h- followed by 16 letters or digits.'], ['code' => 'InvalidParameter.Language', 'message' => 'The parameter Language is invalid.', 'http_code' => 400, 'description' => 'The value of the Language parameter is invalid.'], ['code' => 'InvalidParameter.ManagementAccountName', 'message' => 'The management account name is in the wrong format.', 'http_code' => 409, 'description' => 'The format of the name specified for the management account is incorrect.'], ['code' => 'InvalidParameter.ManagementAccountName.AlreadyUsed', 'message' => 'The ManagementAccountName has been used.', 'http_code' => 409, 'description' => 'The name specified for the management account already exists. Specify a valid name.'], ['code' => 'InvalidParameter.ManagementAccountName.Length', 'message' => 'The Parameter ManagementAccountName beyond the length limit.', 'http_code' => 400, 'description' => 'The Parameter ManagementAccountName beyond the length limit.'], ['code' => 'InvalidParameter.ManagementAccountSecurityInfo', 'message' => 'The parameter management account secure mobile phone is invalid.', 'http_code' => 409, 'description' => 'The format of the mobile phone number specified for security purposes is incorrect.'], ['code' => 'InvalidParameter.MaxResults', 'message' => 'The MaxResults is invalid.', 'http_code' => 400, 'description' => 'The MaxResults is invalid.'], ['code' => 'InvalidParameter.MaxSessionDuration', 'message' => 'The parameter MaxSessionDuration is invalid.', 'http_code' => 400, 'description' => 'The value of the MaxSessionDuration parameter is invalid.'], ['code' => 'InvalidParameter.Member', 'message' => 'The Member is invalid.', 'http_code' => 400, 'description' => 'The value of the Member parameter is invalid.'], ['code' => 'InvalidParameter.Members', 'message' => 'The Members is invalid.', 'http_code' => 400, 'description' => 'The value of the Members parameter is invalid.'], ['code' => 'InvalidParameter.Members.Duplicate', 'message' => 'The Members contains duplicate values.', 'http_code' => 400, 'description' => 'Duplicate members are specified.'], ['code' => 'InvalidParameter.Members.Length', 'message' => 'The maximum number of Members exceeds the limit.', 'http_code' => 400, 'description' => 'The number of members exceeds the upper limit.'], ['code' => 'InvalidParameter.MessageTypes', 'message' => 'The MessageTypes is invalid.', 'http_code' => 400, 'description' => 'The value of the MessageTypes parameter is invalid.'], ['code' => 'InvalidParameter.MobileCountryCode', 'message' => 'The current site does not support the country code.', 'http_code' => 409, 'description' => 'The specified country code is not supported at the current site.'], ['code' => 'InvalidParameter.Name', 'message' => 'The Name is invalid.', 'http_code' => 400, 'description' => 'The value of the Name parameter is invalid. The value can contain only letters.'], ['code' => 'InvalidParameter.Name.AlreadyUsed', 'message' => 'The Name already exists. Please change to another name.', 'http_code' => 400, 'description' => 'The contact name already exists in the resource directory. Use another name.'], ['code' => 'InvalidParameter.Name.InvalidChars', 'message' => 'The Name is invalid.', 'http_code' => 400, 'description' => 'The Name is invalid.'], ['code' => 'InvalidParameter.Name.Length', 'message' => 'The maximum length of Name is exceeded.', 'http_code' => 400, 'description' => 'The length of the value for the Name parameter exceeds the upper limit.'], ['code' => 'InvalidParameter.Name.Length', 'message' => 'The Name exceeds the length limit.', 'http_code' => 400, 'description' => 'The length of the value specified for the Name parameter exceeds the upper limit. The value must be 2 to 12 characters in length and can contain only letters.'], ['code' => 'InvalidParameter.NewAssumeRolePolicyDocument.Length', 'message' => 'The maximum length of the new trust policy document of the role is exceeded.', 'http_code' => 400, 'description' => 'The maximum length of the new trust policy document of the role is exceeded.'], ['code' => 'InvalidParameter.NewComments.Length', 'message' => 'The maximum length of Note is exceeded.', 'http_code' => 400, 'description' => 'The maximum length of Note is exceeded.'], ['code' => 'InvalidParameter.NewDescription.Length', 'message' => 'The maximum length of the parameter NewDescription is exceeded.', 'http_code' => 400, 'description' => 'The length of the value for the NewDescription parameter exceeds the upper limit.'], ['code' => 'InvalidParameter.NewDisplayName.Length', 'message' => 'The maximum length of NewDisplayName is exceeded.', 'http_code' => 400, 'description' => 'The length of the value for the NewDisplayName parameter exceeds the upper limit.'], ['code' => 'InvalidParameter.NewMaxSessionDuration', 'message' => 'The NewMaxSessionDuration is invalid.', 'http_code' => 400, 'description' => 'The NewMaxSessionDuration is invalid.'], ['code' => 'InvalidParameter.NewPolicyDocument.Length', 'message' => 'Unable to save your policy. A policy contains a maximum of 4096 characters.', 'http_code' => 400, 'description' => 'Failed to save the policy. The policy document can be up to 4,096 characters in length.'], ['code' => 'InvalidParameter.NewPolicyName.InvalidChars', 'message' => 'The parameter NewPolicyName contains invalid characters.', 'http_code' => 400, 'description' => 'The value of the NewPolicyName parameter contains invalid characters.'], ['code' => 'InvalidParameter.NewPolicyName.Length', 'message' => 'The maximum length of the parameter NewPolicyName is exceeded.', 'http_code' => 400, 'description' => 'The length of the value for the NewPolicyName parameter exceeds the upper limit.'], ['code' => 'InvalidParameter.NextToken', 'message' => 'The NextToken is invalid.', 'http_code' => 400, 'description' => 'The NextToken is invalid.'], ['code' => 'InvalidParameter.NextToken.Length', 'message' => 'The maximum length of NextToken (256 characters) is exceeded.', 'http_code' => 400, 'description' => 'The maximum length of NextToken (256 characters) is exceeded.'], ['code' => 'InvalidParameter.ParentFolderId', 'message' => 'The ParentFolderId is invalid.', 'http_code' => 400, 'description' => 'The value of the ParentFolderId parameter is invalid. The value must start with r- followed by 6 characters or start with fd- followed by 10 characters. Valid characters include letters and digits.'], ['code' => 'InvalidParameter.Payer', 'message' => 'The specified Payer is invalid.', 'http_code' => 400, 'description' => 'The specified billing account is invalid. Specify a valid billing account.'], ['code' => 'InvalidParameter.PhoneNumber', 'message' => 'The PhoneNumber is invalid.', 'http_code' => 400, 'description' => 'The value of the PhoneNumber parameter is invalid.'], ['code' => 'InvalidParameter.PolicyDocument.Action', 'message' => 'The specified Action is invalid.', 'http_code' => 400, 'description' => 'The value of the Action parameter is invalid.'], ['code' => 'InvalidParameter.PolicyDocument.Effect', 'message' => 'The specified Effect is invalid.', 'http_code' => 400, 'description' => 'The value of the Effect parameter is invalid.'], ['code' => 'InvalidParameter.PolicyDocument.Length', 'message' => 'Unable to save your policy. A policy contains a maximum of 4096 characters.', 'http_code' => 409, 'description' => 'Failed to save the policy. The policy document can be up to 4,096 characters in length.'], ['code' => 'InvalidParameter.PolicyDocument.Length', 'message' => 'The policy document size is limited to %s bytes', 'http_code' => 400, 'description' => 'The length of the value for the PolicyDocument parameter exceeds the upper limit. The value can be up to %s characters in length.'], ['code' => 'InvalidParameter.PolicyDocument.PrincipalARNValue', 'message' => 'The condition value of PrincipalARN is invalid.', 'http_code' => 400, 'description' => 'The value of the PrincipalARN parameter is invalid.'], ['code' => 'InvalidParameter.PolicyId', 'message' => 'The parameter PolicyId is invalid.', 'http_code' => 400, 'description' => 'The value of the PolicyId parameter is invalid.'], ['code' => 'InvalidParameter.PolicyName.InvalidChars', 'message' => 'The policy name contains invalid characters. It must only contain upper or lower case letters, numbers, and dash (-).', 'http_code' => 400, 'description' => 'The policy name contains invalid characters. It must only contain upper or lower case letters, numbers, and dash (-).'], ['code' => 'InvalidParameter.PolicyName.Length', 'message' => 'The length of the policy name is invalid. It must be 1 to 128 characters in length.', 'http_code' => 400, 'description' => 'The maximum length of the policy name is exceeded. It must be 1 to 128 characters in length.'], ['code' => 'InvalidParameter.PolicyType', 'message' => 'The specified policy type is invalid.', 'http_code' => 400, 'description' => 'The value of the PolicyType parameter is invalid.'], ['code' => 'InvalidParameter.PrincipalName.Empty', 'message' => 'You must specify PrincipalName.', 'http_code' => 400, 'description' => 'The PrincipalName parameter is not configured.'], ['code' => 'InvalidParameter.ResourceGroupId', 'message' => 'The ResourceGroupId is invalid.', 'http_code' => 400, 'description' => 'The value of the ResourceGroupId parameter is invalid.'], ['code' => 'InvalidParameter.ResourceId', 'message' => 'The ResourceId is invalid.', 'http_code' => 400, 'description' => 'The ResourceId is invalid.'], ['code' => 'InvalidParameter.ResourceIds', 'message' => 'The ResourceIds is invalid.', 'http_code' => 400, 'description' => 'The value of the ResourceIds parameter is invalid.'], ['code' => 'InvalidParameter.ResourceIds', 'message' => 'The specified ResourceIds is invalid.', 'http_code' => 400, 'description' => 'The value of the ResourceIds parameter is invalid.'], ['code' => 'InvalidParameter.ResourceIds.Duplicate', 'message' => 'The specified ResourceId contains duplicate values.', 'http_code' => 400, 'description' => 'Duplicate resource IDs are specified.'], ['code' => 'InvalidParameter.ResourceIds.Length', 'message' => 'The maximum number of ResourceIds (5) is exceeded.', 'http_code' => 400, 'description' => 'The number of specified resource IDs exceeds the upper limit. Specify a maximum of five resource IDs.'], ['code' => 'InvalidParameter.ResourceOwner', 'message' => 'The ResourceOwner is invalid.', 'http_code' => 400, 'description' => 'The ResourceOwner is invalid.'], ['code' => 'InvalidParameter.Resources', 'message' => 'The Resources is invalid.', 'http_code' => 400, 'description' => 'The Resources is invalid.'], ['code' => 'InvalidParameter.Resources.Duplicate', 'message' => 'The Resources contains duplicate values.', 'http_code' => 400, 'description' => 'The Resources contains duplicate values.'], ['code' => 'InvalidParameter.Resources.Length', 'message' => 'The maximum number of Resources (5) is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of Resources (5) is exceeded.'], ['code' => 'InvalidParameter.ResourceShareId', 'message' => 'The ResourceShareId is invalid.', 'http_code' => 400, 'description' => 'The ResourceShareId is invalid.'], ['code' => 'InvalidParameter.ResourceShareName', 'message' => 'The ResourceShareName is invalid.', 'http_code' => 400, 'description' => 'The ResourceShareName is invalid.'], ['code' => 'InvalidParameter.ResourceShareName.Length', 'message' => 'The maximum length of ResourceShareName is exceeded.', 'http_code' => 400, 'description' => 'The maximum length of ResourceShareName (50 characeters) is exceeded.'], ['code' => 'InvalidParameter.ResourceType', 'message' => 'The ResourceType is invalid.', 'http_code' => 400, 'description' => 'The value of the ResourceType parameter is invalid.'], ['code' => 'InvalidParameter.RoleName.InvalidChars', 'message' => 'The specified role name contains invalid characters.', 'http_code' => 400, 'description' => 'The specified role name contains invalid characters.'], ['code' => 'InvalidParameter.RoleName.Length', 'message' => 'The maximum length of the role name is exceeded.', 'http_code' => 400, 'description' => 'The maximum length of the role name is exceeded.'], ['code' => 'InvalidParameter.RoleName.Prefix', 'message' => 'Role name prefix AliyunServiceRoleFor can only be used for Service Linked Roles.', 'http_code' => 400, 'description' => 'The role name prefix AliyunServiceRoleFor can be used only for service-linked roles.'], ['code' => 'InvalidParameter.Status', 'message' => 'The specified Status is invalid.', 'http_code' => 400, 'description' => 'The specified Status is invalid.'], ['code' => 'InvalidParameter.Tag.ResourceType', 'message' => 'The Parameter ResourceType is invalid.', 'http_code' => 409, 'description' => 'The Parameter ResourceType is invalid.'], ['code' => 'InvalidParameter.Target', 'message' => 'The Target is invalid.', 'http_code' => 400, 'description' => 'The Target is invalid. '], ['code' => 'InvalidParameter.TargetId', 'message' => 'The parameter TargetId is invalid.', 'http_code' => 400, 'description' => 'The value of the TargetId parameter is invalid.'], ['code' => 'InvalidParameter.Targets', 'message' => 'The Targets is invalid.', 'http_code' => 400, 'description' => ' The Targets is invalid.'], ['code' => 'InvalidParameter.Targets.Duplicate', 'message' => 'The Targets contains duplicate values.', 'http_code' => 400, 'description' => 'The Targets contains duplicate values.'], ['code' => 'InvalidParameter.Targets.Length', 'message' => 'The maximum number of Targets (5) is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of Targets (5) is exceeded.'], ['code' => 'InvalidParameter.Title', 'message' => 'The Title is invalid.', 'http_code' => 400, 'description' => 'The value of the Title parameter is invalid.'], ['code' => 'InvalidParameter.VersionId.Format', 'message' => 'The specified version ID is invalid.', 'http_code' => 400, 'description' => 'The specified version ID is invalid.'], ['code' => 'InvalidTarget', 'message' => 'The target you are sharing does not exist in your resource directory.', 'http_code' => 400, 'description' => 'The target you are sharing does not exist in your resource directory.'], ['code' => 'InvoiceBlock.DeleteAccount', 'message' => 'The deletion failed. The invoice status of the current account is abnormal, please contact customer service.', 'http_code' => 409, 'description' => 'Delete failed. The invoice status of the current account is abnormal. Contact customer service representatives.'], ['code' => 'LastControlPolicyOnTarget', 'message' => 'The last control policy on a target cannot be detached.', 'http_code' => 409, 'description' => 'The access control policy is the only access control policy attached to the object and cannot be detached.'], ['code' => 'LatestActionNotFinished', 'message' => 'The request is being processed.', 'http_code' => 409, 'description' => 'The request is being processed.'], ['code' => 'LegalEntityDifferent', 'message' => 'The account legal entity is different from the one of the Management Account.', 'http_code' => 409, 'description' => 'The legal entity of the account is inconsistent with that of the management account.'], ['code' => 'LegalEntityMismatch', 'message' => 'The account does not have the same legal entity as the management account.', 'http_code' => 409, 'description' => 'The account does not have the same legal entity as the management account.'], ['code' => 'LengthLimit.Email', 'message' => 'The maximum length of the email is exceeded.', 'http_code' => 409, 'description' => 'The length of the email address exceeds the upper limit.'], ['code' => 'LimitExceeded.Account', 'message' => 'The maximum number of member accounts in a resource directory exceeds the limit.', 'http_code' => 409, 'description' => 'The number of members in the resource directory exceeds the upper limit.'], ['code' => 'LimitExceeded.ContactMembers', 'message' => 'The maximum number of contact members exceeds the limit.', 'http_code' => 400, 'description' => 'The number of members exceeds the upper limit.'], ['code' => 'LimitExceeded.Contacts', 'message' => 'The maximum number of contacts in a resource directory exceeds the limit.', 'http_code' => 400, 'description' => 'The number of contacts exceeds the upper limit.'], ['code' => 'LimitExceeded.ControlPolicy', 'message' => 'The maximum number of policies is exceeded.', 'http_code' => 409, 'description' => 'The number of access control policies exceeds the upper limit.'], ['code' => 'LimitExceeded.ControlPolicyAttachment', 'message' => 'The maximum number of control policies on the specified target is exceeded.', 'http_code' => 409, 'description' => 'The number of access control policies attached to the specified object exceeds the upper limit.'], ['code' => 'LimitExceeded.Folder.Depth', 'message' => 'The folder depth exceeds the limit of 5.', 'http_code' => 409, 'description' => 'The maximum number of folder levels is reached. A maximum of five levels of folders can be created in the Root folder.'], ['code' => 'LimitExceeded.Frequency', 'message' => 'The frequency of request exceeds limit.', 'http_code' => 409, 'description' => 'The frequency of the request exceeds the upper limit. Try again later.'], ['code' => 'LimitExceeded.Group.Policy', 'message' => 'The maximum number of policies attached to this group is exceeded.', 'http_code' => 409, 'description' => 'The maximum number of policies attached to this group is exceeded.'], ['code' => 'LimitExceeded.Invitation.InvalidTarget', 'message' => 'The maximum number of invalid targets that can be invited by a single account is exceeded.', 'http_code' => 409, 'description' => 'The number of invalid accounts invited by the same account exceeds the upper limit.'], ['code' => 'LimitExceeded.PageSize', 'message' => 'The pagesize exceeds limit of 10.', 'http_code' => 409, 'description' => 'The value of the PageSize parameter exceeds the upper limit. Each page can contain up to 10 entries.'], ['code' => 'LimitExceeded.Policy', 'message' => 'The maximum number of policies is exceeded.', 'http_code' => 409, 'description' => 'The maximum number of policies attached to this user is exceeded.'], ['code' => 'LimitExceeded.Policy.Version', 'message' => 'The maximum number of policy versions is exceeded.', 'http_code' => 409, 'description' => 'The maximum number of policy versions is exceeded.'], ['code' => 'LimitExceeded.ResourceIds', 'message' => 'The maximum number of ResourceId is exceeded.', 'http_code' => 400, 'description' => 'The number of specified resource IDs exceeds the upper limit.'], ['code' => 'LimitExceeded.Role', 'message' => 'The maximum number of roles is exceeded.', 'http_code' => 409, 'description' => 'The maximum number of roles is exceeded.'], ['code' => 'LimitExceeded.Role.Policy', 'message' => 'The maximum number of policies attached to this role is exceeded.', 'http_code' => 409, 'description' => 'The maximum number of policies attached to this role is exceeded.'], ['code' => 'LimitExceeded.SameTargetInvitationRate', 'message' => 'The number of invitations sent to the same account exceeds the limit.', 'http_code' => 409, 'description' => 'The number of invitations sent to the account exceeds the upper limit.'], ['code' => 'LimitExceeded.User.Policy', 'message' => 'The maximum number of policies attached to this user is exceeded.', 'http_code' => 409, 'description' => 'The maximum number of policies attached to this user is exceeded.'], ['code' => 'MalformedPolicyDocument', 'message' => 'The policy format is invalid.', 'http_code' => 409, 'description' => 'The policy format is invalid.'], ['code' => 'MasterUidCanNotOpenTrusteeshipError', 'message' => 'Trusteeship is only available for alibaba directselling accounts and alibaba channel partner (except Agency) enduser', 'http_code' => 409, 'description' => 'You are not allowed to enable the finance trusteeship feature because only Alibaba Cloud direct customers and resellers can enable the feature.'], ['code' => 'MasterUidCustomerRelationNotExistedError', 'message' => 'Trusteeship cannot be created because the relevant accounts are not belonging to the same channel partner.', 'http_code' => 409, 'description' => 'A finance trusteeship cannot be established between the management account and member because the management account and member are not associated with resellers or are associated with different resellers.'], ['code' => 'MemberAccountAccessDenied', 'message' => 'The member account is not allowed to perform the operation.', 'http_code' => 403, 'description' => 'A member cannot be used to perform this operation.'], ['code' => 'MemberAccountOperationNotAllowed', 'message' => 'The member is not allowed to perform the operation.', 'http_code' => 403, 'description' => 'The member is not allowed to perform the operation.'], ['code' => 'MemberAccountOperationNotAllowed', 'message' => 'The member account is not allowed to perform the operation.', 'http_code' => 403, 'description' => 'You cannot use a member to perform this operation.'], ['code' => 'MemberAccountResellerVerifyError', 'message' => 'The type of the member must not be reseller.', 'http_code' => 409, 'description' => 'A member cannot be an account for a reseller.'], ['code' => 'MemberAccountVirtualCloudOperatorVerifyError', 'message' => 'The type of the member must not be virtual operator.', 'http_code' => 409, 'description' => 'A member cannot be an account for a virtual network operator (VNO).'], ['code' => 'MemberTypeError.DeleteAccount', 'message' => 'Cloud account type members do not support deletion.', 'http_code' => 409, 'description' => 'Members of the cloud account type cannot be deleted.'], ['code' => 'MissingAccountRealName', 'message' => 'The name of the invited account is not specified.', 'http_code' => 409, 'description' => 'The name of the invited account is not specified.'], ['code' => 'MissingDisplayNameOrAccountType', 'message' => 'Either display name or account type must be specified.', 'http_code' => 409, 'description' => 'You must specify either the display name or type of the member.'], ['code' => 'MissingParameter.Account.DisplayName', 'message' => 'You must specify DisplayName.', 'http_code' => 400, 'description' => 'The DisplayName parameter is not configured. Configure this parameter.'], ['code' => 'MissingParameter.AccountId', 'message' => 'You must specify AccountId.', 'http_code' => 400, 'description' => 'The AccountId parameter is not configured.'], ['code' => 'MissingParameter.AssociationType', 'message' => 'You must specify Association Type.', 'http_code' => 400, 'description' => 'You must specify AssociationType.'], ['code' => 'MissingParameter.ChildId', 'message' => 'You must specify ChildId.', 'http_code' => 400, 'description' => 'The ChildId parameter is not configured. Configure this parameter.'], ['code' => 'MissingParameter.ContactId', 'message' => 'You must specify ContactId.', 'http_code' => 400, 'description' => 'The ContactId parameter is not configured.'], ['code' => 'MissingParameter.DestinationFolderId', 'message' => 'You must specify DestinationFolderId.', 'http_code' => 400, 'description' => 'The DestinationFolderId parameter is not configured. Configure this parameter.'], ['code' => 'MissingParameter.DisplayName', 'message' => 'You must specify DisplayName.', 'http_code' => 400, 'description' => 'The DisplayName parameter is not configured.'], ['code' => 'MissingParameter.EffectScope', 'message' => 'You must specify EffectScope.', 'http_code' => 400, 'description' => 'The EffectScope parameter is not configured.'], ['code' => 'MissingParameter.Email', 'message' => 'You must specify Email.', 'http_code' => 400, 'description' => 'The Email parameter is not configured. Configure this parameter.'], ['code' => 'MissingParameter.EmailAddress', 'message' => 'You must specify EmailAddress.', 'http_code' => 400, 'description' => 'The EmailAddress parameter is not configured.'], ['code' => 'MissingParameter.Folder.Name', 'message' => 'You must specify the resource folder name.', 'http_code' => 400, 'description' => 'No folder name is specified. Specify a folder name.'], ['code' => 'MissingParameter.FolderId', 'message' => 'You must specify FolderId.', 'http_code' => 400, 'description' => 'The FolderId parameter is not configured. Configure this parameter.'], ['code' => 'MissingParameter.MessageTypes', 'message' => 'You must specify MessageTypes.', 'http_code' => 400, 'description' => 'The MessageTypes parameter is not configured.'], ['code' => 'MissingParameter.Name', 'message' => 'You must specify Name.', 'http_code' => 400, 'description' => 'You must specify Name.'], ['code' => 'MissingParameter.PhoneNumber', 'message' => 'You must specify PhoneNumber.', 'http_code' => 400, 'description' => 'The PhoneNumber parameter is not configured.'], ['code' => 'MissingParameter.PolicyDocument', 'message' => 'You must specify PolicyDocument.', 'http_code' => 400, 'description' => 'The PolicyDocument parameter is not configured.'], ['code' => 'MissingParameter.PolicyId', 'message' => 'You must specify PolicyId.', 'http_code' => 400, 'description' => 'The PolicyId parameter is not configured.'], ['code' => 'MissingParameter.PolicyName', 'message' => 'You must specify PolicyName.', 'http_code' => 400, 'description' => 'The PolicyName parameter is not configured.'], ['code' => 'MissingParameter.RecordId', 'message' => 'You must specify RecordId.', 'http_code' => 400, 'description' => 'The RecordId parameter is not configured. Configure this parameter.'], ['code' => 'MissingParameter.ResourceIdOrTag', 'message' => 'Parameter ResourceId or Tag is required.', 'http_code' => 409, 'description' => 'Parameter ResourceId or Tag is required.'], ['code' => 'MissingParameter.ResourceOwner', 'message' => 'You must specify ResourceOwner.', 'http_code' => 400, 'description' => 'You must specify ResourceOwner.'], ['code' => 'MissingParameter.ResourceShareId', 'message' => 'You must specify ResourceShareId.', 'http_code' => 400, 'description' => 'You must specify ResourceShareId.'], ['code' => 'MissingParameter.ResourceShareName', 'message' => 'You must specify ResourceShareName.', 'http_code' => 400, 'description' => 'You must specify ResourceShareName.'], ['code' => 'MissingParameter.TargetId', 'message' => 'You must specify TargetId.', 'http_code' => 400, 'description' => 'The TargetId parameter is not configured.'], ['code' => 'MissingParameter.Title', 'message' => 'You must specify Title.', 'http_code' => 400, 'description' => 'The Title parameter is not configured.'], ['code' => 'MissingSecureMobilePhone', 'message' => 'Secure mobile phone is missing.', 'http_code' => 409, 'description' => 'No mobile phone number is specified for security purposes.'], ['code' => 'MissingSecurityInfo', 'message' => 'Security info is missing.', 'http_code' => 409, 'description' => 'No security information is specified.'], ['code' => 'NoLicense.ResourceDirectory', 'message' => 'The resource directory has not enabled the delete operation.', 'http_code' => 409, 'description' => 'The member deletion feature is disabled for the resource directory.'], ['code' => 'NoPermission', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 403, 'description' => 'You are not authorized to perform the operation.'], ['code' => 'NoRealNameAuthentication', 'message' => 'The account invited has not passed real-name authentication.', 'http_code' => 409, 'description' => 'The invited account does not pass real-name verification.'], ['code' => 'NotSupport.Account', 'message' => 'You can only perform this operation for a sub-user.', 'http_code' => 409, 'description' => 'You can only perform this operation for a sub-user.'], ['code' => 'NotSupport.Account.RealNameType', 'message' => 'Your account is not a real-name of enterprise type, so you cannot accept the invitation.', 'http_code' => 409, 'description' => 'You cannot accept the invitation because your account does not pass enterprise real-name verification.'], ['code' => 'NotSupport.Account.Site', 'message' => 'The caller is not a China site account, which is not supported.', 'http_code' => 409, 'description' => 'The account is not registered at the current site. Use an account registered at the current site.'], ['code' => 'NotSupport.AccountInAnotherResourceDirectory', 'message' => 'The invited account already belongs to another resource directory. To continue, remove the account from the other resource directory.', 'http_code' => 409, 'description' => 'The invited account already belongs to another resource directory. To continue, remove the account from the other resource directory.'], ['code' => 'NotSupport.AccountInAnotherResourceDirectory', 'message' => 'The specified account is an Alibaba Cloud account or already exists in another resource directory.', 'http_code' => 409, 'description' => ''], ['code' => 'NotSupport.Bid', 'message' => 'End users from the International site cannot visit the BID.', 'http_code' => 409, 'description' => 'The Bid parameter is not supported.'], ['code' => 'NotSupport.CallerType', 'message' => 'Your account type does not support the operation.', 'http_code' => 409, 'description' => 'Your account does not support the operation.'], ['code' => 'NotSupport.DetachLastControlPolicy', 'message' => 'It is not detach the last control policy on the target node.', 'http_code' => 400, 'description' => 'It is not detach the last control policy on the target node.'], ['code' => 'NotSupport.InvitedAccount', 'message' => 'The current operation is not supported for accounts invited to join the resource directory.', 'http_code' => 400, 'description' => 'The current operation is not supported for accounts invited to join the resource directory.'], ['code' => 'NotSupport.PayerAccountInAnotherResourceDir', 'message' => 'This payer account is a master account or a member account in another resource directory.', 'http_code' => 400, 'description' => 'The billing account is not in the resource directory. Specify a valid billing account.'], ['code' => 'NotSupport.PayerAccountInAnotherResourceDirectory', 'message' => 'The specified payment account does not exist in the resource directory. You must specify a valid payment account.', 'http_code' => 409, 'description' => 'The billing account is not in the resource directory. Specify a valid billing account.'], ['code' => 'NotSupport.Policy', 'message' => 'The policy can only be attached to a Service Linked Role.', 'http_code' => 400, 'description' => 'The policy can be attached only to service-linked roles.'], ['code' => 'NotSupport.PolicyDocument.NotAction', 'message' => 'The specified NotAction is not supported.', 'http_code' => 400, 'description' => 'The NotAction parameter is not supported.'], ['code' => 'NotSupport.ServiceLinkedRole', 'message' => 'Cannot perform the operation on this service linked role.', 'http_code' => 400, 'description' => 'You cannot perform operations on the service-linked role.'], ['code' => 'NotSupport.SettingResellAccountType', 'message' => 'The current account does not support setting the resellAccountType for members.', 'http_code' => 409, 'description' => 'The current account does not support setting the resellAccountType for members.'], ['code' => 'NotSupport.Site', 'message' => 'Site does not allow current user access.', 'http_code' => 400, 'description' => 'Site does not allow current user access.'], ['code' => 'NotSupport.Site.Action', 'message' => 'Site does not allow current action.', 'http_code' => 400, 'description' => 'Site does not allow current action.'], ['code' => 'NotSupportedOperation.Account.EmailModify', 'message' => 'The operation is not supported because the account email is being modifying.', 'http_code' => 400, 'description' => 'The operation is not supported because the account email is being modifying.'], ['code' => 'NotSupportedOperation.DeletingAccount', 'message' => 'The operation is not supported because the account email is being modifying.', 'http_code' => 400, 'description' => 'The operation is not supported because the account email is being modifying.'], ['code' => 'OperationUnsupported.AccountTypeOrStatusMismatch.MoveAccount', 'message' => 'The account type or status does not match when moving an account.', 'http_code' => 409, 'description' => 'You cannot perform the operation on the member.'], ['code' => 'PatternNotMatch.Param.Mobile', 'message' => 'Incorrect mobile format.', 'http_code' => 409, 'description' => 'Incorrect mobile format.'], ['code' => 'PaymentAccountCreditIdentityTypeError', 'message' => 'Non-credit identity type or insufficient credit limit, cannot be used as payment account.', 'http_code' => 409, 'description' => 'The account cannot be used as a billing account because the account is not of the credit identity type or the balance in the credit card for the account is insufficient.'], ['code' => 'PaymentAccountEnterpriseInvoiceError', 'message' => 'No enterprise invoice header information is set for the payment account.', 'http_code' => 409, 'description' => 'No invoice title information is specified for the billing account.'], ['code' => 'PaymentAccountEnterpriseTypeError', 'message' => 'The type of the payment account is not enterprise.', 'http_code' => 409, 'description' => 'The billing account is not an enterprise account.'], ['code' => 'PaymentAccountEnterpriseVerifyError', 'message' => 'The type of the payment account is not enterprise verified.', 'http_code' => 409, 'description' => 'The billing account does not pass enterprise real-name verification.'], ['code' => 'PaymentAccountFinancialRelationshipsChangeFrequencyVerifyError', 'message' => 'The financial relationship of payment account changes too frequently. Please try again later.', 'http_code' => 409, 'description' => 'The financial relationship of the billing account frequently changes. Try again later.'], ['code' => 'PaymentAccountFinancialRelationshipVerifyError', 'message' => 'The payment account must not be the beneficiary account from other financial relationships.', 'http_code' => 409, 'description' => 'A billing account cannot be associated with a financial account.'], ['code' => 'PaymentAccountManagementVerifyError', 'message' => 'You can use the management account for settlement because the account type of the new member account is resell.', 'http_code' => 409, 'description' => 'The new member is an account for a reseller. You can only use the management account for settlement.'], ['code' => 'PaymentAccountResellerVerifyError', 'message' => 'The type of the payment account must not be reseller.', 'http_code' => 409, 'description' => 'The billing account cannot be an account for a reseller.'], ['code' => 'PaymentAccountVirtualCloudOperatorVerifyError', 'message' => 'The type of the payment account must not be virtual operator.', 'http_code' => 409, 'description' => 'A billing account cannot be an account for a virtual network operator (VNO).'], ['code' => 'PeripheralError.DeleteAccount', 'message' => 'The deletion failed. The deletion process is abnormal. Please try again later.', 'http_code' => 409, 'description' => 'Delete failed. An exception occurred during the deletion. Try again later.'], ['code' => 'PrimaryAkInUse', 'message' => 'The root user has an AccessKey pair in use.', 'http_code' => 409, 'description' => 'The AccessKey pair of the root user for the member is in use.'], ['code' => 'QuotaExceeded.Account.Count', 'message' => 'The number of resource directory accounts exceeds the quota.', 'http_code' => 409, 'description' => 'The number of members in the resource directory exceeds the upper limit. A resource directory can contain a maximum of 20 members.'], ['code' => 'QuotaExceeded.Contacts', 'message' => 'The maximum number of contacts in a resource directory exceeds the limit.', 'http_code' => 400, 'description' => 'The number of contacts exceeds the upper limit.'], ['code' => 'QuotaExceeded.CreateAccount.Count', 'message' => 'The number of accounts that a master account can create exceeds the quota.', 'http_code' => 404, 'description' => 'The number of members created within the Alibaba Cloud account exceeds the upper limit. You can create a maximum of 20 members.'], ['code' => 'QuotaExceeded.DeleteAccount', 'message' => 'You have exceeded delete account quota for the past 30 days.', 'http_code' => 409, 'description' => 'You have exceeded delete account quota for the past 30 days.'], ['code' => 'QuotaExceeded.Folder.Count', 'message' => 'The number of folders exceeds the quota.', 'http_code' => 409, 'description' => 'The maximum number of folders is reached.'], ['code' => 'QuotaExceeded.Members', 'message' => 'The maximum number of Members exceeds the limit.', 'http_code' => 400, 'description' => 'The number of members exceeds the upper limit.'], ['code' => 'QuotaExceeded.ResourceShare.Count', 'message' => 'The maximum number of shared resources (20) is exceeded.', 'http_code' => 409, 'description' => 'The maximum number of shared resources (20) is exceeded.'], ['code' => 'QuotaExceeded.SharedResource.Count', 'message' => 'The maximum number of shared resources per account (50) is exceeded.', 'http_code' => 409, 'description' => 'The maximum number of shared resources per account (50) is exceeded.'], ['code' => 'RemoveConfilctAccountAsDelegatedAdministator', 'message' => '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.', 'http_code' => 409, 'description' => 'The member is a delegated administrator account of a trusted service. Remove the delegated administrator account for the trusted service first.'], ['code' => 'ResourceAndTargetBothEmpty', 'message' => 'Either a resource or a target must be specified.', 'http_code' => 400, 'description' => 'Either a resource or a target must be specified.'], ['code' => 'ResourceDirectoryNotInUse', 'message' => 'The specified account is not an Alibaba Cloud account or a member account of the resource directory.', 'http_code' => 404, 'description' => 'The account is not an Alibaba Cloud account or a member of a resource directory.'], ['code' => 'ResourceDirNotInUse', 'message' => 'The account is not a master or a member of a resource directory.', 'http_code' => 404, 'description' => 'The account is not an Alibaba Cloud account or a member of a resource directory.'], ['code' => 'ResourceShareStatusMismatchAction', 'message' => 'The status of resource sharing does not allow the specified operation.', 'http_code' => 409, 'description' => 'The status of resource sharing does not allow the specified operation.'], ['code' => 'SecureMobileNotExists.InheritFrom', 'message' => 'The inherited secure mobile is missing.', 'http_code' => 409, 'description' => 'The inherited secure mobile is missing.'], ['code' => 'SecurityMobileOverLimit', 'message' => 'The number of secure phone numbers exceeds the limit.', 'http_code' => 409, 'description' => 'The number of secure phone numbers exceeds the limit.'], ['code' => 'SendValidateCodeExceedsLimitForAccount', 'message' => 'For the same account, the number of verification codes sent exceeds the limit.', 'http_code' => 409, 'description' => 'The number of verification codes that are sent per day by using the account exceeds the upper limit.'], ['code' => 'ShareWithYourself', 'message' => 'You cannot share with yourself.', 'http_code' => 409, 'description' => 'You cannot share with yourself.'], ['code' => 'SmsSendingExceedsLimitForMember', 'message' => 'For the same member, the number of SMS messages sent exceeds the limit.', 'http_code' => 409, 'description' => 'The number of text messages sent to the member exceeds the upper limit.'], ['code' => 'SmsSendingExceedsLimitForMobile', 'message' => 'For the same mobile number, the number of SMS messages sent exceeds the limit.', 'http_code' => 409, 'description' => 'The number of text messages sent to the mobile phone number exceeds the upper limit.'], ['code' => 'SmsVerificationFailed', 'message' => 'The verification code is incorrect or has expired.', 'http_code' => 409, 'description' => 'The verification code is incorrect or has expired.'], ['code' => 'SpBlock.DeleteAccount', 'message' => 'The deletion failed. There are prepaid products under the current account. Please release them and try again.', 'http_code' => 409, 'description' => 'Delete failed. The current account has subscription resources. Release the resources and try again.'], ['code' => 'SpecifiedResourceDirectoryNotExists', 'message' => 'The specified resource directory does not exist. You must specify a valid resource directory.', 'http_code' => 404, 'description' => 'The specified resource directory does not exist. Specify a valid resource directory.'], ['code' => 'SubAndMasterUidNotSameCompanyNameError', 'message' => 'Trusteeship is only available for the UIDs from same entity. The entity names of the current accounts are invalid or different.', 'http_code' => 409, 'description' => 'A finance trusteeship cannot be established between the management account and member because no enterprise names are specified for the management account and member or the enterprise names of the management account and member are inconsistent. A finance trusteeship can be established only between accounts that belong to the same enterprise.'], ['code' => 'Throttling.EnableControlPolicy', 'message' => 'The operation is too frequent. Please try again later.', 'http_code' => 409, 'description' => 'The operation is frequently performed. Try again later.'], ['code' => 'Throttling.EnableControlPolicy', 'message' => 'The enable operation is too frequent. Please try again in %s minute(s).', 'http_code' => 409, 'description' => 'The operation is frequently performed. Wait %s minutes and try again.'], ['code' => 'UnknownError.Account', 'message' => 'The deletion failed. An unknown error occurred. Please try again later.', 'http_code' => 409, 'description' => 'Delete failed. An unknown error occurred. Try again later.'], ['code' => 'UnknownFinancialError', 'message' => 'An unknown financial error occurred.', 'http_code' => 409, 'description' => 'An unknown financial error occurred.'], ['code' => 'UnsupportedOperation.RemoveAdminSelf', 'message' => 'If the logon account is not an Alibaba Cloud account or not granted administrator permissions, you cannot remove permissions for the account.', 'http_code' => 409, 'description' => 'You cannot remove permissions for the current logon account because the account is not an Alibaba Cloud account or does not have administrator permissions.'], ['code' => 'UserOwnFundAccountPayForOthers', 'message' => 'If the account has been used as the main payment account, it is not allowed to set up payment by others.', 'http_code' => 409, 'description' => 'If the account has been used as the main payment account, it is not allowed to set up payment by others.'], ['code' => 'NotSupport.DetachLastResourceControlPolicy', 'message' => 'It is not supported to detach the last resource control policy.', 'http_code' => 400, 'description' => ''], ['code' => 'Throttling.EnableResourceControlPolicy', 'message' => 'The operation is too frequent. Please try again later.', 'http_code' => 409, 'description' => ''], ['code' => 'InvalidResourceControlPolicyEnablementStatus', 'message' => 'The resource control policy enablement status is not valid to perform this operation.', 'http_code' => 409, 'description' => ''], ['code' => 'NotSupport.DetachSystemResourceControlPolicy', 'message' => 'It is not supported to detach system resource control policy.', 'http_code' => 400, 'description' => ''], ['code' => 'ResourceControlPolicyNotEnabled', 'message' => 'Resource control policy has not been enabled.', 'http_code' => 409, 'description' => ''], ['code' => 'ResourceControlPolicyNotDisabled', 'message' => 'You should disable Resource Control Policy before performing this operation.', 'http_code' => 409, 'description' => ''], ['code' => 'DeleteConflict.SystemResourceControlPolicy', 'message' => 'The system resource control policy cannot be deleted.', 'http_code' => 409, 'description' => ''], ['code' => 'LimitExceeded.ResourceControlPolicyAttachment', 'message' => 'The resource control policy attachment number exceeds the limit.', 'http_code' => 409, 'description' => ''], ['code' => 'LimitExceeded.ResourceControlPolicy', 'message' => 'The resource control policy number exceeds the limit.', 'http_code' => 409, 'description' => ''], ['code' => 'EntityAlreadyExists.ResourceControlPolicyAttachment', 'message' => 'The resource control policy attachment already exists.', 'http_code' => 409, 'description' => ''], ['code' => 'EntityAlreadyExists.ResourceControlPolicy', 'message' => 'The resource control policy already exists.', 'http_code' => 409, 'description' => ''], ['code' => 'EntityNotExists.ResourceControlPolicyAttachment', 'message' => 'The specified resource control policy attachment does not exist.', 'http_code' => 404, 'description' => ''], ['code' => 'EntityNotExists.ResourceControlPolicy', 'message' => 'The specified resource control policy does not exist.', 'http_code' => 404, 'description' => ''], ['code' => 'Throttling.EnableResourceControlPolicy', 'message' => 'The enable operation is too frequent. Please try again in %s minute(s).', 'http_code' => 409, 'description' => ''], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckAccountDelete'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateControlPolicy'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetResourceDirectory'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHandshake'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindSecureMobilePhone'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachControlPolicy'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AcceptHandshake'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendPhoneVerificationForMessageContact'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListControlPolicies'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteFolder'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableControlPolicy'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDelegatedAdministrators'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddMessageContact'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccountDeletionStatus'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHandshakesForResourceDirectory'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetFolder'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetControlPolicy'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelHandshake'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DestroyResourceDirectory'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisassociateMembers'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAccountsForParent'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendEmailVerificationForMessageContact'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InviteAccountToResourceDirectory'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAncestors'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteControlPolicy'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagKeys'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateMessageContact'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetMemberDisplayNameSyncStatus'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableControlPolicy'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccountDeletionCheckResult'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssociateMembers'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableResourceDirectory'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetControlPolicyEnablementStatus'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteMessageContact'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMessageContact'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListAccounts'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagValues'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PrecheckForConsolidatedBillingAccount'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RetryChangeAccountEmail'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelMessageContactUpdate'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTargetAttachmentsForControlPolicy'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdatePayerForAccount'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListControlPolicyAttachmentsForTarget'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTrustedServiceStatus'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateAccount'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ChangeAccountEmail'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetMemberDeletionPermission'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHandshakesForAccount'], ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendVerificationCodeForEnableRD'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMessageContactDeletionStatus'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListMessageContactVerifications'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateControlPolicy'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteAccount'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateResourceAccount'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeclineHandshake'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPayerForAccount'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListFoldersForParent'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelChangeAccountEmail'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccount'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListMessageContacts'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeregisterDelegatedAdministrator'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterDelegatedAdministrator'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendVerificationCodeForBindSecureMobilePhone'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachControlPolicy'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveAccount'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDelegatedServicesForAccount'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateFolder'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveCloudAccount'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateFolder'], ], ], 'ram' => [ 'productCode' => 'ResourceManager', 'productName' => 'Resource Management', 'ramCodes' => ['resourcecenter', 'resourcemanager', 'tag', 'resourcesharing'], 'ramLevel' => 'RESOURCE', 'ramConditions' => [ [ 'name' => 'resourcesharing:ResourceArn', 'schema' => ['type' => 'String', 'description' => 'The resource ARN. Example: acs:vpc:cn-shanghai:131993166204****:vswitch/vsw-7xv4sfwo86u2etl64****.'], ], [ 'name' => 'resourcesharing:RequestedAllowExternalTargets', 'schema' => [ 'type' => 'Boolean', 'description' => 'Whether resources in the resource share can be shared with accounts outside the resource directory. Example: false.', 'enums' => ['true', 'false'], ], ], [ 'name' => 'ram:ServiceName', 'schema' => ['type' => 'String', 'description' => 'Specifies the trusted service principal for service-linked role. Example: actiontrail.aliyuncs.com'], ], [ 'name' => 'resourcesharing:Target', 'schema' => ['type' => 'String', 'description' => 'Example values include: Resource Directory ID, the RDPath of a folder, or the RDPath of an account (within the resource directory), or the account ID (for accounts outside of the resource directory).'], ], [ 'name' => 'resourcesharing:RequestedResourceType', 'schema' => ['type' => 'String', 'description' => 'The resource type. Example: VSwitch.'], ], ], 'ramActions' => [ [ 'apiName' => 'DetachControlPolicy', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:DetachControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'ListDelegatedAdministrators', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListDelegatedAdministrators', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DisassociateMembers', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:DisassociateMembers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetAccountDeletionCheckResult', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetAccountDeletionCheckResult', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'ListHandshakesForAccount', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListHandshakesForAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetAccount', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'BindSecureMobilePhone', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:BindSecureMobilePhone', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'MoveAccount', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:MoveAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'EnableControlPolicy', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:EnableControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ResourceDirectory', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/*'], ], ], ], [ 'apiName' => 'CancelChangeAccountEmail', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:CancelChangeAccountEmail', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CheckAccountDelete', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:CheckAccountDelete', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'CreateControlPolicy', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:CreateControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListTagKeys', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListTagKeys', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListFoldersForParent', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListFoldersForParent', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'SendVerificationCodeForBindSecureMobilePhone', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'resourcemanager:SendVerificationCodeForBindSecureMobilePhone', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteControlPolicy', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'resourcemanager:DeleteControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ], ], ], [ 'apiName' => 'AssociateMembers', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:AssociateMembers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetAccountDeletionStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetAccountDeletionStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'RetryChangeAccountEmail', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:RetryChangeAccountEmail', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'PrecheckForConsolidatedBillingAccount', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:PrecheckForConsolidatedBillingAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'ListDelegatedServicesForAccount', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListDelegatedServicesForAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'AddMessageContact', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:AddMessageContact', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/*'], ], ], ], [ 'apiName' => 'GetMessageContact', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetMessageContact', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ], ], ], [ 'apiName' => 'TagResources', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:TagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UntagResources', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:UntagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateControlPolicy', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:UpdateControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ], ], ], [ 'apiName' => 'GetFolder', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetFolder', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'DestroyResourceDirectory', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'resourcemanager:DestroyResourceDirectory', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetResourceDirectory', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetResourceDirectory', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeregisterDelegatedAdministrator', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'resourcemanager:DeregisterDelegatedAdministrator', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'EnableResourceDirectory', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:EnableResourceDirectory', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListAccounts', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListAccounts', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/*'], ], ], ], [ 'apiName' => 'ListTargetAttachmentsForControlPolicy', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListTargetAttachmentsForControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetControlPolicy', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ], ], ], [ 'apiName' => 'UpdateAccount', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:UpdateAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'CreateFolder', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:CreateFolder', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'AttachControlPolicy', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:AttachControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ], ], ], [ 'apiName' => 'RemoveCloudAccount', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'resourcemanager:RemoveCloudAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'GetHandshake', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetHandshake', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Handshake', 'arn' => 'acs:resourcemanager::{#accountId}:handshake/{#HandshakeId}'], ], ], ], [ 'apiName' => 'RegisterDelegatedAdministrator', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:RegisterDelegatedAdministrator', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'DelegatedAdministrator', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'ListHandshakesForResourceDirectory', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListHandshakesForResourceDirectory', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Handshake', 'arn' => 'acs:resourcemanager::{#accountId}:handshake/*'], ], ], ], [ 'apiName' => 'SendVerificationCodeForEnableRD', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'resourcemanager:SendVerificationCodeForEnableRD', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CancelMessageContactUpdate', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:CancelMessageContactUpdate', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ], ], ], [ 'apiName' => 'ListAccountsForParent', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListAccountsForParent', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'ListControlPolicies', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListControlPolicies', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SendPhoneVerificationForMessageContact', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'resourcemanager:SendPhoneVerificationForMessageContact', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ], ], ], [ 'apiName' => 'ListAncestors', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListAncestors', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetMemberDeletionPermission', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:SetMemberDeletionPermission', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SendEmailVerificationForMessageContact', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'resourcemanager:SendEmailVerificationForMessageContact', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ], ], ], [ 'apiName' => 'GetControlPolicyEnablementStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetControlPolicyEnablementStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ResourceDirectory', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/*'], ], ], ], [ 'apiName' => 'ListAuthorizedFolders', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListAuthorizedFolders', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CancelHandshake', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:CancelHandshake', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Handshake', 'arn' => 'acs:resourcemanager::{#accountId}:handshake/{#HandshakeId}'], ], ], ], [ 'apiName' => 'ListMessageContactVerifications', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListMessageContactVerifications', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ], ], ], [ 'apiName' => 'InviteAccountToResourceDirectory', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:InviteAccountToResourceDirectory', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Handshake', 'arn' => 'acs:resourcemanager:*:{#accountId}:handshake/*'], ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager:*:{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'UpdateFolder', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:UpdateFolder', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'DeclineHandshake', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:DeclineHandshake', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Handshake', 'arn' => 'acs:resourcemanager::{#accountId}:handshake/{#HandshakeId}'], ], ], ], [ 'apiName' => 'GetMessageContactDeletionStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetMessageContactDeletionStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ], ], ], [ 'apiName' => 'AcceptHandshake', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:AcceptHandshake', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Handshake', 'arn' => 'acs:resourcemanager::{#accountId}:handshake/{#HandshakeId}'], ], ], ], [ 'apiName' => 'ListTrustedServiceStatus', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListTrustedServiceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetMemberDisplayNameSyncStatus', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:SetMemberDisplayNameSyncStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateResourceAccount', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'resourcemanager:CreateResourceAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager:*:{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'ListTagResources', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListTagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteMessageContact', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'resourcemanager:DeleteMessageContact', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ], ], ], [ 'apiName' => 'UpdateMessageContact', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:UpdateMessageContact', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ], ], ], [ 'apiName' => 'ListAuthorizedAccounts', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListAuthorizedAccounts', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListTagValues', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListTagValues', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DisableControlPolicy', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:DisableControlPolicy', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'ResourceDirectory', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/*'], ], ], ], [ 'apiName' => 'GetPayerForAccount', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'resourcemanager:GetPayerForAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'ChangeAccountEmail', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:ChangeAccountEmail', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteAccount', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'resourcemanager:DeleteAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'ListControlPolicyAttachmentsForTarget', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListControlPolicyAttachmentsForTarget', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteFolder', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'resourcemanager:DeleteFolder', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'UpdatePayerForAccount', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'resourcemanager:UpdatePayerForAccount', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ], ], ], [ 'apiName' => 'ListMessageContacts', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'resourcemanager:ListMessageContacts', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ResourceManager', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/*'], ], ], ], ], 'resourceTypes' => [ ['validationType' => 'always', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/{#PolicyId}'], ['validationType' => 'always', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:account/*'], ['validationType' => 'always', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/{#MessageContactId}'], ['validationType' => 'always', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager:*:{#accountId}:folder/{#FolderId}'], ['validationType' => 'always', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager:*:{#accountId}:account/{#AccountId}'], ['validationType' => 'always', 'resourceType' => 'ResourceDirectory', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/*'], ['validationType' => 'always', 'resourceType' => 'ControlPolicy', 'arn' => 'acs:resourcemanager::{#accountId}:policy/controlpolicy/*'], ['validationType' => 'always', 'resourceType' => 'MessageContact', 'arn' => 'acs:resourcemanager:*:{#accountId}:messagecontact/*'], ['validationType' => 'always', 'resourceType' => 'Handshake', 'arn' => 'acs:resourcemanager::{#accountId}:handshake/{#HandshakeId}'], ['validationType' => 'always', 'resourceType' => 'DelegatedAdministrator', 'arn' => 'acs:resourcemanager::{#accountId}:account/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'resourceType' => 'Handshake', 'arn' => 'acs:resourcemanager::{#accountId}:handshake/*'], ['validationType' => 'always', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager::{#accountId}:folder/*'], ['validationType' => 'always', 'resourceType' => 'Handshake', 'arn' => 'acs:resourcemanager:*:{#accountId}:handshake/*'], ['validationType' => 'always', 'resourceType' => 'Folder', 'arn' => 'acs:resourcemanager:*:{#accountId}:folder/{#ResourceDirectoryPath}'], ['validationType' => 'always', 'resourceType' => 'Account', 'arn' => 'acs:resourcemanager::{#accountId}:*'], ], ], ];