diff --git a/clients/client-workmail/README.md b/clients/client-workmail/README.md index 4f49873e638b..9e6d58c5caa9 100644 --- a/clients/client-workmail/README.md +++ b/clients/client-workmail/README.md @@ -45,7 +45,7 @@ model.

## Installing -To install the this package, simply type add or install @aws-sdk/client-workmail +To install this package, simply type add or install @aws-sdk/client-workmail using your favorite package manager: - `npm install @aws-sdk/client-workmail` @@ -293,6 +293,14 @@ CreateGroup [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/CreateGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/CreateGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/CreateGroupCommandOutput/) + +
+ +CreateIdentityCenterApplication + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/CreateIdentityCenterApplicationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/CreateIdentityCenterApplicationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/CreateIdentityCenterApplicationCommandOutput/) +
@@ -373,6 +381,22 @@ DeleteGroup [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/DeleteGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeleteGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeleteGroupCommandOutput/) +
+
+ +DeleteIdentityCenterApplication + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/DeleteIdentityCenterApplicationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeleteIdentityCenterApplicationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeleteIdentityCenterApplicationCommandOutput/) + +
+
+ +DeleteIdentityProviderConfiguration + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/DeleteIdentityProviderConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeleteIdentityProviderConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeleteIdentityProviderConfigurationCommandOutput/) +
@@ -413,6 +437,14 @@ DeleteOrganization [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/DeleteOrganizationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeleteOrganizationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeleteOrganizationCommandOutput/) +
+
+ +DeletePersonalAccessToken + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/DeletePersonalAccessTokenCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeletePersonalAccessTokenCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DeletePersonalAccessTokenCommandOutput/) +
@@ -477,6 +509,14 @@ DescribeGroup [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/DescribeGroupCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DescribeGroupCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DescribeGroupCommandOutput/) +
+
+ +DescribeIdentityProviderConfiguration + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/DescribeIdentityProviderConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DescribeIdentityProviderConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/DescribeIdentityProviderConfigurationCommandOutput/) +
@@ -597,6 +637,14 @@ GetMobileDeviceAccessOverride [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/GetMobileDeviceAccessOverrideCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/GetMobileDeviceAccessOverrideCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/GetMobileDeviceAccessOverrideCommandOutput/) +
+
+ +GetPersonalAccessTokenMetadata + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/GetPersonalAccessTokenMetadataCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/GetPersonalAccessTokenMetadataCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/GetPersonalAccessTokenMetadataCommandOutput/) +
@@ -701,6 +749,14 @@ ListOrganizations [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/ListOrganizationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/ListOrganizationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/ListOrganizationsCommandOutput/) +
+
+ +ListPersonalAccessTokens + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/ListPersonalAccessTokensCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/ListPersonalAccessTokensCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/ListPersonalAccessTokensCommandOutput/) +
@@ -749,6 +805,14 @@ PutEmailMonitoringConfiguration [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/PutEmailMonitoringConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/PutEmailMonitoringConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/PutEmailMonitoringConfigurationCommandOutput/) +
+
+ +PutIdentityProviderConfiguration + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/workmail/command/PutIdentityProviderConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/PutIdentityProviderConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-workmail/Interface/PutIdentityProviderConfigurationCommandOutput/) +
diff --git a/clients/client-workmail/src/WorkMail.ts b/clients/client-workmail/src/WorkMail.ts index a5c4c0c14aa1..17a3d4aad873 100644 --- a/clients/client-workmail/src/WorkMail.ts +++ b/clients/client-workmail/src/WorkMail.ts @@ -29,6 +29,11 @@ import { CreateAvailabilityConfigurationCommandOutput, } from "./commands/CreateAvailabilityConfigurationCommand"; import { CreateGroupCommand, CreateGroupCommandInput, CreateGroupCommandOutput } from "./commands/CreateGroupCommand"; +import { + CreateIdentityCenterApplicationCommand, + CreateIdentityCenterApplicationCommandInput, + CreateIdentityCenterApplicationCommandOutput, +} from "./commands/CreateIdentityCenterApplicationCommand"; import { CreateImpersonationRoleCommand, CreateImpersonationRoleCommandInput, @@ -67,6 +72,16 @@ import { DeleteEmailMonitoringConfigurationCommandOutput, } from "./commands/DeleteEmailMonitoringConfigurationCommand"; import { DeleteGroupCommand, DeleteGroupCommandInput, DeleteGroupCommandOutput } from "./commands/DeleteGroupCommand"; +import { + DeleteIdentityCenterApplicationCommand, + DeleteIdentityCenterApplicationCommandInput, + DeleteIdentityCenterApplicationCommandOutput, +} from "./commands/DeleteIdentityCenterApplicationCommand"; +import { + DeleteIdentityProviderConfigurationCommand, + DeleteIdentityProviderConfigurationCommandInput, + DeleteIdentityProviderConfigurationCommandOutput, +} from "./commands/DeleteIdentityProviderConfigurationCommand"; import { DeleteImpersonationRoleCommand, DeleteImpersonationRoleCommandInput, @@ -92,6 +107,11 @@ import { DeleteOrganizationCommandInput, DeleteOrganizationCommandOutput, } from "./commands/DeleteOrganizationCommand"; +import { + DeletePersonalAccessTokenCommand, + DeletePersonalAccessTokenCommandInput, + DeletePersonalAccessTokenCommandOutput, +} from "./commands/DeletePersonalAccessTokenCommand"; import { DeleteResourceCommand, DeleteResourceCommandInput, @@ -128,6 +148,11 @@ import { DescribeGroupCommandInput, DescribeGroupCommandOutput, } from "./commands/DescribeGroupCommand"; +import { + DescribeIdentityProviderConfigurationCommand, + DescribeIdentityProviderConfigurationCommandInput, + DescribeIdentityProviderConfigurationCommandOutput, +} from "./commands/DescribeIdentityProviderConfigurationCommand"; import { DescribeInboundDmarcSettingsCommand, DescribeInboundDmarcSettingsCommandInput, @@ -203,6 +228,11 @@ import { GetMobileDeviceAccessOverrideCommandInput, GetMobileDeviceAccessOverrideCommandOutput, } from "./commands/GetMobileDeviceAccessOverrideCommand"; +import { + GetPersonalAccessTokenMetadataCommand, + GetPersonalAccessTokenMetadataCommandInput, + GetPersonalAccessTokenMetadataCommandOutput, +} from "./commands/GetPersonalAccessTokenMetadataCommand"; import { ListAccessControlRulesCommand, ListAccessControlRulesCommandInput, @@ -260,6 +290,11 @@ import { ListOrganizationsCommandInput, ListOrganizationsCommandOutput, } from "./commands/ListOrganizationsCommand"; +import { + ListPersonalAccessTokensCommand, + ListPersonalAccessTokensCommandInput, + ListPersonalAccessTokensCommandOutput, +} from "./commands/ListPersonalAccessTokensCommand"; import { ListResourceDelegatesCommand, ListResourceDelegatesCommandInput, @@ -286,6 +321,11 @@ import { PutEmailMonitoringConfigurationCommandInput, PutEmailMonitoringConfigurationCommandOutput, } from "./commands/PutEmailMonitoringConfigurationCommand"; +import { + PutIdentityProviderConfigurationCommand, + PutIdentityProviderConfigurationCommandInput, + PutIdentityProviderConfigurationCommandOutput, +} from "./commands/PutIdentityProviderConfigurationCommand"; import { PutInboundDmarcSettingsCommand, PutInboundDmarcSettingsCommandInput, @@ -384,6 +424,7 @@ const commands = { CreateAliasCommand, CreateAvailabilityConfigurationCommand, CreateGroupCommand, + CreateIdentityCenterApplicationCommand, CreateImpersonationRoleCommand, CreateMobileDeviceAccessRuleCommand, CreateOrganizationCommand, @@ -394,11 +435,14 @@ const commands = { DeleteAvailabilityConfigurationCommand, DeleteEmailMonitoringConfigurationCommand, DeleteGroupCommand, + DeleteIdentityCenterApplicationCommand, + DeleteIdentityProviderConfigurationCommand, DeleteImpersonationRoleCommand, DeleteMailboxPermissionsCommand, DeleteMobileDeviceAccessOverrideCommand, DeleteMobileDeviceAccessRuleCommand, DeleteOrganizationCommand, + DeletePersonalAccessTokenCommand, DeleteResourceCommand, DeleteRetentionPolicyCommand, DeleteUserCommand, @@ -407,6 +451,7 @@ const commands = { DescribeEmailMonitoringConfigurationCommand, DescribeEntityCommand, DescribeGroupCommand, + DescribeIdentityProviderConfigurationCommand, DescribeInboundDmarcSettingsCommand, DescribeMailboxExportJobCommand, DescribeOrganizationCommand, @@ -422,6 +467,7 @@ const commands = { GetMailDomainCommand, GetMobileDeviceAccessEffectCommand, GetMobileDeviceAccessOverrideCommand, + GetPersonalAccessTokenMetadataCommand, ListAccessControlRulesCommand, ListAliasesCommand, ListAvailabilityConfigurationsCommand, @@ -435,12 +481,14 @@ const commands = { ListMobileDeviceAccessOverridesCommand, ListMobileDeviceAccessRulesCommand, ListOrganizationsCommand, + ListPersonalAccessTokensCommand, ListResourceDelegatesCommand, ListResourcesCommand, ListTagsForResourceCommand, ListUsersCommand, PutAccessControlRuleCommand, PutEmailMonitoringConfigurationCommand, + PutIdentityProviderConfigurationCommand, PutInboundDmarcSettingsCommand, PutMailboxPermissionsCommand, PutMobileDeviceAccessOverrideCommand, @@ -571,6 +619,23 @@ export interface WorkMail { cb: (err: any, data?: CreateGroupCommandOutput) => void ): void; + /** + * @see {@link CreateIdentityCenterApplicationCommand} + */ + createIdentityCenterApplication( + args: CreateIdentityCenterApplicationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createIdentityCenterApplication( + args: CreateIdentityCenterApplicationCommandInput, + cb: (err: any, data?: CreateIdentityCenterApplicationCommandOutput) => void + ): void; + createIdentityCenterApplication( + args: CreateIdentityCenterApplicationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateIdentityCenterApplicationCommandOutput) => void + ): void; + /** * @see {@link CreateImpersonationRoleCommand} */ @@ -720,6 +785,40 @@ export interface WorkMail { cb: (err: any, data?: DeleteGroupCommandOutput) => void ): void; + /** + * @see {@link DeleteIdentityCenterApplicationCommand} + */ + deleteIdentityCenterApplication( + args: DeleteIdentityCenterApplicationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteIdentityCenterApplication( + args: DeleteIdentityCenterApplicationCommandInput, + cb: (err: any, data?: DeleteIdentityCenterApplicationCommandOutput) => void + ): void; + deleteIdentityCenterApplication( + args: DeleteIdentityCenterApplicationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteIdentityCenterApplicationCommandOutput) => void + ): void; + + /** + * @see {@link DeleteIdentityProviderConfigurationCommand} + */ + deleteIdentityProviderConfiguration( + args: DeleteIdentityProviderConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteIdentityProviderConfiguration( + args: DeleteIdentityProviderConfigurationCommandInput, + cb: (err: any, data?: DeleteIdentityProviderConfigurationCommandOutput) => void + ): void; + deleteIdentityProviderConfiguration( + args: DeleteIdentityProviderConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteIdentityProviderConfigurationCommandOutput) => void + ): void; + /** * @see {@link DeleteImpersonationRoleCommand} */ @@ -805,6 +904,23 @@ export interface WorkMail { cb: (err: any, data?: DeleteOrganizationCommandOutput) => void ): void; + /** + * @see {@link DeletePersonalAccessTokenCommand} + */ + deletePersonalAccessToken( + args: DeletePersonalAccessTokenCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deletePersonalAccessToken( + args: DeletePersonalAccessTokenCommandInput, + cb: (err: any, data?: DeletePersonalAccessTokenCommandOutput) => void + ): void; + deletePersonalAccessToken( + args: DeletePersonalAccessTokenCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeletePersonalAccessTokenCommandOutput) => void + ): void; + /** * @see {@link DeleteResourceCommand} */ @@ -923,6 +1039,23 @@ export interface WorkMail { cb: (err: any, data?: DescribeGroupCommandOutput) => void ): void; + /** + * @see {@link DescribeIdentityProviderConfigurationCommand} + */ + describeIdentityProviderConfiguration( + args: DescribeIdentityProviderConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeIdentityProviderConfiguration( + args: DescribeIdentityProviderConfigurationCommandInput, + cb: (err: any, data?: DescribeIdentityProviderConfigurationCommandOutput) => void + ): void; + describeIdentityProviderConfiguration( + args: DescribeIdentityProviderConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeIdentityProviderConfigurationCommandOutput) => void + ): void; + /** * @see {@link DescribeInboundDmarcSettingsCommand} */ @@ -1166,6 +1299,23 @@ export interface WorkMail { cb: (err: any, data?: GetMobileDeviceAccessOverrideCommandOutput) => void ): void; + /** + * @see {@link GetPersonalAccessTokenMetadataCommand} + */ + getPersonalAccessTokenMetadata( + args: GetPersonalAccessTokenMetadataCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getPersonalAccessTokenMetadata( + args: GetPersonalAccessTokenMetadataCommandInput, + cb: (err: any, data?: GetPersonalAccessTokenMetadataCommandOutput) => void + ): void; + getPersonalAccessTokenMetadata( + args: GetPersonalAccessTokenMetadataCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetPersonalAccessTokenMetadataCommandOutput) => void + ): void; + /** * @see {@link ListAccessControlRulesCommand} */ @@ -1373,6 +1523,23 @@ export interface WorkMail { cb: (err: any, data?: ListOrganizationsCommandOutput) => void ): void; + /** + * @see {@link ListPersonalAccessTokensCommand} + */ + listPersonalAccessTokens( + args: ListPersonalAccessTokensCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listPersonalAccessTokens( + args: ListPersonalAccessTokensCommandInput, + cb: (err: any, data?: ListPersonalAccessTokensCommandOutput) => void + ): void; + listPersonalAccessTokens( + args: ListPersonalAccessTokensCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListPersonalAccessTokensCommandOutput) => void + ): void; + /** * @see {@link ListResourceDelegatesCommand} */ @@ -1463,6 +1630,23 @@ export interface WorkMail { cb: (err: any, data?: PutEmailMonitoringConfigurationCommandOutput) => void ): void; + /** + * @see {@link PutIdentityProviderConfigurationCommand} + */ + putIdentityProviderConfiguration( + args: PutIdentityProviderConfigurationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + putIdentityProviderConfiguration( + args: PutIdentityProviderConfigurationCommandInput, + cb: (err: any, data?: PutIdentityProviderConfigurationCommandOutput) => void + ): void; + putIdentityProviderConfiguration( + args: PutIdentityProviderConfigurationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutIdentityProviderConfigurationCommandOutput) => void + ): void; + /** * @see {@link PutInboundDmarcSettingsCommand} */ diff --git a/clients/client-workmail/src/WorkMailClient.ts b/clients/client-workmail/src/WorkMailClient.ts index 5fe0a86a59db..6ecf9c7ef259 100644 --- a/clients/client-workmail/src/WorkMailClient.ts +++ b/clients/client-workmail/src/WorkMailClient.ts @@ -75,6 +75,10 @@ import { CreateAvailabilityConfigurationCommandOutput, } from "./commands/CreateAvailabilityConfigurationCommand"; import { CreateGroupCommandInput, CreateGroupCommandOutput } from "./commands/CreateGroupCommand"; +import { + CreateIdentityCenterApplicationCommandInput, + CreateIdentityCenterApplicationCommandOutput, +} from "./commands/CreateIdentityCenterApplicationCommand"; import { CreateImpersonationRoleCommandInput, CreateImpersonationRoleCommandOutput, @@ -100,6 +104,14 @@ import { DeleteEmailMonitoringConfigurationCommandOutput, } from "./commands/DeleteEmailMonitoringConfigurationCommand"; import { DeleteGroupCommandInput, DeleteGroupCommandOutput } from "./commands/DeleteGroupCommand"; +import { + DeleteIdentityCenterApplicationCommandInput, + DeleteIdentityCenterApplicationCommandOutput, +} from "./commands/DeleteIdentityCenterApplicationCommand"; +import { + DeleteIdentityProviderConfigurationCommandInput, + DeleteIdentityProviderConfigurationCommandOutput, +} from "./commands/DeleteIdentityProviderConfigurationCommand"; import { DeleteImpersonationRoleCommandInput, DeleteImpersonationRoleCommandOutput, @@ -117,6 +129,10 @@ import { DeleteMobileDeviceAccessRuleCommandOutput, } from "./commands/DeleteMobileDeviceAccessRuleCommand"; import { DeleteOrganizationCommandInput, DeleteOrganizationCommandOutput } from "./commands/DeleteOrganizationCommand"; +import { + DeletePersonalAccessTokenCommandInput, + DeletePersonalAccessTokenCommandOutput, +} from "./commands/DeletePersonalAccessTokenCommand"; import { DeleteResourceCommandInput, DeleteResourceCommandOutput } from "./commands/DeleteResourceCommand"; import { DeleteRetentionPolicyCommandInput, @@ -137,6 +153,10 @@ import { } from "./commands/DescribeEmailMonitoringConfigurationCommand"; import { DescribeEntityCommandInput, DescribeEntityCommandOutput } from "./commands/DescribeEntityCommand"; import { DescribeGroupCommandInput, DescribeGroupCommandOutput } from "./commands/DescribeGroupCommand"; +import { + DescribeIdentityProviderConfigurationCommandInput, + DescribeIdentityProviderConfigurationCommandOutput, +} from "./commands/DescribeIdentityProviderConfigurationCommand"; import { DescribeInboundDmarcSettingsCommandInput, DescribeInboundDmarcSettingsCommandOutput, @@ -185,6 +205,10 @@ import { GetMobileDeviceAccessOverrideCommandInput, GetMobileDeviceAccessOverrideCommandOutput, } from "./commands/GetMobileDeviceAccessOverrideCommand"; +import { + GetPersonalAccessTokenMetadataCommandInput, + GetPersonalAccessTokenMetadataCommandOutput, +} from "./commands/GetPersonalAccessTokenMetadataCommand"; import { ListAccessControlRulesCommandInput, ListAccessControlRulesCommandOutput, @@ -222,6 +246,10 @@ import { ListMobileDeviceAccessRulesCommandOutput, } from "./commands/ListMobileDeviceAccessRulesCommand"; import { ListOrganizationsCommandInput, ListOrganizationsCommandOutput } from "./commands/ListOrganizationsCommand"; +import { + ListPersonalAccessTokensCommandInput, + ListPersonalAccessTokensCommandOutput, +} from "./commands/ListPersonalAccessTokensCommand"; import { ListResourceDelegatesCommandInput, ListResourceDelegatesCommandOutput, @@ -240,6 +268,10 @@ import { PutEmailMonitoringConfigurationCommandInput, PutEmailMonitoringConfigurationCommandOutput, } from "./commands/PutEmailMonitoringConfigurationCommand"; +import { + PutIdentityProviderConfigurationCommandInput, + PutIdentityProviderConfigurationCommandOutput, +} from "./commands/PutIdentityProviderConfigurationCommand"; import { PutInboundDmarcSettingsCommandInput, PutInboundDmarcSettingsCommandOutput, @@ -312,6 +344,7 @@ export type ServiceInputTypes = | CreateAliasCommandInput | CreateAvailabilityConfigurationCommandInput | CreateGroupCommandInput + | CreateIdentityCenterApplicationCommandInput | CreateImpersonationRoleCommandInput | CreateMobileDeviceAccessRuleCommandInput | CreateOrganizationCommandInput @@ -322,11 +355,14 @@ export type ServiceInputTypes = | DeleteAvailabilityConfigurationCommandInput | DeleteEmailMonitoringConfigurationCommandInput | DeleteGroupCommandInput + | DeleteIdentityCenterApplicationCommandInput + | DeleteIdentityProviderConfigurationCommandInput | DeleteImpersonationRoleCommandInput | DeleteMailboxPermissionsCommandInput | DeleteMobileDeviceAccessOverrideCommandInput | DeleteMobileDeviceAccessRuleCommandInput | DeleteOrganizationCommandInput + | DeletePersonalAccessTokenCommandInput | DeleteResourceCommandInput | DeleteRetentionPolicyCommandInput | DeleteUserCommandInput @@ -335,6 +371,7 @@ export type ServiceInputTypes = | DescribeEmailMonitoringConfigurationCommandInput | DescribeEntityCommandInput | DescribeGroupCommandInput + | DescribeIdentityProviderConfigurationCommandInput | DescribeInboundDmarcSettingsCommandInput | DescribeMailboxExportJobCommandInput | DescribeOrganizationCommandInput @@ -350,6 +387,7 @@ export type ServiceInputTypes = | GetMailboxDetailsCommandInput | GetMobileDeviceAccessEffectCommandInput | GetMobileDeviceAccessOverrideCommandInput + | GetPersonalAccessTokenMetadataCommandInput | ListAccessControlRulesCommandInput | ListAliasesCommandInput | ListAvailabilityConfigurationsCommandInput @@ -363,12 +401,14 @@ export type ServiceInputTypes = | ListMobileDeviceAccessOverridesCommandInput | ListMobileDeviceAccessRulesCommandInput | ListOrganizationsCommandInput + | ListPersonalAccessTokensCommandInput | ListResourceDelegatesCommandInput | ListResourcesCommandInput | ListTagsForResourceCommandInput | ListUsersCommandInput | PutAccessControlRuleCommandInput | PutEmailMonitoringConfigurationCommandInput + | PutIdentityProviderConfigurationCommandInput | PutInboundDmarcSettingsCommandInput | PutMailboxPermissionsCommandInput | PutMobileDeviceAccessOverrideCommandInput @@ -401,6 +441,7 @@ export type ServiceOutputTypes = | CreateAliasCommandOutput | CreateAvailabilityConfigurationCommandOutput | CreateGroupCommandOutput + | CreateIdentityCenterApplicationCommandOutput | CreateImpersonationRoleCommandOutput | CreateMobileDeviceAccessRuleCommandOutput | CreateOrganizationCommandOutput @@ -411,11 +452,14 @@ export type ServiceOutputTypes = | DeleteAvailabilityConfigurationCommandOutput | DeleteEmailMonitoringConfigurationCommandOutput | DeleteGroupCommandOutput + | DeleteIdentityCenterApplicationCommandOutput + | DeleteIdentityProviderConfigurationCommandOutput | DeleteImpersonationRoleCommandOutput | DeleteMailboxPermissionsCommandOutput | DeleteMobileDeviceAccessOverrideCommandOutput | DeleteMobileDeviceAccessRuleCommandOutput | DeleteOrganizationCommandOutput + | DeletePersonalAccessTokenCommandOutput | DeleteResourceCommandOutput | DeleteRetentionPolicyCommandOutput | DeleteUserCommandOutput @@ -424,6 +468,7 @@ export type ServiceOutputTypes = | DescribeEmailMonitoringConfigurationCommandOutput | DescribeEntityCommandOutput | DescribeGroupCommandOutput + | DescribeIdentityProviderConfigurationCommandOutput | DescribeInboundDmarcSettingsCommandOutput | DescribeMailboxExportJobCommandOutput | DescribeOrganizationCommandOutput @@ -439,6 +484,7 @@ export type ServiceOutputTypes = | GetMailboxDetailsCommandOutput | GetMobileDeviceAccessEffectCommandOutput | GetMobileDeviceAccessOverrideCommandOutput + | GetPersonalAccessTokenMetadataCommandOutput | ListAccessControlRulesCommandOutput | ListAliasesCommandOutput | ListAvailabilityConfigurationsCommandOutput @@ -452,12 +498,14 @@ export type ServiceOutputTypes = | ListMobileDeviceAccessOverridesCommandOutput | ListMobileDeviceAccessRulesCommandOutput | ListOrganizationsCommandOutput + | ListPersonalAccessTokensCommandOutput | ListResourceDelegatesCommandOutput | ListResourcesCommandOutput | ListTagsForResourceCommandOutput | ListUsersCommandOutput | PutAccessControlRuleCommandOutput | PutEmailMonitoringConfigurationCommandOutput + | PutIdentityProviderConfigurationCommandOutput | PutInboundDmarcSettingsCommandOutput | PutMailboxPermissionsCommandOutput | PutMobileDeviceAccessOverrideCommandOutput diff --git a/clients/client-workmail/src/commands/CreateIdentityCenterApplicationCommand.ts b/clients/client-workmail/src/commands/CreateIdentityCenterApplicationCommand.ts new file mode 100644 index 000000000000..fe9e22c23c93 --- /dev/null +++ b/clients/client-workmail/src/commands/CreateIdentityCenterApplicationCommand.ts @@ -0,0 +1,104 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateIdentityCenterApplicationRequest, CreateIdentityCenterApplicationResponse } from "../models/models_0"; +import { + de_CreateIdentityCenterApplicationCommand, + se_CreateIdentityCenterApplicationCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateIdentityCenterApplicationCommand}. + */ +export interface CreateIdentityCenterApplicationCommandInput extends CreateIdentityCenterApplicationRequest {} +/** + * @public + * + * The output of {@link CreateIdentityCenterApplicationCommand}. + */ +export interface CreateIdentityCenterApplicationCommandOutput + extends CreateIdentityCenterApplicationResponse, + __MetadataBearer {} + +/** + *

+ * Creates the WorkMail application in IAM Identity Center that can be used later in the WorkMail - IdC integration. For more information, see PutIdentityProviderConfiguration. This action does not affect the authentication settings for any WorkMail organizations. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkMailClient, CreateIdentityCenterApplicationCommand } from "@aws-sdk/client-workmail"; // ES Modules import + * // const { WorkMailClient, CreateIdentityCenterApplicationCommand } = require("@aws-sdk/client-workmail"); // CommonJS import + * const client = new WorkMailClient(config); + * const input = { // CreateIdentityCenterApplicationRequest + * Name: "STRING_VALUE", // required + * InstanceArn: "STRING_VALUE", // required + * ClientToken: "STRING_VALUE", + * }; + * const command = new CreateIdentityCenterApplicationCommand(input); + * const response = await client.send(command); + * // { // CreateIdentityCenterApplicationResponse + * // ApplicationArn: "STRING_VALUE", + * // }; + * + * ``` + * + * @param CreateIdentityCenterApplicationCommandInput - {@link CreateIdentityCenterApplicationCommandInput} + * @returns {@link CreateIdentityCenterApplicationCommandOutput} + * @see {@link CreateIdentityCenterApplicationCommandInput} for command's `input` shape. + * @see {@link CreateIdentityCenterApplicationCommandOutput} for command's `response` shape. + * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. + * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the input parameters don't match the service's restrictions.

+ * + * @throws {@link WorkMailServiceException} + *

Base exception class for all service exceptions from WorkMail service.

+ * + * @public + */ +export class CreateIdentityCenterApplicationCommand extends $Command + .classBuilder< + CreateIdentityCenterApplicationCommandInput, + CreateIdentityCenterApplicationCommandOutput, + WorkMailClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkMailClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkMailService", "CreateIdentityCenterApplication", {}) + .n("WorkMailClient", "CreateIdentityCenterApplicationCommand") + .f(void 0, void 0) + .ser(se_CreateIdentityCenterApplicationCommand) + .de(de_CreateIdentityCenterApplicationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateIdentityCenterApplicationRequest; + output: CreateIdentityCenterApplicationResponse; + }; + sdk: { + input: CreateIdentityCenterApplicationCommandInput; + output: CreateIdentityCenterApplicationCommandOutput; + }; + }; +} diff --git a/clients/client-workmail/src/commands/CreateResourceCommand.ts b/clients/client-workmail/src/commands/CreateResourceCommand.ts index 4302faa790eb..70f7b8438bf3 100644 --- a/clients/client-workmail/src/commands/CreateResourceCommand.ts +++ b/clients/client-workmail/src/commands/CreateResourceCommand.ts @@ -5,7 +5,11 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateResourceRequest, CreateResourceResponse } from "../models/models_0"; +import { + CreateResourceRequest, + CreateResourceRequestFilterSensitiveLog, + CreateResourceResponse, +} from "../models/models_0"; import { de_CreateResourceCommand, se_CreateResourceCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; @@ -104,7 +108,7 @@ export class CreateResourceCommand extends $Command }) .s("WorkMailService", "CreateResource", {}) .n("WorkMailClient", "CreateResourceCommand") - .f(void 0, void 0) + .f(CreateResourceRequestFilterSensitiveLog, void 0) .ser(se_CreateResourceCommand) .de(de_CreateResourceCommand) .build() { diff --git a/clients/client-workmail/src/commands/CreateUserCommand.ts b/clients/client-workmail/src/commands/CreateUserCommand.ts index cc6ce9114b20..82b2b3322462 100644 --- a/clients/client-workmail/src/commands/CreateUserCommand.ts +++ b/clients/client-workmail/src/commands/CreateUserCommand.ts @@ -44,6 +44,7 @@ export interface CreateUserCommandOutput extends CreateUserResponse, __MetadataB * FirstName: "STRING_VALUE", * LastName: "STRING_VALUE", * HiddenFromGlobalAddressList: true || false, + * IdentityProviderUserId: "STRING_VALUE", * }; * const command = new CreateUserCommand(input); * const response = await client.send(command); diff --git a/clients/client-workmail/src/commands/DeleteIdentityCenterApplicationCommand.ts b/clients/client-workmail/src/commands/DeleteIdentityCenterApplicationCommand.ts new file mode 100644 index 000000000000..5dee2dc59dc0 --- /dev/null +++ b/clients/client-workmail/src/commands/DeleteIdentityCenterApplicationCommand.ts @@ -0,0 +1,104 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteIdentityCenterApplicationRequest, DeleteIdentityCenterApplicationResponse } from "../models/models_0"; +import { + de_DeleteIdentityCenterApplicationCommand, + se_DeleteIdentityCenterApplicationCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteIdentityCenterApplicationCommand}. + */ +export interface DeleteIdentityCenterApplicationCommandInput extends DeleteIdentityCenterApplicationRequest {} +/** + * @public + * + * The output of {@link DeleteIdentityCenterApplicationCommand}. + */ +export interface DeleteIdentityCenterApplicationCommandOutput + extends DeleteIdentityCenterApplicationResponse, + __MetadataBearer {} + +/** + *

+ * Deletes the IAM Identity Center application from WorkMail. This action does not affect the authentication settings for any WorkMail organizations. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkMailClient, DeleteIdentityCenterApplicationCommand } from "@aws-sdk/client-workmail"; // ES Modules import + * // const { WorkMailClient, DeleteIdentityCenterApplicationCommand } = require("@aws-sdk/client-workmail"); // CommonJS import + * const client = new WorkMailClient(config); + * const input = { // DeleteIdentityCenterApplicationRequest + * ApplicationArn: "STRING_VALUE", // required + * }; + * const command = new DeleteIdentityCenterApplicationCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteIdentityCenterApplicationCommandInput - {@link DeleteIdentityCenterApplicationCommandInput} + * @returns {@link DeleteIdentityCenterApplicationCommandOutput} + * @see {@link DeleteIdentityCenterApplicationCommandInput} for command's `input` shape. + * @see {@link DeleteIdentityCenterApplicationCommandOutput} for command's `response` shape. + * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. + * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the input parameters don't match the service's restrictions.

+ * + * @throws {@link OrganizationStateException} (client fault) + *

The organization must have a valid state to perform certain + * operations on the organization or its members.

+ * + * @throws {@link WorkMailServiceException} + *

Base exception class for all service exceptions from WorkMail service.

+ * + * @public + */ +export class DeleteIdentityCenterApplicationCommand extends $Command + .classBuilder< + DeleteIdentityCenterApplicationCommandInput, + DeleteIdentityCenterApplicationCommandOutput, + WorkMailClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkMailClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkMailService", "DeleteIdentityCenterApplication", {}) + .n("WorkMailClient", "DeleteIdentityCenterApplicationCommand") + .f(void 0, void 0) + .ser(se_DeleteIdentityCenterApplicationCommand) + .de(de_DeleteIdentityCenterApplicationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteIdentityCenterApplicationRequest; + output: {}; + }; + sdk: { + input: DeleteIdentityCenterApplicationCommandInput; + output: DeleteIdentityCenterApplicationCommandOutput; + }; + }; +} diff --git a/clients/client-workmail/src/commands/DeleteIdentityProviderConfigurationCommand.ts b/clients/client-workmail/src/commands/DeleteIdentityProviderConfigurationCommand.ts new file mode 100644 index 000000000000..05431be17569 --- /dev/null +++ b/clients/client-workmail/src/commands/DeleteIdentityProviderConfigurationCommand.ts @@ -0,0 +1,111 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + DeleteIdentityProviderConfigurationRequest, + DeleteIdentityProviderConfigurationResponse, +} from "../models/models_0"; +import { + de_DeleteIdentityProviderConfigurationCommand, + se_DeleteIdentityProviderConfigurationCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteIdentityProviderConfigurationCommand}. + */ +export interface DeleteIdentityProviderConfigurationCommandInput extends DeleteIdentityProviderConfigurationRequest {} +/** + * @public + * + * The output of {@link DeleteIdentityProviderConfigurationCommand}. + */ +export interface DeleteIdentityProviderConfigurationCommandOutput + extends DeleteIdentityProviderConfigurationResponse, + __MetadataBearer {} + +/** + *

+ * Disables the integration between IdC and WorkMail. Authentication will continue with the directory as it was before the IdC integration. You might have to reset your directory passwords and reconfigure your desktop and mobile email clients. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkMailClient, DeleteIdentityProviderConfigurationCommand } from "@aws-sdk/client-workmail"; // ES Modules import + * // const { WorkMailClient, DeleteIdentityProviderConfigurationCommand } = require("@aws-sdk/client-workmail"); // CommonJS import + * const client = new WorkMailClient(config); + * const input = { // DeleteIdentityProviderConfigurationRequest + * OrganizationId: "STRING_VALUE", // required + * }; + * const command = new DeleteIdentityProviderConfigurationCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteIdentityProviderConfigurationCommandInput - {@link DeleteIdentityProviderConfigurationCommandInput} + * @returns {@link DeleteIdentityProviderConfigurationCommandOutput} + * @see {@link DeleteIdentityProviderConfigurationCommandInput} for command's `input` shape. + * @see {@link DeleteIdentityProviderConfigurationCommandOutput} for command's `response` shape. + * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. + * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the input parameters don't match the service's restrictions.

+ * + * @throws {@link OrganizationNotFoundException} (client fault) + *

An operation received a valid organization identifier that either doesn't belong or + * exist in the system.

+ * + * @throws {@link OrganizationStateException} (client fault) + *

The organization must have a valid state to perform certain + * operations on the organization or its members.

+ * + * @throws {@link WorkMailServiceException} + *

Base exception class for all service exceptions from WorkMail service.

+ * + * @public + */ +export class DeleteIdentityProviderConfigurationCommand extends $Command + .classBuilder< + DeleteIdentityProviderConfigurationCommandInput, + DeleteIdentityProviderConfigurationCommandOutput, + WorkMailClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkMailClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkMailService", "DeleteIdentityProviderConfiguration", {}) + .n("WorkMailClient", "DeleteIdentityProviderConfigurationCommand") + .f(void 0, void 0) + .ser(se_DeleteIdentityProviderConfigurationCommand) + .de(de_DeleteIdentityProviderConfigurationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteIdentityProviderConfigurationRequest; + output: {}; + }; + sdk: { + input: DeleteIdentityProviderConfigurationCommandInput; + output: DeleteIdentityProviderConfigurationCommandOutput; + }; + }; +} diff --git a/clients/client-workmail/src/commands/DeleteOrganizationCommand.ts b/clients/client-workmail/src/commands/DeleteOrganizationCommand.ts index fbf9ce9ca10e..2596d6348285 100644 --- a/clients/client-workmail/src/commands/DeleteOrganizationCommand.ts +++ b/clients/client-workmail/src/commands/DeleteOrganizationCommand.ts @@ -40,6 +40,7 @@ export interface DeleteOrganizationCommandOutput extends DeleteOrganizationRespo * OrganizationId: "STRING_VALUE", // required * DeleteDirectory: true || false, // required * ForceDelete: true || false, + * DeleteIdentityCenterApplication: true || false, * }; * const command = new DeleteOrganizationCommand(input); * const response = await client.send(command); diff --git a/clients/client-workmail/src/commands/DeletePersonalAccessTokenCommand.ts b/clients/client-workmail/src/commands/DeletePersonalAccessTokenCommand.ts new file mode 100644 index 000000000000..287c97457a68 --- /dev/null +++ b/clients/client-workmail/src/commands/DeletePersonalAccessTokenCommand.ts @@ -0,0 +1,104 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeletePersonalAccessTokenRequest, DeletePersonalAccessTokenResponse } from "../models/models_0"; +import { de_DeletePersonalAccessTokenCommand, se_DeletePersonalAccessTokenCommand } from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeletePersonalAccessTokenCommand}. + */ +export interface DeletePersonalAccessTokenCommandInput extends DeletePersonalAccessTokenRequest {} +/** + * @public + * + * The output of {@link DeletePersonalAccessTokenCommand}. + */ +export interface DeletePersonalAccessTokenCommandOutput extends DeletePersonalAccessTokenResponse, __MetadataBearer {} + +/** + *

+ * Deletes the Personal Access Token from the provided WorkMail Organization. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkMailClient, DeletePersonalAccessTokenCommand } from "@aws-sdk/client-workmail"; // ES Modules import + * // const { WorkMailClient, DeletePersonalAccessTokenCommand } = require("@aws-sdk/client-workmail"); // CommonJS import + * const client = new WorkMailClient(config); + * const input = { // DeletePersonalAccessTokenRequest + * OrganizationId: "STRING_VALUE", // required + * PersonalAccessTokenId: "STRING_VALUE", // required + * }; + * const command = new DeletePersonalAccessTokenCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeletePersonalAccessTokenCommandInput - {@link DeletePersonalAccessTokenCommandInput} + * @returns {@link DeletePersonalAccessTokenCommandOutput} + * @see {@link DeletePersonalAccessTokenCommandInput} for command's `input` shape. + * @see {@link DeletePersonalAccessTokenCommandOutput} for command's `response` shape. + * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. + * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the input parameters don't match the service's restrictions.

+ * + * @throws {@link OrganizationNotFoundException} (client fault) + *

An operation received a valid organization identifier that either doesn't belong or + * exist in the system.

+ * + * @throws {@link OrganizationStateException} (client fault) + *

The organization must have a valid state to perform certain + * operations on the organization or its members.

+ * + * @throws {@link WorkMailServiceException} + *

Base exception class for all service exceptions from WorkMail service.

+ * + * @public + */ +export class DeletePersonalAccessTokenCommand extends $Command + .classBuilder< + DeletePersonalAccessTokenCommandInput, + DeletePersonalAccessTokenCommandOutput, + WorkMailClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkMailClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkMailService", "DeletePersonalAccessToken", {}) + .n("WorkMailClient", "DeletePersonalAccessTokenCommand") + .f(void 0, void 0) + .ser(se_DeletePersonalAccessTokenCommand) + .de(de_DeletePersonalAccessTokenCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeletePersonalAccessTokenRequest; + output: {}; + }; + sdk: { + input: DeletePersonalAccessTokenCommandInput; + output: DeletePersonalAccessTokenCommandOutput; + }; + }; +} diff --git a/clients/client-workmail/src/commands/DescribeIdentityProviderConfigurationCommand.ts b/clients/client-workmail/src/commands/DescribeIdentityProviderConfigurationCommand.ts new file mode 100644 index 000000000000..4e25141c4649 --- /dev/null +++ b/clients/client-workmail/src/commands/DescribeIdentityProviderConfigurationCommand.ts @@ -0,0 +1,125 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { + DescribeIdentityProviderConfigurationRequest, + DescribeIdentityProviderConfigurationResponse, +} from "../models/models_0"; +import { + de_DescribeIdentityProviderConfigurationCommand, + se_DescribeIdentityProviderConfigurationCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeIdentityProviderConfigurationCommand}. + */ +export interface DescribeIdentityProviderConfigurationCommandInput + extends DescribeIdentityProviderConfigurationRequest {} +/** + * @public + * + * The output of {@link DescribeIdentityProviderConfigurationCommand}. + */ +export interface DescribeIdentityProviderConfigurationCommandOutput + extends DescribeIdentityProviderConfigurationResponse, + __MetadataBearer {} + +/** + *

+ * Returns detailed information on the current IdC setup for the WorkMail organization. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkMailClient, DescribeIdentityProviderConfigurationCommand } from "@aws-sdk/client-workmail"; // ES Modules import + * // const { WorkMailClient, DescribeIdentityProviderConfigurationCommand } = require("@aws-sdk/client-workmail"); // CommonJS import + * const client = new WorkMailClient(config); + * const input = { // DescribeIdentityProviderConfigurationRequest + * OrganizationId: "STRING_VALUE", // required + * }; + * const command = new DescribeIdentityProviderConfigurationCommand(input); + * const response = await client.send(command); + * // { // DescribeIdentityProviderConfigurationResponse + * // AuthenticationMode: "IDENTITY_PROVIDER_ONLY" || "IDENTITY_PROVIDER_AND_DIRECTORY", + * // IdentityCenterConfiguration: { // IdentityCenterConfiguration + * // InstanceArn: "STRING_VALUE", // required + * // ApplicationArn: "STRING_VALUE", // required + * // }, + * // PersonalAccessTokenConfiguration: { // PersonalAccessTokenConfiguration + * // Status: "ACTIVE" || "INACTIVE", // required + * // LifetimeInDays: Number("int"), + * // }, + * // }; + * + * ``` + * + * @param DescribeIdentityProviderConfigurationCommandInput - {@link DescribeIdentityProviderConfigurationCommandInput} + * @returns {@link DescribeIdentityProviderConfigurationCommandOutput} + * @see {@link DescribeIdentityProviderConfigurationCommandInput} for command's `input` shape. + * @see {@link DescribeIdentityProviderConfigurationCommandOutput} for command's `response` shape. + * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. + * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the input parameters don't match the service's restrictions.

+ * + * @throws {@link OrganizationNotFoundException} (client fault) + *

An operation received a valid organization identifier that either doesn't belong or + * exist in the system.

+ * + * @throws {@link OrganizationStateException} (client fault) + *

The organization must have a valid state to perform certain + * operations on the organization or its members.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource cannot be found.

+ * + * @throws {@link WorkMailServiceException} + *

Base exception class for all service exceptions from WorkMail service.

+ * + * @public + */ +export class DescribeIdentityProviderConfigurationCommand extends $Command + .classBuilder< + DescribeIdentityProviderConfigurationCommandInput, + DescribeIdentityProviderConfigurationCommandOutput, + WorkMailClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkMailClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkMailService", "DescribeIdentityProviderConfiguration", {}) + .n("WorkMailClient", "DescribeIdentityProviderConfigurationCommand") + .f(void 0, void 0) + .ser(se_DescribeIdentityProviderConfigurationCommand) + .de(de_DescribeIdentityProviderConfigurationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DescribeIdentityProviderConfigurationRequest; + output: DescribeIdentityProviderConfigurationResponse; + }; + sdk: { + input: DescribeIdentityProviderConfigurationCommandInput; + output: DescribeIdentityProviderConfigurationCommandOutput; + }; + }; +} diff --git a/clients/client-workmail/src/commands/DescribeResourceCommand.ts b/clients/client-workmail/src/commands/DescribeResourceCommand.ts index afe2beee0c6d..4ef8e1a32836 100644 --- a/clients/client-workmail/src/commands/DescribeResourceCommand.ts +++ b/clients/client-workmail/src/commands/DescribeResourceCommand.ts @@ -5,7 +5,11 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeResourceRequest, DescribeResourceResponse } from "../models/models_0"; +import { + DescribeResourceRequest, + DescribeResourceResponse, + DescribeResourceResponseFilterSensitiveLog, +} from "../models/models_0"; import { de_DescribeResourceCommand, se_DescribeResourceCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; @@ -106,7 +110,7 @@ export class DescribeResourceCommand extends $Command }) .s("WorkMailService", "DescribeResource", {}) .n("WorkMailClient", "DescribeResourceCommand") - .f(void 0, void 0) + .f(void 0, DescribeResourceResponseFilterSensitiveLog) .ser(se_DescribeResourceCommand) .de(de_DescribeResourceCommand) .build() { diff --git a/clients/client-workmail/src/commands/DescribeUserCommand.ts b/clients/client-workmail/src/commands/DescribeUserCommand.ts index 31be4b6c543f..e26498df28f6 100644 --- a/clients/client-workmail/src/commands/DescribeUserCommand.ts +++ b/clients/client-workmail/src/commands/DescribeUserCommand.ts @@ -65,6 +65,8 @@ export interface DescribeUserCommandOutput extends DescribeUserResponse, __Metad * // Department: "STRING_VALUE", * // Country: "STRING_VALUE", * // Office: "STRING_VALUE", + * // IdentityProviderUserId: "STRING_VALUE", + * // IdentityProviderIdentityStoreId: "STRING_VALUE", * // }; * * ``` @@ -75,6 +77,12 @@ export interface DescribeUserCommandOutput extends DescribeUserResponse, __Metad * @see {@link DescribeUserCommandOutput} for command's `response` shape. * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. * + * @throws {@link DirectoryServiceAuthenticationFailedException} (client fault) + *

The directory service doesn't recognize the credentials supplied by WorkMail.

+ * + * @throws {@link DirectoryUnavailableException} (client fault) + *

The directory is unavailable. It might be located in another Region or deleted.

+ * * @throws {@link EntityNotFoundException} (client fault) *

The identifier supplied for the user, group, or resource does not exist in your * organization.

diff --git a/clients/client-workmail/src/commands/GetPersonalAccessTokenMetadataCommand.ts b/clients/client-workmail/src/commands/GetPersonalAccessTokenMetadataCommand.ts new file mode 100644 index 000000000000..f4020b782b43 --- /dev/null +++ b/clients/client-workmail/src/commands/GetPersonalAccessTokenMetadataCommand.ts @@ -0,0 +1,122 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetPersonalAccessTokenMetadataRequest, GetPersonalAccessTokenMetadataResponse } from "../models/models_0"; +import { + de_GetPersonalAccessTokenMetadataCommand, + se_GetPersonalAccessTokenMetadataCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetPersonalAccessTokenMetadataCommand}. + */ +export interface GetPersonalAccessTokenMetadataCommandInput extends GetPersonalAccessTokenMetadataRequest {} +/** + * @public + * + * The output of {@link GetPersonalAccessTokenMetadataCommand}. + */ +export interface GetPersonalAccessTokenMetadataCommandOutput + extends GetPersonalAccessTokenMetadataResponse, + __MetadataBearer {} + +/** + *

+ * Requests details of a specific Personal Access Token within the WorkMail organization. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkMailClient, GetPersonalAccessTokenMetadataCommand } from "@aws-sdk/client-workmail"; // ES Modules import + * // const { WorkMailClient, GetPersonalAccessTokenMetadataCommand } = require("@aws-sdk/client-workmail"); // CommonJS import + * const client = new WorkMailClient(config); + * const input = { // GetPersonalAccessTokenMetadataRequest + * OrganizationId: "STRING_VALUE", // required + * PersonalAccessTokenId: "STRING_VALUE", // required + * }; + * const command = new GetPersonalAccessTokenMetadataCommand(input); + * const response = await client.send(command); + * // { // GetPersonalAccessTokenMetadataResponse + * // PersonalAccessTokenId: "STRING_VALUE", + * // UserId: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // DateCreated: new Date("TIMESTAMP"), + * // DateLastUsed: new Date("TIMESTAMP"), + * // ExpiresTime: new Date("TIMESTAMP"), + * // Scopes: [ // PersonalAccessTokenScopeList + * // "STRING_VALUE", + * // ], + * // }; + * + * ``` + * + * @param GetPersonalAccessTokenMetadataCommandInput - {@link GetPersonalAccessTokenMetadataCommandInput} + * @returns {@link GetPersonalAccessTokenMetadataCommandOutput} + * @see {@link GetPersonalAccessTokenMetadataCommandInput} for command's `input` shape. + * @see {@link GetPersonalAccessTokenMetadataCommandOutput} for command's `response` shape. + * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. + * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the input parameters don't match the service's restrictions.

+ * + * @throws {@link OrganizationNotFoundException} (client fault) + *

An operation received a valid organization identifier that either doesn't belong or + * exist in the system.

+ * + * @throws {@link OrganizationStateException} (client fault) + *

The organization must have a valid state to perform certain + * operations on the organization or its members.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource cannot be found.

+ * + * @throws {@link WorkMailServiceException} + *

Base exception class for all service exceptions from WorkMail service.

+ * + * @public + */ +export class GetPersonalAccessTokenMetadataCommand extends $Command + .classBuilder< + GetPersonalAccessTokenMetadataCommandInput, + GetPersonalAccessTokenMetadataCommandOutput, + WorkMailClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkMailClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkMailService", "GetPersonalAccessTokenMetadata", {}) + .n("WorkMailClient", "GetPersonalAccessTokenMetadataCommand") + .f(void 0, void 0) + .ser(se_GetPersonalAccessTokenMetadataCommand) + .de(de_GetPersonalAccessTokenMetadataCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetPersonalAccessTokenMetadataRequest; + output: GetPersonalAccessTokenMetadataResponse; + }; + sdk: { + input: GetPersonalAccessTokenMetadataCommandInput; + output: GetPersonalAccessTokenMetadataCommandOutput; + }; + }; +} diff --git a/clients/client-workmail/src/commands/ListAvailabilityConfigurationsCommand.ts b/clients/client-workmail/src/commands/ListAvailabilityConfigurationsCommand.ts index a5023a64646e..790f14f8b5fe 100644 --- a/clients/client-workmail/src/commands/ListAvailabilityConfigurationsCommand.ts +++ b/clients/client-workmail/src/commands/ListAvailabilityConfigurationsCommand.ts @@ -74,6 +74,9 @@ export interface ListAvailabilityConfigurationsCommandOutput * @see {@link ListAvailabilityConfigurationsCommandOutput} for command's `response` shape. * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the input parameters don't match the service's restrictions.

+ * * @throws {@link OrganizationNotFoundException} (client fault) *

An operation received a valid organization identifier that either doesn't belong or * exist in the system.

diff --git a/clients/client-workmail/src/commands/ListPersonalAccessTokensCommand.ts b/clients/client-workmail/src/commands/ListPersonalAccessTokensCommand.ts new file mode 100644 index 000000000000..8521a53a08db --- /dev/null +++ b/clients/client-workmail/src/commands/ListPersonalAccessTokensCommand.ts @@ -0,0 +1,129 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListPersonalAccessTokensRequest, ListPersonalAccessTokensResponse } from "../models/models_0"; +import { de_ListPersonalAccessTokensCommand, se_ListPersonalAccessTokensCommand } from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListPersonalAccessTokensCommand}. + */ +export interface ListPersonalAccessTokensCommandInput extends ListPersonalAccessTokensRequest {} +/** + * @public + * + * The output of {@link ListPersonalAccessTokensCommand}. + */ +export interface ListPersonalAccessTokensCommandOutput extends ListPersonalAccessTokensResponse, __MetadataBearer {} + +/** + *

+ * Returns a summary of your Personal Access Tokens. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkMailClient, ListPersonalAccessTokensCommand } from "@aws-sdk/client-workmail"; // ES Modules import + * // const { WorkMailClient, ListPersonalAccessTokensCommand } = require("@aws-sdk/client-workmail"); // CommonJS import + * const client = new WorkMailClient(config); + * const input = { // ListPersonalAccessTokensRequest + * OrganizationId: "STRING_VALUE", // required + * UserId: "STRING_VALUE", + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * }; + * const command = new ListPersonalAccessTokensCommand(input); + * const response = await client.send(command); + * // { // ListPersonalAccessTokensResponse + * // NextToken: "STRING_VALUE", + * // PersonalAccessTokenSummaries: [ // PersonalAccessTokenSummaryList + * // { // PersonalAccessTokenSummary + * // PersonalAccessTokenId: "STRING_VALUE", + * // UserId: "STRING_VALUE", + * // Name: "STRING_VALUE", + * // DateCreated: new Date("TIMESTAMP"), + * // DateLastUsed: new Date("TIMESTAMP"), + * // ExpiresTime: new Date("TIMESTAMP"), + * // Scopes: [ // PersonalAccessTokenScopeList + * // "STRING_VALUE", + * // ], + * // }, + * // ], + * // }; + * + * ``` + * + * @param ListPersonalAccessTokensCommandInput - {@link ListPersonalAccessTokensCommandInput} + * @returns {@link ListPersonalAccessTokensCommandOutput} + * @see {@link ListPersonalAccessTokensCommandInput} for command's `input` shape. + * @see {@link ListPersonalAccessTokensCommandOutput} for command's `response` shape. + * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. + * + * @throws {@link EntityNotFoundException} (client fault) + *

The identifier supplied for the user, group, or resource does not exist in your + * organization.

+ * + * @throws {@link EntityStateException} (client fault) + *

You are performing an operation on a user, group, or resource that isn't in the + * expected state, such as trying to delete an active user.

+ * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the input parameters don't match the service's restrictions.

+ * + * @throws {@link OrganizationNotFoundException} (client fault) + *

An operation received a valid organization identifier that either doesn't belong or + * exist in the system.

+ * + * @throws {@link OrganizationStateException} (client fault) + *

The organization must have a valid state to perform certain + * operations on the organization or its members.

+ * + * @throws {@link WorkMailServiceException} + *

Base exception class for all service exceptions from WorkMail service.

+ * + * @public + */ +export class ListPersonalAccessTokensCommand extends $Command + .classBuilder< + ListPersonalAccessTokensCommandInput, + ListPersonalAccessTokensCommandOutput, + WorkMailClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkMailClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkMailService", "ListPersonalAccessTokens", {}) + .n("WorkMailClient", "ListPersonalAccessTokensCommand") + .f(void 0, void 0) + .ser(se_ListPersonalAccessTokensCommand) + .de(de_ListPersonalAccessTokensCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListPersonalAccessTokensRequest; + output: ListPersonalAccessTokensResponse; + }; + sdk: { + input: ListPersonalAccessTokensCommandInput; + output: ListPersonalAccessTokensCommandOutput; + }; + }; +} diff --git a/clients/client-workmail/src/commands/ListResourcesCommand.ts b/clients/client-workmail/src/commands/ListResourcesCommand.ts index 80438f12587a..1b75f8d7c26a 100644 --- a/clients/client-workmail/src/commands/ListResourcesCommand.ts +++ b/clients/client-workmail/src/commands/ListResourcesCommand.ts @@ -5,7 +5,11 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ListResourcesRequest, ListResourcesResponse } from "../models/models_0"; +import { + ListResourcesRequest, + ListResourcesResponse, + ListResourcesResponseFilterSensitiveLog, +} from "../models/models_0"; import { de_ListResourcesCommand, se_ListResourcesCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; @@ -107,7 +111,7 @@ export class ListResourcesCommand extends $Command }) .s("WorkMailService", "ListResources", {}) .n("WorkMailClient", "ListResourcesCommand") - .f(void 0, void 0) + .f(void 0, ListResourcesResponseFilterSensitiveLog) .ser(se_ListResourcesCommand) .de(de_ListResourcesCommand) .build() { diff --git a/clients/client-workmail/src/commands/ListUsersCommand.ts b/clients/client-workmail/src/commands/ListUsersCommand.ts index fe3b592372c9..8def45e04778 100644 --- a/clients/client-workmail/src/commands/ListUsersCommand.ts +++ b/clients/client-workmail/src/commands/ListUsersCommand.ts @@ -44,6 +44,7 @@ export interface ListUsersCommandOutput extends ListUsersResponse, __MetadataBea * DisplayNamePrefix: "STRING_VALUE", * PrimaryEmailPrefix: "STRING_VALUE", * State: "ENABLED" || "DISABLED" || "DELETED", + * IdentityProviderUserIdPrefix: "STRING_VALUE", * }, * }; * const command = new ListUsersCommand(input); @@ -59,6 +60,8 @@ export interface ListUsersCommandOutput extends ListUsersResponse, __MetadataBea * // UserRole: "USER" || "RESOURCE" || "SYSTEM_USER" || "REMOTE_USER", * // EnabledDate: new Date("TIMESTAMP"), * // DisabledDate: new Date("TIMESTAMP"), + * // IdentityProviderUserId: "STRING_VALUE", + * // IdentityProviderIdentityStoreId: "STRING_VALUE", * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-workmail/src/commands/PutIdentityProviderConfigurationCommand.ts b/clients/client-workmail/src/commands/PutIdentityProviderConfigurationCommand.ts new file mode 100644 index 000000000000..ae157d92b954 --- /dev/null +++ b/clients/client-workmail/src/commands/PutIdentityProviderConfigurationCommand.ts @@ -0,0 +1,122 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { PutIdentityProviderConfigurationRequest, PutIdentityProviderConfigurationResponse } from "../models/models_0"; +import { + de_PutIdentityProviderConfigurationCommand, + se_PutIdentityProviderConfigurationCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link PutIdentityProviderConfigurationCommand}. + */ +export interface PutIdentityProviderConfigurationCommandInput extends PutIdentityProviderConfigurationRequest {} +/** + * @public + * + * The output of {@link PutIdentityProviderConfigurationCommand}. + */ +export interface PutIdentityProviderConfigurationCommandOutput + extends PutIdentityProviderConfigurationResponse, + __MetadataBearer {} + +/** + *

+ * Enables integration between IAM Identity Center (IdC) and WorkMail to proxy authentication requests for mailbox users. You can connect your IdC directory or your external directory to WorkMail through + * IdC and manage access to WorkMail mailboxes in a single place. For enhanced protection, you could enable Multifactor Authentication (MFA) and Personal Access Tokens. + * + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { WorkMailClient, PutIdentityProviderConfigurationCommand } from "@aws-sdk/client-workmail"; // ES Modules import + * // const { WorkMailClient, PutIdentityProviderConfigurationCommand } = require("@aws-sdk/client-workmail"); // CommonJS import + * const client = new WorkMailClient(config); + * const input = { // PutIdentityProviderConfigurationRequest + * OrganizationId: "STRING_VALUE", // required + * AuthenticationMode: "IDENTITY_PROVIDER_ONLY" || "IDENTITY_PROVIDER_AND_DIRECTORY", // required + * IdentityCenterConfiguration: { // IdentityCenterConfiguration + * InstanceArn: "STRING_VALUE", // required + * ApplicationArn: "STRING_VALUE", // required + * }, + * PersonalAccessTokenConfiguration: { // PersonalAccessTokenConfiguration + * Status: "ACTIVE" || "INACTIVE", // required + * LifetimeInDays: Number("int"), + * }, + * }; + * const command = new PutIdentityProviderConfigurationCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param PutIdentityProviderConfigurationCommandInput - {@link PutIdentityProviderConfigurationCommandInput} + * @returns {@link PutIdentityProviderConfigurationCommandOutput} + * @see {@link PutIdentityProviderConfigurationCommandInput} for command's `input` shape. + * @see {@link PutIdentityProviderConfigurationCommandOutput} for command's `response` shape. + * @see {@link WorkMailClientResolvedConfig | config} for WorkMailClient's `config` shape. + * + * @throws {@link InvalidParameterException} (client fault) + *

One or more of the input parameters don't match the service's restrictions.

+ * + * @throws {@link OrganizationNotFoundException} (client fault) + *

An operation received a valid organization identifier that either doesn't belong or + * exist in the system.

+ * + * @throws {@link OrganizationStateException} (client fault) + *

The organization must have a valid state to perform certain + * operations on the organization or its members.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The resource cannot be found.

+ * + * @throws {@link WorkMailServiceException} + *

Base exception class for all service exceptions from WorkMail service.

+ * + * @public + */ +export class PutIdentityProviderConfigurationCommand extends $Command + .classBuilder< + PutIdentityProviderConfigurationCommandInput, + PutIdentityProviderConfigurationCommandOutput, + WorkMailClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: WorkMailClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("WorkMailService", "PutIdentityProviderConfiguration", {}) + .n("WorkMailClient", "PutIdentityProviderConfigurationCommand") + .f(void 0, void 0) + .ser(se_PutIdentityProviderConfigurationCommand) + .de(de_PutIdentityProviderConfigurationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: PutIdentityProviderConfigurationRequest; + output: {}; + }; + sdk: { + input: PutIdentityProviderConfigurationCommandInput; + output: PutIdentityProviderConfigurationCommandOutput; + }; + }; +} diff --git a/clients/client-workmail/src/commands/UpdateGroupCommand.ts b/clients/client-workmail/src/commands/UpdateGroupCommand.ts index 1e97e912f481..207788012936 100644 --- a/clients/client-workmail/src/commands/UpdateGroupCommand.ts +++ b/clients/client-workmail/src/commands/UpdateGroupCommand.ts @@ -28,7 +28,7 @@ export interface UpdateGroupCommandInput extends UpdateGroupRequest {} export interface UpdateGroupCommandOutput extends UpdateGroupResponse, __MetadataBearer {} /** - *

Updates attibutes in a group.

+ *

Updates attributes in a group.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-workmail/src/commands/UpdateResourceCommand.ts b/clients/client-workmail/src/commands/UpdateResourceCommand.ts index db2f6a2640aa..f8fa35122264 100644 --- a/clients/client-workmail/src/commands/UpdateResourceCommand.ts +++ b/clients/client-workmail/src/commands/UpdateResourceCommand.ts @@ -5,7 +5,11 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateResourceRequest, UpdateResourceResponse } from "../models/models_0"; +import { + UpdateResourceRequest, + UpdateResourceRequestFilterSensitiveLog, + UpdateResourceResponse, +} from "../models/models_0"; import { de_UpdateResourceCommand, se_UpdateResourceCommand } from "../protocols/Aws_json1_1"; import { ServiceInputTypes, ServiceOutputTypes, WorkMailClientResolvedConfig } from "../WorkMailClient"; @@ -128,7 +132,7 @@ export class UpdateResourceCommand extends $Command }) .s("WorkMailService", "UpdateResource", {}) .n("WorkMailClient", "UpdateResourceCommand") - .f(void 0, void 0) + .f(UpdateResourceRequestFilterSensitiveLog, void 0) .ser(se_UpdateResourceCommand) .de(de_UpdateResourceCommand) .build() { diff --git a/clients/client-workmail/src/commands/UpdateUserCommand.ts b/clients/client-workmail/src/commands/UpdateUserCommand.ts index 9a87efd24706..18104228fa3e 100644 --- a/clients/client-workmail/src/commands/UpdateUserCommand.ts +++ b/clients/client-workmail/src/commands/UpdateUserCommand.ts @@ -55,6 +55,7 @@ export interface UpdateUserCommandOutput extends UpdateUserResponse, __MetadataB * Department: "STRING_VALUE", * Country: "STRING_VALUE", * Office: "STRING_VALUE", + * IdentityProviderUserId: "STRING_VALUE", * }; * const command = new UpdateUserCommand(input); * const response = await client.send(command); diff --git a/clients/client-workmail/src/commands/index.ts b/clients/client-workmail/src/commands/index.ts index 51fa34b66426..1ccbe3190919 100644 --- a/clients/client-workmail/src/commands/index.ts +++ b/clients/client-workmail/src/commands/index.ts @@ -6,6 +6,7 @@ export * from "./CancelMailboxExportJobCommand"; export * from "./CreateAliasCommand"; export * from "./CreateAvailabilityConfigurationCommand"; export * from "./CreateGroupCommand"; +export * from "./CreateIdentityCenterApplicationCommand"; export * from "./CreateImpersonationRoleCommand"; export * from "./CreateMobileDeviceAccessRuleCommand"; export * from "./CreateOrganizationCommand"; @@ -16,11 +17,14 @@ export * from "./DeleteAliasCommand"; export * from "./DeleteAvailabilityConfigurationCommand"; export * from "./DeleteEmailMonitoringConfigurationCommand"; export * from "./DeleteGroupCommand"; +export * from "./DeleteIdentityCenterApplicationCommand"; +export * from "./DeleteIdentityProviderConfigurationCommand"; export * from "./DeleteImpersonationRoleCommand"; export * from "./DeleteMailboxPermissionsCommand"; export * from "./DeleteMobileDeviceAccessOverrideCommand"; export * from "./DeleteMobileDeviceAccessRuleCommand"; export * from "./DeleteOrganizationCommand"; +export * from "./DeletePersonalAccessTokenCommand"; export * from "./DeleteResourceCommand"; export * from "./DeleteRetentionPolicyCommand"; export * from "./DeleteUserCommand"; @@ -29,6 +33,7 @@ export * from "./DeregisterMailDomainCommand"; export * from "./DescribeEmailMonitoringConfigurationCommand"; export * from "./DescribeEntityCommand"; export * from "./DescribeGroupCommand"; +export * from "./DescribeIdentityProviderConfigurationCommand"; export * from "./DescribeInboundDmarcSettingsCommand"; export * from "./DescribeMailboxExportJobCommand"; export * from "./DescribeOrganizationCommand"; @@ -44,6 +49,7 @@ export * from "./GetMailDomainCommand"; export * from "./GetMailboxDetailsCommand"; export * from "./GetMobileDeviceAccessEffectCommand"; export * from "./GetMobileDeviceAccessOverrideCommand"; +export * from "./GetPersonalAccessTokenMetadataCommand"; export * from "./ListAccessControlRulesCommand"; export * from "./ListAliasesCommand"; export * from "./ListAvailabilityConfigurationsCommand"; @@ -57,12 +63,14 @@ export * from "./ListMailboxPermissionsCommand"; export * from "./ListMobileDeviceAccessOverridesCommand"; export * from "./ListMobileDeviceAccessRulesCommand"; export * from "./ListOrganizationsCommand"; +export * from "./ListPersonalAccessTokensCommand"; export * from "./ListResourceDelegatesCommand"; export * from "./ListResourcesCommand"; export * from "./ListTagsForResourceCommand"; export * from "./ListUsersCommand"; export * from "./PutAccessControlRuleCommand"; export * from "./PutEmailMonitoringConfigurationCommand"; +export * from "./PutIdentityProviderConfigurationCommand"; export * from "./PutInboundDmarcSettingsCommand"; export * from "./PutMailboxPermissionsCommand"; export * from "./PutMobileDeviceAccessOverrideCommand"; diff --git a/clients/client-workmail/src/models/models_0.ts b/clients/client-workmail/src/models/models_0.ts index 6b8b5f89c227..a0f10ab77fb8 100644 --- a/clients/client-workmail/src/models/models_0.ts +++ b/clients/client-workmail/src/models/models_0.ts @@ -863,6 +863,52 @@ export class ReservedNameException extends __BaseException { } } +/** + * @public + */ +export interface CreateIdentityCenterApplicationRequest { + /** + *

+ * The name of the IAM Identity Center application. + * + * + *

+ * @public + */ + Name: string | undefined; + + /** + *

+ * The Amazon Resource Name (ARN) of the instance. + *

+ * @public + */ + InstanceArn: string | undefined; + + /** + *

+ * The idempotency token associated with the request. + * + * + *

+ * @public + */ + ClientToken?: string; +} + +/** + * @public + */ +export interface CreateIdentityCenterApplicationResponse { + /** + *

+ * The Amazon Resource Name (ARN) of the application. + *

+ * @public + */ + ApplicationArn?: string; +} + /** *

The rules for the given impersonation role.

* @public @@ -1307,6 +1353,12 @@ export interface CreateUserRequest { * @public */ HiddenFromGlobalAddressList?: boolean; + + /** + *

User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

+ * @public + */ + IdentityProviderUserId?: string; } /** @@ -1497,6 +1549,41 @@ export interface DeleteGroupRequest { */ export interface DeleteGroupResponse {} +/** + * @public + */ +export interface DeleteIdentityCenterApplicationRequest { + /** + *

+ * The Amazon Resource Name (ARN) of the application. + *

+ * @public + */ + ApplicationArn: string | undefined; +} + +/** + * @public + */ +export interface DeleteIdentityCenterApplicationResponse {} + +/** + * @public + */ +export interface DeleteIdentityProviderConfigurationRequest { + /** + *

+ * The Organization ID.

+ * @public + */ + OrganizationId: string | undefined; +} + +/** + * @public + */ +export interface DeleteIdentityProviderConfigurationResponse {} + /** * @public */ @@ -1663,6 +1750,12 @@ export interface DeleteOrganizationRequest { * @public */ ForceDelete?: boolean; + + /** + *

Deletes IAM Identity Center application for WorkMail. This action does not affect authentication settings for any organization.

+ * @public + */ + DeleteIdentityCenterApplication?: boolean; } /** @@ -1682,6 +1775,30 @@ export interface DeleteOrganizationResponse { State?: string; } +/** + * @public + */ +export interface DeletePersonalAccessTokenRequest { + /** + *

+ * The Organization ID.

+ * @public + */ + OrganizationId: string | undefined; + + /** + *

+ * The Personal Access Token ID.

+ * @public + */ + PersonalAccessTokenId: string | undefined; +} + +/** + * @public + */ +export interface DeletePersonalAccessTokenResponse {} + /** * @public */ @@ -2045,6 +2162,134 @@ export interface DescribeGroupResponse { HiddenFromGlobalAddressList?: boolean; } +/** + * @public + */ +export interface DescribeIdentityProviderConfigurationRequest { + /** + *

+ * The Organization ID.

+ * @public + */ + OrganizationId: string | undefined; +} + +/** + * @public + * @enum + */ +export const IdentityProviderAuthenticationMode = { + IDENTITY_PROVIDER_AND_DIRECTORY: "IDENTITY_PROVIDER_AND_DIRECTORY", + IDENTITY_PROVIDER_ONLY: "IDENTITY_PROVIDER_ONLY", +} as const; + +/** + * @public + */ +export type IdentityProviderAuthenticationMode = + (typeof IdentityProviderAuthenticationMode)[keyof typeof IdentityProviderAuthenticationMode]; + +/** + *

+ * The IAM Identity Center configuration. + *

+ * @public + */ +export interface IdentityCenterConfiguration { + /** + *

+ * The Amazon Resource Name (ARN) of the of IAM Identity Center instance. Must be in the same AWS account and region as WorkMail organization.

+ * @public + */ + InstanceArn: string | undefined; + + /** + *

+ * The Amazon Resource Name (ARN) of IAMIdentity Center Application for WorkMail. Must be created by the WorkMail API, see CreateIdentityCenterApplication.

+ * @public + */ + ApplicationArn: string | undefined; +} + +/** + * @public + * @enum + */ +export const PersonalAccessTokenConfigurationStatus = { + ACTIVE: "ACTIVE", + INACTIVE: "INACTIVE", +} as const; + +/** + * @public + */ +export type PersonalAccessTokenConfigurationStatus = + (typeof PersonalAccessTokenConfigurationStatus)[keyof typeof PersonalAccessTokenConfigurationStatus]; + +/** + *

+ * Displays the Personal Access Token status. + *

+ * @public + */ +export interface PersonalAccessTokenConfiguration { + /** + *

+ * The status of the Personal Access Token allowed for the organization. + *

+ *
    + *
  • + *

    + * Active - Mailbox users can login to the web application and choose Settings to see the new Personal Access Tokens page to + * create and delete the Personal Access Tokens. Mailbox users can use the Personal Access Tokens to set up mailbox connection from desktop or mobile email clients.

    + *
  • + *
  • + *

    + * Inactive - Personal Access Tokens are disabled for your organization. Mailbox users can’t create, list, or delete Personal Access Tokens and can’t use them to connect to + * their mailboxes from desktop or mobile email clients.

    + *
  • + *
+ * @public + */ + Status: PersonalAccessTokenConfigurationStatus | undefined; + + /** + *

+ * The validity of the Personal Access Token status in days. + *

+ * @public + */ + LifetimeInDays?: number; +} + +/** + * @public + */ +export interface DescribeIdentityProviderConfigurationResponse { + /** + *

+ * The authentication mode used in WorkMail.

+ * @public + */ + AuthenticationMode?: IdentityProviderAuthenticationMode; + + /** + *

+ * The details of the IAM Identity Center configuration. + *

+ * @public + */ + IdentityCenterConfiguration?: IdentityCenterConfiguration; + + /** + *

+ * The details of the Personal Access Token configuration. + *

+ * @public + */ + PersonalAccessTokenConfiguration?: PersonalAccessTokenConfiguration; +} + /** * @public */ @@ -2540,6 +2785,20 @@ export interface DescribeUserResponse { * @public */ Office?: string; + + /** + *

User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

+ * @public + */ + IdentityProviderUserId?: string; + + /** + *

+ * Identity Store ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail. + *

+ * @public + */ + IdentityProviderIdentityStoreId?: string; } /** @@ -3257,6 +3516,85 @@ export interface GetMobileDeviceAccessOverrideResponse { DateModified?: Date; } +/** + * @public + */ +export interface GetPersonalAccessTokenMetadataRequest { + /** + *

+ * The Organization ID.

+ * @public + */ + OrganizationId: string | undefined; + + /** + *

+ * The Personal Access Token ID.

+ * @public + */ + PersonalAccessTokenId: string | undefined; +} + +/** + * @public + */ +export interface GetPersonalAccessTokenMetadataResponse { + /** + *

+ * The Personal Access Token ID.

+ * @public + */ + PersonalAccessTokenId?: string; + + /** + *

+ * The WorkMail User ID. + *

+ * @public + */ + UserId?: string; + + /** + *

+ * The Personal Access Token name. + *

+ * @public + */ + Name?: string; + + /** + *

+ * The date when the Personal Access Token ID was created. + *

+ * @public + */ + DateCreated?: Date; + + /** + *

+ * The date when the Personal Access Token ID was last used. + *

+ * @public + */ + DateLastUsed?: Date; + + /** + *

+ * The time when the Personal Access Token ID will expire. + *

+ * @public + */ + ExpiresTime?: Date; + + /** + *

+ * Lists all the Personal Access Token permissions for a mailbox. + *

+ * @public + */ + Scopes?: string[]; +} + /** *

The representation of an WorkMail group.

* @public @@ -4343,6 +4681,125 @@ export interface ListOrganizationsResponse { NextToken?: string; } +/** + * @public + */ +export interface ListPersonalAccessTokensRequest { + /** + *

+ * The Organization ID.

+ * @public + */ + OrganizationId: string | undefined; + + /** + *

+ * The WorkMail User ID. + *

+ * @public + */ + UserId?: string; + + /** + *

+ * The token from the previous response to query the next page.

+ * @public + */ + NextToken?: string; + + /** + *

+ * The maximum amount of items that should be returned in a response. + *

+ * @public + */ + MaxResults?: number; +} + +/** + *

+ * The summary of the Personal Access Token. + *

+ * @public + */ +export interface PersonalAccessTokenSummary { + /** + *

+ * The ID of the Personal Access Token. + *

+ * @public + */ + PersonalAccessTokenId?: string; + + /** + *

+ * The user ID of the WorkMail user associated with the Personal Access Token. + *

+ * @public + */ + UserId?: string; + + /** + *

+ * The name of the Personal Access Token. + *

+ * @public + */ + Name?: string; + + /** + *

+ * The date when the Personal Access Token was created. + *

+ * @public + */ + DateCreated?: Date; + + /** + *

+ * The date when the Personal Access Token was last used. + *

+ * @public + */ + DateLastUsed?: Date; + + /** + *

+ * The date when the Personal Access Token will expire. + *

+ * @public + */ + ExpiresTime?: Date; + + /** + *

+ * Lists all the Personal Access Token permissions for a mailbox. + *

+ * @public + */ + Scopes?: string[]; +} + +/** + * @public + */ +export interface ListPersonalAccessTokensResponse { + /** + *

+ * The token from the previous response to query the next page.

+ * @public + */ + NextToken?: string; + + /** + *

+ * Lists all the personal tokens in an organization or user, if user ID is provided. + *

+ * @public + */ + PersonalAccessTokenSummaries?: PersonalAccessTokenSummary[]; +} + /** * @public */ @@ -4600,6 +5057,12 @@ export interface ListUsersFilters { * @public */ State?: EntityState; + + /** + *

Filters only users with the ID from the IAM Identity Center.

+ * @public + */ + IdentityProviderUserIdPrefix?: string; } /** @@ -4684,6 +5147,18 @@ export interface User { * @public */ DisabledDate?: Date; + + /** + *

User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

+ * @public + */ + IdentityProviderUserId?: string; + + /** + *

Identity store ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

+ * @public + */ + IdentityProviderIdentityStoreId?: string; } /** @@ -4818,6 +5293,45 @@ export interface PutEmailMonitoringConfigurationRequest { */ export interface PutEmailMonitoringConfigurationResponse {} +/** + * @public + */ +export interface PutIdentityProviderConfigurationRequest { + /** + *

+ * The ID of the WorkMail Organization.

+ * @public + */ + OrganizationId: string | undefined; + + /** + *

+ * The authentication mode used in WorkMail.

+ * @public + */ + AuthenticationMode: IdentityProviderAuthenticationMode | undefined; + + /** + *

+ * The details of the IAM Identity Center configuration.

+ * @public + */ + IdentityCenterConfiguration: IdentityCenterConfiguration | undefined; + + /** + *

+ * The details of the Personal Access Token configuration. + *

+ * @public + */ + PersonalAccessTokenConfiguration: PersonalAccessTokenConfiguration | undefined; +} + +/** + * @public + */ +export interface PutIdentityProviderConfigurationResponse {} + /** * @public */ @@ -5763,7 +6277,7 @@ export interface UpdateUserRequest { Company?: string; /** - *

Updates the user's zipcode.

+ *

Updates the user's zip code.

* @public */ ZipCode?: string; @@ -5785,6 +6299,12 @@ export interface UpdateUserRequest { * @public */ Office?: string; + + /** + *

User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

+ * @public + */ + IdentityProviderUserId?: string; } /** @@ -5810,6 +6330,14 @@ export const CreateAvailabilityConfigurationRequestFilterSensitiveLog = ( ...(obj.EwsProvider && { EwsProvider: EwsAvailabilityProviderFilterSensitiveLog(obj.EwsProvider) }), }); +/** + * @internal + */ +export const CreateResourceRequestFilterSensitiveLog = (obj: CreateResourceRequest): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -5821,6 +6349,14 @@ export const CreateUserRequestFilterSensitiveLog = (obj: CreateUserRequest): any ...(obj.LastName && { LastName: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const DescribeResourceResponseFilterSensitiveLog = (obj: DescribeResourceResponse): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -5841,6 +6377,22 @@ export const DescribeUserResponseFilterSensitiveLog = (obj: DescribeUserResponse ...(obj.Office && { Office: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const ResourceFilterSensitiveLog = (obj: Resource): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ListResourcesResponseFilterSensitiveLog = (obj: ListResourcesResponse): any => ({ + ...obj, + ...(obj.Resources && { Resources: obj.Resources.map((item) => ResourceFilterSensitiveLog(item)) }), +}); + /** * @internal */ @@ -5893,6 +6445,14 @@ export const UpdateAvailabilityConfigurationRequestFilterSensitiveLog = ( ...(obj.EwsProvider && { EwsProvider: EwsAvailabilityProviderFilterSensitiveLog(obj.EwsProvider) }), }); +/** + * @internal + */ +export const UpdateResourceRequestFilterSensitiveLog = (obj: UpdateResourceRequest): any => ({ + ...obj, + ...(obj.Description && { Description: SENSITIVE_STRING }), +}); + /** * @internal */ diff --git a/clients/client-workmail/src/pagination/ListPersonalAccessTokensPaginator.ts b/clients/client-workmail/src/pagination/ListPersonalAccessTokensPaginator.ts new file mode 100644 index 000000000000..2f81a0d3b730 --- /dev/null +++ b/clients/client-workmail/src/pagination/ListPersonalAccessTokensPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListPersonalAccessTokensCommand, + ListPersonalAccessTokensCommandInput, + ListPersonalAccessTokensCommandOutput, +} from "../commands/ListPersonalAccessTokensCommand"; +import { WorkMailClient } from "../WorkMailClient"; +import { WorkMailPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListPersonalAccessTokens: ( + config: WorkMailPaginationConfiguration, + input: ListPersonalAccessTokensCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + WorkMailPaginationConfiguration, + ListPersonalAccessTokensCommandInput, + ListPersonalAccessTokensCommandOutput +>(WorkMailClient, ListPersonalAccessTokensCommand, "NextToken", "NextToken", "MaxResults"); diff --git a/clients/client-workmail/src/pagination/index.ts b/clients/client-workmail/src/pagination/index.ts index f8b1ae513de9..bea23a4b5594 100644 --- a/clients/client-workmail/src/pagination/index.ts +++ b/clients/client-workmail/src/pagination/index.ts @@ -11,6 +11,7 @@ export * from "./ListMailboxExportJobsPaginator"; export * from "./ListMailboxPermissionsPaginator"; export * from "./ListMobileDeviceAccessOverridesPaginator"; export * from "./ListOrganizationsPaginator"; +export * from "./ListPersonalAccessTokensPaginator"; export * from "./ListResourceDelegatesPaginator"; export * from "./ListResourcesPaginator"; export * from "./ListUsersPaginator"; diff --git a/clients/client-workmail/src/protocols/Aws_json1_1.ts b/clients/client-workmail/src/protocols/Aws_json1_1.ts index b19907a5e4c2..d37be1c463d9 100644 --- a/clients/client-workmail/src/protocols/Aws_json1_1.ts +++ b/clients/client-workmail/src/protocols/Aws_json1_1.ts @@ -45,6 +45,10 @@ import { CreateAvailabilityConfigurationCommandOutput, } from "../commands/CreateAvailabilityConfigurationCommand"; import { CreateGroupCommandInput, CreateGroupCommandOutput } from "../commands/CreateGroupCommand"; +import { + CreateIdentityCenterApplicationCommandInput, + CreateIdentityCenterApplicationCommandOutput, +} from "../commands/CreateIdentityCenterApplicationCommand"; import { CreateImpersonationRoleCommandInput, CreateImpersonationRoleCommandOutput, @@ -70,6 +74,14 @@ import { DeleteEmailMonitoringConfigurationCommandOutput, } from "../commands/DeleteEmailMonitoringConfigurationCommand"; import { DeleteGroupCommandInput, DeleteGroupCommandOutput } from "../commands/DeleteGroupCommand"; +import { + DeleteIdentityCenterApplicationCommandInput, + DeleteIdentityCenterApplicationCommandOutput, +} from "../commands/DeleteIdentityCenterApplicationCommand"; +import { + DeleteIdentityProviderConfigurationCommandInput, + DeleteIdentityProviderConfigurationCommandOutput, +} from "../commands/DeleteIdentityProviderConfigurationCommand"; import { DeleteImpersonationRoleCommandInput, DeleteImpersonationRoleCommandOutput, @@ -87,6 +99,10 @@ import { DeleteMobileDeviceAccessRuleCommandOutput, } from "../commands/DeleteMobileDeviceAccessRuleCommand"; import { DeleteOrganizationCommandInput, DeleteOrganizationCommandOutput } from "../commands/DeleteOrganizationCommand"; +import { + DeletePersonalAccessTokenCommandInput, + DeletePersonalAccessTokenCommandOutput, +} from "../commands/DeletePersonalAccessTokenCommand"; import { DeleteResourceCommandInput, DeleteResourceCommandOutput } from "../commands/DeleteResourceCommand"; import { DeleteRetentionPolicyCommandInput, @@ -107,6 +123,10 @@ import { } from "../commands/DescribeEmailMonitoringConfigurationCommand"; import { DescribeEntityCommandInput, DescribeEntityCommandOutput } from "../commands/DescribeEntityCommand"; import { DescribeGroupCommandInput, DescribeGroupCommandOutput } from "../commands/DescribeGroupCommand"; +import { + DescribeIdentityProviderConfigurationCommandInput, + DescribeIdentityProviderConfigurationCommandOutput, +} from "../commands/DescribeIdentityProviderConfigurationCommand"; import { DescribeInboundDmarcSettingsCommandInput, DescribeInboundDmarcSettingsCommandOutput, @@ -155,6 +175,10 @@ import { GetMobileDeviceAccessOverrideCommandInput, GetMobileDeviceAccessOverrideCommandOutput, } from "../commands/GetMobileDeviceAccessOverrideCommand"; +import { + GetPersonalAccessTokenMetadataCommandInput, + GetPersonalAccessTokenMetadataCommandOutput, +} from "../commands/GetPersonalAccessTokenMetadataCommand"; import { ListAccessControlRulesCommandInput, ListAccessControlRulesCommandOutput, @@ -192,6 +216,10 @@ import { ListMobileDeviceAccessRulesCommandOutput, } from "../commands/ListMobileDeviceAccessRulesCommand"; import { ListOrganizationsCommandInput, ListOrganizationsCommandOutput } from "../commands/ListOrganizationsCommand"; +import { + ListPersonalAccessTokensCommandInput, + ListPersonalAccessTokensCommandOutput, +} from "../commands/ListPersonalAccessTokensCommand"; import { ListResourceDelegatesCommandInput, ListResourceDelegatesCommandOutput, @@ -210,6 +238,10 @@ import { PutEmailMonitoringConfigurationCommandInput, PutEmailMonitoringConfigurationCommandOutput, } from "../commands/PutEmailMonitoringConfigurationCommand"; +import { + PutIdentityProviderConfigurationCommandInput, + PutIdentityProviderConfigurationCommandOutput, +} from "../commands/PutIdentityProviderConfigurationCommand"; import { PutInboundDmarcSettingsCommandInput, PutInboundDmarcSettingsCommandOutput, @@ -271,6 +303,7 @@ import { CreateAliasRequest, CreateAvailabilityConfigurationRequest, CreateGroupRequest, + CreateIdentityCenterApplicationRequest, CreateImpersonationRoleRequest, CreateMobileDeviceAccessRuleRequest, CreateOrganizationRequest, @@ -281,11 +314,14 @@ import { DeleteAvailabilityConfigurationRequest, DeleteEmailMonitoringConfigurationRequest, DeleteGroupRequest, + DeleteIdentityCenterApplicationRequest, + DeleteIdentityProviderConfigurationRequest, DeleteImpersonationRoleRequest, DeleteMailboxPermissionsRequest, DeleteMobileDeviceAccessOverrideRequest, DeleteMobileDeviceAccessRuleRequest, DeleteOrganizationRequest, + DeletePersonalAccessTokenRequest, DeleteResourceRequest, DeleteRetentionPolicyRequest, DeleteUserRequest, @@ -295,6 +331,7 @@ import { DescribeEntityRequest, DescribeGroupRequest, DescribeGroupResponse, + DescribeIdentityProviderConfigurationRequest, DescribeInboundDmarcSettingsRequest, DescribeMailboxExportJobRequest, DescribeMailboxExportJobResponse, @@ -327,7 +364,10 @@ import { GetMobileDeviceAccessEffectRequest, GetMobileDeviceAccessOverrideRequest, GetMobileDeviceAccessOverrideResponse, + GetPersonalAccessTokenMetadataRequest, + GetPersonalAccessTokenMetadataResponse, Group, + IdentityCenterConfiguration, ImpersonationRole, ImpersonationRule, InvalidConfigurationException, @@ -359,6 +399,8 @@ import { ListMobileDeviceAccessRulesRequest, ListMobileDeviceAccessRulesResponse, ListOrganizationsRequest, + ListPersonalAccessTokensRequest, + ListPersonalAccessTokensResponse, ListResourceDelegatesRequest, ListResourcesFilters, ListResourcesRequest, @@ -378,8 +420,11 @@ import { OrganizationNotFoundException, OrganizationStateException, PermissionType, + PersonalAccessTokenConfiguration, + PersonalAccessTokenSummary, PutAccessControlRuleRequest, PutEmailMonitoringConfigurationRequest, + PutIdentityProviderConfigurationRequest, PutInboundDmarcSettingsRequest, PutMailboxPermissionsRequest, PutMobileDeviceAccessOverrideRequest, @@ -501,6 +546,19 @@ export const se_CreateGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1CreateIdentityCenterApplicationCommand + */ +export const se_CreateIdentityCenterApplicationCommand = async ( + input: CreateIdentityCenterApplicationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateIdentityCenterApplication"); + let body: any; + body = JSON.stringify(se_CreateIdentityCenterApplicationRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1CreateImpersonationRoleCommand */ @@ -631,6 +689,32 @@ export const se_DeleteGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DeleteIdentityCenterApplicationCommand + */ +export const se_DeleteIdentityCenterApplicationCommand = async ( + input: DeleteIdentityCenterApplicationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DeleteIdentityCenterApplication"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_1DeleteIdentityProviderConfigurationCommand + */ +export const se_DeleteIdentityProviderConfigurationCommand = async ( + input: DeleteIdentityProviderConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DeleteIdentityProviderConfiguration"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DeleteImpersonationRoleCommand */ @@ -696,6 +780,19 @@ export const se_DeleteOrganizationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DeletePersonalAccessTokenCommand + */ +export const se_DeletePersonalAccessTokenCommand = async ( + input: DeletePersonalAccessTokenCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DeletePersonalAccessToken"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DeleteResourceCommand */ @@ -800,6 +897,19 @@ export const se_DescribeGroupCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DescribeIdentityProviderConfigurationCommand + */ +export const se_DescribeIdentityProviderConfigurationCommand = async ( + input: DescribeIdentityProviderConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeIdentityProviderConfiguration"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DescribeInboundDmarcSettingsCommand */ @@ -995,6 +1105,19 @@ export const se_GetMobileDeviceAccessOverrideCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1GetPersonalAccessTokenMetadataCommand + */ +export const se_GetPersonalAccessTokenMetadataCommand = async ( + input: GetPersonalAccessTokenMetadataCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("GetPersonalAccessTokenMetadata"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1ListAccessControlRulesCommand */ @@ -1164,6 +1287,19 @@ export const se_ListOrganizationsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1ListPersonalAccessTokensCommand + */ +export const se_ListPersonalAccessTokensCommand = async ( + input: ListPersonalAccessTokensCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListPersonalAccessTokens"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1ListResourceDelegatesCommand */ @@ -1242,6 +1378,19 @@ export const se_PutEmailMonitoringConfigurationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1PutIdentityProviderConfigurationCommand + */ +export const se_PutIdentityProviderConfigurationCommand = async ( + input: PutIdentityProviderConfigurationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("PutIdentityProviderConfiguration"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1PutInboundDmarcSettingsCommand */ @@ -1642,6 +1791,26 @@ export const de_CreateGroupCommand = async ( return response; }; +/** + * deserializeAws_json1_1CreateIdentityCenterApplicationCommand + */ +export const de_CreateIdentityCenterApplicationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: CreateIdentityCenterApplicationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1CreateImpersonationRoleCommand */ @@ -1842,6 +2011,46 @@ export const de_DeleteGroupCommand = async ( return response; }; +/** + * deserializeAws_json1_1DeleteIdentityCenterApplicationCommand + */ +export const de_DeleteIdentityCenterApplicationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: DeleteIdentityCenterApplicationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_1DeleteIdentityProviderConfigurationCommand + */ +export const de_DeleteIdentityProviderConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: DeleteIdentityProviderConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1DeleteImpersonationRoleCommand */ @@ -1942,6 +2151,26 @@ export const de_DeleteOrganizationCommand = async ( return response; }; +/** + * deserializeAws_json1_1DeletePersonalAccessTokenCommand + */ +export const de_DeletePersonalAccessTokenCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: DeletePersonalAccessTokenCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1DeleteResourceCommand */ @@ -2102,6 +2331,26 @@ export const de_DescribeGroupCommand = async ( return response; }; +/** + * deserializeAws_json1_1DescribeIdentityProviderConfigurationCommand + */ +export const de_DescribeIdentityProviderConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: DescribeIdentityProviderConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1DescribeInboundDmarcSettingsCommand */ @@ -2402,6 +2651,26 @@ export const de_GetMobileDeviceAccessOverrideCommand = async ( return response; }; +/** + * deserializeAws_json1_1GetPersonalAccessTokenMetadataCommand + */ +export const de_GetPersonalAccessTokenMetadataCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_GetPersonalAccessTokenMetadataResponse(data, context); + const response: GetPersonalAccessTokenMetadataCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1ListAccessControlRulesCommand */ @@ -2662,6 +2931,26 @@ export const de_ListOrganizationsCommand = async ( return response; }; +/** + * deserializeAws_json1_1ListPersonalAccessTokensCommand + */ +export const de_ListPersonalAccessTokensCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ListPersonalAccessTokensResponse(data, context); + const response: ListPersonalAccessTokensCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1ListResourceDelegatesCommand */ @@ -2782,6 +3071,26 @@ export const de_PutEmailMonitoringConfigurationCommand = async ( return response; }; +/** + * deserializeAws_json1_1PutIdentityProviderConfigurationCommand + */ +export const de_PutIdentityProviderConfigurationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: PutIdentityProviderConfigurationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_json1_1PutInboundDmarcSettingsCommand */ @@ -3661,6 +3970,20 @@ const se_CreateAvailabilityConfigurationRequest = ( // se_CreateGroupRequest omitted. +/** + * serializeAws_json1_1CreateIdentityCenterApplicationRequest + */ +const se_CreateIdentityCenterApplicationRequest = ( + input: CreateIdentityCenterApplicationRequest, + context: __SerdeContext +): any => { + return take(input, { + ClientToken: [true, (_) => _ ?? generateIdempotencyToken()], + InstanceArn: [], + Name: [], + }); +}; + /** * serializeAws_json1_1CreateImpersonationRoleRequest */ @@ -3727,6 +4050,10 @@ const se_CreateOrganizationRequest = (input: CreateOrganizationRequest, context: // se_DeleteGroupRequest omitted. +// se_DeleteIdentityCenterApplicationRequest omitted. + +// se_DeleteIdentityProviderConfigurationRequest omitted. + // se_DeleteImpersonationRoleRequest omitted. // se_DeleteMailboxPermissionsRequest omitted. @@ -3742,11 +4069,14 @@ const se_DeleteOrganizationRequest = (input: DeleteOrganizationRequest, context: return take(input, { ClientToken: [true, (_) => _ ?? generateIdempotencyToken()], DeleteDirectory: [], + DeleteIdentityCenterApplication: [], ForceDelete: [], OrganizationId: [], }); }; +// se_DeletePersonalAccessTokenRequest omitted. + // se_DeleteResourceRequest omitted. // se_DeleteRetentionPolicyRequest omitted. @@ -3763,6 +4093,8 @@ const se_DeleteOrganizationRequest = (input: DeleteOrganizationRequest, context: // se_DescribeGroupRequest omitted. +// se_DescribeIdentityProviderConfigurationRequest omitted. + // se_DescribeInboundDmarcSettingsRequest omitted. // se_DescribeMailboxExportJobRequest omitted. @@ -3811,6 +4143,10 @@ const se_DeleteOrganizationRequest = (input: DeleteOrganizationRequest, context: // se_GetMobileDeviceAccessOverrideRequest omitted. +// se_GetPersonalAccessTokenMetadataRequest omitted. + +// se_IdentityCenterConfiguration omitted. + // se_ImpersonationRoleIdList omitted. // se_ImpersonationRule omitted. @@ -3851,6 +4187,8 @@ const se_DeleteOrganizationRequest = (input: DeleteOrganizationRequest, context: // se_ListOrganizationsRequest omitted. +// se_ListPersonalAccessTokensRequest omitted. + // se_ListResourceDelegatesRequest omitted. // se_ListResourcesFilters omitted. @@ -3865,10 +4203,14 @@ const se_DeleteOrganizationRequest = (input: DeleteOrganizationRequest, context: // se_PermissionValues omitted. +// se_PersonalAccessTokenConfiguration omitted. + // se_PutAccessControlRuleRequest omitted. // se_PutEmailMonitoringConfigurationRequest omitted. +// se_PutIdentityProviderConfigurationRequest omitted. + // se_PutInboundDmarcSettingsRequest omitted. // se_PutMailboxPermissionsRequest omitted. @@ -4023,6 +4365,8 @@ const de_AvailabilityConfigurationList = (output: any, context: __SerdeContext): // de_CreateGroupResponse omitted. +// de_CreateIdentityCenterApplicationResponse omitted. + // de_CreateImpersonationRoleResponse omitted. // de_CreateMobileDeviceAccessRuleResponse omitted. @@ -4045,6 +4389,10 @@ const de_AvailabilityConfigurationList = (output: any, context: __SerdeContext): // de_DeleteGroupResponse omitted. +// de_DeleteIdentityCenterApplicationResponse omitted. + +// de_DeleteIdentityProviderConfigurationResponse omitted. + // de_DeleteImpersonationRoleResponse omitted. // de_DeleteMailboxPermissionsResponse omitted. @@ -4055,6 +4403,8 @@ const de_AvailabilityConfigurationList = (output: any, context: __SerdeContext): // de_DeleteOrganizationResponse omitted. +// de_DeletePersonalAccessTokenResponse omitted. + // de_DeleteResourceResponse omitted. // de_DeleteRetentionPolicyResponse omitted. @@ -4084,6 +4434,8 @@ const de_DescribeGroupResponse = (output: any, context: __SerdeContext): Describ }) as any; }; +// de_DescribeIdentityProviderConfigurationResponse omitted. + // de_DescribeInboundDmarcSettingsResponse omitted. /** @@ -4161,6 +4513,8 @@ const de_DescribeUserResponse = (output: any, context: __SerdeContext): Describe EnabledDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), FirstName: __expectString, HiddenFromGlobalAddressList: __expectBoolean, + IdentityProviderIdentityStoreId: __expectString, + IdentityProviderUserId: __expectString, Initials: __expectString, JobTitle: __expectString, LastName: __expectString, @@ -4263,6 +4617,24 @@ const de_GetMobileDeviceAccessOverrideResponse = ( }) as any; }; +/** + * deserializeAws_json1_1GetPersonalAccessTokenMetadataResponse + */ +const de_GetPersonalAccessTokenMetadataResponse = ( + output: any, + context: __SerdeContext +): GetPersonalAccessTokenMetadataResponse => { + return take(output, { + DateCreated: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + DateLastUsed: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + ExpiresTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + Name: __expectString, + PersonalAccessTokenId: __expectString, + Scopes: _json, + UserId: __expectString, + }) as any; +}; + /** * deserializeAws_json1_1Group */ @@ -4293,6 +4665,8 @@ const de_Groups = (output: any, context: __SerdeContext): Group[] => { return retVal; }; +// de_IdentityCenterConfiguration omitted. + // de_ImpersonationMatchedRule omitted. // de_ImpersonationMatchedRuleList omitted. @@ -4451,6 +4825,19 @@ const de_ListMobileDeviceAccessRulesResponse = ( // de_ListOrganizationsResponse omitted. +/** + * deserializeAws_json1_1ListPersonalAccessTokensResponse + */ +const de_ListPersonalAccessTokensResponse = ( + output: any, + context: __SerdeContext +): ListPersonalAccessTokensResponse => { + return take(output, { + NextToken: __expectString, + PersonalAccessTokenSummaries: (_: any) => de_PersonalAccessTokenSummaryList(_, context), + }) as any; +}; + // de_ListResourceDelegatesResponse omitted. /** @@ -4608,10 +4995,43 @@ const de_MobileDeviceAccessRulesList = (output: any, context: __SerdeContext): M // de_PermissionValues omitted. +// de_PersonalAccessTokenConfiguration omitted. + +// de_PersonalAccessTokenScopeList omitted. + +/** + * deserializeAws_json1_1PersonalAccessTokenSummary + */ +const de_PersonalAccessTokenSummary = (output: any, context: __SerdeContext): PersonalAccessTokenSummary => { + return take(output, { + DateCreated: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + DateLastUsed: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + ExpiresTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + Name: __expectString, + PersonalAccessTokenId: __expectString, + Scopes: _json, + UserId: __expectString, + }) as any; +}; + +/** + * deserializeAws_json1_1PersonalAccessTokenSummaryList + */ +const de_PersonalAccessTokenSummaryList = (output: any, context: __SerdeContext): PersonalAccessTokenSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_PersonalAccessTokenSummary(entry, context); + }); + return retVal; +}; + // de_PutAccessControlRuleResponse omitted. // de_PutEmailMonitoringConfigurationResponse omitted. +// de_PutIdentityProviderConfigurationResponse omitted. + // de_PutInboundDmarcSettingsResponse omitted. // de_PutMailboxPermissionsResponse omitted. @@ -4708,6 +5128,8 @@ const de_User = (output: any, context: __SerdeContext): User => { Email: __expectString, EnabledDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), Id: __expectString, + IdentityProviderIdentityStoreId: __expectString, + IdentityProviderUserId: __expectString, Name: __expectString, State: __expectString, UserRole: __expectString, diff --git a/codegen/sdk-codegen/aws-models/workmail.json b/codegen/sdk-codegen/aws-models/workmail.json index c5d3e012647b..c4d924287efd 100644 --- a/codegen/sdk-codegen/aws-models/workmail.json +++ b/codegen/sdk-codegen/aws-models/workmail.json @@ -231,6 +231,16 @@ "smithy.api#pattern": "^arn:aws:workmail:[a-z0-9-]*:[a-z0-9-]+:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$" } }, + "com.amazonaws.workmail#ApplicationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1224 + }, + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$" + } + }, "com.amazonaws.workmail#AssociateDelegateToResource": { "type": "operation", "input": { @@ -850,6 +860,67 @@ "smithy.api#output": {} } }, + "com.amazonaws.workmail#CreateIdentityCenterApplication": { + "type": "operation", + "input": { + "target": "com.amazonaws.workmail#CreateIdentityCenterApplicationRequest" + }, + "output": { + "target": "com.amazonaws.workmail#CreateIdentityCenterApplicationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workmail#InvalidParameterException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Creates the WorkMail application in IAM Identity Center that can be used later in the WorkMail - IdC integration. For more information, see PutIdentityProviderConfiguration. This action does not affect the authentication settings for any WorkMail organizations.\n

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workmail#CreateIdentityCenterApplicationRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.workmail#IdentityCenterApplicationName", + "traits": { + "smithy.api#documentation": "

\n The name of the IAM Identity Center application.\n \n \n

", + "smithy.api#required": {} + } + }, + "InstanceArn": { + "target": "com.amazonaws.workmail#InstanceArn", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the instance.\n

", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.workmail#IdempotencyClientToken", + "traits": { + "smithy.api#documentation": "

\n The idempotency token associated with the request.\n \n \n

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workmail#CreateIdentityCenterApplicationResponse": { + "type": "structure", + "members": { + "ApplicationArn": { + "target": "com.amazonaws.workmail#ApplicationArn", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the application.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workmail#CreateImpersonationRole": { "type": "operation", "input": { @@ -1357,6 +1428,12 @@ "smithy.api#default": false, "smithy.api#documentation": "

If this parameter is enabled, the user will be hidden from the address book.

" } + }, + "IdentityProviderUserId": { + "target": "com.amazonaws.workmail#IdentityProviderUserId", + "traits": { + "smithy.api#documentation": "

User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

" + } } }, "traits": { @@ -1675,6 +1752,95 @@ "smithy.api#output": {} } }, + "com.amazonaws.workmail#DeleteIdentityCenterApplication": { + "type": "operation", + "input": { + "target": "com.amazonaws.workmail#DeleteIdentityCenterApplicationRequest" + }, + "output": { + "target": "com.amazonaws.workmail#DeleteIdentityCenterApplicationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workmail#InvalidParameterException" + }, + { + "target": "com.amazonaws.workmail#OrganizationStateException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Deletes the IAM Identity Center application from WorkMail. This action does not affect the authentication settings for any WorkMail organizations.\n

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workmail#DeleteIdentityCenterApplicationRequest": { + "type": "structure", + "members": { + "ApplicationArn": { + "target": "com.amazonaws.workmail#ApplicationArn", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the application.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workmail#DeleteIdentityCenterApplicationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workmail#DeleteIdentityProviderConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.workmail#DeleteIdentityProviderConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.workmail#DeleteIdentityProviderConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workmail#InvalidParameterException" + }, + { + "target": "com.amazonaws.workmail#OrganizationNotFoundException" + }, + { + "target": "com.amazonaws.workmail#OrganizationStateException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Disables the integration between IdC and WorkMail. Authentication will continue with the directory as it was before the IdC integration. You might have to reset your directory passwords and reconfigure your desktop and mobile email clients.\n

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workmail#DeleteIdentityProviderConfigurationRequest": { + "type": "structure", + "members": { + "OrganizationId": { + "target": "com.amazonaws.workmail#OrganizationId", + "traits": { + "smithy.api#documentation": "

\nThe Organization ID.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workmail#DeleteIdentityProviderConfigurationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workmail#DeleteImpersonationRole": { "type": "operation", "input": { @@ -1962,6 +2128,13 @@ "smithy.api#default": false, "smithy.api#documentation": "

Deletes a WorkMail organization even if the organization has enabled users.

" } + }, + "DeleteIdentityCenterApplication": { + "target": "com.amazonaws.workmail#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Deletes IAM Identity Center application for WorkMail. This action does not affect authentication settings for any organization.

" + } } }, "traits": { @@ -1988,6 +2161,59 @@ "smithy.api#output": {} } }, + "com.amazonaws.workmail#DeletePersonalAccessToken": { + "type": "operation", + "input": { + "target": "com.amazonaws.workmail#DeletePersonalAccessTokenRequest" + }, + "output": { + "target": "com.amazonaws.workmail#DeletePersonalAccessTokenResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workmail#InvalidParameterException" + }, + { + "target": "com.amazonaws.workmail#OrganizationNotFoundException" + }, + { + "target": "com.amazonaws.workmail#OrganizationStateException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Deletes the Personal Access Token from the provided WorkMail Organization.\n

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workmail#DeletePersonalAccessTokenRequest": { + "type": "structure", + "members": { + "OrganizationId": { + "target": "com.amazonaws.workmail#OrganizationId", + "traits": { + "smithy.api#documentation": "

\n The Organization ID.

", + "smithy.api#required": {} + } + }, + "PersonalAccessTokenId": { + "target": "com.amazonaws.workmail#PersonalAccessTokenId", + "traits": { + "smithy.api#documentation": "

\n The Personal Access Token ID.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workmail#DeletePersonalAccessTokenResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workmail#DeleteResource": { "type": "operation", "input": { @@ -2520,6 +2746,74 @@ "smithy.api#output": {} } }, + "com.amazonaws.workmail#DescribeIdentityProviderConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.workmail#DescribeIdentityProviderConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.workmail#DescribeIdentityProviderConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workmail#InvalidParameterException" + }, + { + "target": "com.amazonaws.workmail#OrganizationNotFoundException" + }, + { + "target": "com.amazonaws.workmail#OrganizationStateException" + }, + { + "target": "com.amazonaws.workmail#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Returns detailed information on the current IdC setup for the WorkMail organization.\n

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workmail#DescribeIdentityProviderConfigurationRequest": { + "type": "structure", + "members": { + "OrganizationId": { + "target": "com.amazonaws.workmail#OrganizationId", + "traits": { + "smithy.api#documentation": "

\n The Organization ID.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workmail#DescribeIdentityProviderConfigurationResponse": { + "type": "structure", + "members": { + "AuthenticationMode": { + "target": "com.amazonaws.workmail#IdentityProviderAuthenticationMode", + "traits": { + "smithy.api#documentation": "

\nThe authentication mode used in WorkMail.

" + } + }, + "IdentityCenterConfiguration": { + "target": "com.amazonaws.workmail#IdentityCenterConfiguration", + "traits": { + "smithy.api#documentation": "

\n The details of the IAM Identity Center configuration. \n

" + } + }, + "PersonalAccessTokenConfiguration": { + "target": "com.amazonaws.workmail#PersonalAccessTokenConfiguration", + "traits": { + "smithy.api#documentation": "

\n The details of the Personal Access Token configuration.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workmail#DescribeInboundDmarcSettings": { "type": "operation", "input": { @@ -2942,6 +3236,12 @@ "target": "com.amazonaws.workmail#DescribeUserResponse" }, "errors": [ + { + "target": "com.amazonaws.workmail#DirectoryServiceAuthenticationFailedException" + }, + { + "target": "com.amazonaws.workmail#DirectoryUnavailableException" + }, { "target": "com.amazonaws.workmail#EntityNotFoundException" }, @@ -3123,6 +3423,18 @@ "traits": { "smithy.api#documentation": "

Office where the user is located.

" } + }, + "IdentityProviderUserId": { + "target": "com.amazonaws.workmail#IdentityProviderUserId", + "traits": { + "smithy.api#documentation": "

User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

" + } + }, + "IdentityProviderIdentityStoreId": { + "target": "com.amazonaws.workmail#IdentityProviderIdentityStoreId", + "traits": { + "smithy.api#documentation": "

\n Identity Store ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.\n

" + } } }, "traits": { @@ -4442,14 +4754,113 @@ "smithy.api#output": {} } }, - "com.amazonaws.workmail#Group": { - "type": "structure", - "members": { - "Id": { - "target": "com.amazonaws.workmail#WorkMailIdentifier", - "traits": { - "smithy.api#documentation": "

The identifier of the group.

" - } + "com.amazonaws.workmail#GetPersonalAccessTokenMetadata": { + "type": "operation", + "input": { + "target": "com.amazonaws.workmail#GetPersonalAccessTokenMetadataRequest" + }, + "output": { + "target": "com.amazonaws.workmail#GetPersonalAccessTokenMetadataResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workmail#InvalidParameterException" + }, + { + "target": "com.amazonaws.workmail#OrganizationNotFoundException" + }, + { + "target": "com.amazonaws.workmail#OrganizationStateException" + }, + { + "target": "com.amazonaws.workmail#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Requests details of a specific Personal Access Token within the WorkMail organization.\n

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workmail#GetPersonalAccessTokenMetadataRequest": { + "type": "structure", + "members": { + "OrganizationId": { + "target": "com.amazonaws.workmail#OrganizationId", + "traits": { + "smithy.api#documentation": "

\n The Organization ID.

", + "smithy.api#required": {} + } + }, + "PersonalAccessTokenId": { + "target": "com.amazonaws.workmail#PersonalAccessTokenId", + "traits": { + "smithy.api#documentation": "

\n The Personal Access Token ID.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workmail#GetPersonalAccessTokenMetadataResponse": { + "type": "structure", + "members": { + "PersonalAccessTokenId": { + "target": "com.amazonaws.workmail#PersonalAccessTokenId", + "traits": { + "smithy.api#documentation": "

\n The Personal Access Token ID.

" + } + }, + "UserId": { + "target": "com.amazonaws.workmail#WorkMailIdentifier", + "traits": { + "smithy.api#documentation": "

\n The WorkMail User ID. \n

" + } + }, + "Name": { + "target": "com.amazonaws.workmail#PersonalAccessTokenName", + "traits": { + "smithy.api#documentation": "

\n The Personal Access Token name.\n

" + } + }, + "DateCreated": { + "target": "com.amazonaws.workmail#Timestamp", + "traits": { + "smithy.api#documentation": "

\n The date when the Personal Access Token ID was created.\n

" + } + }, + "DateLastUsed": { + "target": "com.amazonaws.workmail#Timestamp", + "traits": { + "smithy.api#documentation": "

\n The date when the Personal Access Token ID was last used.\n

" + } + }, + "ExpiresTime": { + "target": "com.amazonaws.workmail#Timestamp", + "traits": { + "smithy.api#documentation": "

\n The time when the Personal Access Token ID will expire.\n

" + } + }, + "Scopes": { + "target": "com.amazonaws.workmail#PersonalAccessTokenScopeList", + "traits": { + "smithy.api#documentation": "

\n Lists all the Personal Access Token permissions for a mailbox.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.workmail#Group": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.workmail#WorkMailIdentifier", + "traits": { + "smithy.api#documentation": "

The identifier of the group.

" + } }, "Email": { "target": "com.amazonaws.workmail#EmailAddress", @@ -4548,6 +4959,95 @@ "smithy.api#pattern": "^[\\x21-\\x7e]+$" } }, + "com.amazonaws.workmail#IdentityCenterApplicationName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 255 + }, + "smithy.api#pattern": "^[\\w+=,.@-]+$" + } + }, + "com.amazonaws.workmail#IdentityCenterConfiguration": { + "type": "structure", + "members": { + "InstanceArn": { + "target": "com.amazonaws.workmail#InstanceArn", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the of IAM Identity Center instance. Must be in the same AWS account and region as WorkMail organization.

", + "smithy.api#required": {} + } + }, + "ApplicationArn": { + "target": "com.amazonaws.workmail#ApplicationArn", + "traits": { + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of IAMIdentity Center Application for WorkMail. Must be created by the WorkMail API, see CreateIdentityCenterApplication.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The IAM Identity Center configuration.\n

" + } + }, + "com.amazonaws.workmail#IdentityProviderAuthenticationMode": { + "type": "enum", + "members": { + "IDENTITY_PROVIDER_ONLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IDENTITY_PROVIDER_ONLY" + } + }, + "IDENTITY_PROVIDER_AND_DIRECTORY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IDENTITY_PROVIDER_AND_DIRECTORY" + } + } + } + }, + "com.amazonaws.workmail#IdentityProviderIdentityStoreId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 36 + }, + "smithy.api#pattern": "^d-[0-9a-f]{10}$|^[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}$" + } + }, + "com.amazonaws.workmail#IdentityProviderUserId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 47 + }, + "smithy.api#pattern": "^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$" + } + }, + "com.amazonaws.workmail#IdentityProviderUserIdForUpdate": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 47 + }, + "smithy.api#pattern": "^$|^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$" + } + }, + "com.amazonaws.workmail#IdentityProviderUserIdPrefix": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 47 + }, + "smithy.api#pattern": "^[A-Fa-f0-9-]+$" + } + }, "com.amazonaws.workmail#ImpersonationMatchedRule": { "type": "structure", "members": { @@ -4787,6 +5287,16 @@ "smithy.api#pattern": "^[\\x21-\\x7e]+$" } }, + "com.amazonaws.workmail#InstanceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 1124 + }, + "smithy.api#pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$" + } + }, "com.amazonaws.workmail#InvalidConfigurationException": { "type": "structure", "members": { @@ -5067,6 +5577,9 @@ "target": "com.amazonaws.workmail#ListAvailabilityConfigurationsResponse" }, "errors": [ + { + "target": "com.amazonaws.workmail#InvalidParameterException" + }, { "target": "com.amazonaws.workmail#OrganizationNotFoundException" }, @@ -5958,6 +6471,95 @@ "smithy.api#output": {} } }, + "com.amazonaws.workmail#ListPersonalAccessTokens": { + "type": "operation", + "input": { + "target": "com.amazonaws.workmail#ListPersonalAccessTokensRequest" + }, + "output": { + "target": "com.amazonaws.workmail#ListPersonalAccessTokensResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workmail#EntityNotFoundException" + }, + { + "target": "com.amazonaws.workmail#EntityStateException" + }, + { + "target": "com.amazonaws.workmail#InvalidParameterException" + }, + { + "target": "com.amazonaws.workmail#OrganizationNotFoundException" + }, + { + "target": "com.amazonaws.workmail#OrganizationStateException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Returns a summary of your Personal Access Tokens.\n

", + "smithy.api#idempotent": {}, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "PersonalAccessTokenSummaries", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.workmail#ListPersonalAccessTokensRequest": { + "type": "structure", + "members": { + "OrganizationId": { + "target": "com.amazonaws.workmail#OrganizationId", + "traits": { + "smithy.api#documentation": "

\n The Organization ID.

", + "smithy.api#required": {} + } + }, + "UserId": { + "target": "com.amazonaws.workmail#EntityIdentifier", + "traits": { + "smithy.api#documentation": "

\n The WorkMail User ID. \n

" + } + }, + "NextToken": { + "target": "com.amazonaws.workmail#NextToken", + "traits": { + "smithy.api#documentation": "

\n The token from the previous response to query the next page.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.workmail#MaxResults", + "traits": { + "smithy.api#documentation": "

\n The maximum amount of items that should be returned in a response.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workmail#ListPersonalAccessTokensResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.workmail#NextToken", + "traits": { + "smithy.api#documentation": "

\n The token from the previous response to query the next page.

" + } + }, + "PersonalAccessTokenSummaries": { + "target": "com.amazonaws.workmail#PersonalAccessTokenSummaryList", + "traits": { + "smithy.api#documentation": "

\n Lists all the personal tokens in an organization or user, if user ID is provided. \n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workmail#ListResourceDelegates": { "type": "operation", "input": { @@ -6262,6 +6864,12 @@ "traits": { "smithy.api#documentation": "

Filters only users with the provided state.

" } + }, + "IdentityProviderUserIdPrefix": { + "target": "com.amazonaws.workmail#IdentityProviderUserIdPrefix", + "traits": { + "smithy.api#documentation": "

Filters only users with the ID from the IAM Identity Center.

" + } } }, "traits": { @@ -6850,7 +7458,8 @@ "smithy.api#length": { "min": 0, "max": 64 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.workmail#NextToken": { @@ -7036,6 +7645,151 @@ "target": "com.amazonaws.workmail#Permission" } }, + "com.amazonaws.workmail#PersonalAccessTokenConfiguration": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.workmail#PersonalAccessTokenConfigurationStatus", + "traits": { + "smithy.api#documentation": "

\n The status of the Personal Access Token allowed for the organization.\n

\n
    \n
  • \n

    \n Active - Mailbox users can login to the web application and choose Settings to see the new Personal Access Tokens page to \n create and delete the Personal Access Tokens. Mailbox users can use the Personal Access Tokens to set up mailbox connection from desktop or mobile email clients.

    \n
  • \n
  • \n

    \n Inactive - Personal Access Tokens are disabled for your organization. Mailbox users can’t create, list, or delete Personal Access Tokens and can’t use them to connect to \n their mailboxes from desktop or mobile email clients.

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "LifetimeInDays": { + "target": "com.amazonaws.workmail#PersonalAccessTokenLifetimeInDays", + "traits": { + "smithy.api#documentation": "

\n The validity of the Personal Access Token status in days.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n Displays the Personal Access Token status.\n

" + } + }, + "com.amazonaws.workmail#PersonalAccessTokenConfigurationStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "INACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INACTIVE" + } + } + } + }, + "com.amazonaws.workmail#PersonalAccessTokenId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_-]+$" + } + }, + "com.amazonaws.workmail#PersonalAccessTokenLifetimeInDays": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 3653 + } + } + }, + "com.amazonaws.workmail#PersonalAccessTokenName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[^\\x00-\\x1F\\x7F\\x3C\\x3E\\x5C]+$" + } + }, + "com.amazonaws.workmail#PersonalAccessTokenScope": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[^\\x00-\\x1F\\x7F\\x3C\\x3E\\x5C]+$" + } + }, + "com.amazonaws.workmail#PersonalAccessTokenScopeList": { + "type": "list", + "member": { + "target": "com.amazonaws.workmail#PersonalAccessTokenScope" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.workmail#PersonalAccessTokenSummary": { + "type": "structure", + "members": { + "PersonalAccessTokenId": { + "target": "com.amazonaws.workmail#PersonalAccessTokenId", + "traits": { + "smithy.api#documentation": "

\n The ID of the Personal Access Token.\n

" + } + }, + "UserId": { + "target": "com.amazonaws.workmail#WorkMailIdentifier", + "traits": { + "smithy.api#documentation": "

\n The user ID of the WorkMail user associated with the Personal Access Token.\n

" + } + }, + "Name": { + "target": "com.amazonaws.workmail#PersonalAccessTokenName", + "traits": { + "smithy.api#documentation": "

\n The name of the Personal Access Token.\n

" + } + }, + "DateCreated": { + "target": "com.amazonaws.workmail#Timestamp", + "traits": { + "smithy.api#documentation": "

\n The date when the Personal Access Token was created.\n

" + } + }, + "DateLastUsed": { + "target": "com.amazonaws.workmail#Timestamp", + "traits": { + "smithy.api#documentation": "

\n The date when the Personal Access Token was last used.\n

" + } + }, + "ExpiresTime": { + "target": "com.amazonaws.workmail#Timestamp", + "traits": { + "smithy.api#documentation": "

\n The date when the Personal Access Token will expire.\n

" + } + }, + "Scopes": { + "target": "com.amazonaws.workmail#PersonalAccessTokenScopeList", + "traits": { + "smithy.api#documentation": "

\n Lists all the Personal Access Token permissions for a mailbox.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\n The summary of the Personal Access Token.\n

" + } + }, + "com.amazonaws.workmail#PersonalAccessTokenSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.workmail#PersonalAccessTokenSummary" + } + }, "com.amazonaws.workmail#PolicyDescription": { "type": "string", "traits": { @@ -7233,6 +7987,76 @@ "smithy.api#output": {} } }, + "com.amazonaws.workmail#PutIdentityProviderConfiguration": { + "type": "operation", + "input": { + "target": "com.amazonaws.workmail#PutIdentityProviderConfigurationRequest" + }, + "output": { + "target": "com.amazonaws.workmail#PutIdentityProviderConfigurationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.workmail#InvalidParameterException" + }, + { + "target": "com.amazonaws.workmail#OrganizationNotFoundException" + }, + { + "target": "com.amazonaws.workmail#OrganizationStateException" + }, + { + "target": "com.amazonaws.workmail#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

\n Enables integration between IAM Identity Center (IdC) and WorkMail to proxy authentication requests for mailbox users. You can connect your IdC directory or your external directory to WorkMail through \n IdC and manage access to WorkMail mailboxes in a single place. For enhanced protection, you could enable Multifactor Authentication (MFA) and Personal Access Tokens.\n \n

", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.workmail#PutIdentityProviderConfigurationRequest": { + "type": "structure", + "members": { + "OrganizationId": { + "target": "com.amazonaws.workmail#OrganizationId", + "traits": { + "smithy.api#documentation": "

\n The ID of the WorkMail Organization.

", + "smithy.api#required": {} + } + }, + "AuthenticationMode": { + "target": "com.amazonaws.workmail#IdentityProviderAuthenticationMode", + "traits": { + "smithy.api#documentation": "

\n The authentication mode used in WorkMail.

", + "smithy.api#required": {} + } + }, + "IdentityCenterConfiguration": { + "target": "com.amazonaws.workmail#IdentityCenterConfiguration", + "traits": { + "smithy.api#documentation": "

\n The details of the IAM Identity Center configuration.

", + "smithy.api#required": {} + } + }, + "PersonalAccessTokenConfiguration": { + "target": "com.amazonaws.workmail#PersonalAccessTokenConfiguration", + "traits": { + "smithy.api#documentation": "

\n The details of the Personal Access Token configuration. \n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.workmail#PutIdentityProviderConfigurationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.workmail#PutInboundDmarcSettings": { "type": "operation", "input": { @@ -7837,7 +8661,8 @@ "smithy.api#length": { "min": 1, "max": 64 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.workmail#ResourceId": { @@ -8520,7 +9345,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates attibutes in a group.

", + "smithy.api#documentation": "

Updates attributes in a group.

", "smithy.api#idempotent": {} } }, @@ -9158,7 +9983,7 @@ "ZipCode": { "target": "com.amazonaws.workmail#UserAttribute", "traits": { - "smithy.api#documentation": "

Updates the user's zipcode.

" + "smithy.api#documentation": "

Updates the user's zip code.

" } }, "Department": { @@ -9178,6 +10003,12 @@ "traits": { "smithy.api#documentation": "

Updates the user's office.

" } + }, + "IdentityProviderUserId": { + "target": "com.amazonaws.workmail#IdentityProviderUserIdForUpdate", + "traits": { + "smithy.api#documentation": "

User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

" + } } }, "traits": { @@ -9251,6 +10082,18 @@ "traits": { "smithy.api#documentation": "

The date indicating when the user was disabled from WorkMail use.

" } + }, + "IdentityProviderUserId": { + "target": "com.amazonaws.workmail#IdentityProviderUserId", + "traits": { + "smithy.api#documentation": "

User ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

" + } + }, + "IdentityProviderIdentityStoreId": { + "target": "com.amazonaws.workmail#IdentityProviderIdentityStoreId", + "traits": { + "smithy.api#documentation": "

Identity store ID from the IAM Identity Center. If this parameter is empty it will be updated automatically when the user logs in for the first time to the mailbox associated with WorkMail.

" + } } }, "traits": { @@ -9368,6 +10211,9 @@ { "target": "com.amazonaws.workmail#CreateGroup" }, + { + "target": "com.amazonaws.workmail#CreateIdentityCenterApplication" + }, { "target": "com.amazonaws.workmail#CreateImpersonationRole" }, @@ -9398,6 +10244,12 @@ { "target": "com.amazonaws.workmail#DeleteGroup" }, + { + "target": "com.amazonaws.workmail#DeleteIdentityCenterApplication" + }, + { + "target": "com.amazonaws.workmail#DeleteIdentityProviderConfiguration" + }, { "target": "com.amazonaws.workmail#DeleteImpersonationRole" }, @@ -9413,6 +10265,9 @@ { "target": "com.amazonaws.workmail#DeleteOrganization" }, + { + "target": "com.amazonaws.workmail#DeletePersonalAccessToken" + }, { "target": "com.amazonaws.workmail#DeleteResource" }, @@ -9437,6 +10292,9 @@ { "target": "com.amazonaws.workmail#DescribeGroup" }, + { + "target": "com.amazonaws.workmail#DescribeIdentityProviderConfiguration" + }, { "target": "com.amazonaws.workmail#DescribeInboundDmarcSettings" }, @@ -9482,6 +10340,9 @@ { "target": "com.amazonaws.workmail#GetMobileDeviceAccessOverride" }, + { + "target": "com.amazonaws.workmail#GetPersonalAccessTokenMetadata" + }, { "target": "com.amazonaws.workmail#ListAccessControlRules" }, @@ -9521,6 +10382,9 @@ { "target": "com.amazonaws.workmail#ListOrganizations" }, + { + "target": "com.amazonaws.workmail#ListPersonalAccessTokens" + }, { "target": "com.amazonaws.workmail#ListResourceDelegates" }, @@ -9539,6 +10403,9 @@ { "target": "com.amazonaws.workmail#PutEmailMonitoringConfiguration" }, + { + "target": "com.amazonaws.workmail#PutIdentityProviderConfiguration" + }, { "target": "com.amazonaws.workmail#PutInboundDmarcSettings" },