summaryrefslogtreecommitdiff
path: root/data/en_us/cloudsso/2021-05-15/api-docs.php
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/cloudsso/2021-05-15/api-docs.php
downloadacs-metadata-full-main.tar.gz
acs-metadata-full-main.zip
Diffstat (limited to 'data/en_us/cloudsso/2021-05-15/api-docs.php')
-rw-r--r--data/en_us/cloudsso/2021-05-15/api-docs.php11060
1 files changed, 11060 insertions, 0 deletions
diff --git a/data/en_us/cloudsso/2021-05-15/api-docs.php b/data/en_us/cloudsso/2021-05-15/api-docs.php
new file mode 100644
index 0000000..d99356e
--- /dev/null
+++ b/data/en_us/cloudsso/2021-05-15/api-docs.php
@@ -0,0 +1,11060 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'cloudsso',
+ 'version' => '2021-05-15',
+ ],
+ 'directories' => [
+ [
+ 'id' => 96221,
+ 'title' => 'CloudSSO',
+ 'type' => 'directory',
+ 'children' => [
+ 'EnableService',
+ 'DisableService',
+ 'GetServiceStatus',
+ 'CreateDirectory',
+ 'ListDirectories',
+ 'GetDirectory',
+ 'GetDirectoryStatistics',
+ 'UpdateDirectory',
+ 'DeleteDirectory',
+ 'EnableDelegateAccount',
+ 'DisableDelegateAccount',
+ ],
+ ],
+ [
+ 'id' => 96231,
+ 'title' => 'Users',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateUser',
+ 'ListUsers',
+ 'GetUser',
+ 'UpdateUser',
+ 'UpdateUserStatus',
+ 'DeleteUser',
+ 'ResetUserPassword',
+ 'ListMFADevicesForUser',
+ 'DeleteMFADeviceForUser',
+ 'UpdateMFAAuthenticationSettings',
+ 'GetMFAAuthenticationSettings',
+ 'UpdateUserMFAAuthenticationSettings',
+ 'GetUserMFAAuthenticationSettings',
+ 'GetMFAAuthenticationSettingInfo',
+ 'SetLoginPreference',
+ 'GetLoginPreference',
+ 'SetPasswordPolicy',
+ 'GetPasswordPolicy',
+ 'GetUserId',
+ ],
+ ],
+ [
+ 'id' => 96243,
+ 'title' => 'Groups',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateGroup',
+ 'ListGroups',
+ 'GetGroup',
+ 'UpdateGroup',
+ 'DeleteGroup',
+ 'AddUserToGroup',
+ 'RemoveUserFromGroup',
+ 'ListJoinedGroupsForUser',
+ 'ListGroupMembers',
+ ],
+ ],
+ [
+ 'id' => 96261,
+ 'title' => 'SCIM synchronization',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSCIMServerCredential',
+ 'ListSCIMServerCredentials',
+ 'UpdateSCIMServerCredentialStatus',
+ 'DeleteSCIMServerCredential',
+ 'SetSCIMSynchronizationStatus',
+ 'GetSCIMSynchronizationStatus',
+ ],
+ ],
+ [
+ 'id' => 96253,
+ 'title' => 'SSO logon',
+ 'type' => 'directory',
+ 'children' => [
+ 'GetDirectorySAMLServiceProviderInfo',
+ 'SetExternalSAMLIdentityProvider',
+ 'GetExternalSAMLIdentityProvider',
+ 'ClearExternalSAMLIdentityProvider',
+ 'AddExternalSAMLIdPCertificate',
+ 'ListExternalSAMLIdPCertificates',
+ 'RemoveExternalSAMLIdPCertificate',
+ ],
+ ],
+ [
+ 'id' => 96268,
+ 'title' => 'Access configurations',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateAccessConfiguration',
+ 'ListAccessConfigurations',
+ 'GetAccessConfiguration',
+ 'UpdateAccessConfiguration',
+ 'DeleteAccessConfiguration',
+ 'AddPermissionPolicyToAccessConfiguration',
+ 'RemovePermissionPolicyFromAccessConfiguration',
+ 'UpdateInlinePolicyForAccessConfiguration',
+ 'ListPermissionPoliciesInAccessConfiguration',
+ ],
+ ],
+ [
+ 'id' => 96278,
+ 'title' => 'Multi-account authorization',
+ 'type' => 'directory',
+ 'children' => [
+ 'ProvisionAccessConfiguration',
+ 'DeprovisionAccessConfiguration',
+ 'ListAccessConfigurationProvisionings',
+ 'CreateAccessAssignment',
+ 'ListAccessAssignments',
+ 'DeleteAccessAssignment',
+ 'ListTasks',
+ 'GetTask',
+ 'GetTaskStatus',
+ ],
+ ],
+ [
+ 'id' => 187283,
+ 'title' => 'Manage RAM user synchronization',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateUserProvisioning',
+ 'GetUserProvisioning',
+ 'ListUserProvisionings',
+ 'UpdateUserProvisioning',
+ 'DeleteUserProvisioning',
+ 'UpdateUserProvisioningConfiguration',
+ 'GetUserProvisioningConfiguration',
+ 'ListUserProvisioningEvents',
+ 'GetUserProvisioningEvent',
+ 'DeleteUserProvisioningEvent',
+ 'RetryUserProvisioningEvent',
+ 'GetUserProvisioningStatistics',
+ 'GetUserProvisioningRdAccountStatistics',
+ ],
+ ],
+ [
+ 'id' => 180902,
+ 'title' => 'Others (not maintained)',
+ 'type' => 'directory',
+ 'children' => [
+ 'SetMFAAuthenticationStatus',
+ 'GetMFAAuthenticationStatus',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'EnableService' => [
+ 'summary' => 'Enables CloudSSO.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '3D57EAD2-8723-1F26-B69C-F8707D8B565D',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3D57EAD2-8723-1F26-B69C-F8707D8B565D\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableServiceResponse>\\n <RequestId>3D57EAD2-8723-1F26-B69C-F8707D8B565D</RequestId>\\n</EnableServiceResponse>","errorExample":""}]',
+ 'title' => 'EnableService',
+ 'description' => 'You can call this operation only if your account belongs to the management account that is used to enable a resource directory and has the permissions to enable CloudSSO. For more information, see [Enable CloudSSO](~~262819~~).'."\n"
+ ."\n"
+ .'If you call this operation, you agree to the [Alibaba Cloud International Website Product Terms of Service](https://www.alibabacloud.com/help/doc-detail/42416.htm).'."\n",
+ ],
+ 'DisableService' => [
+ 'summary' => 'Disables CloudSSO.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '3257EAD2-8723-1F26-B69C-F8707D8B565D',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3257EAD2-8723-1F26-B69C-F8707D8B565D\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableServiceResponse>\\n <RequestId>3257EAD2-8723-1F26-B69C-F8707D8B565D</RequestId>\\n</DisableServiceResponse>","errorExample":""}]',
+ 'title' => 'DisableService',
+ 'description' => 'If your CloudSSO has no directory, you can disable CloudSSO based on your business requirements. After you disable CloudSSO, you can enable it at any time.'."\n",
+ ],
+ 'GetServiceStatus' => [
+ 'summary' => 'Queries the status of CloudSSO.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'autoTest' => true,
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'ADADC31D-90EE-5459-99B0-D83DF07769A3',
+ ],
+ 'ServiceStatus' => [
+ 'description' => 'The status information of CloudSSO.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'Indicates whether CloudSSO is enabled. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'AccountId' => [
+ 'description' => 'The ID of your Alibaba Cloud account.'."\n",
+ 'type' => 'string',
+ 'example' => '151266687691****',
+ ],
+ 'PrerequisiteCheckResult' => [
+ 'description' => 'Indicates whether you have the permissions to enable CloudSSO. Valid values:'."\n"
+ ."\n"
+ .'* Success: You have the permissions to enable CloudSSO.'."\n"
+ .'* Failed: You do not have the permissions to enable CloudSSO.'."\n"
+ ."\n"
+ .'> The value of this parameter is returned only if the value of `Status` is `Disabled`.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'RegionsInUse' => [
+ 'description' => 'The region IDs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The region ID. Valid values:'."\n"
+ ."\n"
+ .'* If a directory is created, the value of this parameter is the region ID of the directory.'."\n"
+ .'* If no directory is created, this parameter is empty.'."\n"
+ ."\n"
+ .'> The value of this parameter is returned only if the value of `Status` is `Enabled`.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ADADC31D-90EE-5459-99B0-D83DF07769A3\\",\\n \\"ServiceStatus\\": {\\n \\"Status\\": \\"Enabled\\",\\n \\"AccountId\\": \\"151266687691****\\",\\n \\"PrerequisiteCheckResult\\": \\"Success\\",\\n \\"RegionsInUse\\": [\\n \\"cn-shanghai\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetServiceStatusResponse>\\n <RequestId>ADADC31D-90EE-5459-99B0-D83DF07769A3</RequestId>\\n <ServiceStatus>\\n <Status>Enabled</Status>\\n <AccountId>151266687691****</AccountId>\\n <RegionsInUse>cn-shanghai</RegionsInUse>\\n </ServiceStatus>\\n</GetServiceStatusResponse>","errorExample":""}]',
+ 'title' => 'GetServiceStatus',
+ ],
+ 'CreateDirectory' => [
+ 'summary' => 'Creates a directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the directory. The name must be globally unique.'."\n"
+ ."\n"
+ .'The name can contain lowercase letters, digits, and hyphens (-). The name cannot start or end with a hyphen (-) and cannot contain two consecutive hyphens (-). The name cannot start with `d-`.'."\n"
+ ."\n"
+ .'The name must be 2 to 64 characters in length.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the value of this parameter is automatically generated by the system.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'example',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'ADADC31D-90EE-5459-99B0-D83DF07769A3',
+ ],
+ 'Directory' => [
+ 'description' => 'The information about the directory.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the directory was created. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-10-10T04:04:04Z',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the directory was modified. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-10-10T04:04:04Z',
+ ],
+ 'Region' => [
+ 'description' => 'The region ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'DirectoryName' => [
+ 'description' => 'The name of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'example',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ADADC31D-90EE-5459-99B0-D83DF07769A3\\",\\n \\"Directory\\": {\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"CreateTime\\": \\"2021-10-10T04:04:04Z\\",\\n \\"UpdateTime\\": \\"2021-10-10T04:04:04Z\\",\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DirectoryName\\": \\"example\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateDirectoryResponse>\\n <RequestId>ADADC31D-90EE-5459-99B0-D83DF07769A3</RequestId>\\n <Directory>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <CreateTime>2021-10-10T04:04:04Z</CreateTime>\\n <UpdateTime>2021-10-10T04:04:04Z</UpdateTime>\\n <Region>cn-shanghai</Region>\\n <DirectoryName>example</DirectoryName>\\n </Directory>\\n</CreateDirectoryResponse>","errorExample":""}]',
+ 'title' => 'CreateDirectory',
+ 'description' => '### [](#)Operation description'."\n"
+ ."\n"
+ .'A directory is a CloudSSO instance. Before you can use CloudSSO, you must create a directory. The directory is used to manage all CloudSSO resources.'."\n"
+ ."\n"
+ .'To create a directory, you must select a region. Alibaba Cloud stores data in the directory only in the region that you select. However, you can deploy Alibaba Cloud resources including Elastic Compute Service (ECS) instances and ApsaraDB RDS instances in other regions. You can also use your cloud account for logons and access the Alibaba Cloud resources in other regions. You can select a region to create a directory based on your security compliance requirements and the geographic location of specific users. If you do not have strict security compliance requirements, we recommend that you select a region that is the closest to the geographical location of the specific users. This way, access to cloud resources is accelerated. You can create the CloudSSO directory in the China (Shanghai), China (Hong Kong), US (Silicon Valley), or Germany (Frankfurt) region.'."\n"
+ ."\n"
+ .'This topic provides an example on how to create a directory named `example` in the China (Shanghai) region.'."\n"
+ ."\n"
+ .'### [](#)Limits'."\n"
+ ."\n"
+ .'* You can create only one directory for a management account.'."\n"
+ .'* If you want to change the region of a directory, you must delete the directory and then create a directory in a different region.'."\n",
+ ],
+ 'ListDirectories' => [
+ 'summary' => 'Queries directories.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '33222',
+ 'abilityTreeNodes' => [
+ 'FEATUREramWYOP0E',
+ ],
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Directories' => [
+ 'description' => 'The directories.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The directory.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the directory was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-30T08:35:26Z',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the directory was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-10-25T09:13:24Z',
+ ],
+ 'Region' => [
+ 'description' => 'The region ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'DirectoryName' => [
+ 'description' => 'The name of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'new-example',
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '9A504392-F06D-5029-AB64-6654CB9F1DC1',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The number of directories.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Directories\\": [\\n {\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"CreateTime\\": \\"2021-06-30T08:35:26Z\\",\\n \\"UpdateTime\\": \\"2021-10-25T09:13:24Z\\",\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DirectoryName\\": \\"new-example\\"\\n }\\n ],\\n \\"RequestId\\": \\"9A504392-F06D-5029-AB64-6654CB9F1DC1\\",\\n \\"TotalCounts\\": 1\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ListDirectoriesResponse>\\r\\n\\t<Directories>\\r\\n\\t\\t<DirectoryId>d-00fc2p61****</DirectoryId>\\r\\n\\t\\t<CreateTime>2021-06-30T08:35:26Z</CreateTime>\\r\\n\\t\\t<UpdateTime>2021-10-25T09:13:24Z</UpdateTime>\\r\\n\\t\\t<Region>cn-shanghai</Region>\\r\\n\\t\\t<DirectoryName>new-example</DirectoryName>\\r\\n\\t</Directories>\\r\\n\\t<RequestId>9A504392-F06D-5029-AB64-6654CB9F1DC1</RequestId>\\r\\n\\t<TotalCounts>1</TotalCounts>\\r\\n</ListDirectoriesResponse>\\t\\r\\n","errorExample":""}]',
+ 'title' => 'ListDirectories',
+ 'description' => 'This topic provides an example on how to query the directories within your Alibaba Cloud account. The returned result shows that only one directory with the ID `d-00fc2p61****` is created within your Alibaba Cloud account.'."\n",
+ ],
+ 'GetDirectory' => [
+ 'summary' => 'Queries information about a directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'AA6A9E4B-8A61-59E1-AA87-F61CA18258A3',
+ ],
+ 'Directory' => [
+ 'description' => 'The information about the directory.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the directory was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-30T08:35:26Z',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the directory was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-10-25T07:18:46Z',
+ ],
+ 'Region' => [
+ 'description' => 'The region ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'DirectoryName' => [
+ 'description' => 'The name of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'example',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AA6A9E4B-8A61-59E1-AA87-F61CA18258A3\\",\\n \\"Directory\\": {\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"CreateTime\\": \\"2021-06-30T08:35:26Z\\",\\n \\"UpdateTime\\": \\"2021-10-25T07:18:46Z\\",\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DirectoryName\\": \\"example\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDirectoryResponse>\\n <RequestId>AA6A9E4B-8A61-59E1-AA87-F61CA18258A3</RequestId>\\n <Directory>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <CreateTime>2021-06-30T08:35:26Z</CreateTime>\\n <UpdateTime>2021-10-25T07:18:46Z</UpdateTime>\\n <Region>cn-shanghai</Region>\\n <DirectoryName>example</DirectoryName>\\n </Directory>\\n</GetDirectoryResponse>","errorExample":""}]',
+ 'title' => 'GetDirectory',
+ 'description' => 'This topic provides an example on how to query information about the directory whose ID is `d-00fc2p61****`.'."\n",
+ ],
+ 'GetDirectoryStatistics' => [
+ 'summary' => 'Queries the statistics of a directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '7B7228B0-A435-5D27-A6B2-ED3571F0654B',
+ ],
+ 'DirectoryStatistics' => [
+ 'description' => 'The statistics of the directory.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UserCount' => [
+ 'description' => 'The number of users.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '16',
+ ],
+ 'GroupCount' => [
+ 'description' => 'The number of user groups.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '4',
+ ],
+ 'UserQuota' => [
+ 'description' => 'The quota for users.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1000',
+ ],
+ 'GroupQuota' => [
+ 'description' => 'The quota for user groups.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '500',
+ ],
+ 'AccessConfigurationQuota' => [
+ 'description' => 'The quota for access configurations.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1000',
+ ],
+ 'AccessAssignmentCount' => [
+ 'description' => 'The number of access permissions that are assigned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'SCIMServerCredentialCount' => [
+ 'description' => 'The number of SCIM credentials.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'SSOEnabled' => [
+ 'description' => 'Indicates whether SSO is enabled. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Region' => [
+ 'description' => 'The region ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'AccessConfigurationCount' => [
+ 'description' => 'The number of access configurations.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '6',
+ ],
+ 'DirectoryName' => [
+ 'description' => 'The name of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'new-example',
+ ],
+ 'InProgressTaskCount' => [
+ 'description' => 'The number of tasks that are being performed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'SCIMSyncEnabled' => [
+ 'description' => 'Indicates whether SCIM synchronization is enabled. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'SystemPolicyPerAccessConfigurationQuota' => [
+ 'description' => 'The quota for system policies that can be configured for an access configuration.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'InlinePolicyPerAccessConfigurationQuota' => [
+ 'description' => 'The number of inline policies that can be configured for an access configuration.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7B7228B0-A435-5D27-A6B2-ED3571F0654B\\",\\n \\"DirectoryStatistics\\": {\\n \\"UserCount\\": 16,\\n \\"GroupCount\\": 4,\\n \\"UserQuota\\": 1000,\\n \\"GroupQuota\\": 500,\\n \\"AccessConfigurationQuota\\": 1000,\\n \\"AccessAssignmentCount\\": 5,\\n \\"SCIMServerCredentialCount\\": 2,\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"SSOEnabled\\": false,\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"AccessConfigurationCount\\": 6,\\n \\"DirectoryName\\": \\"new-example\\",\\n \\"InProgressTaskCount\\": 0,\\n \\"SCIMSyncEnabled\\": true,\\n \\"SystemPolicyPerAccessConfigurationQuota\\": 20,\\n \\"InlinePolicyPerAccessConfigurationQuota\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDirectoryStatisticsResponse>\\n <RequestId>7B7228B0-A435-5D27-A6B2-ED3571F0654B</RequestId>\\n <DirectoryStatistics>\\n <UserCount>16</UserCount>\\n <GroupCount>4</GroupCount>\\n <UserQuota>1000</UserQuota>\\n <GroupQuota>500</GroupQuota>\\n <AccessConfigurationQuota>1000</AccessConfigurationQuota>\\n <SCIMSyncEnabled>true</SCIMSyncEnabled>\\n <AccessAssignmentCount>5</AccessAssignmentCount>\\n <SCIMServerCredentialCount>2</SCIMServerCredentialCount>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <SSOEnabled>false</SSOEnabled>\\n <Region>cn-shanghai</Region>\\n <AccessConfigurationCount>6</AccessConfigurationCount>\\n <DirectoryName>new-example</DirectoryName>\\n <InProgressTaskCount>0</InProgressTaskCount>\\n </DirectoryStatistics>\\n</GetDirectoryStatisticsResponse>","errorExample":""}]',
+ 'title' => 'GetDirectoryStatistics',
+ 'description' => 'This topic provides an example on how to query the statistics of a directory whose ID is `d-00fc2p61****`. The statistics include the number of users, quota for users, number of groups, quota for groups, number of access configurations, quota for access configurations, number of access permissions that are assigned, number of system policies that can be configured for an access configuration, number of System for Cross-domain Identity Management (SCIM) credentials, number of asynchronous tasks, status of single sign-on (SSO) logon, and status of SCIM synchronization.'."\n",
+ 'requestParamsDescription' => 'For more information about common request parameters, see [Common parameters](~~330093~~).'."\n",
+ ],
+ 'UpdateDirectory' => [
+ 'summary' => 'Changes the name of a directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'NewDirectoryName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new name of the directory. The name must be globally unique.'."\n"
+ ."\n"
+ .'The name can contain lowercase letters, digits, and hyphens (-). The name cannot start or end with a hyphen (-) and cannot contain two consecutive hyphens (-). If you want the new name of the directory to start with `d-`, you must set this parameter to the ID of the directory.'."\n"
+ ."\n"
+ .'The name must be 2 to 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'new-example',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B182C041-8C64-5F2F-A07B-FC67FAF89CF9',
+ ],
+ 'Directory' => [
+ 'description' => 'The information about the directory.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the directory was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-30T08:35:26Z',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the directory was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-10-25T09:13:24Z',
+ ],
+ 'Region' => [
+ 'description' => 'The region ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'DirectoryName' => [
+ 'description' => 'The name of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'new-example',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B182C041-8C64-5F2F-A07B-FC67FAF89CF9\\",\\n \\"Directory\\": {\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"CreateTime\\": \\"2021-06-30T08:35:26Z\\",\\n \\"UpdateTime\\": \\"2021-10-25T09:13:24Z\\",\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DirectoryName\\": \\"new-example\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<UpdateDirectoryResponse>\\n <RequestId>B182C041-8C64-5F2F-A07B-FC67FAF89CF9</RequestId>\\n <Directory>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <CreateTime>2021-06-30T08:35:26Z</CreateTime>\\n <UpdateTime>2021-10-25T09:13:24Z</UpdateTime>\\n <Region>cn-shanghai</Region>\\n <DirectoryName>new-example</DirectoryName>\\n </Directory>\\n</UpdateDirectoryResponse>","errorExample":""}]',
+ 'title' => 'UpdateDirectory',
+ 'description' => 'After you change the name of a directory, the URL that is used to log on to the CloudSSO user portal is changed. You must notify the CloudSSO users of the correct URL.'."\n"
+ ."\n"
+ .'This topic provides an example on how to change the name of a directory to `new-example`.'."\n",
+ ],
+ 'DeleteDirectory' => [
+ 'summary' => 'Deletes a directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B182C041-8C64-5F2F-A07B-FC67FAF89CF9',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B182C041-8C64-5F2F-A07B-FC67FAF89CF9\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteDirectoryResponse>\\n <RequestId>B182C041-8C64-5F2F-A07B-FC67FAF89CF9</RequestId>\\n</DeleteDirectoryResponse>","errorExample":""}]',
+ 'title' => 'DeleteDirectory',
+ 'description' => '### [](#)Prerequisites'."\n"
+ ."\n"
+ .'No resources are contained in the directory that you want to delete.'."\n"
+ ."\n"
+ .'* Access permissions on the accounts in your resource directory are removed from all users and groups. For more information, see [DeleteAccessAssignment](~~338350~~).'."\n"
+ .'* Users are deleted. For more information, see [DeleteUser](~~341671~~).'."\n"
+ .'* Groups are deleted. For more information, see [DeleteGroup](~~341821~~).'."\n"
+ .'* Access configurations are deleted. For more information, see [DeleteAccessConfiguration](~~336907~~).'."\n"
+ .'* System for Cross-domain Identity Management (SCIM) credentials are deleted. For more information, see [DeleteSCIMServerCredential](~~341842~~).'."\n"
+ .'* Single sign-on (SSO) logon configurations are deleted. For more information, see [ClearExternalSAMLIdentityProvider](~~341573~~).'."\n"
+ ."\n"
+ .'### [](#)Operation description'."\n"
+ ."\n"
+ .'This topic provides an example on how to delete a directory whose ID is `d-00fc2p61****`.'."\n",
+ ],
+ 'EnableDelegateAccount' => [
+ 'summary' => 'Enables the delegated administrator account of CloudSSO.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the delegated administrator account of CloudSSO.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '180658567986****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '768F908D-A66A-5A5D-816C-20C93CBBFEE3',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"768F908D-A66A-5A5D-816C-20C93CBBFEE3\\"\\n}","type":"json"}]',
+ 'title' => 'EnableDelegateAccount',
+ 'description' => 'You can use the management account of a resource directory to specify a member of the resource directory as the delegated administrator account of CloudSSO. For more information, see [Add a delegated administrator account](~~208117~~).'."\n"
+ ."\n"
+ .'After the delegated administrator account of CloudSSO is specified, you can call this operation to enable the delegated administrator account of CloudSSO to manage CloudSSO resources.'."\n",
+ ],
+ 'DisableDelegateAccount' => [
+ 'summary' => 'Disables the delegated administrator account of CloudSSO.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AccountId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the delegated administrator account of CloudSSO.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1200971777065046',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '12B3E332-DD16-515B-B695-39BA233AA172',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"12B3E332-DD16-515B-B695-39BA233AA172\\"\\n}","type":"json"}]',
+ 'title' => 'DisableDelegateAccount',
+ ],
+ 'CreateUser' => [
+ 'summary' => 'Creates a user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the user. The username must be unique within the directory. and cannot be changed.'."\n"
+ ."\n"
+ .'The username can contain digits, letters, and the following special characters: `@_-.`'."\n"
+ ."\n"
+ .'The username can be up to 64 characters in length.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Alice',
+ ],
+ ],
+ [
+ 'name' => 'FirstName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The first name of the user.'."\n"
+ ."\n"
+ .'The first name can be up to 64 characters in length.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Alice',
+ ],
+ ],
+ [
+ 'name' => 'LastName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The last name of the user.'."\n"
+ ."\n"
+ .'The last name can be up to 64 characters in length.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Lee',
+ ],
+ ],
+ [
+ 'name' => 'DisplayName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The display name of the user.'."\n"
+ ."\n"
+ .'The display name can be up to 256 characters in length.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Alice',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the user.'."\n"
+ ."\n"
+ .'The description can be up to 1,024 characters in length.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'This is a user.',
+ ],
+ ],
+ [
+ 'name' => 'Email',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The email address of the user. The email address must be unique within the directory.'."\n"
+ ."\n"
+ .'The email address can be up to 128 characters in length.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[email protected]',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the user. Valid values:'."\n"
+ ."\n"
+ .'* Enabled (default)'."\n"
+ .'* Disabled',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Enabled',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'Key' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'User' => [
+ 'description' => 'The information about the user.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the user. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled',
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'UserName' => [
+ 'description' => 'The username of the user.',
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'Email' => [
+ 'description' => 'The email address of the user.',
+ 'type' => 'string',
+ 'example' => '[email protected]',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the user.',
+ 'type' => 'string',
+ 'example' => 'This is a user.',
+ ],
+ 'UserId' => [
+ 'description' => 'The ID of the user.',
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'FirstName' => [
+ 'description' => 'The first name of the user.',
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the user was created. The value is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2021-10-26T03:03:42Z',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the user. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The user is manually created.'."\n"
+ .'* Synchronized: The user is synchronized from an external identity provider (IdP).',
+ 'type' => 'string',
+ 'example' => 'Manual',
+ ],
+ 'DisplayName' => [
+ 'description' => 'The display name of the user.',
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the user was modified. The value is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2021-10-26T03:03:42Z',
+ ],
+ 'LastName' => [
+ 'description' => 'The last name of the user.',
+ 'type' => 'string',
+ 'example' => 'Lee',
+ ],
+ 'Tags' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F6F90F3D-4502-5877-B80B-97476F6AE2CC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"User\\": {\\n \\"Status\\": \\"Enabled\\",\\n \\"UserName\\": \\"Alice\\",\\n \\"Email\\": \\"[email protected]\\",\\n \\"Description\\": \\"This is a user.\\",\\n \\"UserId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"FirstName\\": \\"Alice\\",\\n \\"CreateTime\\": \\"2021-10-26T03:03:42Z\\",\\n \\"ProvisionType\\": \\"Manual\\",\\n \\"DisplayName\\": \\"Alice\\",\\n \\"UpdateTime\\": \\"2021-10-26T03:03:42Z\\",\\n \\"LastName\\": \\"Lee\\",\\n \\"Tags\\": [\\n {\\n \\"Value\\": \\"\\",\\n \\"Key\\": \\"\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"F6F90F3D-4502-5877-B80B-97476F6AE2CC\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateUserResponse>\\n <User>\\n <Status>Enabled</Status>\\n <UserName>Alice</UserName>\\n <Email/>\\n <Description/>\\n <UserId>u-00q8wbq42wiltcrk****</UserId>\\n <FirstName/>\\n <CreateTime>2021-10-26T03:03:42Z</CreateTime>\\n <ProvisionType>Manual</ProvisionType>\\n <DisplayName/>\\n <UpdateTime>2021-10-26T03:03:42Z</UpdateTime>\\n <LastName/>\\n </User>\\n <RequestId>F6F90F3D-4502-5877-B80B-97476F6AE2CC</RequestId>\\n</CreateUserResponse>","errorExample":""}]',
+ 'title' => 'CreateUser',
+ 'description' => 'This topic provides an example on how to create a user named `Alice`.',
+ ],
+ 'ListUsers' => [
+ 'summary' => 'Queries users.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the user. The parameter can be used to filter users. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: The logon of the user is enabled.'."\n"
+ .'* Disabled: The logon of the user is disabled.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Enabled',
+ ],
+ ],
+ [
+ 'name' => 'ProvisionType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the user. The parameter can be used to filter users. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The user is manually created.'."\n"
+ .'* Synchronized: The user is synchronized from an external identity provider (IdP).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Manual',
+ ],
+ ],
+ [
+ 'name' => 'Filter',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The filter condition.'."\n"
+ ."\n"
+ .'You must specify the value in the `<Attribute> <Operator> <Value>` format. The value is not case-sensitive. You can set `<Attribute>` only to `UserName` and `Operator` only to `eq` or `sw`. The value eq indicates Equals, and the value sw indicates Start With.'."\n"
+ ."\n"
+ .'For example, if you set the Filter parameter to UserName sw test, the operation queries the users whose names start with test. If you set the Filter parameter to UserName eq testuser, the operation queries the user whose name is `testuser`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UserName sw test',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of the `NextToken` parameter.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return is larger than the value of the `MaxResults` parameter, the entries are truncated. The system returns entries based on the value of the `MaxResults` parameter, and does not return the excess entries. In this case, the value of the response parameter `IsTruncated` is `true`, and the `NextToken` parameter is returned. In the next call, you can use the value of the `NextToken` parameter and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of the `IsTruncated` parameter becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the `IsTruncated` parameter is `true`.'."\n",
+ 'type' => 'string',
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '734D9AAC-9A8E-5DF6-A633-ADE70FF2A9B1',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Users' => [
+ 'description' => 'The users.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The user.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the user. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: The logon of the user is enabled.'."\n"
+ .'* Disabled: The logon of the user is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'UserName' => [
+ 'description' => 'The name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => '[email protected]',
+ ],
+ 'Email' => [
+ 'description' => 'The email address of the user.'."\n",
+ 'type' => 'string',
+ 'example' => '[email protected]',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a user.',
+ ],
+ 'UserId' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00bikzkuzbb58luh****',
+ ],
+ 'FirstName' => [
+ 'description' => 'The first name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the user was created. The value is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-30T09:20:08Z',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the user. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The user is manually created.'."\n"
+ .'* Synchronized: The user is synchronized from an external IdP.'."\n",
+ 'type' => 'string',
+ 'example' => 'Synchronized',
+ ],
+ 'DisplayName' => [
+ 'description' => 'The display name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'AliceLee',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the user was modified. The value is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-30T09:20:08Z',
+ ],
+ 'LastName' => [
+ 'description' => 'The last name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'Lee',
+ ],
+ 'ExternalId' => [
+ 'description' => 'The identifier information about the user synchronized from an external IdP.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The identifier of the user that is synchronized from an external IdP.'."\n",
+ 'type' => 'string',
+ 'example' => 'c73******a5fdd5'."\n",
+ ],
+ 'Issuer' => [
+ 'description' => 'The method for external identity synchronization. Only System for Cross-domain Identity Management (SCIM) synchronization is supported.'."\n",
+ 'type' => 'string',
+ 'example' => 'SCIM',
+ ],
+ ],
+ ],
+ 'Tags' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****\\",\\n \\"RequestId\\": \\"734D9AAC-9A8E-5DF6-A633-ADE70FF2A9B1\\",\\n \\"MaxResults\\": 10,\\n \\"TotalCounts\\": 2,\\n \\"IsTruncated\\": false,\\n \\"Users\\": [\\n {\\n \\"Status\\": \\"Enabled\\",\\n \\"UserName\\": \\"[email protected]\\",\\n \\"Email\\": \\"[email protected]\\",\\n \\"Description\\": \\"This is a user.\\",\\n \\"UserId\\": \\"u-00bikzkuzbb58luh****\\",\\n \\"FirstName\\": \\"Alice\\",\\n \\"CreateTime\\": \\"2021-06-30T09:20:08Z\\",\\n \\"ProvisionType\\": \\"Synchronized\\",\\n \\"DisplayName\\": \\"AliceLee\\",\\n \\"UpdateTime\\": \\"2021-06-30T09:20:08Z\\",\\n \\"LastName\\": \\"Lee\\",\\n \\"ExternalId\\": {\\n \\"Id\\": \\"c73******a5fdd5\\\\n\\",\\n \\"Issuer\\": \\"SCIM\\"\\n },\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListUsersResponse>\\n\\t<RequestId>734D9AAC-9A8E-5DF6-A633-ADE70FF2A9B1</RequestId>\\n\\t<MaxResults>10</MaxResults>\\n\\t<TotalCounts>2</TotalCounts>\\n\\t<IsTruncated>false</IsTruncated>\\n\\t<Users>\\n\\t\\t<User>\\n\\t\\t\\t<Status>Enabled</Status>\\n\\t\\t\\t<UserName>[email protected]</UserName>\\n\\t\\t\\t<Email>[email protected]</Email>\\n\\t\\t\\t<Description>This is a user.</Description>\\n\\t\\t\\t<UserId>u-00bikzkuzbb58luh****</UserId>\\n\\t\\t\\t<FirstName>Alice</FirstName>\\n\\t\\t\\t<CreateTime>2021-06-30T09:20:08Z</CreateTime>\\n\\t\\t\\t<ProvisionType>Synchronized</ProvisionType>\\n\\t\\t\\t<DisplayName>AliceLee</DisplayName>\\n\\t\\t\\t<UpdateTime>2021-06-30T09:20:08Z</UpdateTime>\\n\\t\\t\\t<LastName>Lee</LastName>\\n\\t\\t</User>\\n\\t\\t<User>\\n\\t\\t\\t<Status>Enabled</Status>\\n\\t\\t\\t<UserName>user1</UserName>\\n\\t\\t\\t<Email></Email>\\n\\t\\t\\t<Description></Description>\\n\\t\\t\\t<UserId>u-00pkfll14gwm1mb9****</UserId>\\n\\t\\t\\t<FirstName></FirstName>\\n\\t\\t\\t<CreateTime>2021-07-12T03:11:38Z</CreateTime>\\n\\t\\t\\t<ProvisionType>Manual</ProvisionType>\\n\\t\\t\\t<DisplayName></DisplayName>\\n\\t\\t\\t<UpdateTime>2021-07-12T03:11:38Z</UpdateTime>\\n\\t\\t\\t<LastName></LastName>\\n\\t\\t</User>\\n\\t</Users>\\n</ListUsersResponse>\\t\\n","errorExample":""}]',
+ 'title' => 'ListUsers',
+ 'description' => 'This topic provides an example on how to query users in the `d-00fc2p61****` directory. The returned result shows that the directory contains two users. The user `AliceLee` is synchronized from an external identity provider (IdP). The user `user1` is manually created within CloudSSO.',
+ ],
+ 'GetUser' => [
+ 'summary' => 'Queries information about a user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'User' => [
+ 'description' => 'The information about the user.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the user. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: The logon of the user is enabled.'."\n"
+ .'* Disabled: The logon of the user is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'UserName' => [
+ 'description' => 'The name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'Email' => [
+ 'description' => 'The email address of the user.'."\n",
+ 'type' => 'string',
+ 'example' => '[email protected]',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a user.',
+ ],
+ 'UserId' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'FirstName' => [
+ 'description' => 'The first name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the user was created. The value is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-10-26T03:03:42Z',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the user. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The user is manually created.'."\n"
+ .'* Synchronized: The user is synchronized from an external identity provider (IdP).'."\n",
+ 'type' => 'string',
+ 'example' => 'Manual',
+ ],
+ 'DisplayName' => [
+ 'description' => 'The display name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the user was modified. The value is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-10-26T06:43:55Z',
+ ],
+ 'LastName' => [
+ 'description' => 'The last name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'Lee',
+ ],
+ 'ExternalId' => [
+ 'description' => 'The identifier information about the user synchronized from an external IdP.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The identifier of the user that is synchronized from an external IdP.'."\n",
+ 'type' => 'string',
+ 'example' => 'c73******a5fdd5',
+ ],
+ 'Issuer' => [
+ 'description' => 'The method for external identity synchronization. Only System for Cross-domain Identity Management (SCIM) synchronization is supported.'."\n",
+ 'type' => 'string',
+ 'example' => 'SCIM',
+ ],
+ ],
+ ],
+ 'Tags' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'EE42D2C4-A30A-59B7-ACEB-6D22FB44174A',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"User\\": {\\n \\"Status\\": \\"Enabled\\",\\n \\"UserName\\": \\"Alice\\",\\n \\"Email\\": \\"[email protected]\\",\\n \\"Description\\": \\"This is a user.\\",\\n \\"UserId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"FirstName\\": \\"Alice\\",\\n \\"CreateTime\\": \\"2021-10-26T03:03:42Z\\",\\n \\"ProvisionType\\": \\"Manual\\",\\n \\"DisplayName\\": \\"Alice\\",\\n \\"UpdateTime\\": \\"2021-10-26T06:43:55Z\\",\\n \\"LastName\\": \\"Lee\\",\\n \\"ExternalId\\": {\\n \\"Id\\": \\"c73******a5fdd5\\",\\n \\"Issuer\\": \\"SCIM\\"\\n },\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"EE42D2C4-A30A-59B7-ACEB-6D22FB44174A\\"\\n}","errorExample":""},{"type":"xml","example":"<GetUserResponse>\\n <User>\\n <Status>Enabled</Status>\\n <UserName>Alice</UserName>\\n <Email>[email protected]</Email>\\n <Description>This is a user.</Description>\\n <UserId>u-00q8wbq42wiltcrk****</UserId>\\n <FirstName>Alice</FirstName>\\n <CreateTime>2021-10-26T03:03:42Z</CreateTime>\\n <ProvisionType>Manual</ProvisionType>\\n <DisplayName>Alice</DisplayName>\\n <UpdateTime>2021-10-26T06:43:55Z</UpdateTime>\\n <LastName>Lee</LastName>\\n </User>\\n <RequestId>EE42D2C4-A30A-59B7-ACEB-6D22FB44174A</RequestId>\\n</GetUserResponse>","errorExample":""}]',
+ 'title' => 'GetUser',
+ 'description' => 'This topic provides an example on how to query information about the user whose ID is `u-00q8wbq42wiltcrk****` in the `d-00fc2p61****` directory.',
+ ],
+ 'UpdateUser' => [
+ 'summary' => 'Modifies information about a user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'NewFirstName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new first name of the user.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Alice',
+ ],
+ ],
+ [
+ 'name' => 'NewLastName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new last name of the user.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Lee',
+ ],
+ ],
+ [
+ 'name' => 'NewDisplayName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new display name of the user.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AliceLee',
+ ],
+ ],
+ [
+ 'name' => 'NewDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new description of the user.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'This is a user.',
+ ],
+ ],
+ [
+ 'name' => 'NewEmail',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new email address of the user.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[email protected]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'User' => [
+ 'description' => 'The information about the user.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the user. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: The logon of the user is enabled.'."\n"
+ .'* Disabled: The logon of the user is disabled.',
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'UserName' => [
+ 'description' => 'The username of the user.',
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'Email' => [
+ 'description' => 'The email address of the user.',
+ 'type' => 'string',
+ 'example' => '[email protected]',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the user.',
+ 'type' => 'string',
+ 'example' => 'This is a user.',
+ ],
+ 'UserId' => [
+ 'description' => 'The ID of the user.',
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'FirstName' => [
+ 'description' => 'The first name of the user.',
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the user was created. The value is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2021-10-26T03:03:42Z',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the user. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The user is manually created.'."\n"
+ .'* Synchronized: The user is synchronized from an external identity provider (IdP).',
+ 'type' => 'string',
+ 'example' => 'Manual',
+ ],
+ 'DisplayName' => [
+ 'description' => 'The display name of the user.',
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the user was modified. The value is displayed in UTC.',
+ 'type' => 'string',
+ 'example' => '2021-10-26T07:32:32Z',
+ ],
+ 'LastName' => [
+ 'description' => 'The last name of the user.',
+ 'type' => 'string',
+ 'example' => 'Lee',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F44F02EC-70D1-5E51-8E8E-FA9AC4EF952A',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"User\\": {\\n \\"Status\\": \\"Enabled\\",\\n \\"UserName\\": \\"Alice\\",\\n \\"Email\\": \\"[email protected]\\",\\n \\"Description\\": \\"This is a user.\\",\\n \\"UserId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"FirstName\\": \\"Alice\\",\\n \\"CreateTime\\": \\"2021-10-26T03:03:42Z\\",\\n \\"ProvisionType\\": \\"Manual\\",\\n \\"DisplayName\\": \\"Alice\\",\\n \\"UpdateTime\\": \\"2021-10-26T07:32:32Z\\",\\n \\"LastName\\": \\"Lee\\"\\n },\\n \\"RequestId\\": \\"F44F02EC-70D1-5E51-8E8E-FA9AC4EF952A\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<UpdateUserResponse>\\r\\n\\t<User>\\r\\n\\t\\t<Status>Enabled</Status>\\r\\n\\t\\t<UserName>Alice</UserName>\\r\\n\\t\\t<Email>[email protected]</Email>\\r\\n\\t\\t<Description>This is a user.</Description>\\r\\n\\t\\t<UserId>u-00q8wbq42wiltcrk****</UserId>\\r\\n\\t\\t<FirstName>Alice</FirstName>\\r\\n\\t\\t<CreateTime>2021-10-26T03:03:42Z</CreateTime>\\r\\n\\t\\t<ProvisionType>Manual</ProvisionType>\\r\\n\\t\\t<DisplayName>Alice</DisplayName>\\r\\n\\t\\t<UpdateTime>2021-10-26T07:32:32Z</UpdateTime>\\r\\n\\t\\t<LastName>Lee</LastName>\\r\\n\\t</User>\\r\\n\\t<RequestId>F44F02EC-70D1-5E51-8E8E-FA9AC4EF952A</RequestId>\\r\\n</UpdateUserResponse>\\t\\r\\n","errorExample":""}]',
+ 'title' => 'UpdateUser',
+ 'description' => 'You can modify `FirstName`, `LastName`, `DisplayName`, `Email`, and `Description` for a user. You cannot modify `UserName` for a user.'."\n"
+ ."\n"
+ .'> If System for Cross-domain Identity Management (SCIM) synchronization is enabled, you cannot modify information about a user that is synchronized by using SCIM.',
+ ],
+ 'UpdateUserStatus' => [
+ 'summary' => 'Changes the status of a user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'NewStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new status of the user. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: The logon of the user is enabled.'."\n"
+ .'* Disabled: The logon of the user is disabled.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Disabled',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'EE598602-AC67-56EF-B7CC-2927C30AA0A8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EE598602-AC67-56EF-B7CC-2927C30AA0A8\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<UpdateUserStatusResponse>\\r\\n\\t<RequestId>EE598602-AC67-56EF-B7CC-2927C30AA0A8</RequestId>\\r\\n</UpdateUserStatusResponse>\\t\\r\\n","errorExample":""}]',
+ 'title' => 'UpdateUserStatus',
+ 'description' => 'This topic provides an example on how to change the status of the user whose ID is `u-00q8wbq42wiltcrk****` to Disabled. Users in the Disabled state cannot log on to the CloudSSO user portal.'."\n",
+ ],
+ 'DeleteUser' => [
+ 'summary' => 'Deletes a user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E598602-AC67-56EF-B7CC-2927C30AA0A8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E598602-AC67-56EF-B7CC-2927C30AA0A8\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeleteUserResponse>\\r\\n\\t<RequestId>EE598602-AC67-56EF-B7CC-2927C30AA0A8</RequestId>\\r\\n</DeleteUserResponse>\\t","errorExample":""}]',
+ 'title' => 'DeleteUser',
+ 'description' => '### [](#)Prerequisites'."\n"
+ ."\n"
+ .'Before you delete a user, make sure that the user is not associated with the following resources. Otherwise, the deletion fails.'."\n"
+ ."\n"
+ .'* Multi-factor authentication (MFA) devices: You must delete the MFA devices bound to the user. For more information, see [DeleteMFADeviceForUser](~~341675~~).'."\n"
+ .'* Access permissions: You must remove the access permissions on the accounts in your resource directory from the user. For more information, see [DeleteAccessAssignment](~~338350~~).'."\n"
+ .'* Groups: You must remove the user from groups. For more information, see [RemoveUserFromGroup](~~335116~~).'."\n"
+ ."\n"
+ .'### [](#)Precautions'."\n"
+ ."\n"
+ .'If System for Cross-domain Identity Management (SCIM) synchronization is enabled, you cannot delete a user that is synchronized by using SCIM.'."\n"
+ ."\n"
+ .'This topic provides an example on how to delete the user whose ID is `u-00q8wbq42wiltcrk****`.'."\n",
+ ],
+ 'ResetUserPassword' => [
+ 'summary' => 'Resets the password of a user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new password.'."\n"
+ ."\n"
+ .'The password must contain the following types of characters: uppercase letters, lowercase letters, digits, and special characters.'."\n"
+ ."\n"
+ .'The password must be 8 to 32 characters in length.'."\n"
+ ."\n"
+ .'> If you set `GenerateRandomPassword` to `False`, you must specify `Password`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'uc)XK$?ictf72CKFDy9vtWaFmISl****',
+ ],
+ ],
+ [
+ 'name' => 'GenerateRandomPassword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the system to automatically generate a new password. Valid values:'."\n"
+ ."\n"
+ .'* True: The new password is automatically generated by the system.'."\n"
+ .'* False: The new password must be manually specified. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'True',
+ ],
+ ],
+ [
+ 'name' => 'RequirePasswordResetForNextLogin',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether password reset is required upon the next logon. Valid values:'."\n"
+ ."\n"
+ .'* True: Password reset is required upon the next logon.'."\n"
+ .'* False: Password reset is not required upon the next logon. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'False',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NewPassword' => [
+ 'description' => 'The new password.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the new password is automatically generated by the system.'."\n",
+ 'type' => 'string',
+ 'example' => 'W2koInFIm0Wy2wVZ$oB)MzD$nY!G****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F44F02EC-70D1-5E51-8E8E-FA9AC4EF952A',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NewPassword\\": \\"W2koInFIm0Wy2wVZ$oB)MzD$nY!G****\\",\\n \\"RequestId\\": \\"F44F02EC-70D1-5E51-8E8E-FA9AC4EF952A\\"\\n}","errorExample":""},{"type":"xml","example":"<ResetUserPasswordResponse>\\n <NewPassword>W2koInFIm0Wy2wVZ$oB)MzD$nY!G****</NewPassword>\\n <RequestId>F07A9FF3-B22F-5ACF-8825-89483B96F2FD</RequestId>\\n</ResetUserPasswordResponse>","errorExample":""}]',
+ 'title' => 'ResetUserPassword',
+ 'description' => 'If a user forgets the password, the password expires, or the password poses security risks, a CloudSSO administrator can reset the password for the user.'."\n"
+ ."\n"
+ .'> After you enable single sign-on (SSO) logon, the password of a user cannot be reset.'."\n"
+ ."\n"
+ .'This topic provides an example on how to reset the password of the user `u-00q8wbq42wiltcrk****`. The new password is automatically generated by the system.'."\n",
+ ],
+ 'ListMFADevicesForUser' => [
+ 'summary' => 'Queries the multi-factor authentication (MFA) devices that are bound to a user. Up to two MFA devices can be bound to a user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '8B9982ED-FD0D-5622-8EA0-7B768685DCE7',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of MFA devices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MFADevices' => [
+ 'description' => 'The MFA devices.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The MFA device.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DeviceType' => [
+ 'description' => 'The type of the MFA device. The value is fixed as TOTP, which indicates a virtual MFA device. Virtual MFA devices are based on the Time-based One-time Password (TOTP) algorithm.'."\n",
+ 'type' => 'string',
+ 'example' => 'TOTP',
+ ],
+ 'EffectiveTime' => [
+ 'description' => 'The time when the MFA device was enabled.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-10-29T09:14:06Z',
+ ],
+ 'DeviceId' => [
+ 'description' => 'The ID of the MFA device.'."\n",
+ 'type' => 'string',
+ 'example' => 'mfa-00ujhet8pycljj7j****',
+ ],
+ 'UserId' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'DeviceName' => [
+ 'description' => 'The name of the MFA device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice-MFA1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8B9982ED-FD0D-5622-8EA0-7B768685DCE7\\",\\n \\"TotalCounts\\": 1,\\n \\"MFADevices\\": [\\n {\\n \\"DeviceType\\": \\"TOTP\\",\\n \\"EffectiveTime\\": \\"2021-10-29T09:14:06Z\\",\\n \\"DeviceId\\": \\"mfa-00ujhet8pycljj7j****\\",\\n \\"UserId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"DeviceName\\": \\"Alice-MFA1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListMFADevicesForUserResponse>\\n\\t<RequestId>8B9982ED-FD0D-5622-8EA0-7B768685DCE7</RequestId>\\n\\t<TotalCounts>1</TotalCounts>\\n\\t<MFADevices>\\n\\t\\t<MFADevice>\\n\\t\\t\\t<DeviceType>TOTP</DeviceType>\\n\\t\\t\\t<EffectiveTime>2021-10-29T09:14:06Z</EffectiveTime>\\n\\t\\t\\t<DeviceId>mfa-00ujhet8pycljj7j****</DeviceId>\\n\\t\\t\\t<UserId>u-00q8wbq42wiltcrk****</UserId>\\n\\t\\t\\t<DeviceName>Alice-MFA1</DeviceName>\\n\\t\\t</MFADevice>\\n\\t</MFADevices>\\n</ListMFADevicesForUserResponse>\\t","errorExample":""}]',
+ 'title' => 'ListMFADevicesForUser',
+ 'description' => 'This topic provides an example on how to query the MFA devices that are bound to the user `u-00q8wbq42wiltcrk****`. The returned result shows that the MFA device named `Alice-MFA1` is bound to the user.'."\n",
+ ],
+ 'DeleteMFADeviceForUser' => [
+ 'summary' => 'Unbinds a multi-factor authentication (MFA) device from a user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'autoTest' => false,
+ 'notSupportAutoTestReason' => '仅依靠api/http调用无法完成资源创建,继而删除操作无法自动化测试',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'MFADeviceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the MFA device.'."\n"
+ ."\n"
+ .'You can call the [ListMFADevicesForUser](~~333531~~) operation to query the IDs of MFA devices.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'mfa-00ujhet8pycljj7j****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '8B9982ED-FD0D-5622-8EA0-7B768685DCE7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8B9982ED-FD0D-5622-8EA0-7B768685DCE7\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteMFADeviceForUserResponse>\\n <RequestId>8B9982ED-FD0D-5622-8EA0-7B768685DCE7</RequestId>\\n</DeleteMFADeviceForUserResponse>","errorExample":""}]',
+ 'title' => 'DeleteMFADeviceForUser',
+ 'description' => 'This topic provides an example on how to unbind the MFA device whose ID is `mfa-00ujhet8pycljj7j****` from the user whose ID is `u-00q8wbq42wiltcrk****`.'."\n",
+ ],
+ 'UpdateMFAAuthenticationSettings' => [
+ 'summary' => 'Modifies the multi-factor authentication (MFA) setting of all users.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'MFAAuthenticationSettings',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable MFA for all users. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: enables MFA for all users.'."\n"
+ .'* Byuser: uses user-specific settings. For more information about how to configure MFA for a single user, see [UpdateUserMFAAuthenticationSettings](~~450135~~).'."\n"
+ .'* Disabled: disables MFA for all users.'."\n"
+ .'* OnlyRiskyLogin: MFA is required only for unusual logons.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Enabled',
+ ],
+ ],
+ [
+ 'name' => 'OperationForRiskLogin',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether MFA is required for users who initiated unusual logons. Valid values:'."\n"
+ ."\n"
+ .'Autonomous: MFA is prompted for users who initiated unusual logons. However, the users are allowed to skip MFA. If an MFA device is bound to a user who initiated an unusual logon, the user must pass MFA. EnforceVerify: MFA is required. If no MFA devices are bound to a user who initiated an unusual logon, the user must bind an MFA device. If an MFA device is already bound to a user who initiated an unusual logon, the user must pass MFA.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Autonomous',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'A1C748E3-8944-5593-81BC-7D96AE24F77B',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A1C748E3-8944-5593-81BC-7D96AE24F77B\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateMFAAuthenticationSettingsResponse>\\n <RequestId>A1C748E3-8944-5593-81BC-7D96AE24F77B</RequestId>\\n</UpdateMFAAuthenticationSettingsResponse>","errorExample":""}]',
+ 'title' => 'UpdateMFAAuthenticationSettings',
+ 'description' => 'If you enable username-password logon for CloudSSO users, you can also configure MFA for the users.'."\n"
+ ."\n"
+ .'This topic provides an example on how to enable MFA for all CloudSSO users that belong to the directory named `d-00fc2p61****`.'."\n",
+ ],
+ 'GetMFAAuthenticationSettings' => [
+ 'summary' => 'Queries the multi-factor authentication (MFA) setting of all users.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A2BC00C5-76A2-5FFC-A340-927940A98377',
+ ],
+ 'MFAAuthenticationAdvanceSettings' => [
+ 'description' => 'Indicates whether MFA is enabled for all users. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: MFA is enabled for all users.'."\n"
+ .'* Byuser: User-specific settings are applied.'."\n"
+ .'* Disabled: MFA is disabled for all users.'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A2BC00C5-76A2-5FFC-A340-927940A98377\\",\\n \\"MFAAuthenticationAdvanceSettings\\": \\"Enabled\\"\\n}","errorExample":""},{"type":"xml","example":"<GetMFAAuthenticationSettingsResponse>\\n <RequestId>A2BC00C5-76A2-5FFC-A340-927940A98377</RequestId>\\n <MFAAuthenticationAdvanceSettings>Enabled</MFAAuthenticationAdvanceSettings>\\n</GetMFAAuthenticationSettingsResponse>","errorExample":""}]',
+ 'title' => 'GetMFAAuthenticationSettings',
+ 'description' => '> This operation is no longer maintained and updated. You can call the [GetMFAAuthenticationSettingInfo](~~611286~~) operation to query more detailed information.'."\n"
+ ."\n"
+ .'This topic provides an example on how to query the MFA setting of the users that belong to the directory named `d-00fc2p61****`. The returned result shows that MFA is enabled for all the users.'."\n",
+ ],
+ 'UpdateUserMFAAuthenticationSettings' => [
+ 'summary' => 'Modifies the multi-factor authentication (MFA) setting of a single user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'UserMFAAuthenticationSettings',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable MFA for the user. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: enables MFA for the user.'."\n"
+ .'* Disabled: disables MFA for the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Enabled',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '5E6C6049-E9B0-5F6F-A104-6150E3B1F4D7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5E6C6049-E9B0-5F6F-A104-6150E3B1F4D7\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateUserMFAAuthenticationSettingsResponse>\\n <RequestId>5E6C6049-E9B0-5F6F-A104-6150E3B1F4D7</RequestId>\\n</UpdateUserMFAAuthenticationSettingsResponse>","errorExample":""}]',
+ 'title' => 'UpdateUserMFAAuthenticationSettings',
+ 'description' => 'If you call the [UpdateMFAAuthenticationSettings](~~450134~~) operation to set the MFAAuthenticationSettings parameter to `Byuser`, user-specific settings are applied. Then, you must call the UpdateUserMFAAuthenticationSettings operation to configure MFA for each user.'."\n"
+ ."\n"
+ .'By default, the MFAAuthenticationSettings parameter is set to `Enabled` for a new user.'."\n"
+ ."\n"
+ .'This topic provides an example on how to enable MFA for the user named `u-00q8wbq42wiltcrk****`.'."\n",
+ ],
+ 'GetUserMFAAuthenticationSettings' => [
+ 'summary' => 'Queries the multi-factor authentication (MFA) setting of a single user.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameter.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '5B598B62-85E6-5792-9DF1-246D251B07DA',
+ ],
+ 'UserMFAAuthenticationSettings' => [
+ 'description' => 'Indicates whether MFA is enabled for the user. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5B598B62-85E6-5792-9DF1-246D251B07DA\\",\\n \\"UserMFAAuthenticationSettings\\": \\"Enabled\\"\\n}","errorExample":""},{"type":"xml","example":"<GetUserMFAAuthenticationSettingsResponse>\\n <UserMFAAuthenticationSettings>Enabled</UserMFAAuthenticationSettings>\\n <RequestId>5B598B62-85E6-5792-9DF1-246D251B07DA</RequestId>\\n</GetUserMFAAuthenticationSettingsResponse>","errorExample":""}]',
+ 'title' => 'GetUserMFAAuthenticationSettings',
+ 'description' => 'This topic provides an example on how to query the MFA setting of the user named `u-00q8wbq42wiltcrk****`. The returned result shows that MFA is enabled for the user.'."\n",
+ ],
+ 'GetMFAAuthenticationSettingInfo' => [
+ 'summary' => 'Queries the multi-factor authentication (MFA) setting of all users.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '95D3B107-DA80-5B34-A3D0-9E82F8F0DA0E',
+ ],
+ 'MFAAuthenticationSettingInfo' => [
+ 'description' => 'The MFA setting of all users.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'MfaAuthenticationAdvanceSettings' => [
+ 'description' => 'The MFA policy of all users. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: MFA is enabled for all users.'."\n"
+ .'* Byuser: User-specific settings are applied. For more information about how to configure MFA for a single user, see [UpdateUserMFAAuthenticationSettings](~~450135~~).'."\n"
+ .'* Disabled: MFA is disabled for all users.'."\n"
+ .'* OnlyRiskyLogin: MFA is required only for unusual logons.'."\n",
+ 'type' => 'string',
+ 'example' => 'OnlyRiskyLogin',
+ ],
+ 'OperationForRiskLogin' => [
+ 'description' => 'The MFA policy for unusual logons. Valid values:'."\n"
+ ."\n"
+ .'* Autonomous: MFA is prompted for users who initiated unusual logons. However, the users are allowed to skip MFA. If an MFA device is bound to a user who initiated an unusual logon, the user must pass MFA.'."\n"
+ .'* EnforceVerify: MFA is required. If no MFA devices are bound to a user who initiated an unusual logon, the user must bind an MFA device. If an MFA device is already bound to a user who initiated an unusual logon, the user must pass MFA.'."\n"
+ ."\n"
+ .'> This parameter is displayed only when Byuser or OnlyRiskyLogin is returned for the MfaAuthenticationAdvanceSettings parameter.'."\n",
+ 'type' => 'string',
+ 'example' => 'EnforceVerify',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"95D3B107-DA80-5B34-A3D0-9E82F8F0DA0E\\",\\n \\"MFAAuthenticationSettingInfo\\": {\\n \\"MfaAuthenticationAdvanceSettings\\": \\"OnlyRiskyLogin\\",\\n \\"OperationForRiskLogin\\": \\"EnforceVerify\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetMFAAuthenticationSettingInfoResponse>\\n <RequestId>95D3B107-DA80-5B34-A3D0-9E82F8F0DA0E</RequestId>\\n <MFAAuthenticationSettingInfo>\\n <MfaAuthenticationAdvanceSettings>OnlyRiskyLogin</MfaAuthenticationAdvanceSettings>\\n <OperationForRiskLogin>EnforceVerify</OperationForRiskLogin>\\n </MFAAuthenticationSettingInfo>\\n</GetMFAAuthenticationSettingInfoResponse>","errorExample":""}]',
+ 'title' => 'GetMFAAuthenticationSettingInfo',
+ 'description' => 'If you enable username-password logon for CloudSSO users, you can query the MFA setting for the users.'."\n"
+ ."\n"
+ .'This topic provides an example on how to query the MFA setting of all CloudSSO users that belong to the directory named `u-00q8wbq42wiltcrk****`.'."\n",
+ ],
+ 'SetLoginPreference' => [
+ 'summary' => 'Configures the logon preference of CloudSSO users.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'LoginNetworkMasks',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address whitelist. CloudSSO users can log on to the CloudSSO user portal only by using the IP addresses in the whitelist. Limits:'."\n"
+ ."\n"
+ .'* You can enter IP addresses or CIDR blocks. IPv4 addresses are supported.'."\n"
+ .'* You can enter up to 100 IP addresses or CIDR blocks. Separate multiple IP addresses or CIDR blocks with semicolons `(;)`.'."\n"
+ .'* If you do not specify this parameter, the original settings are retained.'."\n"
+ .'* If you set this parameter to a semicolon (`;`), the value of this parameter is cleared.'."\n"
+ .'* The IP address whitelist takes effect only on CloudSSO users who want to log on to the CloudSSO user portal by using the username-password logon or single sign-on (SSO) method. The IP address whitelist does not take effect on CloudSSO users who access accounts in a resource directory from the CloudSSO user portal.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.0.0/16;10.0.0.0/8',
+ ],
+ ],
+ [
+ 'name' => 'AllowUserToGetCredentials',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to allow a user to obtain the application access credential after logon to the portal. Valid values:'."\n"
+ ."\n"
+ .'* True'."\n"
+ .'* False (default)'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'True',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '9B13E4EE-3853-5852-9165-597C32AD8FB7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9B13E4EE-3853-5852-9165-597C32AD8FB7\\"\\n}","type":"json"}]',
+ 'title' => 'SetLoginPreference',
+ ],
+ 'GetLoginPreference' => [
+ 'summary' => 'Queries the logon preference of CloudSSO users.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '8CE8B990-193D-50CE-A604-69F3E7DCE740',
+ ],
+ 'LoginPreference' => [
+ 'description' => 'The logon preference.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'LoginNetworkMasks' => [
+ 'description' => 'The IP address whitelist. CloudSSO users can log on to the CloudSSO user portal only by using the IP addresses in the whitelist.'."\n"
+ ."\n"
+ .'The IP address whitelist takes effect only on CloudSSO users who want to log on to the CloudSSO user portal by using the username-password logon or single sign-on (SSO) method. The IP address whitelist does not take effect on CloudSSO users who access accounts in a resource directory from the CloudSSO user portal.'."\n"
+ ."\n"
+ .'If the return value of this parameter is empty, no IP address whitelists are configured.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.0.0/16;10.0.0.0/8',
+ ],
+ 'AllowUserToGetCredentials' => [
+ 'description' => 'Indicates whether a user can obtain the application access credential after logon to the portal. Valid values:'."\n"
+ ."\n"
+ .'* True'."\n"
+ .'* False (default)'."\n",
+ 'type' => 'boolean',
+ 'example' => 'True',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8CE8B990-193D-50CE-A604-69F3E7DCE740\\",\\n \\"LoginPreference\\": {\\n \\"LoginNetworkMasks\\": \\"192.168.0.0/16;10.0.0.0/8\\",\\n \\"AllowUserToGetCredentials\\": true\\n }\\n}","type":"json"}]',
+ 'title' => 'GetLoginPreference',
+ ],
+ 'SetPasswordPolicy' => [
+ 'summary' => 'Configures a password policy for CloudSSO users.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'MinPasswordLength',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The minimum password length.'."\n"
+ ."\n"
+ .'Valid values: 8 to 32 characters.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '8',
+ ],
+ ],
+ [
+ 'name' => 'MinPasswordDifferentChars',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The minimum number of unique characters in a password.'."\n"
+ ."\n"
+ .'The minimum value is 0, which specifies that the minimum number of unique characters in a password is not limited. The maximum value is the value of the `MinPasswordLength` parameter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '8',
+ ],
+ ],
+ [
+ 'name' => 'PasswordNotContainUsername',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether a password can contain the username. Valid value:'."\n"
+ ."\n"
+ .'* true: A password cannot contain the username.'."\n"
+ .'* false: A password can contain the username.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'MaxPasswordAge',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The validity period of a password.'."\n"
+ ."\n"
+ .'Valid values: 1 to 120. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '90',
+ ],
+ ],
+ [
+ 'name' => 'PasswordReusePrevention',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The policy for password history check.'."\n"
+ ."\n"
+ .'The previous N passwords cannot be reused. Valid values of N: 0 to 24. The value 0 specifies that all historical passwords can be reused.'."\n"
+ ."\n"
+ .'> Passwords that are generated before January 5, 2024 are not counted as historical passwords.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'MaxLoginAttempts',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of password retries.'."\n"
+ ."\n"
+ .'If you enter wrong passwords for the specified consecutive times, the account is locked for 1 hour.'."\n"
+ ."\n"
+ .'Valid values: 0 to 32. The value 0 specifies that the number of password retries is not limited.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '768F908D-A66A-5A5D-816C-20C93CBBFEE3',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"768F908D-A66A-5A5D-816C-20C93CBBFEE3\\"\\n}","type":"json"}]',
+ 'title' => 'SetPasswordPolicy',
+ ],
+ 'GetPasswordPolicy' => [
+ 'summary' => 'Queries the password policy of CloudSSO users.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B7C6E839-FB65-59BE-B753-003AA8AF7DF7',
+ ],
+ 'PasswordPolicy' => [
+ 'description' => 'The password policy.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'MinPasswordLength' => [
+ 'description' => 'The minimum password length.'."\n"
+ ."\n"
+ .'Valid values: 8 to 32 characters.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8',
+ ],
+ 'MinPasswordDifferentChars' => [
+ 'description' => 'The minimum number of different characters in a password.'."\n"
+ ."\n"
+ .'The minimum value is 0, which indicates that the minimum number of different characters in a password is not limited. The maximum value is the value of the `MinPasswordLength` parameter.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8',
+ ],
+ 'PasswordNotContainUsername' => [
+ 'description' => 'Indicates whether to exclude the username from the password. Valid values:'."\n"
+ ."\n"
+ .'* true: A password cannot contain the username.'."\n"
+ .'* false: A password can contain the username.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'MaxPasswordAge' => [
+ 'description' => 'The validity period of a password.'."\n"
+ ."\n"
+ .'Valid values: 1 to 120. Unit: days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '90',
+ ],
+ 'PasswordReusePrevention' => [
+ 'description' => 'The policy for password history check.'."\n"
+ ."\n"
+ .'The previous N passwords cannot be reused. Valid values of N: 0 to 24. The value 0 indicates that all historical passwords can be reused.'."\n"
+ ."\n"
+ .'> Passwords that are generated before January 5, 2024 are not counted as historical passwords.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MaxLoginAttempts' => [
+ 'description' => 'The number of password retries.'."\n"
+ ."\n"
+ .'If wrong passwords are entered for the specified consecutive times, the account is locked for 1 hour.'."\n"
+ ."\n"
+ .'Valid values: 0 to 32. The value 0 indicates that the number of password retries is not limited.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'RequireNumbers' => [
+ 'description' => 'Indicates whether digits are required in a password. Valid values:'."\n"
+ ."\n"
+ .'* true: Digits are required in a password.'."\n"
+ .'* false: Digits are not required in a password.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequireLowerCaseChars' => [
+ 'description' => 'Indicates whether lowercase letters are required in a password. Valid values:'."\n"
+ ."\n"
+ .'* true: Lowercase letters are required in a password.'."\n"
+ .'* false: Lowercase letters are not required in a password.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'MaxPasswordLength' => [
+ 'description' => 'The maximum password length.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '32',
+ ],
+ 'RequireUpperCaseChars' => [
+ 'description' => 'Indicates whether uppercase letters are required in a password. Valid values:'."\n"
+ ."\n"
+ .'* true: Uppercase letters are required in a password.'."\n"
+ .'* false: Uppercase letters are not required in a password.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequireSymbols' => [
+ 'description' => 'Indicates whether special characters are required in a password. Valid values:'."\n"
+ ."\n"
+ .'* true: Special characters are required in a password.'."\n"
+ .'* false: Special characters are not required in a password.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'HardExpire' => [
+ 'description' => 'Indicates whether to disable logon after a password expires. Valid values:'."\n"
+ ."\n"
+ .'* true: disables logon after a password expires.'."\n"
+ .'* false: does not disable logon after a password expires.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B7C6E839-FB65-59BE-B753-003AA8AF7DF7\\",\\n \\"PasswordPolicy\\": {\\n \\"MinPasswordLength\\": 8,\\n \\"MinPasswordDifferentChars\\": 8,\\n \\"PasswordNotContainUsername\\": true,\\n \\"MaxPasswordAge\\": 90,\\n \\"PasswordReusePrevention\\": 1,\\n \\"MaxLoginAttempts\\": 5,\\n \\"RequireNumbers\\": true,\\n \\"RequireLowerCaseChars\\": true,\\n \\"MaxPasswordLength\\": 32,\\n \\"RequireUpperCaseChars\\": true,\\n \\"RequireSymbols\\": true,\\n \\"HardExpire\\": true\\n }\\n}","type":"json"}]',
+ 'title' => 'GetPasswordPolicy',
+ ],
+ 'GetUserId' => [
+ 'summary' => 'Queries the ID of a user in a resource directory by using the ExternalId parameter.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'autoTest' => false,
+ 'notSupportAutoTestReason' => '当前镇元能力不支持,http调用步骤不支持在header中引用步骤出参',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'ExternalId',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The identifier information about the user that is synchronized from an external identity provider (IdP).'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The identifier of the user that is synchronized from an external IdP.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'c73******a5fdd5',
+ ],
+ 'Issuer' => [
+ 'description' => 'The method for external identity synchronization. Only System for Cross-domain Identity Management (SCIM) synchronization is supported.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'SCIM',
+ ],
+ ],
+ 'required' => true,
+ 'docRequired' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'A3A41736-A050-50B6-ABC5-590F376A0044',
+ ],
+ 'UserId' => [
+ 'description' => 'The ID of the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-d8d1iox****',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A3A41736-A050-50B6-ABC5-590F376A0044\\",\\n \\"UserId\\": \\"u-d8d1iox****\\"\\n}","type":"json"}]',
+ 'title' => 'GetUserId',
+ ],
+ 'CreateGroup' => [
+ 'summary' => 'Creates a group.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'GroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the group.'."\n"
+ ."\n"
+ .'The name can contain letters, digits, underscores (\\_), hyphens (-), and periods (.).``'."\n"
+ ."\n"
+ .'The name can be up to 128 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'TestGroup',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the group.'."\n"
+ ."\n"
+ .'The description can be up to 1,024 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'This is a group.',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Group' => [
+ 'description' => 'The information about the group.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupName' => [
+ 'description' => 'The name of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'TestGroup',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a group.',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the group was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-01T02:38:27Z',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the group. The value is fixed as Manual, which indicates that the group is manually created.'."\n",
+ 'type' => 'string',
+ 'example' => 'Manual',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the group was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-01T02:38:27Z',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '20E9650E-EC23-593E-933F-EA0D280D040C',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Group\\": {\\n \\"GroupName\\": \\"TestGroup\\",\\n \\"Description\\": \\"This is a group.\\",\\n \\"CreateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"ProvisionType\\": \\"Manual\\",\\n \\"UpdateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"GroupId\\": \\"g-00jqzghi2n3o5hkh****\\"\\n },\\n \\"RequestId\\": \\"20E9650E-EC23-593E-933F-EA0D280D040C\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateGroupResponse>\\n <Group>\\n <GroupName>TestGroup</GroupName>\\n <Description>This is a group.</Description>\\n <CreateTime>2021-11-01T02:38:27Z</CreateTime>\\n <ProvisionType>Manual</ProvisionType>\\n <UpdateTime>2021-11-01T02:38:27Z</UpdateTime>\\n <GroupId>g-00jqzghi2n3o5hkh****</GroupId>\\n </Group>\\n <RequestId>20E9650E-EC23-593E-933F-EA0D280D040C</RequestId>\\n</CreateGroupResponse>","errorExample":""}]',
+ 'title' => 'CreateGroup',
+ 'description' => 'This topic provides an example on how to create a group named `TestGroup`.'."\n",
+ ],
+ 'ListGroups' => [
+ 'summary' => 'Queries groups.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ '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. You must specify the token that is obtained from the previous query as the value of `NextToken`.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return is larger than the value of the `MaxResults` parameter, the entries are truncated. The system returns entries based on the value of the `MaxResults` parameter, and does not return the excess entries. In this case, the value of the response parameter `IsTruncated` is `true`, and the `NextToken` parameter is returned. In the next call, you can use the value of the `NextToken` parameter and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of `IsTruncated` becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'Filter',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The filter condition.'."\n"
+ ."\n"
+ .'You must specify the value in the `<Attribute> <Operator> <Value>` format. The value is not case-sensitive. You can set `<Attribute>` only to `GroupName` and `<Operator>` only to `eq` or `sw`. The value eq indicates Equals, and the value sw indicates Start With.'."\n"
+ ."\n"
+ .'For example, if you set Filter to GroupName sw test, the operation queries the groups whose names start with test. If you set Filter to GroupName eq testgroup, the operation queries the group whose name is testgroup.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'GroupName eq testgroup',
+ ],
+ ],
+ [
+ 'name' => 'ProvisionType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the group. The type can be used to filter groups. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The group is manually created.'."\n"
+ .'* Synchronized: The group is synchronized from an external IdP.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Manual',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of the `IsTruncated` parameter is `true`.'."\n",
+ 'type' => 'string',
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '768F908D-A66A-5A5D-816C-20C93CBBFEE3',
+ ],
+ 'Groups' => [
+ 'description' => 'The groups.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The group.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupName' => [
+ 'description' => 'The name of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'TestGroup',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a group.',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the group was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-01T02:38:27Z',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the group. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The group is manually created.'."\n"
+ .'* Synchronized: The group is synchronized from an external IdP.'."\n",
+ 'type' => 'string',
+ 'example' => 'Manual',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the group was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-01T02:38:27Z',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ ],
+ ],
+ 'MaxResults' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****\\",\\n \\"RequestId\\": \\"768F908D-A66A-5A5D-816C-20C93CBBFEE3\\",\\n \\"Groups\\": [\\n {\\n \\"GroupName\\": \\"TestGroup\\",\\n \\"Description\\": \\"This is a group.\\",\\n \\"CreateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"ProvisionType\\": \\"Manual\\",\\n \\"UpdateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"GroupId\\": \\"g-00jqzghi2n3o5hkh****\\"\\n }\\n ],\\n \\"MaxResults\\": 10,\\n \\"TotalCounts\\": 3,\\n \\"IsTruncated\\": false\\n}","errorExample":""},{"type":"xml","example":"<ListGroupsResponse>\\n\\t<RequestId>768F908D-A66A-5A5D-816C-20C93CBBFEE3</RequestId>\\n\\t<Groups>\\n\\t\\t<Group>\\n\\t\\t\\t<GroupName>group1</GroupName>\\n\\t\\t\\t<Description></Description>\\n\\t\\t\\t<CreateTime>2021-06-30T08:52:17Z</CreateTime>\\n\\t\\t\\t<ProvisionType>Synchronized</ProvisionType>\\n\\t\\t\\t<UpdateTime>2021-07-09T03:27:23Z</UpdateTime>\\n\\t\\t\\t<GroupId>g-00dd217ozcicxqz0****</GroupId>\\n\\t\\t</Group>\\n\\t\\t<Group>\\n\\t\\t\\t<GroupName>group2</GroupName>\\n\\t\\t\\t<Description></Description>\\n\\t\\t\\t<CreateTime>2021-07-09T03:26:48Z</CreateTime>\\n\\t\\t\\t<ProvisionType>Synchronized</ProvisionType>\\n\\t\\t\\t<UpdateTime>2021-07-09T03:26:48Z</UpdateTime>\\n\\t\\t\\t<GroupId>g-00e2fbulf91zlsuu****</GroupId>\\n\\t\\t</Group>\\n\\t\\t<Group>\\n\\t\\t\\t<GroupName>TestGroup</GroupName>\\n\\t\\t\\t<Description>This is a group.</Description>\\n\\t\\t\\t<CreateTime>2021-11-01T02:38:27Z</CreateTime>\\n\\t\\t\\t<ProvisionType>Manual</ProvisionType>\\n\\t\\t\\t<UpdateTime>2021-11-01T02:38:27Z</UpdateTime>\\n\\t\\t\\t<GroupId>g-00jqzghi2n3o5hkh****</GroupId>\\n\\t\\t</Group>\\n\\t</Groups>\\n\\t<MaxResults>10</MaxResults>\\n\\t<TotalCounts>3</TotalCounts>\\n\\t<IsTruncated>false</IsTruncated>\\n</ListGroupsResponse>\\t","errorExample":""}]',
+ 'title' => 'ListGroups',
+ 'description' => 'This topic provides an example on how to query the groups in the directory `d-00fc2p61****`. The returned result shows that the directory contains three groups. The groups `group1` and `group2` are synchronized from an external identity provider (IdP). The group `TestGroup` is manually created in CloudSSO.'."\n",
+ ],
+ 'GetGroup' => [
+ 'summary' => 'Queries information about a group.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Group' => [
+ 'description' => 'The information about the group.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupName' => [
+ 'description' => 'The name of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'TestGroup',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a group.',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the group was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-01T02:38:27Z',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the group. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The group is manually created.'."\n"
+ .'* Synchronized: The group is synchronized from an external identity provider (IdP).'."\n",
+ 'type' => 'string',
+ 'example' => 'Manual',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when information about the group was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-01T02:38:27Z',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '768F908D-A66A-5A5D-816C-20C93CBBFEE3',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Group\\": {\\n \\"GroupName\\": \\"TestGroup\\",\\n \\"Description\\": \\"This is a group.\\",\\n \\"CreateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"ProvisionType\\": \\"Manual\\",\\n \\"UpdateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"GroupId\\": \\"g-00jqzghi2n3o5hkh****\\"\\n },\\n \\"RequestId\\": \\"768F908D-A66A-5A5D-816C-20C93CBBFEE3\\"\\n}","errorExample":""},{"type":"xml","example":"<GetGroupResponse>\\n <Group>\\n <GroupName>TestGroup</GroupName>\\n <Description>This is a group.</Description>\\n <CreateTime>2021-11-01T02:38:27Z</CreateTime>\\n <ProvisionType>Manual</ProvisionType>\\n <UpdateTime>2021-11-01T02:38:27Z</UpdateTime>\\n <GroupId>g-00jqzghi2n3o5hkh****</GroupId>\\n </Group>\\n <RequestId>768F908D-A66A-5A5D-816C-20C93CBBFEE3</RequestId>\\n</GetGroupResponse>","errorExample":""}]',
+ 'title' => 'GetGroup',
+ 'description' => 'This topic provides an example on how to query information about the group `g-00jqzghi2n3o5hkh****` in the directory `d-00fc2p61****`.'."\n",
+ ],
+ 'UpdateGroup' => [
+ 'summary' => 'Modifies the information about a group.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ [
+ 'name' => 'NewGroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new name of the group.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'NewTestGroup',
+ ],
+ ],
+ [
+ 'name' => 'NewDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new description of the group.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'This is a group.',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Group' => [
+ 'description' => 'The information about the group.',
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupName' => [
+ 'description' => 'The name of the group.',
+ 'type' => 'string',
+ 'example' => 'NewTestGroup',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the group.',
+ 'type' => 'string',
+ 'example' => 'This is a group.',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the group was created.',
+ 'type' => 'string',
+ 'example' => '2021-11-01T02:38:27Z',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the group. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The group is manually created.'."\n"
+ .'* Synchronized: The group is synchronized from an external identity provider (IdP).',
+ 'type' => 'string',
+ 'example' => 'Manual',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the group was modified.',
+ 'type' => 'string',
+ 'example' => '2021-11-01T06:06:11Z',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the group.',
+ 'type' => 'string',
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F723DE01-6276-5DC4-9B1F-9CBE3E1748B2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Group\\": {\\n \\"GroupName\\": \\"NewTestGroup\\",\\n \\"Description\\": \\"This is a group.\\",\\n \\"CreateTime\\": \\"2021-11-01T02:38:27Z\\",\\n \\"ProvisionType\\": \\"Manual\\",\\n \\"UpdateTime\\": \\"2021-11-01T06:06:11Z\\",\\n \\"GroupId\\": \\"g-00jqzghi2n3o5hkh****\\"\\n },\\n \\"RequestId\\": \\"F723DE01-6276-5DC4-9B1F-9CBE3E1748B2\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateGroupResponse>\\n <Group>\\n <GroupName>NewTestGroup</GroupName>\\n <Description>This is a group.</Description>\\n <CreateTime>2021-11-01T02:38:27Z</CreateTime>\\n <ProvisionType>Manual</ProvisionType>\\n <UpdateTime>2021-11-01T06:06:11Z</UpdateTime>\\n <GroupId>g-00jqzghi2n3o5hkh****</GroupId>\\n </Group>\\n <RequestId>F723DE01-6276-5DC4-9B1F-9CBE3E1748B2</RequestId>\\n</UpdateGroupResponse>","errorExample":""}]',
+ 'title' => 'UpdateGroup',
+ 'description' => 'You can modify `GroupName` and `Description` for a group.'."\n"
+ ."\n"
+ .'> If System for Cross-domain Identity Management (SCIM) synchronization is enabled, you cannot modify information about a group that is synchronized by using SCIM.'."\n"
+ ."\n"
+ .'This topic provides an example on how to modify the name of the group `g-00jqzghi2n3o5hkh****` to `NewTestGroup`.',
+ ],
+ 'DeleteGroup' => [
+ 'summary' => 'Deletes a group.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F723DE01-6276-5DC4-9B1F-9CBE3E1748B2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F723DE01-6276-5DC4-9B1F-9CBE3E1748B2\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteGroupResponse>\\n <RequestId>F723DE01-6276-5DC4-9B1F-9CBE3E1748B2</RequestId>\\n</DeleteGroupResponse>","errorExample":""}]',
+ 'title' => 'DeleteGroup',
+ 'description' => '### [](#)Prerequisites'."\n"
+ ."\n"
+ .'The group that you want to delete is not associated with the following resources. If the group is associated with the resources, the deletion fails.'."\n"
+ ."\n"
+ .'* Users: You must remove users from the group. For more information, see [RemoveUserFromGroup](~~335116~~).'."\n"
+ .'* Access permissions: You must remove the access permissions on the accounts in your resource directory from the group. For more information, see [DeleteAccessAssignment](~~338350~~).'."\n"
+ ."\n"
+ .'### [](#)Operation description'."\n"
+ ."\n"
+ .'If System for Cross-domain Identity Management (SCIM) synchronization is enabled, you cannot delete a group that is synchronized by using SCIM.'."\n"
+ ."\n"
+ .'This topic provides an example on how to delete the group `g-00jqzghi2n3o5hkh****`.'."\n",
+ ],
+ 'AddUserToGroup' => [
+ 'summary' => 'Adds a user to a group.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F76AF4FC-25E4-5CF1-B7CB-74F3CB72F0F0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F76AF4FC-25E4-5CF1-B7CB-74F3CB72F0F0\\"\\n}","errorExample":""},{"type":"xml","example":"<AddUserToGroupResponse>\\n <RequestId>F76AF4FC-25E4-5CF1-B7CB-74F3CB72F0F0</RequestId>\\n</AddUserToGroupResponse>","errorExample":""}]',
+ 'title' => 'AddUserToGroup',
+ 'description' => 'If System for Cross-domain Identity Management (SCIM) synchronization is enabled, you cannot add a user to a group that is synchronized by using SCIM.'."\n"
+ ."\n"
+ .'This topic provides an example on how to add the user `u-00q8wbq42wiltcrk****` to the group `g-00jqzghi2n3o5hkh****`.',
+ ],
+ 'RemoveUserFromGroup' => [
+ 'summary' => 'Removes a user from a group.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F723DE01-6276-5DC4-9B1F-9CBE3E1748B2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F723DE01-6276-5DC4-9B1F-9CBE3E1748B2\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveUserFromGroupResponse>\\n <RequestId>F723DE01-6276-5DC4-9B1F-9CBE3E1748B2</RequestId>\\n</RemoveUserFromGroupResponse>","errorExample":""}]',
+ 'title' => 'RemoveUserFromGroup',
+ 'description' => 'If System for Cross-domain Identity Management (SCIM) synchronization is enabled, you cannot remove a user from a group that is synchronized by using SCIM.'."\n"
+ ."\n"
+ .'This topic provides an example on how to remove the user `u-00q8wbq42wiltcrk****` from the group `g-00jqzghi2n3o5hkh****`.',
+ ],
+ 'ListJoinedGroupsForUser' => [
+ 'summary' => 'Queries the groups to which a user is added.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'UserId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ '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. You must specify the token that is obtained from the previous query as the value of `NextToken`.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return is larger than the value of the `MaxResults` parameter, the entries are truncated. The system returns entries based on the value of the `MaxResults` parameter, and does not return the excess entries. In this case, the value of the response parameter `IsTruncated` is `true`, and the `NextToken` parameter is returned. In the next call, you can use the value of the `NextToken` parameter and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of `IsTruncated` becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the `IsTruncated` parameter is `true`.'."\n",
+ 'type' => 'string',
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E9BBB45F-7877-5DE9-96A5-20E6CFA48929',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'JoinedGroups' => [
+ 'description' => 'The groups to which the user is added.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The group to which the user is added.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupName' => [
+ 'description' => 'The name of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'TestGroup',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a group.',
+ ],
+ 'UserId' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the group. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The group is manually created.'."\n"
+ .'* Synchronized: The group is synchronized from an external identity provider (IdP).'."\n",
+ 'type' => 'string',
+ 'example' => 'Manual',
+ ],
+ 'JoinTime' => [
+ 'description' => 'The time when the user was added to the group.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-01T06:58:18Z',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****\\",\\n \\"RequestId\\": \\"E9BBB45F-7877-5DE9-96A5-20E6CFA48929\\",\\n \\"TotalCounts\\": 2,\\n \\"MaxResults\\": 10,\\n \\"IsTruncated\\": false,\\n \\"JoinedGroups\\": [\\n {\\n \\"GroupName\\": \\"TestGroup\\",\\n \\"Description\\": \\"This is a group.\\",\\n \\"UserId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"ProvisionType\\": \\"Manual\\",\\n \\"JoinTime\\": \\"2021-11-01T06:58:18Z\\",\\n \\"GroupId\\": \\"g-00jqzghi2n3o5hkh****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListJoinedGroupsForUserResponse>\\n\\t<RequestId>E9BBB45F-7877-5DE9-96A5-20E6CFA48929</RequestId>\\n\\t<TotalCounts>2</TotalCounts>\\n\\t<MaxResults>10</MaxResults>\\n\\t<IsTruncated>false</IsTruncated>\\n\\t<JoinedGroups>\\n\\t\\t<JoinedGroup>\\n\\t\\t\\t<GroupName>TestGroup</GroupName>\\n\\t\\t\\t<Description>This is a group.</Description>\\n\\t\\t\\t<UserId>u-00q8wbq42wiltcrk****</UserId>\\n\\t\\t\\t<ProvisionType>Manual</ProvisionType>\\n\\t\\t\\t<JoinTime>2021-11-01T06:58:18Z</JoinTime>\\n\\t\\t\\t<GroupId>g-00jqzghi2n3o5hkh****</GroupId>\\n\\t\\t</JoinedGroup>\\n\\t\\t<JoinedGroup>\\n\\t\\t\\t<GroupName>group1</GroupName>\\n\\t\\t\\t<Description></Description>\\n\\t\\t\\t<UserId>u-00q8wbq42wiltcrk****</UserId>\\n\\t\\t\\t<ProvisionType>Synchronized</ProvisionType>\\n\\t\\t\\t<JoinTime>2021-11-01T07:16:44Z</JoinTime>\\n\\t\\t\\t<GroupId>g-00dd217ozcicxqz0****</GroupId>\\n\\t\\t</JoinedGroup>\\n\\t</JoinedGroups>\\n</ListJoinedGroupsForUserResponse>\\t\\n","errorExample":""}]',
+ 'title' => 'ListJoinedGroupsForUser',
+ 'description' => 'This topic provides an example on how to query the groups to which the user `u-00q8wbq42wiltcrk****` is added. The returned result shows that the user is added to both the `TestGroup` and the `group1` groups.'."\n",
+ ],
+ 'ListGroupMembers' => [
+ 'summary' => 'Queries the users in a group.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ '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. You must specify the token that is obtained from the previous query as the value of `NextToken`.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return is larger than the value of the `MaxResults` parameter, the entries are truncated. The system returns entries based on the value of the `MaxResults` parameter, and does not return the excess entries. In this case, the value of the response parameter `IsTruncated` is `true`, and the `NextToken` parameter is returned. In the next call, you can use the value of the `NextToken` parameter and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of `IsTruncated` becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of the `IsTruncated` parameter is `true`.'."\n",
+ 'type' => 'string',
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'BB759F84-2C64-5C36-B6C6-253172C5C370',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'GroupMembers' => [
+ 'description' => 'The users in the group.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The user in the group.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the user. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: The logon of the user is enabled.'."\n"
+ .'* Disabled: The logon of the user is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'UserName' => [
+ 'description' => 'The name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'Email' => [
+ 'description' => 'The email address of the user.'."\n",
+ 'type' => 'string',
+ 'example' => '[email protected]',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a user.',
+ ],
+ 'UserId' => [
+ 'description' => 'The ID of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'ProvisionType' => [
+ 'description' => 'The type of the user. Valid values:'."\n"
+ ."\n"
+ .'* Manual: The user is manually created.'."\n"
+ .'* Synchronized: The user is synchronized from an external identity provider (IdP).'."\n",
+ 'type' => 'string',
+ 'example' => 'Manual',
+ ],
+ 'DisplayName' => [
+ 'description' => 'The display name of the user.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'JoinTime' => [
+ 'description' => 'The time when the user was added to the group.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-01T06:58:18Z',
+ ],
+ 'GroupId' => [
+ 'description' => 'The ID of the group.'."\n",
+ 'type' => 'string',
+ 'example' => 'g-00jqzghi2n3o5hkh****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****\\",\\n \\"RequestId\\": \\"BB759F84-2C64-5C36-B6C6-253172C5C370\\",\\n \\"TotalCounts\\": 2,\\n \\"MaxResults\\": 10,\\n \\"IsTruncated\\": false,\\n \\"GroupMembers\\": [\\n {\\n \\"Status\\": \\"Enabled\\",\\n \\"UserName\\": \\"Alice\\",\\n \\"Email\\": \\"[email protected]\\",\\n \\"Description\\": \\"This is a user.\\",\\n \\"UserId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"ProvisionType\\": \\"Manual\\",\\n \\"DisplayName\\": \\"Alice\\",\\n \\"JoinTime\\": \\"2021-11-01T06:58:18Z\\",\\n \\"GroupId\\": \\"g-00jqzghi2n3o5hkh****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListGroupMembersResponse>\\n\\t<RequestId>BB759F84-2C64-5C36-B6C6-253172C5C370</RequestId>\\n\\t<TotalCounts>2</TotalCounts>\\n\\t<MaxResults>10</MaxResults>\\n\\t<IsTruncated>false</IsTruncated>\\n\\t<GroupMembers>\\n\\t\\t<GroupMember>\\n\\t\\t\\t<Status>Enabled</Status>\\n\\t\\t\\t<UserName>Alice</UserName>\\n\\t\\t\\t<Email>[email protected]</Email>\\n\\t\\t\\t<Description>This is a user.</Description>\\n\\t\\t\\t<UserId>u-00q8wbq42wiltcrk****</UserId>\\n\\t\\t\\t<ProvisionType>Manual</ProvisionType>\\n\\t\\t\\t<DisplayName>Alice</DisplayName>\\n\\t\\t\\t<JoinTime>2021-11-01T06:58:18Z</JoinTime>\\n\\t\\t\\t<GroupId>g-00jqzghi2n3o5hkh****</GroupId>\\n\\t\\t</GroupMember>\\n\\t\\t<GroupMember>\\n\\t\\t\\t<Status>Enabled</Status>\\n\\t\\t\\t<UserName>user1</UserName>\\n\\t\\t\\t<Email></Email>\\n\\t\\t\\t<Description></Description>\\n\\t\\t\\t<UserId>u-00pkfll14gwm1mb9****</UserId>\\n\\t\\t\\t<ProvisionType>Manual</ProvisionType>\\n\\t\\t\\t<DisplayName></DisplayName>\\n\\t\\t\\t<JoinTime>2021-11-01T07:37:14Z</JoinTime>\\n\\t\\t\\t<GroupId>g-00jqzghi2n3o5hkh****</GroupId>\\n\\t\\t</GroupMember>\\n\\t</GroupMembers>\\n</ListGroupMembersResponse>\\t\\n","errorExample":""}]',
+ 'title' => 'ListGroupMembers',
+ 'description' => 'This topic provides an example on how to query the users in the group `g-00jqzghi2n3o5hkh****`. The returned result shows that the group contains the user `Alice` and the user `user1`.'."\n",
+ ],
+ 'CreateSCIMServerCredential' => [
+ 'summary' => 'Creates a System for Cross-domain Identity Management (SCIM) credential.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '2D2E5180-7ACF-57FF-A56C-26A49ABEBFF7',
+ ],
+ 'SCIMServerCredential' => [
+ 'description' => 'The information about the SCIM credential.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the SCIM credential. The value is fixed as Enabled, which indicates that the SCIM credential is enabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'CredentialId' => [
+ 'description' => 'The ID of the SCIM credential.'."\n",
+ 'type' => 'string',
+ 'example' => 'scimcred-004whl0kvfwcypbi****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the SCIM credential was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-09T08:12:52Z',
+ ],
+ 'CredentialType' => [
+ 'description' => 'The type of the SCIM credential.'."\n",
+ 'type' => 'string',
+ 'example' => 'BearerToken',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the SCIM credential expires.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-09T08:12:52Z',
+ ],
+ 'CredentialSecret' => [
+ 'description' => 'The SCIM credential.'."\n"
+ ."\n"
+ .'> The SCIM credential is returned only when it is created. After the SCIM credential is created, you cannot query it. Keep the SCIM credential confidential.'."\n",
+ 'type' => 'string',
+ 'example' => '8aAJCtpbyPJ8saXeYDgyw****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D2E5180-7ACF-57FF-A56C-26A49ABEBFF7\\",\\n \\"SCIMServerCredential\\": {\\n \\"Status\\": \\"Enabled\\",\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"CredentialId\\": \\"scimcred-004whl0kvfwcypbi****\\",\\n \\"CreateTime\\": \\"2021-11-09T08:12:52Z\\",\\n \\"CredentialType\\": \\"BearerToken\\",\\n \\"ExpireTime\\": \\"2022-11-09T08:12:52Z\\",\\n \\"CredentialSecret\\": \\"8aAJCtpbyPJ8saXeYDgyw****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateSCIMServerCredentialResponse>\\n <RequestId>2D2E5180-7ACF-57FF-A56C-26A49ABEBFF7</RequestId>\\n <SCIMServerCredential>\\n <Status>Enabled</Status>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <CredentialId>scimcred-004whl0kvfwcypbi****</CredentialId>\\n <CreateTime>2021-11-09T08:12:52Z</CreateTime>\\n <CredentialType>BearerToken</CredentialType>\\n <ExpireTime>2022-11-09T08:12:52Z</ExpireTime>\\n <CredentialSecret>8aAJCtpbyPJ8saXeYDgyw****</CredentialSecret>\\n </SCIMServerCredential>\\n</CreateSCIMServerCredentialResponse>","errorExample":""}]',
+ 'title' => 'CreateSCIMServerCredential',
+ 'description' => 'SCIM credentials are required for SCIM synchronization. You can create up to two SCIM credentials.'."\n"
+ ."\n"
+ .'This topic provides an example on how to create a SCIM credential within the directory `d-00fc2p61****`.'."\n",
+ ],
+ 'ListSCIMServerCredentials' => [
+ 'summary' => 'Queries Cross-domain Identity Management (SCIM) credentials.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'FE4B7037-C315-5DD5-826E-57A87950BCD1',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SCIMServerCredentials' => [
+ 'description' => 'The SCIM credentials.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The SCIM credential.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the SCIM credential. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'CredentialId' => [
+ 'description' => 'The ID of the SCIM credential.'."\n",
+ 'type' => 'string',
+ 'example' => 'scimcred-004whl0kvfwcypbi****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the SCIM credential was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-09T08:12:52Z',
+ ],
+ 'CredentialType' => [
+ 'description' => 'The type of the SCIM credential.'."\n",
+ 'type' => 'string',
+ 'example' => 'BearerToken',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the SCIM credential expires.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-09T08:12:52Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FE4B7037-C315-5DD5-826E-57A87950BCD1\\",\\n \\"TotalCounts\\": 1,\\n \\"SCIMServerCredentials\\": [\\n {\\n \\"Status\\": \\"Enabled\\",\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"CredentialId\\": \\"scimcred-004whl0kvfwcypbi****\\",\\n \\"CreateTime\\": \\"2021-11-09T08:12:52Z\\",\\n \\"CredentialType\\": \\"BearerToken\\",\\n \\"ExpireTime\\": \\"2022-11-09T08:12:52Z\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListSCIMServerCredentialsResponse>\\n\\t<RequestId>FE4B7037-C315-5DD5-826E-57A87950BCD1</RequestId>\\n\\t<TotalCounts>1</TotalCounts>\\n\\t<SCIMServerCredentials>\\n\\t\\t<SCIMServerCredential>\\n\\t\\t\\t<Status>Enabled</Status>\\n\\t\\t\\t<DirectoryId>d-00fc2p61****</DirectoryId>\\n\\t\\t\\t<CredentialId>scimcred-004whl0kvfwcypbi****</CredentialId>\\n\\t\\t\\t<CreateTime>2021-11-09T08:12:52Z</CreateTime>\\n\\t\\t\\t<CredentialType>BearerToken</CredentialType>\\n\\t\\t\\t<ExpireTime>2022-11-09T08:12:52Z</ExpireTime>\\n\\t\\t</SCIMServerCredential>\\n\\t</SCIMServerCredentials>\\n</ListSCIMServerCredentialsResponse>\\t","errorExample":""}]',
+ 'title' => 'ListSCIMServerCredentials',
+ 'description' => 'This topic provides an example on how to query the SCIM credentials within the `d-00fc2p61****` directory.'."\n",
+ ],
+ 'UpdateSCIMServerCredentialStatus' => [
+ 'summary' => 'Enables or disables a System for Cross-domain Identity Management (SCIM) credential.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'CredentialId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SCIM credential.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'scimcred-004whl0kvfwcypbi****',
+ ],
+ ],
+ [
+ 'name' => 'NewStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new status of the SCIM credential. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: The SCIM credential is enabled.'."\n"
+ .'* Disabled: The SCIM credential is disabled.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Disabled',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '7C086C2F-1C66-57B3-B14E-2C1DA70727CD',
+ ],
+ 'SCIMServerCredential' => [
+ 'description' => 'The information about the SCIM credential.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the SCIM credential. Valid values:'."\n"
+ ."\n"
+ .'* Enabled: The SCIM credential is enabled.'."\n"
+ .'* Disabled: The SCIM credential is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'Disabled',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'CredentialId' => [
+ 'description' => 'The ID of the SCIM credential.'."\n",
+ 'type' => 'string',
+ 'example' => 'scimcred-004whl0kvfwcypbi****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the SCIM credential was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-09T08:12:52Z',
+ ],
+ 'CredentialType' => [
+ 'description' => 'The type of the SCIM credential.'."\n",
+ 'type' => 'string',
+ 'example' => 'BearerToken',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the SCIM credential expires.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-09T08:12:52Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7C086C2F-1C66-57B3-B14E-2C1DA70727CD\\",\\n \\"SCIMServerCredential\\": {\\n \\"Status\\": \\"Disabled\\",\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"CredentialId\\": \\"scimcred-004whl0kvfwcypbi****\\",\\n \\"CreateTime\\": \\"2021-11-09T08:12:52Z\\",\\n \\"CredentialType\\": \\"BearerToken\\",\\n \\"ExpireTime\\": \\"2022-11-09T08:12:52Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<UpdateSCIMServerCredentialStatusResponse>\\n <RequestId>7C086C2F-1C66-57B3-B14E-2C1DA70727CD</RequestId>\\n <SCIMServerCredential>\\n <Status>Disabled</Status>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <CredentialId>scimcred-004whl0kvfwcypbi****</CredentialId>\\n <CreateTime>2021-11-09T08:12:52Z</CreateTime>\\n <CredentialType>BearerToken</CredentialType>\\n <ExpireTime>2022-11-09T08:12:52Z</ExpireTime>\\n </SCIMServerCredential>\\n</UpdateSCIMServerCredentialStatusResponse>","errorExample":""}]',
+ 'title' => 'UpdateSCIMServerCredentialStatus',
+ 'description' => 'This topic provides an example on how to disable the SCIM credential whose ID is `scimcred-004whl0kvfwcypbi****`. After the SCIM credential is disabled, the synchronization task that uses the SCIM credential fails. You can call this operation again to enable the SCIM credential.'."\n",
+ ],
+ 'DeleteSCIMServerCredential' => [
+ 'summary' => 'Deletes a System for Cross-domain Identity Management (SCIM) credential.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'CredentialId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SCIM credential.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'scimcred-004whl0kvfwcypbi****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '8CE8B990-193D-50CE-A604-69F3E7DCE740',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8CE8B990-193D-50CE-A604-69F3E7DCE740\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSCIMServerCredentialResponse>\\n <RequestId>8CE8B990-193D-50CE-A604-69F3E7DCE740</RequestId>\\n</DeleteSCIMServerCredentialResponse>","errorExample":""}]',
+ 'title' => 'DeleteSCIMServerCredential',
+ 'description' => 'After a SCIM credential is deleted, the synchronization task that uses the SCIM credential fails.'."\n"
+ ."\n"
+ .'This topic provides an example on how to delete the SCIM credential whose ID is `scimcred-004whl0kvfwcypbi****`.'."\n",
+ ],
+ 'SetSCIMSynchronizationStatus' => [
+ 'summary' => 'Enables or disables System for Cross-domain Identity Management (SCIM) synchronization.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'SCIMSynchronizationStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of SCIM synchronization. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Enabled',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '3BF1FC78-5D20-54CC-BAEB-8CC33AE21D01',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3BF1FC78-5D20-54CC-BAEB-8CC33AE21D01\\"\\n}","errorExample":""},{"type":"xml","example":"<SetSCIMSynchronizationStatusResponse>\\n <RequestId>3BF1FC78-5D20-54CC-BAEB-8CC33AE21D01</RequestId>\\n</SetSCIMSynchronizationStatusResponse>","errorExample":""}]',
+ 'title' => 'SetSCIMSynchronizationStatus',
+ 'description' => 'You can synchronize users or groups from an external identity provider (IdP) that supports SCIM 2.0 to CloudSSO only after SCIM synchronization is enabled. If you disable SCIM synchronization, you can no longer synchronize users or groups to CloudSSO. The following list describes the impacts after SCIM synchronization is enabled or disabled:'."\n"
+ ."\n"
+ .'* After you enable SCIM synchronization, you cannot modify or delete the users or groups that are synchronized to CloudSSO by using SCIM. In addition, you cannot add users to or remove users from the groups. However, you can change the passwords of the users and enable or disable the logon of the users.'."\n"
+ .'* After you disable SCIM synchronization, you can modify and delete the users and groups that are synchronized to CloudSSO by using SCIM. You can also add users to or remove users from the groups.'."\n"
+ ."\n"
+ .'This topic provides an example on how to enable SCIM synchronization within the directory `d-00fc2p61****`.'."\n",
+ ],
+ 'GetSCIMSynchronizationStatus' => [
+ 'summary' => 'Queries the status of System for Cross-domain Identity Management (SCIM) synchronization.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '7C086C2F-1C66-57B3-B14E-2C1DA70727CD',
+ ],
+ 'SCIMSynchronizationStatus' => [
+ 'description' => 'The status of SCIM synchronization. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7C086C2F-1C66-57B3-B14E-2C1DA70727CD\\",\\n \\"SCIMSynchronizationStatus\\": \\"Enabled\\"\\n}","errorExample":""},{"type":"xml","example":"<GetSCIMSynchronizationStatusResponse>\\n <RequestId>7C086C2F-1C66-57B3-B14E-2C1DA70727CD</RequestId>\\n <SCIMSynchronizationStatus>Enabled</SCIMSynchronizationStatus>\\n</GetSCIMSynchronizationStatusResponse>","errorExample":""}]',
+ 'title' => 'GetSCIMSynchronizationStatus',
+ 'description' => 'This topic provides an example on how to query the status of SCIM synchronization within the directory `d-00fc2p61****`. The returned result shows that SCIM synchronization is in the Enabled state.'."\n",
+ ],
+ 'GetDirectorySAMLServiceProviderInfo' => [
+ 'summary' => 'Queries information about a Security Assertion Markup Language (SAML) service provider (SP).',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '4632107D-BCE1-5A96-B30B-182EE0709625',
+ ],
+ 'SAMLServiceProvider' => [
+ 'description' => 'The information about the SP.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'EntityId' => [
+ 'description' => 'The entity ID of the SP.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://signin-cn-shanghai.alibabacloudsso.com/saml/sp/d-00fc2p61****',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'EncodedMetadataDocument' => [
+ 'description' => 'The metadata file of the SP. The value of this parameter is Base64-encoded.'."\n",
+ 'type' => 'string',
+ 'example' => 'PD94bWwgdmVyc2lv****',
+ ],
+ 'AcsUrl' => [
+ 'description' => 'The Assertion Consumer Service (ACS) URL of the SP.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://signin-cn-shanghai.alibabacloudsso.com/saml/acs/51d298a9-2a3f-4e23-97c7-7ad1cfa9****',
+ ],
+ 'AuthnSignAlgo' => [
+ 'description' => 'The signature algorithm supported by the AuthNRequest initiated by Alibaba Cloud. Value:'."\n"
+ ."\n"
+ .'- rsa-sha256'."\n"
+ ."\n"
+ .'- rsa-sha1',
+ 'type' => 'string',
+ 'example' => 'rsa-sha256',
+ ],
+ 'CertificateType' => [
+ 'description' => 'The certificate type used by Alibaba Cloud for signing during the SSO process. Value:'."\n"
+ ."\n"
+ .'- self-signed: Use a self-signed certificate.'."\n"
+ ."\n"
+ .'- public: Use a certificate issued by CA.',
+ 'type' => 'string',
+ 'example' => 'public',
+ ],
+ 'SupportEncryptedAssertion' => [
+ 'description' => 'Whether to support Assertion encryption on the IdP side.',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4632107D-BCE1-5A96-B30B-182EE0709625\\",\\n \\"SAMLServiceProvider\\": {\\n \\"EntityId\\": \\"https://signin-cn-shanghai.alibabacloudsso.com/saml/sp/d-00fc2p61****\\",\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"EncodedMetadataDocument\\": \\"PD94bWwgdmVyc2lv****\\",\\n \\"AcsUrl\\": \\"https://signin-cn-shanghai.alibabacloudsso.com/saml/acs/51d298a9-2a3f-4e23-97c7-7ad1cfa9****\\",\\n \\"AuthnSignAlgo\\": \\"rsa-sha256\\",\\n \\"CertificateType\\": \\"self-signed\\",\\n \\"SupportEncryptedAssertion\\": true\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetDirectorySAMLServiceProviderInfoResponse>\\n <RequestId>4632107D-BCE1-5A96-B30B-182EE0709625</RequestId>\\n <SAMLServiceProvider>\\n <EntityId>https://signin-cn-shanghai.alibabacloudsso.com/saml/sp/d-00fc2p61****</EntityId>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <EncodedMetadataDocument>PD94bWwgdmVyc2lv****</EncodedMetadataDocument>\\n <AcsUrl>https://signin-cn-shanghai.alibabacloudsso.com/saml/acs/51d298a9-2a3f-4e23-97c7-7ad1cfa9****</AcsUrl>\\n </SAMLServiceProvider>\\n</GetDirectorySAMLServiceProviderInfoResponse>","errorExample":""}]',
+ 'title' => 'GetDirectorySAMLServiceProviderInfo',
+ 'description' => 'During SAML 2.0-based single sign-on (SSO) logon, CloudSSO is an SP, and the identity management system of an enterprise is an identity provider (IdP).'."\n"
+ ."\n"
+ .'This topic provides an example on how to query information about the SP within the directory `d-00fc2p61****`.'."\n",
+ ],
+ 'SetExternalSAMLIdentityProvider' => [
+ 'summary' => 'Configures a Security Assertion Markup Language (SAML) identity provider (IdP).',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'EncodedMetadataDocument',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The metadata file of the IdP. The value of this parameter is Base64-encoded.'."\n"
+ ."\n"
+ .'The file is provided by the IdP that supports SAML 2.0.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'PD94bWwgdmVyc2lvbj0iMS4****',
+ ],
+ ],
+ [
+ 'name' => 'SSOStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of SSO logon. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled (default)'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Disabled',
+ ],
+ ],
+ [
+ 'name' => 'EntityId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The entity ID of the IdP.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'http://www.okta.com/exk3qwgtjhetR2Od****',
+ ],
+ ],
+ [
+ 'name' => 'LoginUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The logon URL of the IdP.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'https://dev-xxxxxx.okta.com/app/dev-xxxxxx_cloudssodemo_1/exk3qwgtjhetR2Od****/sso/saml',
+ ],
+ ],
+ [
+ 'name' => 'WantRequestSigned',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether CloudSSO needs to sign SAML requests. The requests are sent when users log on to the CloudSSO user portal to initiate SAML-based SSO. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false (default)'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'X509Certificate',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The X.509 certificate in the PEM format. If you specify this parameter, all existing certificates are replaced.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MIIC8DCCAdigAwIBAgIQP9eomUYGeoND****',
+ ],
+ ],
+ [
+ 'name' => 'BindingType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The binding for sending SAML requests. Valid values:'."\n"
+ ."\n"
+ .'* Post: HTTP Post bindings.'."\n"
+ .'* Redirect: HTTP Redirect bindings.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Redirect',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '63160579-2E1B-57B0-8273-B27427172385',
+ ],
+ 'SAMLIdentityProviderConfiguration' => [
+ 'description' => 'The configurations of the IdP.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'EntityId' => [
+ 'description' => 'The entity ID of the IdP.'."\n",
+ 'type' => 'string',
+ 'example' => 'http://www.okta.com/exk3qwgtjhetR2Od****',
+ ],
+ 'SSOStatus' => [
+ 'description' => 'The status of SSO logon. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Disabled',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'EncodedMetadataDocument' => [
+ 'description' => 'The metadata file of the IdP. The value of this parameter is Base64-encoded.'."\n",
+ 'type' => 'string',
+ 'example' => 'PD94bWwgdmVyc2lvbj0iMS4****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the IdP was configured for the first time.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-10T02:57:16Z',
+ ],
+ 'WantRequestSigned' => [
+ 'description' => 'Indicates whether CloudSSO needs to sign SAML requests. The requests are sent when users log on to the CloudSSO user portal to initiate SAML-based SSO. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false (default)'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the IdP configurations were last modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-10T02:57:16Z',
+ ],
+ 'CertificateIds' => [
+ 'description' => 'The IDs of the SAML signing certificates.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the SAML signing certificate.'."\n"
+ ."\n"
+ .'Multiple IDs are separated by commas (,).'."\n",
+ 'type' => 'string',
+ 'example' => '[ "idp-c-00buzdx63z8ewtdf****", "idp-c-00gmuxnr2mrek3t2****" ]',
+ ],
+ ],
+ 'LoginUrl' => [
+ 'description' => 'The logon URL of the IdP.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://dev-xxxxxx.okta.com/app/dev-xxxxxx_cloudssodemo_1/exk3qwgtjhetR2Od****/sso/saml',
+ ],
+ 'BindingType' => [
+ 'description' => 'The binding for sending SAML requests. Valid values:'."\n"
+ ."\n"
+ .'* Post: HTTP Post bindings.'."\n"
+ .'* Redirect: HTTP Redirect bindings.'."\n",
+ 'type' => 'string',
+ 'example' => 'Redirect',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"63160579-2E1B-57B0-8273-B27427172385\\",\\n \\"SAMLIdentityProviderConfiguration\\": {\\n \\"EntityId\\": \\"http://www.okta.com/exk3qwgtjhetR2Od****\\",\\n \\"SSOStatus\\": \\"Disabled\\",\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"EncodedMetadataDocument\\": \\"PD94bWwgdmVyc2lvbj0iMS4****\\",\\n \\"CreateTime\\": \\"2021-11-10T02:57:16Z\\",\\n \\"WantRequestSigned\\": false,\\n \\"UpdateTime\\": \\"2021-11-10T02:57:16Z\\",\\n \\"CertificateIds\\": [\\n \\"[ \\\\\\"idp-c-00buzdx63z8ewtdf****\\\\\\", \\\\\\"idp-c-00gmuxnr2mrek3t2****\\\\\\" ]\\"\\n ],\\n \\"LoginUrl\\": \\"https://dev-xxxxxx.okta.com/app/dev-xxxxxx_cloudssodemo_1/exk3qwgtjhetR2Od****/sso/saml\\",\\n \\"BindingType\\": \\"Redirect\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<SetExternalSAMLIdentityProviderResponse>\\n <RequestId>63160579-2E1B-57B0-8273-B27427172385</RequestId>\\n <SAMLIdentityProviderConfiguration>\\n <EntityId>http://www.okta.com/exk3qwgtjhetR2Od****</EntityId>\\n <SSOStatus>Disabled</SSOStatus>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <EncodedMetadataDocument>PD94bWwgdmVyc2lvbj0iMS4****</EncodedMetadataDocument>\\n <CreateTime>2021-11-10T02:57:16Z</CreateTime>\\n <WantRequestSigned>false</WantRequestSigned>\\n <UpdateTime>2021-11-10T02:57:16Z</UpdateTime>\\n <CertificateIds>idp-c-00buzdx63z8ewtdf****</CertificateIds>\\n <CertificateIds>idp-c-00gmuxnr2mrek3t2****</CertificateIds>\\n <LoginUrl>https://dev-xxxxxx.okta.com/app/dev-xxxxxx_cloudssodemo_1/exk3qwgtjhetR2Od****/sso/saml</LoginUrl>\\n </SAMLIdentityProviderConfiguration>\\n</SetExternalSAMLIdentityProviderResponse>","errorExample":""}]',
+ 'title' => 'SetExternalSAMLIdentityProvider',
+ 'description' => 'During SAML 2.0-based single sign-on (SSO) logon, CloudSSO is a service provider (SP), and the identity management system of an enterprise is an IdP.'."\n"
+ ."\n"
+ .'You can use one of the following methods to configure a SAML IdP. You can obtain the required metadata file or parameter values from your IdP.'."\n"
+ ."\n"
+ .'* Use the metadata file: You can specify the `EncodedMetadataDocument` parameter to upload the metadata file.'."\n"
+ .'* Manually configure the IdP: You can manually specify the following parameters for your IdP: `EntityId`, `LoginUrl`, `WantRequestSigned`, and `X509Certificate`.'."\n"
+ ."\n"
+ .'If you have configured a SAML IdP, the existing configurations are replaced after you call this operation.'."\n"
+ ."\n"
+ .'* If the IdP is configured by using the metadata file, all existing configurations are replaced with new configurations.'."\n"
+ .'* If the IdP is manually configured, the original parameter values that are different from the new parameter values are replaced.'."\n"
+ ."\n"
+ .'> If SSO logon is enabled, new configurations immediately take effect. Take note of the impacts on the production environment.'."\n"
+ ."\n"
+ .'This topic provides an example on how to configure an IdP by using the metadata file within the directory `d-00fc2p61****`.'."\n",
+ ],
+ 'GetExternalSAMLIdentityProvider' => [
+ 'summary' => 'Queries the configurations of a Security Assertion Markup Language (SAML) identity provider (IdP).',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '96D1E5FF-0301-5636-8D33-071E033CFB82',
+ ],
+ 'SAMLIdentityProviderConfiguration' => [
+ 'description' => 'The configurations of the IdP.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'EntityId' => [
+ 'description' => 'The ID of the IdP.'."\n",
+ 'type' => 'string',
+ 'example' => 'http://www.okta.com/exk3qwgtjhetR2Od****',
+ ],
+ 'SSOStatus' => [
+ 'description' => 'Indicates whether SSO is enabled. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'EncodedMetadataDocument' => [
+ 'description' => 'The metadata file of the IdP. The value of this parameter is Base64-encoded.'."\n",
+ 'type' => 'string',
+ 'example' => 'PD94bWwgdmVyc2lvbj0iMS4****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the IdP was configured for the first time.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-09T09:30:13Z',
+ ],
+ 'WantRequestSigned' => [
+ 'description' => 'Indicates whether CloudSSO needs to sign SAML requests. The requests are sent when users log on to the CloudSSO user portal to initiate SAML-based SSO. Valid values:'."\n"
+ ."\n"
+ .'* true:'."\n"
+ .'* false (default)'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the IdP configurations were last modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-09T09:30:22Z',
+ ],
+ 'CertificateIds' => [
+ 'description' => 'The SAML signing certificates.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the SAML signing certificate.'."\n"
+ ."\n"
+ .'Multiple IDs are separated by commas (,).'."\n",
+ 'type' => 'string',
+ 'example' => '[ "idp-c-00s6c04my7hvv1uj****" ]',
+ ],
+ ],
+ 'LoginUrl' => [
+ 'description' => 'The logon URL of the IdP.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://dev-xxxxxx.okta.com/app/dev-xxxxxx_cloudssodemo_1/exk3qwgtjhetR2Od****/sso/saml',
+ ],
+ 'BindingType' => [
+ 'description' => 'The binding for sending SAML requests. Valid values:'."\n"
+ ."\n"
+ .'* Post: HTTP Post bindings.'."\n"
+ .'* Redirect: HTTP Redirect bindings.'."\n",
+ 'type' => 'string',
+ 'example' => 'Post',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"96D1E5FF-0301-5636-8D33-071E033CFB82\\",\\n \\"SAMLIdentityProviderConfiguration\\": {\\n \\"EntityId\\": \\"http://www.okta.com/exk3qwgtjhetR2Od****\\",\\n \\"SSOStatus\\": \\"Enabled\\",\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"EncodedMetadataDocument\\": \\"PD94bWwgdmVyc2lvbj0iMS4****\\",\\n \\"CreateTime\\": \\"2021-11-09T09:30:13Z\\",\\n \\"WantRequestSigned\\": false,\\n \\"UpdateTime\\": \\"2021-11-09T09:30:22Z\\",\\n \\"CertificateIds\\": [\\n \\"[ \\\\\\"idp-c-00s6c04my7hvv1uj****\\\\\\" ]\\"\\n ],\\n \\"LoginUrl\\": \\"https://dev-xxxxxx.okta.com/app/dev-xxxxxx_cloudssodemo_1/exk3qwgtjhetR2Od****/sso/saml\\",\\n \\"BindingType\\": \\"Post\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetExternalSAMLIdentityProviderResponse>\\n <RequestId>96D1E5FF-0301-5636-8D33-071E033CFB82</RequestId>\\n <SAMLIdentityProviderConfiguration>\\n <EntityId>http://www.okta.com/exk3qwgtjhetR2Od****</EntityId>\\n <SSOStatus>Enabled</SSOStatus>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <EncodedMetadataDocument>PD94bWwgdmVyc2lvbj0iMS4****</EncodedMetadataDocument>\\n <CreateTime>2021-11-09T09:30:13Z</CreateTime>\\n <WantRequestSigned>false</WantRequestSigned>\\n <UpdateTime>2021-11-09T09:30:22Z</UpdateTime>\\n <CertificateIds>idp-c-00s6c04my7hvv1uj****</CertificateIds>\\n <LoginUrl>https://dev-xxxxxx.okta.com/app/dev-xxxxxx_cloudssodemo_1/exk3qwgtjhetR2Od****/sso/saml</LoginUrl>\\n </SAMLIdentityProviderConfiguration>\\n</GetExternalSAMLIdentityProviderResponse>","errorExample":""}]',
+ 'title' => 'GetExternalSAMLIdentityProvider',
+ 'description' => 'This topic provides an example on how to query the configurations of the SAML IdP within the directory `d-00fc2p61****`.'."\n",
+ ],
+ 'ClearExternalSAMLIdentityProvider' => [
+ 'summary' => 'Clears the configurations of a Security Assertion Markup Language (SAML) identity provider (IdP).',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '96D1E5FF-0301-5636-8D33-071E033CFB82',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"96D1E5FF-0301-5636-8D33-071E033CFB82\\"\\n}","errorExample":""},{"type":"xml","example":"<ClearExternalSAMLIdentityProviderResponse>\\n <RequestId>96D1E5FF-0301-5636-8D33-071E033CFB82</RequestId>\\n</ClearExternalSAMLIdentityProviderResponse>","errorExample":""}]',
+ 'title' => 'ClearExternalSAMLIdentityProvider',
+ 'description' => 'If single sign-on (SSO) logon is disabled, you can clear the configurations of a SAML IdP. If SSO logon is enabled, you cannot clear the configurations.'."\n"
+ ."\n"
+ .'This topic provides an example on how to clear the configurations of the SAML IdP within the directory `d-00fc2p61****`.'."\n",
+ ],
+ 'AddExternalSAMLIdPCertificate' => [
+ 'summary' => 'Adds a Security Assertion Markup Language (SAML) signing certificate.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'X509Certificate',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The X.509 certificate in the PEM format.'."\n"
+ ."\n"
+ .'The certificate is provided by the SAML identity provider (IdP).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'MIIC8DCCAdigAwIBAgIQP9eomUYGeoND****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '12B3E332-DD16-515B-B695-39BA233AA172',
+ ],
+ 'CertificateId' => [
+ 'description' => 'The ID of the SAML signing certificate.'."\n",
+ 'type' => 'string',
+ 'example' => 'idp-c-00wk2fb4foracls0****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"12B3E332-DD16-515B-B695-39BA233AA172\\",\\n \\"CertificateId\\": \\"idp-c-00wk2fb4foracls0****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddExternalSAMLIdPCertificateResponse>\\n <RequestId>12B3E332-DD16-515B-B695-39BA233AA172</RequestId>\\n <CertificateId>idp-c-00wk2fb4foracls0****</CertificateId>\\n</AddExternalSAMLIdPCertificateResponse>","errorExample":""}]',
+ 'title' => 'AddExternalSAMLIdPCertificate',
+ 'description' => 'You can add up to two SAML signing certificates.'."\n"
+ ."\n"
+ .'This topic provides an example on how to add a SAML signing certificate to the directory `d-00fc2p61****`.'."\n",
+ ],
+ 'ListExternalSAMLIdPCertificates' => [
+ 'summary' => 'Queries Security Assertion Markup Language (SAML) signing certificates.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '400979BC-92EC-58B9-B47C-6913BD56A6FD',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SAMLIdPCertificates' => [
+ 'description' => 'The SAML signing certificates.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The SAML signing certificate.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SerialNumber' => [
+ 'description' => 'The serial number of the certificate.'."\n",
+ 'type' => 'string',
+ 'example' => '159289587****',
+ ],
+ 'Issuer' => [
+ 'description' => 'The issuer of the certificate.'."\n",
+ 'type' => 'string',
+ 'example' => '1.2.840.113549.1.9.1=#160d696e666f406f6b74612e63****,CN=dev-xxxxxx,OU=SSOProvider,O=Okta,L=San Francisco,ST=California,C=US',
+ ],
+ 'Version' => [
+ 'description' => 'The version of the certificate.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'CertificateId' => [
+ 'description' => 'The ID of the certificate.'."\n",
+ 'type' => 'string',
+ 'example' => 'idp-c-00dt9gnl7fmjaw9c****',
+ ],
+ 'PublicKey' => [
+ 'description' => 'The public key of the certificate. The value of this parameter is in the PEM format and is Base64-encoded.'."\n",
+ 'type' => 'string',
+ 'example' => 'MIIBIjANBgkqhkiG****',
+ ],
+ 'SignatureAlgorithm' => [
+ 'description' => 'The signature algorithm of the certificate.'."\n",
+ 'type' => 'string',
+ 'example' => 'SHA256withRSA',
+ ],
+ 'NotAfter' => [
+ 'description' => 'The time when the certificate expires.'."\n",
+ 'type' => 'string',
+ 'example' => '2030-06-23T07:04:37Z',
+ ],
+ 'NotBefore' => [
+ 'description' => 'The time when the certificate was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2020-06-23T07:03:37Z',
+ ],
+ 'Subject' => [
+ 'description' => 'The subject of the certificate.'."\n",
+ 'type' => 'string',
+ 'example' => '1.2.840.113549.1.9.1=#160d696e666f406f6b74612e63****,CN=dev-xxxxxx,OU=SSOProvider,O=Okta,L=San Francisco,ST=California,C=US',
+ ],
+ 'X509Certificate' => [
+ 'description' => 'The X.509 certificate in the PEM format.'."\n",
+ 'type' => 'string',
+ 'example' => 'MIIDpDCCAoygAwIBAgIG****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"400979BC-92EC-58B9-B47C-6913BD56A6FD\\",\\n \\"TotalCounts\\": 1,\\n \\"SAMLIdPCertificates\\": [\\n {\\n \\"SerialNumber\\": \\"159289587****\\",\\n \\"Issuer\\": \\"1.2.840.113549.1.9.1=#160d696e666f406f6b74612e63****,CN=dev-xxxxxx,OU=SSOProvider,O=Okta,L=San Francisco,ST=California,C=US\\",\\n \\"Version\\": 3,\\n \\"CertificateId\\": \\"idp-c-00dt9gnl7fmjaw9c****\\",\\n \\"PublicKey\\": \\"MIIBIjANBgkqhkiG****\\",\\n \\"SignatureAlgorithm\\": \\"SHA256withRSA\\",\\n \\"NotAfter\\": \\"2030-06-23T07:04:37Z\\",\\n \\"NotBefore\\": \\"2020-06-23T07:03:37Z\\",\\n \\"Subject\\": \\"1.2.840.113549.1.9.1=#160d696e666f406f6b74612e63****,CN=dev-xxxxxx,OU=SSOProvider,O=Okta,L=San Francisco,ST=California,C=US\\",\\n \\"X509Certificate\\": \\"MIIDpDCCAoygAwIBAgIG****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListExternalSAMLIdPCertificatesResponse>\\n\\t<RequestId>400979BC-92EC-58B9-B47C-6913BD56A6FD</RequestId>\\n\\t<TotalCounts>1</TotalCounts>\\n\\t<SAMLIdPCertificates>\\n\\t\\t<SAMLIdPCertificate>\\n\\t\\t\\t<SerialNumber>159289587****</SerialNumber>\\n\\t\\t\\t<Issuer>1.2.840.113549.1.9.1=#160d696e666f406f6b74612e63****,CN=dev-xxxxxx,OU=SSOProvider,O=Okta,L=San Francisco,ST=California,C=US</Issuer>\\n\\t\\t\\t<Version>3</Version>\\n\\t\\t\\t<CertificateId>idp-c-00dt9gnl7fmjaw9c****</CertificateId>\\n\\t\\t\\t<PublicKey>MIIBIjANBgkqhkiG****</PublicKey>\\n\\t\\t\\t<SignatureAlgorithm>SHA256withRSA</SignatureAlgorithm>\\n\\t\\t\\t<NotAfter>2030-06-23T07:04:37Z</NotAfter>\\n\\t\\t\\t<NotBefore>2020-06-23T07:03:37Z</NotBefore>\\n\\t\\t\\t<Subject>1.2.840.113549.1.9.1=#160d696e666f406f6b74612e63****,CN=dev-xxxxxx,OU=SSOProvider,O=Okta,L=San Francisco,ST=California,C=US</Subject>\\n\\t\\t\\t<X509Certificate>MIIDpDCCAoygAwIBAgIG****</X509Certificate>\\n\\t\\t</SAMLIdPCertificate>\\n\\t</SAMLIdPCertificates>\\n</ListExternalSAMLIdPCertificatesResponse>\\t","errorExample":""}]',
+ 'title' => 'ListExternalSAMLIdPCertificates',
+ 'description' => 'This topic provides an example on how to query the SAML signing certificates within the directory `d-00fc2p61****`. The returned result shows that the directory contains one SAML signing certificate.'."\n",
+ ],
+ 'RemoveExternalSAMLIdPCertificate' => [
+ 'summary' => 'Removes a Security Assertion Markup Language (SAML) signing certificate.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'CertificateId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the certificate.'."\n"
+ ."\n"
+ .'You can call the [ListExternalSAMLIdPCertificates](~~341629~~) operation to query the IDs of certificates.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'idp-c-00dt9gnl7fmjaw9c****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '400979BC-92EC-58B9-B47C-6913BD56A6FD',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"400979BC-92EC-58B9-B47C-6913BD56A6FD\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveExternalSAMLIdPCertificateResponse>\\n <RequestId>400979BC-92EC-58B9-B47C-6913BD56A6FD</RequestId>\\n</RemoveExternalSAMLIdPCertificateResponse>","errorExample":""}]',
+ 'title' => 'RemoveExternalSAMLIdPCertificate',
+ 'description' => 'This topic provides an example on how to remove the SAML signing certificate whose ID is `idp-c-00dt9gnl7fmjaw9c****`.'."\n",
+ ],
+ 'CreateAccessConfiguration' => [
+ 'summary' => 'Creates an access configuration.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the access configuration.'."\n"
+ ."\n"
+ .'The name can contain letters, digits, and hyphens (-).'."\n"
+ ."\n"
+ .'The name can be up to 32 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ECS-Admin',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the access configuration.'."\n"
+ ."\n"
+ .'The description can be up to 1,024 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'This is an access configuration.',
+ ],
+ ],
+ [
+ 'name' => 'SessionDuration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The duration of a session'."\n"
+ ."\n"
+ .'in which a CloudSSO user uses the access configuration to access an account in your resource directory.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n"
+ ."\n"
+ .'Valid values: 900 to 43200. The value 900 indicates 15 minutes. The value 43200 indicates 12 hours.'."\n"
+ ."\n"
+ .'Default value: 3600. The value indicates 1 hour.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '3600',
+ ],
+ ],
+ [
+ 'name' => 'RelayState',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The initial web page'."\n"
+ ."\n"
+ .'that is displayed after a CloudSSO user uses the access configuration to access an account in your resource directory.'."\n"
+ ."\n"
+ .'The web page must be a page of the Alibaba Cloud Management Console. By default, this parameter is empty, which indicates that the initial web page is the homepage of the Alibaba Cloud Management Console.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'https://cloudsso.console.aliyun.com',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'Key' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'A3A41736-A050-50B6-ABC5-590F376A0044',
+ ],
+ 'AccessConfiguration' => [
+ 'description' => 'The information about the access configuration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'SessionDuration' => [
+ 'description' => 'The duration of a session'."\n"
+ ."\n"
+ .'in which a CloudSSO user uses the access configuration to access an account in your resource directory.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is an access configuration.',
+ ],
+ 'RelayState' => [
+ 'description' => 'The initial web page'."\n"
+ ."\n"
+ .'that is displayed after a CloudSSO user uses the access configuration to access an account in your resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://cloudsso.console.aliyun.com',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the access configuration was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-02T08:44:23Z',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the access configuration was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-02T08:44:23Z',
+ ],
+ 'StatusNotifications' => [
+ 'description' => 'The status notifications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status notification. Valid values:'."\n"
+ ."\n"
+ .'* Empty: No status notifications are sent.'."\n"
+ .'* ReprovisionRequired: The access configuration needs to be re-provisioned.'."\n",
+ 'type' => 'string',
+ 'example' => 'ReprovisionRequired',
+ ],
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ 'Tags' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A3A41736-A050-50B6-ABC5-590F376A0044\\",\\n \\"AccessConfiguration\\": {\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"SessionDuration\\": 3600,\\n \\"Description\\": \\"This is an access configuration.\\",\\n \\"RelayState\\": \\"https://cloudsso.console.aliyun.com\\",\\n \\"CreateTime\\": \\"2021-11-02T08:44:23Z\\",\\n \\"UpdateTime\\": \\"2021-11-02T08:44:23Z\\",\\n \\"StatusNotifications\\": [\\n \\"ReprovisionRequired\\"\\n ],\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\",\\n \\"Tags\\": [\\n {\\n \\"Value\\": \\"\\",\\n \\"Key\\": \\"\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateAccessConfigurationResponse>\\n <RequestId>A3A41736-A050-50B6-ABC5-590F376A0044</RequestId>\\n <AccessConfiguration>\\n <AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n <SessionDuration>3600</SessionDuration>\\n <Description>This is an access configuration.</Description>\\n <RelayState/>\\n <CreateTime>2021-11-02T08:44:23Z</CreateTime>\\n <UpdateTime>2021-11-02T08:44:23Z</UpdateTime>\\n <AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n </AccessConfiguration>\\n</CreateAccessConfigurationResponse>","errorExample":""}]',
+ 'title' => 'CreateAccessConfiguration',
+ 'description' => 'For more information about access configurations, see [Overview of access configurations](~~266737~~).'."\n"
+ ."\n"
+ .'This topic provides an example on how to create an access configuration named `ECS-Admin`.'."\n",
+ ],
+ 'ListAccessConfigurations' => [
+ 'summary' => 'Queries access configurations.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ '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. You must specify the token that is obtained from the previous query as the value of `NextToken`.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return is larger than the value of the `MaxResults` parameter, the entries are truncated. The system returns entries based on the value of the `MaxResults` parameter, and does not return the excess entries. In this case, the value of the response parameter `IsTruncated` is `true`, and the `NextToken` parameter is returned. In the next call, you can use the value of the `NextToken` parameter and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of `IsTruncated` becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'Filter',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The filter condition.'."\n"
+ ."\n"
+ .'The value is not case-sensitive. You must specify the value in the \\<Attribute> \\<Operator> \\<Value> format. You can set \\<Attribute> only to AccessConfigurationName and \\<Operator> only to eq or sw. The value eq indicates Equals. The value sw indicates Starts With.'."\n"
+ ."\n"
+ .'For example, if you set Filter to AccessConfigurationName sw test, the operation queries all access configurations whose names start with test. If you set Filter to AccessConfigurationName eq TestAccessConfiguration, the operation queries the access configuration whose name is TestAccessConfiguration.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AccessConfigurationName sw test',
+ ],
+ ],
+ [
+ 'name' => 'StatusNotifications',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status notification. The status notification can be used to filter access configurations.'."\n"
+ ."\n"
+ .'Set the value to ReprovisionRequired, which indicates that the operation queries all access configurations that need to be re-provisioned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ReprovisionRequired',
+ ],
+ ],
+ [
+ 'name' => 'Tags',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessConfigurations' => [
+ 'description' => 'The access configurations.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The access configuration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'SessionDuration' => [
+ 'description' => 'The duration of a session'."\n"
+ ."\n"
+ .'in which a CloudSSO user uses the access configuration to access an account in your resource directory.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '900',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is an access configuration.',
+ ],
+ 'RelayState' => [
+ 'description' => 'The initial web page'."\n"
+ ."\n"
+ .'that is displayed after a CloudSSO user uses the access configuration to access an account in your resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://cloudsso.console.aliyun.com',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the access configuration was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-02T08:44:23Z',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the access configuration was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-02T08:44:23Z',
+ ],
+ 'StatusNotifications' => [
+ 'description' => 'The status notifications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status notification. Valid values:'."\n"
+ ."\n"
+ .'* Empty: No status notifications are sent.'."\n"
+ .'* ReprovisionRequired: The access configuration needs to be re-provisioned.'."\n",
+ 'type' => 'string',
+ 'example' => 'ReprovisionRequired',
+ ],
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ 'Tags' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'NextToken' => [
+ 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of the `IsTruncated` parameter is `true`.'."\n",
+ 'type' => 'string',
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '2BC0CBAC-45E1-5BD3-BF6E-F69D1D5391C2',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"AccessConfigurations\\": [\\n {\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"SessionDuration\\": 900,\\n \\"Description\\": \\"This is an access configuration.\\",\\n \\"RelayState\\": \\"https://cloudsso.console.aliyun.com\\",\\n \\"CreateTime\\": \\"2021-11-02T08:44:23Z\\",\\n \\"UpdateTime\\": \\"2021-11-02T08:44:23Z\\",\\n \\"StatusNotifications\\": [\\n \\"ReprovisionRequired\\"\\n ],\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****\\",\\n \\"RequestId\\": \\"2BC0CBAC-45E1-5BD3-BF6E-F69D1D5391C2\\",\\n \\"MaxResults\\": 10,\\n \\"TotalCounts\\": 2,\\n \\"IsTruncated\\": false\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<ListAccessConfigurationsResponse>\\n\\t<AccessConfigurations>\\n\\t\\t<AccessConfiguration>\\n\\t\\t\\t<AccessConfigurationName>VPC-Admin</AccessConfigurationName>\\n\\t\\t\\t<SessionDuration>3600</SessionDuration>\\n\\t\\t\\t<Description></Description>\\n\\t\\t\\t<RelayState></RelayState>\\n\\t\\t\\t<CreateTime>2021-06-30T09:39:44Z</CreateTime>\\n\\t\\t\\t<UpdateTime>2021-07-26T03:02:11Z</UpdateTime>\\n\\t\\t\\t<StatusNotifications>ReprovisionRequired</StatusNotifications>\\n\\t\\t\\t<AccessConfigurationId>ac-00ccule7tadaijxc****</AccessConfigurationId>\\n\\t\\t</AccessConfiguration>\\n\\t\\t<AccessConfiguration>\\n\\t\\t\\t<AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n\\t\\t\\t<SessionDuration>900</SessionDuration>\\n\\t\\t\\t<Description>This is an access configuration.</Description>\\n\\t\\t\\t<RelayState></RelayState>\\n\\t\\t\\t<CreateTime>2021-11-02T08:44:23Z</CreateTime>\\n\\t\\t\\t<UpdateTime>2021-11-02T08:44:23Z</UpdateTime>\\n\\t\\t\\t<AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n\\t\\t</AccessConfiguration>\\n\\t</AccessConfigurations>\\n\\t<RequestId>2BC0CBAC-45E1-5BD3-BF6E-F69D1D5391C2</RequestId>\\n\\t<MaxResults>10</MaxResults>\\n\\t<TotalCounts>2</TotalCounts>\\n\\t<IsTruncated>false</IsTruncated>\\n</ListAccessConfigurationsResponse>\\t\\n","errorExample":""}]',
+ 'title' => 'ListAccessConfigurations',
+ 'description' => 'This topic provides an example on how to query the access configurations within the directory `d-00fc2p61****`. The returned result shows that the directory contains the `VPC-Admin` and `ECS-Admin` access configurations.'."\n",
+ ],
+ 'GetAccessConfiguration' => [
+ 'summary' => 'Queries information about an access configuration.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00ccule7tadaijxc****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'D5E40508-483B-52F6-993C-D880B0F87591',
+ ],
+ 'AccessConfiguration' => [
+ 'description' => 'The information about the access configuration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC-Admin',
+ ],
+ 'SessionDuration' => [
+ 'description' => 'The duration of a session'."\n"
+ ."\n"
+ .'in which a CloudSSO user uses the access configuration to access an account in your resource directory.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is an access configuration.',
+ ],
+ 'RelayState' => [
+ 'description' => 'The initial web page'."\n"
+ ."\n"
+ .'displayed after a CloudSSO user uses the access configuration to access an account in your resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://cloudsso.console.aliyun.com',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the access configuration was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-30T09:39:44Z',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the access configuration was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-07-26T03:02:11Z',
+ ],
+ 'StatusNotifications' => [
+ 'description' => 'The status notifications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status notification. Valid values:'."\n"
+ ."\n"
+ .'* Empty: No status notifications are sent.'."\n"
+ .'* ReprovisionRequired: The access configuration needs to be re-provisioned.'."\n",
+ 'type' => 'string',
+ 'example' => 'ReprovisionRequired',
+ ],
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00ccule7tadaijxc****',
+ ],
+ 'Tags' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D5E40508-483B-52F6-993C-D880B0F87591\\",\\n \\"AccessConfiguration\\": {\\n \\"AccessConfigurationName\\": \\"VPC-Admin\\",\\n \\"SessionDuration\\": 3600,\\n \\"Description\\": \\"This is an access configuration.\\",\\n \\"RelayState\\": \\"https://cloudsso.console.aliyun.com\\",\\n \\"CreateTime\\": \\"2021-06-30T09:39:44Z\\",\\n \\"UpdateTime\\": \\"2021-07-26T03:02:11Z\\",\\n \\"StatusNotifications\\": [\\n \\"ReprovisionRequired\\"\\n ],\\n \\"AccessConfigurationId\\": \\"ac-00ccule7tadaijxc****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetAccessConfigurationResponse>\\n <RequestId>D5E40508-483B-52F6-993C-D880B0F87591</RequestId>\\n <AccessConfiguration>\\n <AccessConfigurationName>VPC-Admin</AccessConfigurationName>\\n <SessionDuration>3600</SessionDuration>\\n <Description>This is an access configuration.</Description>\\n <RelayState/>\\n <CreateTime>2021-06-30T09:39:44Z</CreateTime>\\n <UpdateTime>2021-07-26T03:02:11Z</UpdateTime>\\n <StatusNotifications>ReprovisionRequired</StatusNotifications>\\n <AccessConfigurationId>ac-00ccule7tadaijxc****</AccessConfigurationId>\\n </AccessConfiguration>\\n</GetAccessConfigurationResponse>","errorExample":""}]',
+ 'title' => 'GetAccessConfiguration',
+ 'description' => 'This topic provides an example on how to query information about the access configuration whose ID is `ac-00ccule7tadaijxc****`.'."\n",
+ ],
+ 'UpdateAccessConfiguration' => [
+ 'summary' => 'Modifies information about an access configuration.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'NewDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new description of the access configuration.'."\n"
+ ."\n"
+ .'The description can be up to 1,024 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'This is an access configuration.',
+ ],
+ ],
+ [
+ 'name' => 'NewSessionDuration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new duration of a session'."\n"
+ ."\n"
+ .'in which a CloudSSO user accesses an account in your resource directory by using the access configuration.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n"
+ ."\n"
+ .'Valid values: 900 to 43200. The value 900 indicates 15 minutes. The value 43200 indicates 12 hours.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '3600',
+ ],
+ ],
+ [
+ 'name' => 'NewRelayState',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new initial web page'."\n"
+ ."\n"
+ .'that is displayed after a CloudSSO user accesses an account in your resource directory by using the access configuration.'."\n"
+ ."\n"
+ .'The web page must be a page of the Alibaba Cloud Management Console.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'https://cloudsso.console.aliyun.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '9B13E4EE-3853-5852-9165-597C32AD8FB7',
+ ],
+ 'AccessConfiguration' => [
+ 'description' => 'The information about the access configuration.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'SessionDuration' => [
+ 'description' => 'The duration of a session'."\n"
+ ."\n"
+ .'in which a CloudSSO user accesses an account in your resource directory by using the access configuration.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is an access configuration.',
+ ],
+ 'RelayState' => [
+ 'description' => 'The initial web page'."\n"
+ ."\n"
+ .'that is displayed after a CloudSSO user accesses an account in your resource directory by using the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://cloudsso.console.aliyun.com',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the access configuration was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-02T08:44:23Z',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The time when the information about the access configuration was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-02T10:10:01Z',
+ ],
+ 'StatusNotifications' => [
+ 'description' => 'The status notifications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status notification. Valid values:'."\n"
+ ."\n"
+ .'* Empty: No status notifications are sent.'."\n"
+ .'* ReprovisionRequired: The access configuration needs to be re-provisioned.'."\n",
+ 'type' => 'string',
+ 'example' => 'ReprovisionRequired',
+ ],
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B13E4EE-3853-5852-9165-597C32AD8FB7\\",\\n \\"AccessConfiguration\\": {\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"SessionDuration\\": 3600,\\n \\"Description\\": \\"This is an access configuration.\\",\\n \\"RelayState\\": \\"https://cloudsso.console.aliyun.com\\",\\n \\"CreateTime\\": \\"2021-11-02T08:44:23Z\\",\\n \\"UpdateTime\\": \\"2021-11-02T10:10:01Z\\",\\n \\"StatusNotifications\\": [\\n \\"ReprovisionRequired\\"\\n ],\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<UpdateAccessConfigurationResponse>\\n <RequestId>9B13E4EE-3853-5852-9165-597C32AD8FB7</RequestId>\\n <AccessConfiguration>\\n <AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n <SessionDuration>3600</SessionDuration>\\n <Description>This is an access configuration.</Description>\\n <RelayState>https://cloudsso.console.aliyun.com</RelayState>\\n <CreateTime>2021-11-02T08:44:23Z</CreateTime>\\n <UpdateTime>2021-11-02T10:10:01Z</UpdateTime>\\n <AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n </AccessConfiguration>\\n</UpdateAccessConfigurationResponse>","errorExample":""}]',
+ 'title' => 'UpdateAccessConfiguration',
+ 'description' => 'You can modify the `Description`, `SessionDuration`, and `RelayState` parameters for an access configuration.'."\n"
+ ."\n"
+ .'This topic provides an example on how to change the initial web page in the access configuration `ac-00jhtfl8thteu6uj****` to `https://cloudsso.console.aliyun.com`.'."\n",
+ ],
+ 'DeleteAccessConfiguration' => [
+ 'summary' => 'Deletes an access configuration.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-001j9mcm3k7335bc****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'ForceRemovePermissionPolicies',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to forcibly remove system policies and inline policies. Valid values:'."\n"
+ ."\n"
+ .'* true: When you delete the access configuration, the associated system policies and inline policies are forcibly removed.'."\n"
+ .'* false: When you delete the access configuration, the associated system policies and inline policies are not forcibly removed. This is the default value. If these policies exist in the access configuration, the deletion fails. Before you delete the access configuration, you must remove the system policies and inline policies. For more information, see [RemovePermissionPolicyFromAccessConfiguration](~~336904~~).'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '9B13E4EE-3853-5852-9165-597C32AD8FB7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B13E4EE-3853-5852-9165-597C32AD8FB7\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAccessConfigurationResponse>\\n <RequestId>9B13E4EE-3853-5852-9165-597C32AD8FB7</RequestId>\\n</DeleteAccessConfigurationResponse>","errorExample":""}]',
+ 'title' => 'DeleteAccessConfiguration',
+ 'description' => '### [](#)Prerequisites'."\n"
+ ."\n"
+ .'The access configuration that you want to delete is de-provisioned from the accounts in your resource directory. For more information, see [DeprovisionAccessConfiguration](~~338352~~).'."\n"
+ ."\n"
+ .'### [](#)Operation description'."\n"
+ ."\n"
+ .'This topic provides an example on how to delete the access configuration whose ID is `ac-001j9mcm3k7335bc****`.'."\n",
+ ],
+ 'AddPermissionPolicyToAccessConfiguration' => [
+ 'summary' => 'Adds a policy to an access configuration.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'PermissionPolicyType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the policy. Valid values:'."\n"
+ ."\n"
+ .'* System: system policy. Resource Access Management (RAM) system policies are reused.'."\n"
+ .'* Inline: inline policy. Inline policies are created based on the RAM policy syntax and structure.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'System',
+ ],
+ ],
+ [
+ 'name' => 'PermissionPolicyName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the policy.'."\n"
+ ."\n"
+ .'* If you set `PermissionPolicyType` to `System`, you must set PermissionPolicyName to the name of a system policy. You can obtain the name of the system policy from RAM.'."\n"
+ .'* If you set `PermissionPolicyType` to `Inline`, you must set PermissionPolicyName to the name of an inline policy. A custom value is supported. The value can be up to 32 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'AliyunECSFullAccess',
+ ],
+ ],
+ [
+ 'name' => 'InlinePolicyDocument',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The configurations of the inline policy.'."\n"
+ ."\n"
+ .'The value can be up to 4,096 characters in length.'."\n"
+ ."\n"
+ .'If you set `PermissionPolicyType` to `Inline`, you must specify this parameter. For more information about the syntax and structure of RAM policies, see [Policy syntax and structure](~~93739~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"Statement": [{"Action": "*","Effect": "Allow","Resource": "*"}],"Version": "1"}',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B7C6E839-FB65-59BE-B753-003AA8AF7DF7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B7C6E839-FB65-59BE-B753-003AA8AF7DF7\\"\\n}","errorExample":""},{"type":"xml","example":"<AddPermissionPolicyToAccessConfigurationResponse>\\n <RequestId>B7C6E839-FB65-59BE-B753-003AA8AF7DF7</RequestId>\\n</AddPermissionPolicyToAccessConfigurationResponse>","errorExample":""}]',
+ 'title' => 'AddPermissionPolicyToAccessConfiguration',
+ 'description' => 'This topic provides an example on how to add the system policy `AliyunECSFullAccess` to the access configuration `ac-00jhtfl8thteu6uj****`.'."\n",
+ ],
+ 'RemovePermissionPolicyFromAccessConfiguration' => [
+ 'summary' => 'Removes a policy from an access configuration.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'PermissionPolicyType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the policy. Valid values:'."\n"
+ ."\n"
+ .'* System: system policy.'."\n"
+ .'* Inline: inline policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'System',
+ ],
+ ],
+ [
+ 'name' => 'PermissionPolicyName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'AliyunECSFullAccess',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '9B13E4EE-3853-5852-9165-597C32AD8FB7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B13E4EE-3853-5852-9165-597C32AD8FB7\\"\\n}","errorExample":""},{"type":"xml","example":"<RemovePermissionPolicyFromAccessConfigurationResponse>\\n <RequestId>9B13E4EE-3853-5852-9165-597C32AD8FB7</RequestId>\\n</RemovePermissionPolicyFromAccessConfigurationResponse>","errorExample":""}]',
+ 'title' => 'RemovePermissionPolicyFromAccessConfiguration',
+ 'description' => 'After you remove an inline policy from an access configuration, the policy cannot be restored.'."\n"
+ ."\n"
+ .'This topic provides an example on how to remove the system policy `AliyunECSFullAccess` from the access configuration `ac-00jhtfl8thteu6uj****`.'."\n",
+ ],
+ 'UpdateInlinePolicyForAccessConfiguration' => [
+ 'summary' => 'Modifies an inline policy that is created for an access configuration.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'InlinePolicyName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the inline policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'InlinePolicy',
+ ],
+ ],
+ [
+ 'name' => 'NewInlinePolicyDocument',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new configurations of the inline policy.'."\n"
+ ."\n"
+ .'The value can be up to 4,096 characters in length.'."\n"
+ ."\n"
+ .'For more information about the syntax and structure of RAM policies, see [Policy syntax and structure](~~93739~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"Statement": [{"Action": "*","Effect": "Allow","Resource": "*"}],"Version": "1"}',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '9B13E4EE-3853-5852-9165-597C32AD8FB7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9B13E4EE-3853-5852-9165-597C32AD8FB7\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateInlinePolicyForAccessConfigurationResponse>\\n <RequestId>9B13E4EE-3853-5852-9165-597C32AD8FB7</RequestId>\\n</UpdateInlinePolicyForAccessConfigurationResponse>","errorExample":""}]',
+ 'title' => 'UpdateInlinePolicyForAccessConfiguration',
+ 'description' => 'This topic provides an example on how to modify an inline policy that is created for the access configuration `ac-00jhtfl8thteu6uj****`.'."\n",
+ ],
+ 'ListPermissionPoliciesInAccessConfiguration' => [
+ 'summary' => 'Queries the policies that are created for an access configuration.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'PermissionPolicyType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the policy. The type can be used to filter policies. Valid values:'."\n"
+ ."\n"
+ .'* System: system policy.'."\n"
+ .'* Inline: inline policy.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, all types of policies are queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'System',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PermissionPolicies' => [
+ 'description' => 'The policies.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The policy.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PermissionPolicyName' => [
+ 'description' => 'The name of the policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'AliyunECSFullAccess',
+ ],
+ 'PermissionPolicyType' => [
+ 'description' => 'The type of the policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'System',
+ ],
+ 'PermissionPolicyDocument' => [
+ 'description' => 'The configurations of the inline policy.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of the PermissionPolicyType parameter is Inline.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"Statement\\": [{\\"Action\\": \\"*\\",\\"Effect\\": \\"Allow\\",\\"Resource\\": \\"*\\"}],\\"Version\\": \\"1\\"}',
+ ],
+ 'AddTime' => [
+ 'description' => 'The time when the policy was created for the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-03T06:37:25Z',
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '3A5E771F-1F5A-5555-A64E-579748AAFD98',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of policies.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"PermissionPolicies\\": [\\n {\\n \\"PermissionPolicyName\\": \\"AliyunECSFullAccess\\",\\n \\"PermissionPolicyType\\": \\"System\\",\\n \\"PermissionPolicyDocument\\": \\"{\\\\\\\\\\\\\\"Statement\\\\\\\\\\\\\\": [{\\\\\\\\\\\\\\"Action\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Effect\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"Allow\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"Resource\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"*\\\\\\\\\\\\\\"}],\\\\\\\\\\\\\\"Version\\\\\\\\\\\\\\": \\\\\\\\\\\\\\"1\\\\\\\\\\\\\\"}\\",\\n \\"AddTime\\": \\"2021-11-03T06:37:25Z\\"\\n }\\n ],\\n \\"RequestId\\": \\"3A5E771F-1F5A-5555-A64E-579748AAFD98\\",\\n \\"TotalCounts\\": 2\\n}","errorExample":""},{"type":"xml","example":"<ListPermissionPoliciesInAccessConfigurationResponse>\\n\\t<PermissionPolicies>\\n\\t\\t<PermissionPolicy>\\n\\t\\t\\t<PermissionPolicyName>InlinePolicy</PermissionPolicyName>\\n\\t\\t\\t<PermissionPolicyType>Inline</PermissionPolicyType>\\n\\t\\t\\t<PermissionPolicyDocument>{\\"Statement\\": [{\\"Action\\": \\"*\\",\\"Effect\\": \\"Allow\\",\\"Resource\\": \\"*\\"}],\\"Version\\": \\"1\\"}</PermissionPolicyDocument>\\n\\t\\t\\t<AddTime>2021-11-03T06:49:50Z</AddTime>\\n\\t\\t</PermissionPolicy>\\n\\t\\t<PermissionPolicy>\\n\\t\\t\\t<PermissionPolicyName>AliyunECSFullAccess</PermissionPolicyName>\\n\\t\\t\\t<PermissionPolicyType>System</PermissionPolicyType>\\n\\t\\t\\t<AddTime>2021-11-03T06:37:25Z</AddTime>\\n\\t\\t</PermissionPolicy>\\n\\t</PermissionPolicies>\\n\\t<RequestId>3A5E771F-1F5A-5555-A64E-579748AAFD98</RequestId>\\n\\t<TotalCounts>2</TotalCounts>\\n</ListPermissionPoliciesInAccessConfigurationResponse>","errorExample":""}]',
+ 'title' => 'ListPermissionPoliciesInAccessConfiguration',
+ 'description' => 'This topic provides an example on how to query the policies that are created for the access configuration `ac-00jhtfl8thteu6uj****`. The returned result shows that the access configuration contains one system policy and one inline policy.'."\n",
+ ],
+ 'ProvisionAccessConfiguration' => [
+ 'summary' => 'Provisions an access configuration for an account in your resource directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The directory ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the task object. Set the value to RD-Account, which specifies the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RD-Account',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '114240524784****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Tasks' => [
+ 'description' => 'The task information.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The task status. Valid values:'."\n"
+ ."\n"
+ .'* InProgress: The task is running.'."\n"
+ .'* Success: The task is successful.'."\n"
+ .'* Failed: The task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InProgress',
+ ],
+ 'TaskId' => [
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 't-shqlhd8uvt280rtm****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path ID of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/r-Wm****/114240524784****',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => 'dev-test',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => '114240524784****',
+ ],
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'TargetPathName' => [
+ 'description' => 'The path name of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/root/dev-test',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type. The value is fixed as ProvisionAccessConfiguration, which indicates that an access configuration is provisioned.'."\n",
+ 'type' => 'string',
+ 'example' => 'ProvisionAccessConfiguration',
+ ],
+ 'TargetType' => [
+ 'description' => 'The type of the task object. The value is fixed as RD-Account, which indicates the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'DFDC16B2-4509-5FA6-9FA5-3CD35E4292FB',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'cloudsso::2021-05-15::GetTask',
+ 'callbackInterval' => 10000,
+ 'maxCallbackTimes' => 5,
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Tasks\\": [\\n {\\n \\"Status\\": \\"InProgress\\",\\n \\"TaskId\\": \\"t-shqlhd8uvt280rtm****\\",\\n \\"TargetPath\\": \\"rd-3G****/r-Wm****/114240524784****\\",\\n \\"TargetName\\": \\"dev-test\\",\\n \\"TargetId\\": \\"114240524784****\\",\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"TargetPathName\\": \\"rd-3G****/root/dev-test\\",\\n \\"TaskType\\": \\"ProvisionAccessConfiguration\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\"\\n }\\n ],\\n \\"RequestId\\": \\"DFDC16B2-4509-5FA6-9FA5-3CD35E4292FB\\"\\n}","errorExample":""},{"type":"xml","example":"<ProvisionAccessConfigurationResponse>\\n\\t<Tasks>\\n\\t\\t<Task>\\n\\t\\t\\t<Status>InProgress</Status>\\n\\t\\t\\t<AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n\\t\\t\\t<TaskId>t-shqlhd8uvt280rtm****</TaskId>\\n\\t\\t\\t<TargetPathName>rd-3G****/root/dev-test</TargetPathName>\\n\\t\\t\\t<TargetPath>rd-3G****/r-Wm****/114240524784****</TargetPath>\\n\\t\\t\\t<TaskType>ProvisionAccessConfiguration</TaskType>\\n\\t\\t\\t<TargetType>RD-Account</TargetType>\\n\\t\\t\\t<TargetName>dev-test</TargetName>\\n\\t\\t\\t<AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n\\t\\t\\t<TargetId>114240524784****</TargetId>\\n\\t\\t</Task>\\n\\t</Tasks>\\n\\t<RequestId>DFDC16B2-4509-5FA6-9FA5-3CD35E4292FB</RequestId>\\n</ProvisionAccessConfigurationResponse>\\t","errorExample":""}]',
+ 'title' => 'ProvisionAccessConfiguration',
+ 'description' => 'When you call this operation, an asynchronous task is automatically created. You can call the [GetTask](~~340670~~) operation to query the progress of the task based on the value of the `TaskId` response parameter.'."\n"
+ ."\n"
+ .'This topic provides an example on how to provision the access configuration `ac-00jhtfl8thteu6uj****` for the account `114240524784****` in your resource directory.'."\n",
+ ],
+ 'DeprovisionAccessConfiguration' => [
+ 'summary' => 'De-provisions an access configuration from an account in your resource directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The directory ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the task object. Set the value to RD-Account, which specifies the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RD-Account',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '114240524784****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Tasks' => [
+ 'description' => 'The task information.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The task status. Valid values:'."\n"
+ ."\n"
+ .'* InProgress: The task is running.'."\n"
+ .'* Success: The task is successful.'."\n"
+ .'* Failed: The task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InProgress',
+ ],
+ 'TaskId' => [
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 't-sh0655wnq8pdlrlc****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path ID of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/r-Wm****/114240524784****',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => 'dev-test',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => '114240524784****',
+ ],
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'TargetPathName' => [
+ 'description' => 'The path name of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/root/dev-test',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type. The value is fixed as DeprovisionAccessConfiguration, which indicates that the access configuration is de-provisioned.'."\n",
+ 'type' => 'string',
+ 'example' => 'DeprovisionAccessConfiguration',
+ ],
+ 'TargetType' => [
+ 'description' => 'The type of the task object. The value is fixed as RD-Account, which indicates the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '584FE9D0-D1AC-5B19-A39C-8D244FC0538C',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'cloudsso::2021-05-15::GetTask',
+ 'callbackInterval' => 10000,
+ 'maxCallbackTimes' => 5,
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Tasks\\": [\\n {\\n \\"Status\\": \\"InProgress\\",\\n \\"TaskId\\": \\"t-sh0655wnq8pdlrlc****\\",\\n \\"TargetPath\\": \\"rd-3G****/r-Wm****/114240524784****\\",\\n \\"TargetName\\": \\"dev-test\\",\\n \\"TargetId\\": \\"114240524784****\\",\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"TargetPathName\\": \\"rd-3G****/root/dev-test\\",\\n \\"TaskType\\": \\"DeprovisionAccessConfiguration\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\"\\n }\\n ],\\n \\"RequestId\\": \\"584FE9D0-D1AC-5B19-A39C-8D244FC0538C\\"\\n}","errorExample":""},{"type":"xml","example":"<DeprovisionAccessConfigurationResponse>\\n\\t<Tasks>\\n\\t\\t<Task>\\n\\t\\t\\t<Status>InProgress</Status>\\n\\t\\t\\t<AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n\\t\\t\\t<TaskId>t-sh0655wnq8pdlrlc****</TaskId>\\n\\t\\t\\t<TargetPathName>rd-3G****/root/dev-test</TargetPathName>\\n\\t\\t\\t<TargetPath>rd-3G****/r-Wm****/114240524784****</TargetPath>\\n\\t\\t\\t<TaskType>DeprovisionAccessConfiguration</TaskType>\\n\\t\\t\\t<TargetType>RD-Account</TargetType>\\n\\t\\t\\t<TargetName>dev-test</TargetName>\\n\\t\\t\\t<AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n\\t\\t\\t<TargetId>114240524784****</TargetId>\\n\\t\\t</Task>\\n\\t</Tasks>\\n\\t<RequestId>584FE9D0-D1AC-5B19-A39C-8D244FC0538C</RequestId>\\n</DeprovisionAccessConfigurationResponse>\\t\\n","errorExample":""}]',
+ 'title' => 'DeprovisionAccessConfiguration',
+ 'description' => 'When you call this operation, an asynchronous task is automatically created. You can call the [GetTask](~~340670~~) operation to query the progress of the task based on the value of the `TaskId` response parameter.'."\n"
+ ."\n"
+ .'This topic provides an example on how to de-provision the access configuration `ac-00jhtfl8thteu6uj****` from the account `114240524784****` in your resource directory.'."\n",
+ ],
+ 'ListAccessConfigurationProvisionings' => [
+ 'summary' => 'Queries the access configurations that are provisioned.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration. The ID can be used to filter access permissions.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ac-00ccule7tadaijxc****',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the task object. The type can be used to filter access permissions.'."\n"
+ ."\n"
+ .'Set the value to RD-Account, which specifies the accounts in the resource directory.'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both `TargetId` and `TargetType`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RD-Account',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task object. The ID can be used to filter access permissions.'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both `TargetId` and `TargetType`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '114240524784****',
+ ],
+ ],
+ [
+ 'name' => 'ProvisioningStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the access configuration. The value can be used to filter accounts. Valid values:'."\n"
+ ."\n"
+ .'* Provisioned: The access configuration is provisioned.'."\n"
+ .'* ReprovisionRequired: The access configuration needs to be re-provisioned.'."\n"
+ .'* DeprovisionFailed: The access configuration failed to be provisioned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Provisioned',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results. If this is your first time to call this operation, you do not need to specify the `NextToken` parameter.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return exceeds the value of `MaxResults`, the entries are truncated. Only the entries that match the value of `MaxResults` are returned, and the excess entries are not returned. In this case, the value of the response parameter `IsTruncated` is `true`, and `NextToken` is returned. In the next call, you can use the value of `NextToken` and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of `IsTruncated` becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 20.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of `IsTruncated` is `true`.'."\n",
+ 'type' => 'string',
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '6BA1BDF1-D845-5D2C-B742-74BE2970E4C1',
+ ],
+ 'AccessConfigurationProvisionings' => [
+ 'description' => 'The accounts for which the access configuration is provisioned.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the access configuration. Valid values:'."\n"
+ ."\n"
+ .'* Provisioned: The access configuration is provisioned.'."\n"
+ .'* ReprovisionRequired: The access configuration needs to be re-provisioned.'."\n"
+ .'* DeprovisionFailed: The access configuration failed to be provisioned.'."\n",
+ 'type' => 'string',
+ 'example' => 'Provisioned',
+ ],
+ 'SAMLProviderName' => [
+ 'description' => 'The name of the Security Assertion Markup Language (SAML) identity provider (IdP) that is created within an account in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'AliyunReservedSSO-d-00fc2p61****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path ID of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/r-Wm****/fd-pjM8oy****/101522521960****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The first time when the access configuration was provisioned.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-07-26T08:54:14Z',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => 'SharedServices_5009****',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the task object.'."\n"
+ ."\n"
+ .'If the value of TargetType is `RD-Account`, the value of this parameter is the UID of an account in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => '101522521960****',
+ ],
+ 'RAMRoleName' => [
+ 'description' => 'The name of the RAM role that is created for an account in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'AliyunReservedSSO-VPC-Admin',
+ ],
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'VPC-Admin',
+ ],
+ 'TargetPathName' => [
+ 'description' => 'The path name of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/root/Core/SharedServices_5009****',
+ ],
+ 'TargetType' => [
+ 'description' => 'The type of the task object.'."\n"
+ ."\n"
+ .'Set the value to RD-Account, which specifies the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The last time when the access configuration was provisioned.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-07-26T08:54:18Z',
+ ],
+ 'RAMPolicyNames' => [
+ 'description' => 'The name of the custom policy that is created for an account in the resource directory.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The name of the custom policy that is created for an account in the resource directory.'."\n"
+ ."\n"
+ .'> This parameter is returned only if an inline policy is created for the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'AliyunReservedSSO-VPC-Admin-InlinePolicy',
+ ],
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00ccule7tadaijxc****',
+ ],
+ ],
+ ],
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****\\",\\n \\"RequestId\\": \\"6BA1BDF1-D845-5D2C-B742-74BE2970E4C1\\",\\n \\"AccessConfigurationProvisionings\\": [\\n {\\n \\"Status\\": \\"Provisioned\\",\\n \\"SAMLProviderName\\": \\"AliyunReservedSSO-d-00fc2p61****\\",\\n \\"TargetPath\\": \\"rd-3G****/r-Wm****/fd-pjM8oy****/101522521960****\\",\\n \\"CreateTime\\": \\"2021-07-26T08:54:14Z\\",\\n \\"TargetName\\": \\"SharedServices_5009****\\",\\n \\"TargetId\\": \\"101522521960****\\",\\n \\"RAMRoleName\\": \\"AliyunReservedSSO-VPC-Admin\\",\\n \\"AccessConfigurationName\\": \\"VPC-Admin\\",\\n \\"TargetPathName\\": \\"rd-3G****/root/Core/SharedServices_5009****\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"UpdateTime\\": \\"2021-07-26T08:54:18Z\\",\\n \\"RAMPolicyNames\\": [\\n \\"AliyunReservedSSO-VPC-Admin-InlinePolicy\\"\\n ],\\n \\"AccessConfigurationId\\": \\"ac-00ccule7tadaijxc****\\"\\n }\\n ],\\n \\"MaxResults\\": 10,\\n \\"IsTruncated\\": false,\\n \\"TotalCounts\\": 2\\n}","errorExample":""},{"type":"xml","example":"<ListAccessConfigurationProvisioningsResponse>\\n\\t<RequestId>6BA1BDF1-D845-5D2C-B742-74BE2970E4C1</RequestId>\\n\\t<AccessConfigurationProvisionings>\\n\\t\\t<AccessConfigurationProvisioning>\\n\\t\\t\\t<Status>Provisioned</Status>\\n\\t\\t\\t<AccessConfigurationName>VPC-Admin</AccessConfigurationName>\\n\\t\\t\\t<SAMLProviderName>AliyunReservedSSO-d-00fc2p61****</SAMLProviderName>\\n\\t\\t\\t<TargetPathName>rd-3G****/root/Core/SharedServices_5009****</TargetPathName>\\n\\t\\t\\t<TargetPath>rd-3G****/r-Wm****/fd-pjM8oy****/101522521960****</TargetPath>\\n\\t\\t\\t<CreateTime>2021-07-26T08:54:14Z</CreateTime>\\n\\t\\t\\t<TargetType>RD-Account</TargetType>\\n\\t\\t\\t<UpdateTime>2021-07-26T08:54:18Z</UpdateTime>\\n\\t\\t\\t<TargetName>SharedServices_5009****</TargetName>\\n\\t\\t\\t<AccessConfigurationId>ac-00ccule7tadaijxc****</AccessConfigurationId>\\n\\t\\t\\t<TargetId>101522521960****</TargetId>\\n\\t\\t\\t<RAMRoleName>AliyunReservedSSO-VPC-Admin</RAMRoleName>\\n\\t\\t</AccessConfigurationProvisioning>\\n\\t\\t<AccessConfigurationProvisioning>\\n\\t\\t\\t<Status>ReprovisionRequired</Status>\\n\\t\\t\\t<AccessConfigurationName>VPC-Admin</AccessConfigurationName>\\n\\t\\t\\t<SAMLProviderName>AliyunReservedSSO-d-00fc2p61****</SAMLProviderName>\\n\\t\\t\\t<TargetPathName>rd-3G****/root/部门1</TargetPathName>\\n\\t\\t\\t<TargetPath>rd-3G****/r-Wm****/195320939469****</TargetPath>\\n\\t\\t\\t<CreateTime>2021-07-04T09:37:31Z</CreateTime>\\n\\t\\t\\t<TargetType>RD-Account</TargetType>\\n\\t\\t\\t<UpdateTime>2021-07-26T03:02:11Z</UpdateTime>\\n\\t\\t\\t<TargetName>部门1</TargetName>\\n\\t\\t\\t<AccessConfigurationId>ac-00ccule7tadaijxc****</AccessConfigurationId>\\n\\t\\t\\t<TargetId>195320939469****</TargetId>\\n\\t\\t\\t<RAMRoleName>AliyunReservedSSO-VPC-Admin</RAMRoleName>\\n\\t\\t</AccessConfigurationProvisioning>\\n\\t</AccessConfigurationProvisionings>\\n\\t<MaxResults>10</MaxResults>\\n\\t<TotalCounts>2</TotalCounts>\\n\\t<IsTruncated>false</IsTruncated>\\n</ListAccessConfigurationProvisioningsResponse>","errorExample":""}]',
+ 'title' => 'ListAccessConfigurationProvisionings',
+ 'description' => 'This topic provides an example on how to query the accounts for which the access permission `ac-00ccule7tadaijxc****` is provisioned. The returned result shows that the access configuration is provisioned for two accounts in your resource directory.'."\n",
+ ],
+ 'CreateAccessAssignment' => [
+ 'summary' => 'Assigns access permissions on an account in your resource directory to a user or a group by using an access configuration.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the task object. Set the value to RD-Account, which specifies the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RD-Account',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '114240524784****',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the CloudSSO identity. Valid values:'."\n"
+ ."\n"
+ .'* User'."\n"
+ .'* Group'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'User',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CloudSSO identity.'."\n"
+ ."\n"
+ .'* If you set `PrincipalType` to `User`, set `PrincipalId` to the ID of the CloudSSO user.'."\n"
+ .'* If you set `PrincipalType` to `Group`, set `PrincipalId` to the ID of the CloudSSO group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Task' => [
+ 'description' => 'The queried task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The task status. Valid values:'."\n"
+ ."\n"
+ .'* InProgress: The task is running.'."\n"
+ .'* Success: The task is successful.'."\n"
+ .'* Failed: The task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InProgress',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-sh6tceylhvgejpip****',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The ID of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path ID of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/r-Wm****/114240524784****',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The name of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => 'dev-test',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => '114240524784****',
+ ],
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'TargetPathName' => [
+ 'description' => 'The path name of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/root/dev-test',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type. The value is fixed as CreateAccessAssignment, which indicates that access permissions on an account in your resource directory are assigned.'."\n",
+ 'type' => 'string',
+ 'example' => 'CreateAccessAssignment',
+ ],
+ 'TargetType' => [
+ 'description' => 'The type of the task object. The value is fixed as RD-Account, which indicates the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The type of the CloudSSO identity. Valid values:'."\n"
+ ."\n"
+ .'* User'."\n"
+ .'* Group'."\n",
+ 'type' => 'string',
+ 'example' => 'User',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '4726AA56-E138-5C99-85E4-F493536D042F',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Task\\": {\\n \\"Status\\": \\"InProgress\\",\\n \\"TaskId\\": \\"t-sh6tceylhvgejpip****\\",\\n \\"PrincipalId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"TargetPath\\": \\"rd-3G****/r-Wm****/114240524784****\\",\\n \\"PrincipalName\\": \\"Alice\\",\\n \\"TargetName\\": \\"dev-test\\",\\n \\"TargetId\\": \\"114240524784****\\",\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"TargetPathName\\": \\"rd-3G****/root/dev-test\\",\\n \\"TaskType\\": \\"CreateAccessAssignment\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\",\\n \\"PrincipalType\\": \\"User\\"\\n },\\n \\"RequestId\\": \\"4726AA56-E138-5C99-85E4-F493536D042F\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateAccessAssignmentResponse>\\n <Task>\\n <Status>InProgress</Status>\\n <TaskId>t-sh6tceylhvgejpip****</TaskId>\\n <PrincipalId>u-00q8wbq42wiltcrk****</PrincipalId>\\n <TargetPath>rd-3G****/r-Wm****/114240524784****</TargetPath>\\n <PrincipalName>Alice</PrincipalName>\\n <TargetName>dev-test</TargetName>\\n <TargetId>114240524784****</TargetId>\\n <AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n <TargetPathName>rd-3G****/root/dev-test</TargetPathName>\\n <TaskType>CreateAccessAssignment</TaskType>\\n <TargetType>RD-Account</TargetType>\\n <AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n <PrincipalType>User</PrincipalType>\\n </Task>\\n <RequestId>4726AA56-E138-5C99-85E4-F493536D042F</RequestId>\\n</CreateAccessAssignmentResponse>","errorExample":""}]',
+ 'title' => 'CreateAccessAssignment',
+ 'description' => 'When you call this operation, an asynchronous task is created. You can call the [GetTask](~~340670~~) operation to query the progress of the task based on the value of the `TaskId` response parameter.'."\n"
+ ."\n"
+ .'For more information about how to assign permissions on an account in your resource directory, see [Overview of multi-account authorization](~~266726~~).'."\n"
+ ."\n"
+ .'This topic provides an example on how to assign access permissions on the account `114240524784****` in your resource directory to the CloudSSO user `u-00q8wbq42wiltcrk****` by using the access configuration `ac-00jhtfl8thteu6uj****`. After the call is successful, the CloudSSO user can access resources within the account in the resource directory.'."\n",
+ ],
+ 'ListAccessAssignments' => [
+ 'summary' => 'Queries the access permissions that are assigned.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The directory ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration. The ID can be used to filter access permissions.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the task object. The type can be used to filter access permissions.'."\n"
+ ."\n"
+ .'Set the value to RD-Account, which specifies the accounts in the resource directory.'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both `TargetId` and `TargetType`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RD-Account',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task object. The ID can be used to filter access permissions.'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both `TargetId` and `TargetType`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '114240524784****',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the CloudSSO identity. The type can be used to filter access permissions. Valid values:'."\n"
+ ."\n"
+ .'* User'."\n"
+ .'* Group'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both PrincipalId and `PrincipalType`.``'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'User',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CloudSSO identity. The ID can be used to filter access permissions.'."\n"
+ ."\n"
+ .'* If you set `PrincipalType` to User, set `PrincipalId` to the ID of the CloudSSO user.'."\n"
+ .'* If you set `PrincipalType` to Group, set `PrincipalId` to the ID of the CloudSSO group.'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both PrincipalId and `PrincipalType`.``'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If this is your first time to call this operation, you do not need to specify the `NextToken` parameter.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return exceeds the value of `MaxResults`, the entries are truncated. Only the entries that match the value of `MaxResults` are returned, and the excess entries are not returned. In this case, the value of the response parameter `IsTruncated` is `true`, and `NextToken` is returned. In the next call, you can use the value of `NextToken` and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of `IsTruncated` becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 20.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of IsTruncated is `true`.``'."\n",
+ 'type' => 'string',
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '66898413-EB80-556D-9429-06FE3548F672',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'AccessAssignments' => [
+ 'description' => 'The access permissions that are assigned.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'TargetPathName' => [
+ 'description' => 'The path name of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/root/dev-test',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The ID of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path ID of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/r-Wm****/114240524784****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the access permissions were assigned.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-04T10:03:08Z',
+ ],
+ 'TargetType' => [
+ 'description' => 'The type of the task object.'."\n"
+ ."\n"
+ .'The value is fixed as RD-Account, which indicates the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The name of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => 'dev-test',
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The type of the CloudSSO identity. Valid values:'."\n"
+ ."\n"
+ .'* User'."\n"
+ .'* Group'."\n",
+ 'type' => 'string',
+ 'example' => 'User',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => '114240524784****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****\\",\\n \\"RequestId\\": \\"66898413-EB80-556D-9429-06FE3548F672\\",\\n \\"MaxResults\\": 10,\\n \\"TotalCounts\\": 1,\\n \\"IsTruncated\\": false,\\n \\"AccessAssignments\\": [\\n {\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"TargetPathName\\": \\"rd-3G****/root/dev-test\\",\\n \\"PrincipalId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"TargetPath\\": \\"rd-3G****/r-Wm****/114240524784****\\",\\n \\"CreateTime\\": \\"2021-11-04T10:03:08Z\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"PrincipalName\\": \\"Alice\\",\\n \\"TargetName\\": \\"dev-test\\",\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\",\\n \\"PrincipalType\\": \\"User\\",\\n \\"TargetId\\": \\"114240524784****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAccessAssignmentsResponse>\\n\\t<RequestId>66898413-EB80-556D-9429-06FE3548F672</RequestId>\\n\\t<MaxResults>10</MaxResults>\\n\\t<TotalCounts>1</TotalCounts>\\n\\t<IsTruncated>false</IsTruncated>\\n\\t<AccessAssignments>\\n\\t\\t<AccessAssignment>\\n\\t\\t\\t<AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n\\t\\t\\t<TargetPathName>rd-3G****/root/dev-test</TargetPathName>\\n\\t\\t\\t<PrincipalId>u-00q8wbq42wiltcrk****</PrincipalId>\\n\\t\\t\\t<TargetPath>rd-3G****/r-Wm****/114240524784****</TargetPath>\\n\\t\\t\\t<CreateTime>2021-11-04T10:03:08Z</CreateTime>\\n\\t\\t\\t<TargetType>RD-Account</TargetType>\\n\\t\\t\\t<PrincipalName>Alice</PrincipalName>\\n\\t\\t\\t<TargetName>dev-test</TargetName>\\n\\t\\t\\t<AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n\\t\\t\\t<PrincipalType>User</PrincipalType>\\n\\t\\t\\t<TargetId>114240524784****</TargetId>\\n\\t\\t</AccessAssignment>\\n\\t</AccessAssignments>\\n</ListAccessAssignmentsResponse>\\t\\n","errorExample":""}]',
+ 'title' => 'ListAccessAssignments',
+ 'description' => 'This topic provides an example on how to query the assigned access permissions on the account `114240524784****` in your resource directory. The returned result shows that access permissions on the account in your resource directory is assigned to one user.'."\n",
+ ],
+ 'DeleteAccessAssignment' => [
+ 'summary' => 'Removes the access permissions on an account in a resource directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the task object. Set the value to RD-Account, which specifies the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RD-Account',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '114240524784****',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the CloudSSO identity. Valid values:'."\n"
+ ."\n"
+ .'* User'."\n"
+ .'* Group'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'User',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CloudSSO identity.'."\n"
+ ."\n"
+ .'* If you set `PrincipalType` to `User`, set `PrincipalId` to the ID of the CloudSSO user.'."\n"
+ .'* If you set `PrincipalType` to `Group`, set `PrincipalId` to the ID of the CloudSSO group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'DeprovisionStrategy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to de-provision the access configuration when you remove the access permissions from the CloudSSO identity. The access configuration is used to assign the access permissions, and the identity is the only one that uses the access configuration and is associated with the account. Valid values:'."\n"
+ ."\n"
+ .'* DeprovisionForLastAccessAssignmentOnAccount: de-provisions the access configuration.'."\n"
+ .'* None: does not de-provision the access configuration. This is the default value.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'None',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Task' => [
+ 'description' => 'The task information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The task status. Valid values:'."\n"
+ ."\n"
+ .'* InProgress: The task is running.'."\n"
+ .'* Success: The task is successful.'."\n"
+ .'* Failed: The task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'InProgress',
+ ],
+ 'TaskId' => [
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 't-shfqw1u1edszvxw5****',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The ID of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path ID of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/r-Wm****/114240524784****',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The name of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => 'dev-test',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => '114240524784****',
+ ],
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'TargetPathName' => [
+ 'description' => 'The path name of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/root/dev-test',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type. The value is fixed as DeleteAccessAssignment, which indicates that access permissions on an account in your resource directory are removed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DeleteAccessAssignment',
+ ],
+ 'TargetType' => [
+ 'description' => 'The type of the task object. The value is fixed as RD-Account, which indicates the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The type of the CloudSSO identity. Valid values:'."\n"
+ ."\n"
+ .'* User'."\n"
+ .'* Group'."\n",
+ 'type' => 'string',
+ 'example' => 'User',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '5C9D0CF4-5CE8-5CE6-932A-826EF4ADD007',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Task\\": {\\n \\"Status\\": \\"InProgress\\",\\n \\"TaskId\\": \\"t-shfqw1u1edszvxw5****\\",\\n \\"PrincipalId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"TargetPath\\": \\"rd-3G****/r-Wm****/114240524784****\\",\\n \\"PrincipalName\\": \\"Alice\\",\\n \\"TargetName\\": \\"dev-test\\",\\n \\"TargetId\\": \\"114240524784****\\",\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"TargetPathName\\": \\"rd-3G****/root/dev-test\\",\\n \\"TaskType\\": \\"DeleteAccessAssignment\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\",\\n \\"PrincipalType\\": \\"User\\"\\n },\\n \\"RequestId\\": \\"5C9D0CF4-5CE8-5CE6-932A-826EF4ADD007\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAccessAssignmentResponse>\\n <Task>\\n <Status>InProgress</Status>\\n <TaskId>t-shfqw1u1edszvxw5****</TaskId>\\n <PrincipalId>u-00q8wbq42wiltcrk****</PrincipalId>\\n <TargetPath>rd-3G****/r-Wm****/114240524784****</TargetPath>\\n <PrincipalName>Alice</PrincipalName>\\n <TargetName>dev-test</TargetName>\\n <TargetId>114240524784****</TargetId>\\n <AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n <TargetPathName>rd-3G****/root/dev-test</TargetPathName>\\n <TaskType>DeleteAccessAssignment</TaskType>\\n <TargetType>RD-Account</TargetType>\\n <AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n <PrincipalType>User</PrincipalType>\\n </Task>\\n <RequestId>5C9D0CF4-5CE8-5CE6-932A-826EF4ADD007</RequestId>\\n</DeleteAccessAssignmentResponse>","errorExample":""}]',
+ 'title' => 'DeleteAccessAssignment',
+ 'description' => 'When you call this operation, an asynchronous task is created. You can call the [GetTask](~~340670~~) operation to query the progress of the task based on the value of the `TaskId` response parameter.'."\n"
+ ."\n"
+ .'This topic provides an example on how to remove the access permissions on the account `114240524784****` in the resource directory from the CloudSSO user `u-00q8wbq42wiltcrk****`. The access permissions are assigned by using the access configuration `ac-00jhtfl8thteu6uj****`.'."\n",
+ ],
+ 'ListTasks' => [
+ 'summary' => 'Queries asynchronous tasks.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'AccessConfigurationId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access configuration. The ID can be used to filter access permissions.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the task object. The type can be used to filter access permissions.'."\n"
+ ."\n"
+ .'Set the value to RD-Account, which specifies the accounts in the resource directory.'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both `TargetId` and `TargetType`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RD-Account',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task object. The ID can be used to filter access permissions.'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both `TargetId` and `TargetType`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '114240524784****',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the CloudSSO identity. The type can be used to filter access permissions. Valid values:'."\n"
+ ."\n"
+ .'* User'."\n"
+ .'* Group'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both `PrincipalId` and `PrincipalType`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'User',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CloudSSO identity. The ID can be used to filter access permissions.'."\n"
+ ."\n"
+ .'* If you set `PrincipalType` to `User`, set `PrincipalId` to the ID of the CloudSSO user.'."\n"
+ .'* If you set `PrincipalType` to `Group`, set `PrincipalId` to the ID of the CloudSSO group.'."\n"
+ ."\n"
+ .'> You can use the type to filter access permissions only if you specify both `PrincipalId` and `PrincipalType`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ ],
+ [
+ 'name' => 'TaskType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the task. The type can be used to filter tasks. Valid values:'."\n"
+ ."\n"
+ .'* ProvisionAccessConfiguration: An access configuration is provisioned.'."\n"
+ .'* DeprovisionAccessConfiguration: An access configuration is de-provisioned.'."\n"
+ .'* CreateAccessAssignment: Access permissions on an account in the resource directory are assigned.'."\n"
+ .'* DeleteAccessAssignment: Access permissions on an account in the resource directory are removed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CreateAccessAssignment',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task. The ID can be used to filter tasks. Valid values:'."\n"
+ ."\n"
+ .'* InProgress: The task is running.'."\n"
+ .'* Success: The task is successful.'."\n"
+ .'* Failed: The task failed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Success',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If this is your first time to call this operation, you do not need to specify the `NextToken` parameter.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return exceeds the value of `MaxResults`, the entries are truncated. Only the entries that match the value of `MaxResults` are returned, and the excess entries are not returned. In this case, the value of the response parameter `IsTruncated` is `true`, and `NextToken` is returned. In the next call, you can use the value of `NextToken` and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of `IsTruncated` becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 20.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'Filter',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The filter condition.'."\n"
+ ."\n"
+ .'The condition is not case-sensitive. The condition must be in the StartTime ge YYYY-MM-DDTHH:mm:SSZ format. You must set YYYY-MM-DDTHH:mm:SSZ to a value that is no more than 7 days from the current time. ge indicates Greater Than or Equals.'."\n"
+ ."\n"
+ .'For example, if you set the Filter parameter to StartTime ge 2021-03-15T01:12:23Z, the operation queries the tasks from 2021-03-15T01:12:23 GMT.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the operation queries the tasks within the previous 24 hours by default.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'StartTime ge 2021-03-15T01:12:23Z',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Tasks' => [
+ 'description' => 'The tasks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The task status. Valid values:'."\n"
+ ."\n"
+ .'* InProgress: The task is running.'."\n"
+ .'* Success: The task is successful.'."\n"
+ .'* Failed: The task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'TaskId' => [
+ 'description' => 'The ID of the job.'."\n",
+ 'type' => 'string',
+ 'example' => 't-sh5k4gesm6twlrqb****',
+ ],
+ 'EndTime' => [
+ 'description' => 'The end time of the task.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-09T05:50:50Z',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The ID of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path ID of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/r-Wm****/114240524784****',
+ ],
+ 'StartTime' => [
+ 'description' => 'The start time of the task.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-09T05:50:50Z',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The name of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => 'dev-test',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => '114240524784****',
+ ],
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'TargetPathName' => [
+ 'description' => 'The path name of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/root/dev-test',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type. Valid values:'."\n"
+ ."\n"
+ .'* ProvisionAccessConfiguration: An access configuration is provisioned.'."\n"
+ .'* DeprovisionAccessConfiguration: An access configuration is de-provisioned.'."\n"
+ .'* CreateAccessAssignment: Access permissions on an account in the resource directory are assigned.'."\n"
+ .'* DeleteAccessAssignment: Access permissions on an account in the resource directory are removed.'."\n",
+ 'type' => 'string',
+ 'example' => 'CreateAccessAssignment',
+ ],
+ 'FailureReason' => [
+ 'description' => 'The cause of the task failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of `Status` is `Failed`.'."\n",
+ 'type' => 'string',
+ 'example' => 'No Permission.',
+ ],
+ 'TargetType' => [
+ 'description' => 'The type of the task object.'."\n"
+ ."\n"
+ .'The value is fixed as RD-Account, which indicates the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The type of the CloudSSO identity. Valid values:'."\n"
+ ."\n"
+ .'* User'."\n"
+ .'* Group'."\n",
+ 'type' => 'string',
+ 'example' => 'User',
+ ],
+ ],
+ ],
+ ],
+ 'NextToken' => [
+ 'description' => 'The returned value of NextToken is a pagination token, which can be used in the next request to retrieve a new page of results.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of `IsTruncated` is `true`.'."\n",
+ 'type' => 'string',
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'C0DA2DFC-EB18-59EF-BD82-C30862EBA3A3',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Tasks\\": [\\n {\\n \\"Status\\": \\"Success\\",\\n \\"TaskId\\": \\"t-sh5k4gesm6twlrqb****\\",\\n \\"EndTime\\": \\"2021-11-09T05:50:50Z\\",\\n \\"PrincipalId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"TargetPath\\": \\"rd-3G****/r-Wm****/114240524784****\\",\\n \\"StartTime\\": \\"2021-11-09T05:50:50Z\\",\\n \\"PrincipalName\\": \\"Alice\\",\\n \\"TargetName\\": \\"dev-test\\",\\n \\"TargetId\\": \\"114240524784****\\",\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"TargetPathName\\": \\"rd-3G****/root/dev-test\\",\\n \\"TaskType\\": \\"CreateAccessAssignment\\",\\n \\"FailureReason\\": \\"No Permission.\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\",\\n \\"PrincipalType\\": \\"User\\"\\n }\\n ],\\n \\"NextToken\\": \\"K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****\\",\\n \\"RequestId\\": \\"C0DA2DFC-EB18-59EF-BD82-C30862EBA3A3\\",\\n \\"MaxResults\\": 10,\\n \\"TotalCounts\\": 1,\\n \\"IsTruncated\\": false\\n}","errorExample":""},{"type":"xml","example":"<ListTasksResponse>\\n\\t<Tasks>\\n\\t\\t<Task>\\n\\t\\t\\t<Status>Success</Status>\\n\\t\\t\\t<TaskId>t-sh5k4gesm6twlrqb****</TaskId>\\n\\t\\t\\t<EndTime>2021-11-09T05:50:50Z</EndTime>\\n\\t\\t\\t<PrincipalId>u-00q8wbq42wiltcrk****</PrincipalId>\\n\\t\\t\\t<TargetPath>rd-3G****/r-Wm****/114240524784****</TargetPath>\\n\\t\\t\\t<StartTime>2021-11-09T05:50:50Z</StartTime>\\n\\t\\t\\t<PrincipalName>Alice</PrincipalName>\\n\\t\\t\\t<TargetName>dev-test</TargetName>\\n\\t\\t\\t<TargetId>114240524784****</TargetId>\\n\\t\\t\\t<AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n\\t\\t\\t<TargetPathName>rd-3G****/root/dev-test</TargetPathName>\\n\\t\\t\\t<TaskType>CreateAccessAssignment</TaskType>\\n\\t\\t\\t<TargetType>RD-Account</TargetType>\\n\\t\\t\\t<AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n\\t\\t\\t<PrincipalType>User</PrincipalType>\\n\\t\\t</Task>\\n\\t</Tasks>\\n\\t<RequestId>C0DA2DFC-EB18-59EF-BD82-C30862EBA3A3</RequestId>\\n\\t<MaxResults>10</MaxResults>\\n\\t<TotalCounts>1</TotalCounts>\\n\\t<IsTruncated>false</IsTruncated>\\n</ListTasksResponse>\\t","errorExample":""}]',
+ 'title' => 'ListTasks',
+ 'description' => 'By default, this operation queries the tasks within the previous 24 hours. This operation allows you to query the tasks within a maximum of 7 days. You can specify the start time of the query by using `Filter`.'."\n"
+ ."\n"
+ .'This topic provides an example on how to query the tasks within the previous 24 hours.'."\n",
+ ],
+ 'GetTask' => [
+ 'summary' => 'Queries information about an asynchronous task.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The directory ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 't-shfqw1u1edszvxw5****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Task' => [
+ 'description' => 'The task information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The task status. Valid values:'."\n"
+ ."\n"
+ .'* InProgress: The task is running.'."\n"
+ .'* Success: The task is successful.'."\n"
+ .'* Failed: The task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'TaskId' => [
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 't-shfqw1u1edszvxw5****',
+ ],
+ 'EndTime' => [
+ 'description' => 'The end time of the task.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-05T02:58:08Z',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The ID of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-00q8wbq42wiltcrk****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path ID of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/r-Wm****/114240524784****',
+ ],
+ 'StartTime' => [
+ 'description' => 'The start time of the task.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-05T02:58:07Z',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The name of the CloudSSO identity.'."\n",
+ 'type' => 'string',
+ 'example' => 'Alice',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => 'dev-test',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the task object.'."\n",
+ 'type' => 'string',
+ 'example' => '114240524784****',
+ ],
+ 'AccessConfigurationName' => [
+ 'description' => 'The name of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS-Admin',
+ ],
+ 'TargetPathName' => [
+ 'description' => 'The path name of the task object in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-3G****/root/dev-test',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type. Valid values:'."\n"
+ ."\n"
+ .'* ProvisionAccessConfiguration: An access configuration is provisioned.'."\n"
+ .'* DeprovisionAccessConfiguration: An access configuration is de-provisioned.'."\n"
+ .'* CreateAccessAssignment: Access permissions on an account in the resource directory are assigned.'."\n"
+ .'* DeleteAccessAssignment: Access permissions on an account in the resource directory are removed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DeleteAccessAssignment',
+ ],
+ 'FailureReason' => [
+ 'description' => 'The cause of the task failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of `Status` is `Failed`.'."\n",
+ 'type' => 'string',
+ 'example' => 'No Permission.',
+ ],
+ 'TargetType' => [
+ 'description' => 'The type of the task object. The value is fixed as RD-Account, which indicates the accounts in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'AccessConfigurationId' => [
+ 'description' => 'The ID of the access configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'ac-00jhtfl8thteu6uj****',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The type of the CloudSSO identity. Valid values:'."\n"
+ ."\n"
+ .'* User'."\n"
+ .'* Group'."\n",
+ 'type' => 'string',
+ 'example' => 'User',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '923CA5E8-57BF-5E15-8BA6-E75A966B7E3F',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Task\\": {\\n \\"Status\\": \\"Success\\",\\n \\"TaskId\\": \\"t-shfqw1u1edszvxw5****\\",\\n \\"EndTime\\": \\"2021-11-05T02:58:08Z\\",\\n \\"PrincipalId\\": \\"u-00q8wbq42wiltcrk****\\",\\n \\"TargetPath\\": \\"rd-3G****/r-Wm****/114240524784****\\",\\n \\"StartTime\\": \\"2021-11-05T02:58:07Z\\",\\n \\"PrincipalName\\": \\"Alice\\",\\n \\"TargetName\\": \\"dev-test\\",\\n \\"TargetId\\": \\"114240524784****\\",\\n \\"AccessConfigurationName\\": \\"ECS-Admin\\",\\n \\"TargetPathName\\": \\"rd-3G****/root/dev-test\\",\\n \\"TaskType\\": \\"DeleteAccessAssignment\\",\\n \\"FailureReason\\": \\"No Permission.\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"AccessConfigurationId\\": \\"ac-00jhtfl8thteu6uj****\\",\\n \\"PrincipalType\\": \\"User\\"\\n },\\n \\"RequestId\\": \\"923CA5E8-57BF-5E15-8BA6-E75A966B7E3F\\"\\n}","errorExample":""},{"type":"xml","example":"<GetTaskResponse>\\n <Task>\\n <Status>Success</Status>\\n <TaskId>t-shfqw1u1edszvxw5****</TaskId>\\n <EndTime>2021-11-05T02:58:08Z</EndTime>\\n <PrincipalId>u-00q8wbq42wiltcrk****</PrincipalId>\\n <TargetPath>rd-3G****/r-Wm****/114240524784****</TargetPath>\\n <StartTime>2021-11-05T02:58:07Z</StartTime>\\n <PrincipalName>Alice</PrincipalName>\\n <TargetName>dev-test</TargetName>\\n <TargetId>114240524784****</TargetId>\\n <AccessConfigurationName>ECS-Admin</AccessConfigurationName>\\n <TargetPathName>rd-3G****/root/dev-test</TargetPathName>\\n <TaskType>DeleteAccessAssignment</TaskType>\\n <TargetType>RD-Account</TargetType>\\n <AccessConfigurationId>ac-00jhtfl8thteu6uj****</AccessConfigurationId>\\n <PrincipalType>User</PrincipalType>\\n </Task>\\n <RequestId>923CA5E8-57BF-5E15-8BA6-E75A966B7E3F</RequestId>\\n</GetTaskResponse>","errorExample":""}]',
+ 'title' => 'GetTask',
+ 'description' => 'This topic provides an example on how to query the information about the task whose ID is `t-shfqw1u1edszvxw5****`.'."\n",
+ ],
+ 'GetTaskStatus' => [
+ 'summary' => 'Queries the status of an asynchronous task.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The directory ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 't-shfqw1u1edszvxw5****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '005F4623-AE53-504D-830F-44825F7DC211',
+ ],
+ 'TaskStatus' => [
+ 'description' => 'The status information about the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The task status. Valid values:'."\n"
+ ."\n"
+ .'* InProgress: The task is running.'."\n"
+ .'* Success: The task is successful.'."\n"
+ .'* Failed: The task failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'TaskId' => [
+ 'description' => 'The task ID.'."\n",
+ 'type' => 'string',
+ 'example' => 't-shfqw1u1edszvxw5****',
+ ],
+ 'EndTime' => [
+ 'description' => 'The end time of the task.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-05T02:58:08Z',
+ ],
+ 'TaskType' => [
+ 'description' => 'The task type. Valid values:'."\n"
+ ."\n"
+ .'* ProvisionAccessConfiguration: An access configuration is provisioned.'."\n"
+ .'* DeprovisionAccessConfiguration: An access configuration is de-provisioned.'."\n"
+ .'* CreateAccessAssignment: Access permissions on an account in the resource directory are assigned.'."\n"
+ .'* DeleteAccessAssignment: Access permissions on an account in the resource directory are removed.'."\n",
+ 'type' => 'string',
+ 'example' => 'DeleteAccessAssignment',
+ ],
+ 'FailureReason' => [
+ 'description' => 'The cause of the task failure.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the value of `Status` is `Failed`.'."\n",
+ 'type' => 'string',
+ 'example' => 'No Permission.',
+ ],
+ 'StartTime' => [
+ 'description' => 'The start time of the task.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-11-05T02:58:07Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"005F4623-AE53-504D-830F-44825F7DC211\\",\\n \\"TaskStatus\\": {\\n \\"Status\\": \\"Success\\",\\n \\"TaskId\\": \\"t-shfqw1u1edszvxw5****\\",\\n \\"EndTime\\": \\"2021-11-05T02:58:08Z\\",\\n \\"TaskType\\": \\"DeleteAccessAssignment\\",\\n \\"FailureReason\\": \\"No Permission.\\",\\n \\"StartTime\\": \\"2021-11-05T02:58:07Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetTaskStatusResponse>\\n <RequestId>005F4623-AE53-504D-830F-44825F7DC211</RequestId>\\n <TaskStatus>\\n <Status>Success</Status>\\n <TaskId>t-shfqw1u1edszvxw5****</TaskId>\\n <EndTime>2021-11-05T02:58:08Z</EndTime>\\n <TaskType>DeleteAccessAssignment</TaskType>\\n <StartTime>2021-11-05T02:58:07Z</StartTime>\\n </TaskStatus>\\n</GetTaskStatusResponse>","errorExample":""}]',
+ 'title' => 'GetTaskStatus',
+ 'description' => 'You can call the GetTaskStatus operation to query the status of an asynchronous task. If you want to query more information about an asynchronous task, call the [GetTask](~~340670~~) operation.'."\n"
+ ."\n"
+ .'This topic provides an example on how to query the information about the task whose ID is `t-shfqw1u1edszvxw5****`.'."\n",
+ ],
+ 'CreateUserProvisioning' => [
+ 'summary' => 'Creates a Resource Access Management (RAM) user provisioning.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'DuplicationStrategy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The conflict handling policy. The policy is used when a RAM user has the same username as the CloudSSO user who is synchronized to RAM. Valid values:'."\n"
+ ."\n"
+ .'* KeepBoth: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system creates a RAM user whose username is the username of the CloudSSO user plus the suffix `_sso`.'."\n"
+ .'* TakeOver: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system replaces the RAM user with the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'KeepBoth',
+ ],
+ ],
+ [
+ 'name' => 'DeletionStrategy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The deletion policy. The policy is used to manage synchronized users when you delete the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Delete: When you delete the RAM user provisioning, the system deletes the synchronized users.'."\n"
+ .'* Keep: When you delete the RAM user provisioning, the system retains the synchronized users.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Delete',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'This is a user provisioning.',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identity ID of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If you set the `PrincipalType` parameter to `Group`, the value of this parameter is the ID of a CloudSSO user group (g-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n"
+ .'* If you set the `PrincipalType` parameter to `User`, the value of this parameter is the ID of a CloudSSO user (u-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'g-02ha881d*****',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identity type of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* User: The identity of the RAM user provisioning is a CloudSSO user.'."\n"
+ .'* Group: The identity of the RAM user provisioning is a CloudSSO user group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Group',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the object for which you create the RAM user provisioning. The value is fixed as the ID of the member in the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1743382******',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The object for which you create the RAM user provisioning. The value is fixed as `RD-Account`.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'RD-Account',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UserProvisioning' => [
+ 'description' => 'The information about the RAM user provisioning.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'Description' => [
+ 'description' => 'The description.'."\n",
+ 'type' => 'string',
+ 'example' => 'this is a user provisioning.',
+ ],
+ 'UserProvisioningId' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The identity ID of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user group (g-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user (u-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n",
+ 'type' => 'string',
+ 'example' => 'g-02ha881d*****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path of the resource directory in which you create the RAM user provisioning for the member.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-******/root/test**',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The modification time. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DuplicationStrategy' => [
+ 'description' => 'The conflict handling policy. The policy is used when a RAM user has the same username as the CloudSSO user who is synchronized to RAM. Valid values:'."\n"
+ ."\n"
+ .'* KeepBoth: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system creates a RAM user whose username is the username of the CloudSSO user plus the suffix `_sso`.'."\n"
+ .'* TakeOver: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system replaces the RAM user with the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'KeepBoth',
+ ],
+ 'DeletionStrategy' => [
+ 'description' => 'The deletion policy. The policy is used to manage synchronized users when you delete the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Delete: When you delete the RAM user provisioning, the system deletes the synchronized users.'."\n"
+ .'* Keep: When you delete the RAM user provisioning, the system retains the synchronized users.'."\n",
+ 'type' => 'string',
+ 'example' => 'Delete',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The identity name of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user group.'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'testGroupName',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the object for which you create the RAM user provisioning. The value is fixed as the name of the member in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'testTargetName',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the object for which you create the RAM user provisioning. The value is fixed as the ID of the member in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => '1743382******',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The creation time. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-003qew84****',
+ ],
+ 'OwnerPk' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the resource directory belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '1639738******',
+ ],
+ 'TargetType' => [
+ 'description' => 'The object for which you create the RAM user provisioning. The value is fixed as `RD-Account`.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The identity type of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* User: The identity of the RAM user provisioning is a CloudSSO user.'."\n"
+ .'* Group: The identity of the RAM user provisioning is a CloudSSO user group.'."\n",
+ 'type' => 'string',
+ 'example' => 'Group',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F6F90F3D-4502-5877-B80B-97476F6AE2CC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserProvisioning\\": {\\n \\"Status\\": \\"Enabled\\",\\n \\"Description\\": \\"This is a user provisioning.\\",\\n \\"UserProvisioningId\\": \\"up-002axzhapcbz6e63****\\",\\n \\"PrincipalId\\": \\"g-02ha881d*****\\",\\n \\"TargetPath\\": \\"rd-******/root/test**\\",\\n \\"UpdateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DuplicationStrategy\\": \\"KeepBoth\\",\\n \\"DeletionStrategy\\": \\"Delete\\",\\n \\"PrincipalName\\": \\"testGroupName\\",\\n \\"TargetName\\": \\"testTargetName\\",\\n \\"TargetId\\": \\"1743382******\\",\\n \\"CreateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DirectoryId\\": \\"d-003qew84****\\",\\n \\"OwnerPk\\": \\"1639738******\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"PrincipalType\\": \\"Group\\"\\n },\\n \\"RequestId\\": \\"F6F90F3D-4502-5877-B80B-97476F6AE2CC\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateUserProvisioningResponse>\\n <UserProvisioning>\\n <Status>Enabled</Status>\\n <Description>描述</Description>\\n <UserProvisioningId>up-002axzhapcbz6e63****</UserProvisioningId>\\n <PrincipalId>g-02ha881d*****</PrincipalId>\\n <TargetPath>/</TargetPath>\\n <GmtModified>2022-11-28T03:55:42Z</GmtModified>\\n <UpdateTime>2022-11-28T03:55:42Z</UpdateTime>\\n <DuplicationStrategy>KeepBoth</DuplicationStrategy>\\n <DeletionStrategy>Delete</DeletionStrategy>\\n <PrincipalName>testGroupName</PrincipalName>\\n <TargetName>testTargetName</TargetName>\\n <TargetId>1743382******</TargetId>\\n <GmtCreate>2022-11-28T03:55:42Z</GmtCreate>\\n <CreateTime>2022-11-28T03:55:42Z</CreateTime>\\n <DirectoryId>d-003qew84****</DirectoryId>\\n <OwnerPk>1639738******</OwnerPk>\\n <TargetType>RD-Account</TargetType>\\n <PrincipalType>Group</PrincipalType>\\n </UserProvisioning>\\n <RequestId>69A4AB33-****-****-****-29AA0B56****</RequestId>\\n</CreateUserProvisioningResponse>","errorExample":""}]',
+ 'title' => 'CreateUserProvisioning',
+ 'description' => 'You can create a RAM user provisioning for a member in your resource directory to create a RAM user that has the same username as a CloudSSO user. This way, the CloudSSO user can access the resources of the member as the RAM user.'."\n",
+ ],
+ 'GetUserProvisioning' => [
+ 'summary' => 'Queries a Resource Access Management (RAM) user provisioning.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '154714',
+ 'abilityTreeNodes' => [
+ 'FEATUREram8EN4H0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'UserProvisioningId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UserProvisioning' => [
+ 'description' => 'The information about the RAM user provisioning.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'Description' => [
+ 'description' => 'The description.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a user provisioning.',
+ ],
+ 'UserProvisioningId' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The identity ID of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user group (g-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user (u-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n",
+ 'type' => 'string',
+ 'example' => 'g-02ha881d*****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path of the resource directory in which you create the RAM user provisioning for the member.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-******/root/test**',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The modification time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DuplicationStrategy' => [
+ 'description' => 'The conflict handling policy. The policy is used when a RAM user has the same username as the CloudSSO user who is synchronized to RAM. Valid values:'."\n"
+ ."\n"
+ .'* KeepBoth: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system creates a RAM user whose username is the username of the CloudSSO user plus the suffix `_sso`.'."\n"
+ .'* TakeOver: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system replaces the RAM user with the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'KeepBoth',
+ ],
+ 'DeletionStrategy' => [
+ 'description' => 'The deletion policy. The policy is used to manage synchronized users when you delete the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Delete: When you delete the RAM user provisioning, the system deletes the synchronized users.'."\n"
+ .'* Keep: When you delete the RAM user provisioning, the system retains the synchronized users.'."\n",
+ 'type' => 'string',
+ 'example' => 'Delete',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The identity name of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user group.'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'testGroupName',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the object for which you create the RAM user provisioning. The value is fixed as the name of the member in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'testRdMember',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the object for which you create the RAM user provisioning. The value is fixed as the ID of the member in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => '1743382******',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The creation time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-003qew84****',
+ ],
+ 'OwnerPk' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the resource directory belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '1639738******',
+ ],
+ 'TargetType' => [
+ 'description' => 'The object for which you create the RAM user provisioning. The value is fixed as `RD-Account`.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The identity type of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* User: indicates that the identity of the RAM user provisioning is a CloudSSO user.'."\n"
+ .'* Group: indicates that the identity of the RAM user provisioning is a CloudSSO user group.'."\n",
+ 'type' => 'string',
+ 'example' => 'Group',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F6F90F3D-4502-5877-B80B-97476F6AE2CC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserProvisioning\\": {\\n \\"Status\\": \\"Enabled\\",\\n \\"Description\\": \\"This is a user provisioning.\\",\\n \\"UserProvisioningId\\": \\"up-002axzhapcbz6e63****\\",\\n \\"PrincipalId\\": \\"g-02ha881d*****\\",\\n \\"TargetPath\\": \\"rd-******/root/test**\\",\\n \\"UpdateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DuplicationStrategy\\": \\"KeepBoth\\",\\n \\"DeletionStrategy\\": \\"Delete\\",\\n \\"PrincipalName\\": \\"testGroupName\\",\\n \\"TargetName\\": \\"testRdMember\\",\\n \\"TargetId\\": \\"1743382******\\",\\n \\"CreateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DirectoryId\\": \\"d-003qew84****\\",\\n \\"OwnerPk\\": \\"1639738******\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"PrincipalType\\": \\"Group\\"\\n },\\n \\"RequestId\\": \\"F6F90F3D-4502-5877-B80B-97476F6AE2CC\\"\\n}","errorExample":""},{"type":"xml","example":"<GetUserProvisioningResponse>\\n <UserProvisioning>\\n <Status>Enabled</Status>\\n <Description>用户描述</Description>\\n <UserProvisioningId>up-002axzhapcbz6e63****</UserProvisioningId>\\n <PrincipalId>g-02ha881d*****</PrincipalId>\\n <TargetPath>/</TargetPath>\\n <GmtModified>2022-11-28T03:55:42Z</GmtModified>\\n <UpdateTime>2022-11-28T03:55:42Z</UpdateTime>\\n <DuplicationStrategy>KeepBoth</DuplicationStrategy>\\n <DeletionStrategy>Delete</DeletionStrategy>\\n <PrincipalName>testGroupName</PrincipalName>\\n <TargetName>testRdMember</TargetName>\\n <TargetId>1743382******</TargetId>\\n <GmtCreate>2022-11-28T03:55:42Z</GmtCreate>\\n <CreateTime>2022-11-28T03:55:42Z</CreateTime>\\n <DirectoryId>d-003qew84****</DirectoryId>\\n <OwnerPk>1639738******</OwnerPk>\\n <TargetType>RD-Account</TargetType>\\n <PrincipalType>Group</PrincipalType>\\n </UserProvisioning>\\n <RequestId>69A4AB33-****-****-****-29AA0B56****</RequestId>\\n</GetUserProvisioningResponse>","errorExample":""}]',
+ 'title' => 'GetUserProvisioning',
+ ],
+ 'ListUserProvisionings' => [
+ 'summary' => 'Queries Resource Access Management (RAM) user provisionings.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identity ID of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user group (g-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user (u-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'u-88d73u*****',
+ ],
+ ],
+ [
+ 'name' => 'PrincipalType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The identity type of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* User: The identity of the RAM user provisioning is a CloudSSO user.'."\n"
+ .'* Group: The identity of the RAM user provisioning is a CloudSSO user group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RD-Account',
+ ],
+ ],
+ [
+ 'name' => 'TargetId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the object for which you create the RAM user provisioning. The value is fixed as the ID of the member in the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1743382******',
+ ],
+ ],
+ [
+ 'name' => 'TargetType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The object for which you create the RAM user provisioning. The value is fixed as `RD-Account`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'User',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '100',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to initiate the next request. If this is your first time to call this operation, you do not need to specify the `NextToken` parameter.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return is larger than the value of `MaxResults`, the entries are truncated. The system returns entries based on the value of `MaxResults`, and does not return the excess entries. In this case, the value of the response parameter `IsTruncated` is `true`, and `NextToken` is returned. In the next call, you can use the value of `NextToken` and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of `IsTruncated` becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '27EbL9j4ZgZjsMZFqbZFgbwQ1VXFU1Khcpx9e2vrW1zwzTBmTGWaM7ixHhRin8SCsxaJdazYVCzeKc2UF2QkyGb83cPhr8ZxrzoaiTd****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'The token that is used to initiate the next request.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the `IsTruncated` parameter is set to `true`.'."\n",
+ 'type' => 'string',
+ 'example' => '27EbL9j4ZgZjsMZFqbZFgbwQ1VXFU1Khcpx9e2vrW1zwzTBmTGWaM7ixHhRin8SCsxaJdazYVCzeKc2UF2QkyGb83cPhr8ZxrzoaiTd****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F76AF4FC-****-****-B7CB-74F3********',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '110',
+ ],
+ 'UserProvisionings' => [
+ 'description' => 'The RAM user provisionings.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'Description' => [
+ 'description' => 'The description.'."\n",
+ 'type' => 'string',
+ 'example' => 'this is a user provisioning.',
+ ],
+ 'UserProvisioningId' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The identity ID of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user group (g-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user (u-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n",
+ 'type' => 'string',
+ 'example' => 'g-02ha881d*****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path of the resource directory in which you create the RAM user provisioning for the object.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-******/root/test**',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The modification time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DuplicationStrategy' => [
+ 'description' => 'The conflict handling policy. The policy is used when a RAM user has the same username as the CloudSSO user who is synchronized to RAM. Valid values:'."\n"
+ ."\n"
+ .'* KeepBoth: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system creates a RAM user whose username is the username of the CloudSSO user plus the suffix `_sso`.'."\n"
+ .'* TakeOver: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system replaces the RAM user with the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'KeepBoth',
+ ],
+ 'DeletionStrategy' => [
+ 'description' => 'The deletion policy. The policy is used to manage synchronized users when you delete the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Delete: When you delete the RAM user provisioning, the system deletes the synchronized users.'."\n"
+ .'* Keep: When you delete the RAM user provisioning, the system retains the synchronized users.'."\n",
+ 'type' => 'string',
+ 'example' => 'Delete',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The identity name of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user group.'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'testGroupName',
+ ],
+ 'TargetName' => [
+ 'description' => 'The object for which you create the RAM user provisioning. The value is fixed as `RD-Account`.'."\n",
+ 'type' => 'string',
+ 'example' => 'testRdMember',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the object for which you create the RAM user provisioning. The value is fixed as the ID of the member in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => '1743382******',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The creation time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-003qew84****',
+ ],
+ 'OwnerPk' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the resource directory belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '1639738******',
+ ],
+ 'TargetType' => [
+ 'description' => 'The object for which you create the RAM user provisioning. The value is fixed as `RD-Account`.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The identity type of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* User: The identity of the RAM user provisioning is a CloudSSO user.'."\n"
+ .'* Group: The identity of the RAM user provisioning is a CloudSSO user group.'."\n",
+ 'type' => 'string',
+ 'example' => 'Group',
+ ],
+ ],
+ ],
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"27EbL9j4ZgZjsMZFqbZFgbwQ1VXFU1Khcpx9e2vrW1zwzTBmTGWaM7ixHhRin8SCsxaJdazYVCzeKc2UF2QkyGb83cPhr8ZxrzoaiTd****\\",\\n \\"RequestId\\": \\"F76AF4FC-****-****-B7CB-74F3********\\",\\n \\"MaxResults\\": 100,\\n \\"TotalCounts\\": 110,\\n \\"UserProvisionings\\": [\\n {\\n \\"Status\\": \\"Enabled\\",\\n \\"Description\\": \\"this is a user provisioning.\\",\\n \\"UserProvisioningId\\": \\"up-002axzhapcbz6e63****\\",\\n \\"PrincipalId\\": \\"g-02ha881d*****\\",\\n \\"TargetPath\\": \\"rd-******/root/test**\\",\\n \\"UpdateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DuplicationStrategy\\": \\"KeepBoth\\",\\n \\"DeletionStrategy\\": \\"Delete\\",\\n \\"PrincipalName\\": \\"testGroupName\\",\\n \\"TargetName\\": \\"testRdMember\\",\\n \\"TargetId\\": \\"1743382******\\",\\n \\"CreateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DirectoryId\\": \\"d-003qew84****\\",\\n \\"OwnerPk\\": \\"1639738******\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"PrincipalType\\": \\"Group\\"\\n }\\n ],\\n \\"IsTruncated\\": true\\n}","type":"json"}]',
+ 'title' => 'ListUserProvisionings',
+ ],
+ 'UpdateUserProvisioning' => [
+ 'summary' => 'Modifies a Resource Access Management (RAM) user provisioning.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'UserProvisioningId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ ],
+ [
+ 'name' => 'NewDuplicationStrategy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new conflict handling policy. The policy is used when a RAM user has the same username as the CloudSSO user who is synchronized to RAM. Valid values:'."\n"
+ ."\n"
+ .'* KeepBoth: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system creates a RAM user whose username is the username of the CloudSSO user plus the suffix `_sso`.'."\n"
+ .'* TakeOver: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system replaces the RAM user with the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'KeepBoth',
+ ],
+ ],
+ [
+ 'name' => 'NewDeletionStrategy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new deletion policy. The policy is used to manage synchronized users when you delete the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Delete: When you delete the RAM user provisioning, the system deletes the synchronized users.'."\n"
+ .'* Keep: When you delete the RAM user provisioning, the system retains the synchronized users.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Delete',
+ ],
+ ],
+ [
+ 'name' => 'NewDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new description of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'description*****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UserProvisioning' => [
+ 'description' => 'The information about the RAM user provisioning.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ 'Description' => [
+ 'description' => 'The description for the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'example' => 'This is a user provisioning.',
+ ],
+ 'UserProvisioningId' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The identity ID of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user group (g-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user (u-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n",
+ 'type' => 'string',
+ 'example' => 'g-02ha881d*****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path of the resource directory in which you create the RAM user provisioning for the object.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-******/root/test**',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The modification time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DuplicationStrategy' => [
+ 'description' => 'The conflict handling policy. The policy is used when a RAM user has the same username as the CloudSSO user who is synchronized to RAM. Valid values:'."\n"
+ ."\n"
+ .'* KeepBoth: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system creates a RAM user whose username is the username of the CloudSSO user plus the suffix `_sso`.'."\n"
+ .'* TakeOver: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system replaces the RAM user with the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'KeepBoth',
+ ],
+ 'DeletionStrategy' => [
+ 'description' => 'The deletion policy. The policy is used to manage synchronized users when you delete the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Delete: When you delete the RAM user provisioning, the system deletes the synchronized users.'."\n"
+ .'* Keep: When you delete the RAM user provisioning, the system retains the synchronized users.'."\n",
+ 'type' => 'string',
+ 'example' => 'Delete',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The identity name of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user group.'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'testUserName',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the object for which you create the RAM user provisioning. The value is fixed as the name of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'testMemberName',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the object for which you create the RAM user provisioning. The value is fixed as the ID of the account in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'u-02ha881d*****',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The creation time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-003qew84****',
+ ],
+ 'OwnerPk' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the resource directory belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '164987310*****',
+ ],
+ 'TargetType' => [
+ 'description' => 'The object for which you create the RAM user provisioning. The value is fixed as `RD-Account`.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The identity type of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* User: indicates that the identity of the RAM user provisioning is a CloudSSO user.'."\n"
+ .'* Group: indicates that the identity of the RAM user provisioning is a CloudSSO user group.'."\n",
+ 'type' => 'string',
+ 'example' => 'User',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F6F90F3D-4502-5877-B80B-97476F6AE2CC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserProvisioning\\": {\\n \\"Status\\": \\"Enabled\\",\\n \\"Description\\": \\"This is a user provisioning.\\",\\n \\"UserProvisioningId\\": \\"up-002axzhapcbz6e63****\\",\\n \\"PrincipalId\\": \\"g-02ha881d*****\\",\\n \\"TargetPath\\": \\"rd-******/root/test**\\",\\n \\"UpdateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DuplicationStrategy\\": \\"KeepBoth\\",\\n \\"DeletionStrategy\\": \\"Delete\\",\\n \\"PrincipalName\\": \\"testUserName\\",\\n \\"TargetName\\": \\"testMemberName\\",\\n \\"TargetId\\": \\"u-02ha881d*****\\",\\n \\"CreateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DirectoryId\\": \\"d-003qew84****\\",\\n \\"OwnerPk\\": \\"164987310*****\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"PrincipalType\\": \\"User\\"\\n },\\n \\"RequestId\\": \\"F6F90F3D-4502-5877-B80B-97476F6AE2CC\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateUserProvisioningResponse>\\n <UserProvisioning>\\n <Status>Enabled</Status>\\n <Description>description****</Description>\\n <UserProvisioningId>up-002axzhapcbz6e63****</UserProvisioningId>\\n <PrincipalId>g-02ha881d*****</PrincipalId>\\n <TargetPath>/</TargetPath>\\n <GmtModified>2022-11-28T03:55:42Z</GmtModified>\\n <UpdateTime>2022-11-28T03:55:42Z</UpdateTime>\\n <DuplicationStrategy>KeepBoth</DuplicationStrategy>\\n <DeletionStrategy>Delete</DeletionStrategy>\\n <PrincipalName>UserName</PrincipalName>\\n <TargetName>TargetName</TargetName>\\n <TargetId>u-02ha881d*****</TargetId>\\n <GmtCreate>2022-11-28T03:55:42Z</GmtCreate>\\n <CreateTime>2022-11-28T03:55:42Z</CreateTime>\\n <DirectoryId>d-003qew84****</DirectoryId>\\n <OwnerPk>164987310*****</OwnerPk>\\n <TargetType>RD-Account</TargetType>\\n <PrincipalType>User</PrincipalType>\\n </UserProvisioning>\\n <RequestId>66898413-EB80-556D-9429-06FE3548F672</RequestId>\\n</UpdateUserProvisioningResponse>","errorExample":""}]',
+ 'title' => 'UpdateUserProvisioning',
+ ],
+ 'DeleteUserProvisioning' => [
+ 'summary' => 'Deletes a Resource Access Management (RAM) user provisioning.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'UserProvisioningId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ ],
+ [
+ 'name' => 'DeletionStrategy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The deletion policy. The policy is used to manage synchronized users when you delete the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Delete: When you delete the RAM user provisioning, the system deletes the synchronized users.'."\n"
+ .'* Keep: When you delete the RAM user provisioning, the system retains the synchronized users.'."\n"
+ ."\n"
+ .'> If you do not specify this parameter, the deletion policy that is configured when you create the RAM user provisioning is used.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Delete',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F6F90F3D-4502-5877-B80B-97476F6AE2CC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F6F90F3D-4502-5877-B80B-97476F6AE2CC\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteUserProvisioningResponse>\\n <RequestId>69A4AB33-****-****-****-29AA0B56****</RequestId>\\n</DeleteUserProvisioningResponse>","errorExample":""}]',
+ 'title' => 'DeleteUserProvisioning',
+ ],
+ 'UpdateUserProvisioningConfiguration' => [
+ 'summary' => 'Modifies the global configurations of a Resource Access Management (RAM) user provisioning.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'NewDefaultLandingPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new default URL for a CloudSSO user who logs on to the Alibaba Cloud Management Console.'."\n"
+ ."\n"
+ .'Default value: https://homenew.console.aliyun.com.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'https://home.console.aliyun.com/home/dashboard/ProductAndService',
+ ],
+ ],
+ [
+ 'name' => 'NewSessionDuration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new duration of the logon session.'."\n"
+ ."\n"
+ .'Unit: hours.'."\n"
+ ."\n"
+ .'Valid values: 1 to 24.'."\n"
+ ."\n"
+ .'Default value: 6.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '6',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'BBC2ED1D-FAC5-3DF8-B63C-992B85B08DD9',
+ ],
+ 'UserProvisioningConfiguration' => [
+ 'description' => 'The global configurations of the RAM user provisioning.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SessionDuration' => [
+ 'description' => 'The duration of the logon session.'."\n"
+ ."\n"
+ .'Unit: hours.'."\n"
+ ."\n"
+ .'Valid values: 1 to 24.'."\n"
+ ."\n"
+ .'Default value: 6.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '6',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The creation time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-003qew84****',
+ ],
+ 'DefaultLandingPage' => [
+ 'description' => 'The default URL for a CloudSSO user who logs on to the Alibaba Cloud Management Console.'."\n"
+ ."\n"
+ .'Default value: https://homenew.console.aliyun.com.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://homenew.console.aliyun.com',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The modification time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BBC2ED1D-FAC5-3DF8-B63C-992B85B08DD9\\",\\n \\"UserProvisioningConfiguration\\": {\\n \\"SessionDuration\\": 6,\\n \\"CreateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DirectoryId\\": \\"d-003qew84****\\",\\n \\"DefaultLandingPage\\": \\"https://homenew.console.aliyun.com\\",\\n \\"UpdateTime\\": \\"2022-11-28T03:55:42Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<UpdateUserProvisioningConfigurationResponse>\\n <RequestId>66898413-EB80-556D-9429-06FE3548F672</RequestId>\\n <UserProvisioningConfiguration>\\n <SessionDuration>7</SessionDuration>\\n <GmtCreate>2022-11-28T03:55:42Z</GmtCreate>\\n <CreateTime>2022-11-28T03:55:42Z</CreateTime>\\n <DirectoryId>d-003qew84****</DirectoryId>\\n <DefaultLandingPage>https://home.console.aliyun.com/home/dashboard/ProductAndService</DefaultLandingPage>\\n <UserNameReplacementForAt>-</UserNameReplacementForAt>\\n <GmtModified>2022-11-28T03:55:42Z</GmtModified>\\n <UpdateTime>2022-11-28T03:55:42Z</UpdateTime>\\n </UserProvisioningConfiguration>\\n</UpdateUserProvisioningConfigurationResponse>","errorExample":""}]',
+ 'title' => 'UpdateUserProvisioningConfiguration',
+ ],
+ 'GetUserProvisioningConfiguration' => [
+ 'summary' => 'Queries the global configurations of a Resource Access Management (RAM) user provisioning.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '66898413-EB80-556D-9429-06FE3548F672',
+ ],
+ 'UserProvisioningConfiguration' => [
+ 'description' => 'The global configurations of the RAM user provisioning.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SessionDuration' => [
+ 'description' => 'The duration of the logon session.'."\n"
+ ."\n"
+ .'Unit: hours.'."\n"
+ ."\n"
+ .'Valid values: 1 to 24.'."\n"
+ ."\n"
+ .'Default value: 6.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The creation time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-00fc2p61****',
+ ],
+ 'DefaultLandingPage' => [
+ 'description' => 'The default URL for a CloudSSO user who logs on to the Alibaba Cloud Management Console.'."\n"
+ ."\n"
+ .'Default value: https://homenew.console.aliyun.com.'."\n",
+ 'type' => 'string',
+ 'example' => 'https://homenew.console.aliyun.com',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The modification time.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"66898413-EB80-556D-9429-06FE3548F672\\",\\n \\"UserProvisioningConfiguration\\": {\\n \\"SessionDuration\\": 10,\\n \\"CreateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DirectoryId\\": \\"d-00fc2p61****\\",\\n \\"DefaultLandingPage\\": \\"https://homenew.console.aliyun.com\\",\\n \\"UpdateTime\\": \\"2022-11-28T03:55:42Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetUserProvisioningConfigurationResponse>\\n <RequestId>66898413-EB80-556D-9429-06FE3548F672</RequestId>\\n <UserProvisioningConfiguration>\\n <SessionDuration>10</SessionDuration>\\n <GmtCreate>2022-11-28T03:55:42Z</GmtCreate>\\n <CreateTime>2022-11-28T03:55:42Z</CreateTime>\\n <DirectoryId>d-00fc2p61****</DirectoryId>\\n <DefaultLandingPage>https://home.console.aliyun.com/home/dashboard/ProductAndService</DefaultLandingPage>\\n <UserNameReplacementForAt>-</UserNameReplacementForAt>\\n <GmtModified>2022-11-28T03:55:42Z</GmtModified>\\n <UpdateTime>2022-11-28T03:55:42Z</UpdateTime>\\n </UserProvisioningConfiguration>\\n</GetUserProvisioningConfigurationResponse>","errorExample":""}]',
+ 'title' => 'GetUserProvisioningConfiguration',
+ ],
+ 'ListUserProvisioningEvents' => [
+ 'summary' => 'Queries Resource Access Management (RAM) user provisioning events.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'UserProvisioningId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00xz91nf****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to initiate the next request. If this is your first time to call this operation, you do not need to specify the `NextToken` parameter.'."\n"
+ ."\n"
+ .'When you call this operation for the first time, if the total number of entries to return is larger than the value of `MaxResults`, the entries are truncated. The system returns entries based on the value of `MaxResults`, and does not return the excess entries. In this case, the value of the response parameter `IsTruncated` is `true`, and `NextToken` is returned. In the next call, you can use the value of `NextToken` and maintain the settings of the other request parameters to query the excess entries. You can repeat the call until the value of `IsTruncated` becomes `false`. This way, all entries are returned.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'K1c3o9K7pFxoTtxH1Nm7MMLb7zrDGvftYBQBPDVv7AD3a8yhRb3Mk8L9ivmN6bFSjfkZNTAg3h4****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'The token that is used to initiate the next request.'."\n"
+ ."\n"
+ .'> This parameter is returned only when the `IsTruncated` parameter is set to `true`.'."\n",
+ 'type' => 'string',
+ 'example' => '2eEMmhmLa1b7Bbj9UzCgZUGj8DpDeG5TbNknuNKNP2h84KjJRnAb7vzzSDkYNmsidnAybyJYBfnPPB6xfgw54B1Wub2KQmC8LofzqBW2Y****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '0D85B43D-EF98-396D-B426-837E428D2D39',
+ ],
+ 'TotalCounts' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '110',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries per page.'."\n"
+ ."\n"
+ .'Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'Default value: 10.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'IsTruncated' => [
+ 'description' => 'Indicates whether the queried entries are truncated. Valid values:'."\n"
+ ."\n"
+ .'* true'."\n"
+ .'* false'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'UserProvisioningEvents' => [
+ 'description' => 'The RAM user provisioning events.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'UserProvisioningId' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The identity ID of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If you set the `PrincipalType` parameter to `Group`, the value of this parameter is the ID of a CloudSSO user group (g-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n"
+ .'* If you set the `PrincipalType` parameter to `User`, the value of this parameter is the ID of a CloudSSO user (u-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n",
+ 'type' => 'string',
+ 'example' => 'g-02ha881d*****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path of the resource directory in which you create the RAM user provisioning for the member.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-******/root/test**',
+ ],
+ 'ErrorInfo' => [
+ 'description' => 'The error message that is displayed when the last execution of the RAM user provisioning event failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'OperationConflict.UserProvisioning.Process.fail.ImsUserExists',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the source operation. Valid values:'."\n"
+ ."\n"
+ .'* StartProvisioning: enables the RAM user provisioning.'."\n"
+ .'* DeleteProvisioning: deletes the RAM user provisioning.'."\n"
+ .'* AddUserToGroup: adds a user to a user group.'."\n"
+ .'* RemoveUserFromGroup: removes a user from a user group.'."\n"
+ .'* UserProvisioningDeletionClearing: deletes the RAM user provisioning and clears resources in the background.'."\n",
+ 'type' => 'string',
+ 'example' => 'StartProvisioning',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The modification time. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:55Z',
+ ],
+ 'DuplicationStrategy' => [
+ 'description' => 'The conflict handling policy. The policy is used when a RAM user has the same username as the CloudSSO user who is synchronized to RAM. Valid values:'."\n"
+ ."\n"
+ .'* KeepBoth: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system creates a RAM user whose username is the username of the CloudSSO user plus the suffix `_sso`.'."\n"
+ .'* TakeOver: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system replaces the RAM user with the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'KeepBoth',
+ ],
+ 'DeletionStrategy' => [
+ 'description' => 'The deletion policy. The policy is used to manage synchronized users when you delete the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Delete: When you delete the RAM user provisioning, the system deletes the synchronized users.'."\n"
+ .'* Keep: When you delete the RAM user provisioning, the system retains the synchronized users.'."\n",
+ 'type' => 'string',
+ 'example' => 'Keep',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The identity name of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user group.'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'exampleGroupName',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the object for which you create the RAM user provisioning.'."\n"
+ ."\n"
+ .'If `RD-Account` is returned, the value of this parameter is the name of the account that is used to access the instance.``'."\n",
+ 'type' => 'string',
+ 'example' => 'exampleRdMember',
+ ],
+ 'ErrorCount' => [
+ 'description' => 'The number of execution failures.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the object for which you create the RAM user provisioning.'."\n"
+ ."\n"
+ .'The value is fixed as the ID of the account in the resource directory.````'."\n",
+ 'type' => 'string',
+ 'example' => '153218*******',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The creation time. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:55Z',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-003qew84****',
+ ],
+ 'TargetType' => [
+ 'description' => 'The object for which you create the RAM user provisioning. The value is fixed as `RD-Account`.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'EventId' => [
+ 'description' => 'The ID of the RAM user provisioning event.'."\n",
+ 'type' => 'string',
+ 'example' => 'upe-wjKyNDmZvyZOiRcJ****',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The identity type of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* User: The identity of the RAM user provisioning is a CloudSSO user.'."\n"
+ .'* Group: The identity of the RAM user provisioning is a CloudSSO user group.'."\n",
+ 'type' => 'string',
+ 'example' => 'Group',
+ ],
+ 'LatestAsyncTime' => [
+ 'description' => 'The time at which the RAM user provisioning event was last executed. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:55Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"2eEMmhmLa1b7Bbj9UzCgZUGj8DpDeG5TbNknuNKNP2h84KjJRnAb7vzzSDkYNmsidnAybyJYBfnPPB6xfgw54B1Wub2KQmC8LofzqBW2Y****\\",\\n \\"RequestId\\": \\"0D85B43D-EF98-396D-B426-837E428D2D39\\",\\n \\"TotalCounts\\": 110,\\n \\"MaxResults\\": 10,\\n \\"IsTruncated\\": false,\\n \\"UserProvisioningEvents\\": [\\n {\\n \\"UserProvisioningId\\": \\"up-002axzhapcbz6e63****\\",\\n \\"PrincipalId\\": \\"g-02ha881d*****\\",\\n \\"TargetPath\\": \\"rd-******/root/test**\\",\\n \\"ErrorInfo\\": \\"OperationConflict.UserProvisioning.Process.fail.ImsUserExists\\",\\n \\"SourceType\\": \\"StartProvisioning\\",\\n \\"UpdateTime\\": \\"2022-11-28T03:55:55Z\\",\\n \\"DuplicationStrategy\\": \\"KeepBoth\\",\\n \\"DeletionStrategy\\": \\"Keep\\",\\n \\"PrincipalName\\": \\"exampleGroupName\\",\\n \\"TargetName\\": \\"exampleRdMember\\",\\n \\"ErrorCount\\": 1,\\n \\"TargetId\\": \\"153218*******\\",\\n \\"CreateTime\\": \\"2022-11-28T03:55:55Z\\",\\n \\"DirectoryId\\": \\"d-003qew84****\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"EventId\\": \\"upe-wjKyNDmZvyZOiRcJ****\\",\\n \\"PrincipalType\\": \\"Group\\",\\n \\"LatestAsyncTime\\": \\"2022-11-28T03:55:55Z\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'ListUserProvisioningEvents',
+ ],
+ 'GetUserProvisioningEvent' => [
+ 'summary' => 'Queries the information about a Resource Access Management (RAM) user provisioning.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'EventId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the RAM user provisioning event.'."\n"
+ ."\n"
+ .'You can call the [ListUserProvisioningEvents](~~2636305~~) operation to query the value of `EventId`.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'upe-wjKyNDmZvyZOiRcJ****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B801715C-97EA-3067-AC97-EF1EBECBB39C',
+ ],
+ 'UserProvisioningEvent' => [
+ 'description' => 'The RAM user provisioning event.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UserProvisioningId' => [
+ 'description' => 'The ID of the RAM user provisioning event.'."\n",
+ 'type' => 'string',
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ 'PrincipalId' => [
+ 'description' => 'The identity ID of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user group (g-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the ID of a CloudSSO user (u-\\*\\*\\*\\*\\*\\*\\*\\*).'."\n",
+ 'type' => 'string',
+ 'example' => 'g-02ha881d*****',
+ ],
+ 'TargetPath' => [
+ 'description' => 'The path of the resource directory in which you create the RAM user provisioning for the object.'."\n",
+ 'type' => 'string',
+ 'example' => 'rd-******/root/test**',
+ ],
+ 'ErrorInfo' => [
+ 'description' => 'The error message that is displayed when the last execution of the RAM user provisioning event failed.'."\n",
+ 'type' => 'string',
+ 'example' => 'OperationConflict.UserProvisioning.Process.fail.ImsUserExists',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the source operation. Valid values:'."\n"
+ ."\n"
+ .'* StartProvisioning: enables the RAM user provisioning.'."\n"
+ .'* DeleteProvisioning: deletes the RAM user provisioning.'."\n"
+ .'* AddUserToGroup: adds a user to a user group.'."\n"
+ .'* RemoveUserFromGroup: removes a user from a user group.'."\n"
+ .'* UserProvisioningDeletionClearing: deletes the RAM user provisioning and clears resources in the background.'."\n",
+ 'type' => 'string',
+ 'example' => 'AddUserToGroup',
+ ],
+ 'UpdateTime' => [
+ 'description' => 'The modification time. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DuplicationStrategy' => [
+ 'description' => 'The conflict handling policy. The policy is used when a RAM user has the same username as the CloudSSO user who is synchronized to RAM. Valid values:'."\n"
+ ."\n"
+ .'* KeepBoth: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system creates a RAM user whose username is the username of the CloudSSO user plus the suffix `_sso`.'."\n"
+ .'* TakeOver: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system replaces the RAM user with the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'KeepBoth',
+ ],
+ 'DeletionStrategy' => [
+ 'description' => 'The deletion policy. The policy is used to manage synchronized users when you delete the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* Delete: When you delete the RAM user provisioning, the system deletes the synchronized users.'."\n"
+ .'* Keep: When you delete the RAM user provisioning, the system retains the synchronized users.'."\n",
+ 'type' => 'string',
+ 'example' => 'Delete',
+ ],
+ 'PrincipalName' => [
+ 'description' => 'The identity name of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* If `Group` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user group.'."\n"
+ .'* If `User` is returned for the `PrincipalType` parameter, the value of this parameter is the name of a CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'example' => 'exampleGroupName',
+ ],
+ 'TargetName' => [
+ 'description' => 'The name of the object for which you create the RAM user provisioning.'."\n"
+ ."\n"
+ .'The value is fixed as the name of the member in the resource directory.````'."\n",
+ 'type' => 'string',
+ 'example' => 'exampleRdMember',
+ ],
+ 'ErrorCount' => [
+ 'description' => 'The number of execution failures.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '3',
+ ],
+ 'TargetId' => [
+ 'description' => 'The ID of the object for which you create the RAM user provisioning.'."\n"
+ ."\n"
+ .'The value is fixed as the ID of the member in the resource directory.````'."\n",
+ 'type' => 'string',
+ 'example' => '1743382******',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The creation time. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-003qew84****',
+ ],
+ 'TargetType' => [
+ 'description' => 'The object for which you create the RAM user provisioning. The value is fixed as `RD-Account`.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD-Account',
+ ],
+ 'EventId' => [
+ 'description' => 'The ID of the RAM user provisioning event.'."\n",
+ 'type' => 'string',
+ 'example' => 'upe-wjKyNDmZvyZOiRcJ****',
+ ],
+ 'PrincipalType' => [
+ 'description' => 'The identity type of the RAM user provisioning. Valid values:'."\n"
+ ."\n"
+ .'* User: The identity of the RAM user provisioning is a CloudSSO user.'."\n"
+ .'* Group: The identity of the RAM user provisioning is a CloudSSO user group.'."\n",
+ 'type' => 'string',
+ 'example' => 'Group',
+ ],
+ 'LatestAsyncTime' => [
+ 'description' => 'The time at which the RAM user provisioning event was last executed. The time is displayed in UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B801715C-97EA-3067-AC97-EF1EBECBB39C\\",\\n \\"UserProvisioningEvent\\": {\\n \\"UserProvisioningId\\": \\"up-002axzhapcbz6e63****\\",\\n \\"PrincipalId\\": \\"g-02ha881d*****\\",\\n \\"TargetPath\\": \\"rd-******/root/test**\\",\\n \\"ErrorInfo\\": \\"OperationConflict.UserProvisioning.Process.fail.ImsUserExists\\",\\n \\"SourceType\\": \\"AddUserToGroup\\",\\n \\"UpdateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DuplicationStrategy\\": \\"KeepBoth\\",\\n \\"DeletionStrategy\\": \\"Delete\\",\\n \\"PrincipalName\\": \\"exampleGroupName\\",\\n \\"TargetName\\": \\"exampleRdMember\\",\\n \\"ErrorCount\\": 3,\\n \\"TargetId\\": \\"1743382******\\",\\n \\"CreateTime\\": \\"2022-11-28T03:55:42Z\\",\\n \\"DirectoryId\\": \\"d-003qew84****\\",\\n \\"TargetType\\": \\"RD-Account\\",\\n \\"EventId\\": \\"upe-wjKyNDmZvyZOiRcJ****\\",\\n \\"PrincipalType\\": \\"Group\\",\\n \\"LatestAsyncTime\\": \\"2022-11-28T03:55:42Z\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<GetUserProvisioningEventResponse>\\n <RequestId>69A4AB33-****-****-****-29AA0B56****</RequestId>\\n <UserProvisioningEvent>\\n <UserProvisioningId>up-002axzhapcbz6e63****</UserProvisioningId>\\n <PrincipalId>g-02ha881d*****</PrincipalId>\\n <TargetPath>/</TargetPath>\\n <SourceType>AddUserToGroup</SourceType>\\n <GmtModified>2022-11-28T03:55:42Z</GmtModified>\\n <UpdateTime>2022-11-28T03:55:42Z</UpdateTime>\\n <DuplicationStrategy>KeepBoth</DuplicationStrategy>\\n <DeletionStrategy>Delete</DeletionStrategy>\\n <PrincipalName>testRdMember</PrincipalName>\\n <TargetName>testGroupName</TargetName>\\n <ErrorCount>3</ErrorCount>\\n <TargetId>1743382******</TargetId>\\n <GmtCreate>2022-11-28T03:55:42Z</GmtCreate>\\n <CreateTime>2022-11-28T03:55:42Z</CreateTime>\\n <DirectoryId>d-003qew84****</DirectoryId>\\n <TargetType>RD-Account</TargetType>\\n <EventId>upe-wjKyNDmZvyZOiRcJ****</EventId>\\n <PrincipalType>Group</PrincipalType>\\n <GmtLastExec>2022-11-28T03:55:42Z</GmtLastExec>\\n </UserProvisioningEvent>\\n</GetUserProvisioningEventResponse>","errorExample":""}]',
+ 'title' => 'GetUserProvisioningEvent',
+ ],
+ 'DeleteUserProvisioningEvent' => [
+ 'summary' => 'Deletes a Resource Access Management (RAM) user provisioning event.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'EventId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the RAM user provisioning event.'."\n"
+ ."\n"
+ .'You can call the [ListUserProvisioningEvents](~~2636305~~) operation to query the value of `EventId`.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'upe-wjKyNDmZvyZOiRcJ****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'UserProvisioningId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'A9287DA5-FD59-32A0-A810-1962E8B58ABB',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A9287DA5-FD59-32A0-A810-1962E8B58ABB\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteUserProvisioningEventResponse>\\n <RequestId>69A4AB33-****-****-****-29AA0B56****</RequestId>\\n</DeleteUserProvisioningEventResponse>","errorExample":""}]',
+ 'title' => 'DeleteUserProvisioningEvent',
+ ],
+ 'RetryUserProvisioningEvent' => [
+ 'summary' => 'Retries a Resource Access Management (RAM) user provisioning event.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'EventId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the RAM user provisioning event.'."\n"
+ ."\n"
+ .'You can call the [ListUserProvisioningEvents](~~2636305~~) operation to query the value of `EventId`.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'upe-wjKyNDmZvyZOiRcJ****',
+ ],
+ ],
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'DuplicationStrategy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The conflict handling policy. The policy is used when a RAM user has the same username as the CloudSSO user who is synchronized to RAM. Valid values:'."\n"
+ ."\n"
+ .'* KeepBoth: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system creates a RAM user whose username is the username of the CloudSSO user plus the suffix `_sso`.'."\n"
+ .'* TakeOver: When a CloudSSO user is synchronized to RAM, if a RAM user who has the same username as the CloudSSO user exists, the system replaces the RAM user with the CloudSSO user.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'KeepBoth',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F6F90F3D-4502-5877-B80B-97476F6AE2CC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'cloudsso::2021-05-15::GetUserProvisioningEvent',
+ 'callbackInterval' => 10000,
+ 'maxCallbackTimes' => 5,
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F6F90F3D-4502-5877-B80B-97476F6AE2CC\\"\\n}","errorExample":""},{"type":"xml","example":"<RetryUserProvisioningEventResponse>\\n <RequestId>69A4AB33-****-****-****-29AA0B56****</RequestId>\\n</RetryUserProvisioningEventResponse>","errorExample":""}]',
+ 'title' => 'RetryUserProvisioningEvent',
+ ],
+ 'GetUserProvisioningStatistics' => [
+ 'summary' => 'Queries the statistics of a Resource Access Management (RAM) user provisioning.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'UserProvisioningId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UserProvisioningStatistics' => [
+ 'description' => 'The statistics of the RAM user provisioning.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'EntityId' => [
+ 'description' => 'The entity ID, which is the ID of the RAM user provisioning.'."\n",
+ 'type' => 'string',
+ 'example' => 'up-002axzhapcbz6e63****',
+ ],
+ 'Type' => [
+ 'description' => 'The entity type. The value is fixed as `User Provisioning`.'."\n",
+ 'type' => 'string',
+ 'example' => 'User Provisioning',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-003qew84****',
+ ],
+ 'FailedEventCount' => [
+ 'description' => 'The number of failed RAM user provisioning events that are associated with the RAM user provisioning.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '3',
+ ],
+ 'OwnerPk' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the resource directory belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '139665787317****',
+ ],
+ 'LatestAsyncTime' => [
+ 'description' => 'The time when the RAM user provisioning was last performed.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F6F90F3D-4502-5877-B80B-97476F6AE2CC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserProvisioningStatistics\\": {\\n \\"EntityId\\": \\"up-002axzhapcbz6e63****\\",\\n \\"Type\\": \\"User Provisioning\\",\\n \\"DirectoryId\\": \\"d-003qew84****\\",\\n \\"FailedEventCount\\": 3,\\n \\"OwnerPk\\": \\"139665787317****\\",\\n \\"LatestAsyncTime\\": \\"2022-11-28T03:55:42Z\\"\\n },\\n \\"RequestId\\": \\"F6F90F3D-4502-5877-B80B-97476F6AE2CC\\"\\n}","errorExample":""},{"type":"xml","example":"<GetUserProvisioningStatisticsResponse>\\n <UserProvisioningStatistics>\\n <EntityId>up-002axzhapcbz6e63****</EntityId>\\n <Type>User Provisioning</Type>\\n <DirectoryId>d-003qew84****</DirectoryId>\\n <FailedEventCount>3</FailedEventCount>\\n <OwnerPk>139665787317****</OwnerPk>\\n <LatestAsyncTime>2022-11-28T03:55:42Z</LatestAsyncTime>\\n </UserProvisioningStatistics>\\n <RequestId>69A4AB33-****-****-****-29AA0B56****</RequestId>\\n</GetUserProvisioningStatisticsResponse>","errorExample":""}]',
+ 'title' => 'GetUserProvisioningStatistics',
+ ],
+ 'GetUserProvisioningRdAccountStatistics' => [
+ 'summary' => 'Queries statistics of Resource Access Management (RAM) user provisioning events that are created for the member in a resource directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-003qew84****',
+ ],
+ ],
+ [
+ 'name' => 'RdMemberId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the member in the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1743382******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned results.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'UserProvisioningStatistics' => [
+ 'description' => 'The statistics of the RAM user provisioning.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'EntityId' => [
+ 'description' => 'The entity ID, which is the ID of the member in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => '1743382******',
+ ],
+ 'Type' => [
+ 'description' => 'The entity type. The value is fixed as `RD Account`.'."\n",
+ 'type' => 'string',
+ 'example' => 'RD Account',
+ ],
+ 'DirectoryId' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => 'd-003qew84****',
+ ],
+ 'FailedEventCount' => [
+ 'description' => 'The number of failed RAM user provisioning events.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '4',
+ ],
+ 'OwnerPk' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the resource directory belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '1639738******',
+ ],
+ 'LatestAsyncTime' => [
+ 'description' => 'The time when the RAM user provisioning was last performed.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-28T03:55:42Z',
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F6F90F3D-4502-5877-B80B-97476F6AE2CC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserProvisioningStatistics\\": {\\n \\"EntityId\\": \\"1743382******\\",\\n \\"Type\\": \\"RD Account\\",\\n \\"DirectoryId\\": \\"d-003qew84****\\",\\n \\"FailedEventCount\\": 4,\\n \\"OwnerPk\\": \\"1639738******\\",\\n \\"LatestAsyncTime\\": \\"2022-11-28T03:55:42Z\\"\\n },\\n \\"RequestId\\": \\"F6F90F3D-4502-5877-B80B-97476F6AE2CC\\"\\n}","errorExample":""},{"type":"xml","example":"<GetUserProvisioningRdAccountStatisticsResponse>\\n <UserProvisioningStatistics>\\n <EntityId>1743382******</EntityId>\\n <Type>RD-Account</Type>\\n <DirectoryId>d-003qew84****</DirectoryId>\\n <FailedEventCount>4</FailedEventCount>\\n <OwnerPk>1639738******</OwnerPk>\\n <LatestAsyncTime>2022-11-28T03:55:42Z</LatestAsyncTime>\\n </UserProvisioningStatistics>\\n <RequestId>69A4AB33-****-****-****-29AA0B56****</RequestId>\\n</GetUserProvisioningRdAccountStatisticsResponse>","errorExample":""}]',
+ 'title' => 'GetUserProvisioningRdAccountStatistics',
+ ],
+ 'SetMFAAuthenticationStatus' => [
+ 'summary' => 'Enables or disables multi-factor authentication (MFA) for users in a directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ [
+ 'name' => 'MFAAuthenticationStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of MFA. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Enabled',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '14E2B1A9-7713-5E6F-8409-8DE12DF51AF4',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"14E2B1A9-7713-5E6F-8409-8DE12DF51AF4\\"\\n}","errorExample":""},{"type":"xml","example":"<SetMFAAuthenticationStatusResponse>\\n <RequestId>14E2B1A9-7713-5E6F-8409-8DE12DF51AF4</RequestId>\\n</SetMFAAuthenticationStatusResponse>","errorExample":""}]',
+ 'title' => 'SetMFAAuthenticationStatus',
+ 'description' => 'If a CloudSSO administrator enables username-password logon for users, CloudSSO automatically enables MFA to improve security. The administrator can call this operation to enable or disable MFA based on the business requirements.'."\n"
+ ."\n"
+ .'This topic provides an example on how to enable MFA for users.'."\n",
+ ],
+ 'GetMFAAuthenticationStatus' => [
+ 'summary' => 'Checks whether multi-factor authentication (MFA) is enabled for users.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the directory.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'd-00fc2p61****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '5E688346-DF1A-5537-9BFC-8A9974D29586',
+ ],
+ 'MFAAuthenticationStatus' => [
+ 'description' => 'Indicates whether MFA is enabled for users. Valid values:'."\n"
+ ."\n"
+ .'* Enabled'."\n"
+ .'* Disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5E688346-DF1A-5537-9BFC-8A9974D29586\\",\\n \\"MFAAuthenticationStatus\\": \\"Enabled\\"\\n}","errorExample":""},{"type":"xml","example":"<GetMFAAuthenticationStatusResponse>\\n <RequestId>5E688346-DF1A-5537-9BFC-8A9974D29586</RequestId>\\n <MFAAuthenticationStatus>Enabled</MFAAuthenticationStatus>\\n</GetMFAAuthenticationStatusResponse>","errorExample":""}]',
+ 'title' => 'GetMFAAuthenticationStatus',
+ 'description' => 'This topic provides an example on how to check whether MFA is enabled for users in the directory whose ID is `d-00fc2p61****`. The returned result shows that MFA is in the Enabled state.'."\n",
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'cloudsso.cn-shanghai.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'cloudsso.cn-hongkong.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-2',
+ 'endpoint' => 'cloudsso.ap-northeast-2.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'cloudsso.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'endpoint' => 'cloudsso.eu-central-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-west-1',
+ 'endpoint' => 'cloudsso.us-west-1.aliyuncs.com',
+ ],
+ ],
+];