Skip to content

Commit 3e7e5cb

Browse files
author
awstools
committed
feat(client-workmail): This release adds support for managing user availability configurations in Amazon WorkMail.
1 parent 5d6f4e6 commit 3e7e5cb

13 files changed

+2225
-12
lines changed

clients/client-workmail/src/WorkMail.ts

Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ import {
1717
CancelMailboxExportJobCommandOutput,
1818
} from "./commands/CancelMailboxExportJobCommand";
1919
import { CreateAliasCommand, CreateAliasCommandInput, CreateAliasCommandOutput } from "./commands/CreateAliasCommand";
20+
import {
21+
CreateAvailabilityConfigurationCommand,
22+
CreateAvailabilityConfigurationCommandInput,
23+
CreateAvailabilityConfigurationCommandOutput,
24+
} from "./commands/CreateAvailabilityConfigurationCommand";
2025
import { CreateGroupCommand, CreateGroupCommandInput, CreateGroupCommandOutput } from "./commands/CreateGroupCommand";
2126
import {
2227
CreateMobileDeviceAccessRuleCommand,
@@ -40,6 +45,11 @@ import {
4045
DeleteAccessControlRuleCommandOutput,
4146
} from "./commands/DeleteAccessControlRuleCommand";
4247
import { DeleteAliasCommand, DeleteAliasCommandInput, DeleteAliasCommandOutput } from "./commands/DeleteAliasCommand";
48+
import {
49+
DeleteAvailabilityConfigurationCommand,
50+
DeleteAvailabilityConfigurationCommandInput,
51+
DeleteAvailabilityConfigurationCommandOutput,
52+
} from "./commands/DeleteAvailabilityConfigurationCommand";
4353
import {
4454
DeleteEmailMonitoringConfigurationCommand,
4555
DeleteEmailMonitoringConfigurationCommandInput,
@@ -168,6 +178,11 @@ import {
168178
ListAccessControlRulesCommandOutput,
169179
} from "./commands/ListAccessControlRulesCommand";
170180
import { ListAliasesCommand, ListAliasesCommandInput, ListAliasesCommandOutput } from "./commands/ListAliasesCommand";
181+
import {
182+
ListAvailabilityConfigurationsCommand,
183+
ListAvailabilityConfigurationsCommandInput,
184+
ListAvailabilityConfigurationsCommandOutput,
185+
} from "./commands/ListAvailabilityConfigurationsCommand";
171186
import {
172187
ListGroupMembersCommand,
173188
ListGroupMembersCommandInput,
@@ -271,11 +286,21 @@ import {
271286
StartMailboxExportJobCommandOutput,
272287
} from "./commands/StartMailboxExportJobCommand";
273288
import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
289+
import {
290+
TestAvailabilityConfigurationCommand,
291+
TestAvailabilityConfigurationCommandInput,
292+
TestAvailabilityConfigurationCommandOutput,
293+
} from "./commands/TestAvailabilityConfigurationCommand";
274294
import {
275295
UntagResourceCommand,
276296
UntagResourceCommandInput,
277297
UntagResourceCommandOutput,
278298
} from "./commands/UntagResourceCommand";
299+
import {
300+
UpdateAvailabilityConfigurationCommand,
301+
UpdateAvailabilityConfigurationCommandInput,
302+
UpdateAvailabilityConfigurationCommandOutput,
303+
} from "./commands/UpdateAvailabilityConfigurationCommand";
279304
import {
280305
UpdateDefaultMailDomainCommand,
281306
UpdateDefaultMailDomainCommandInput,
@@ -468,6 +493,38 @@ export class WorkMail extends WorkMailClient {
468493
}
469494
}
470495

496+
/**
497+
* <p>Creates an <code>AvailabilityConfiguration</code> for the given WorkMail organization and domain.</p>
498+
*/
499+
public createAvailabilityConfiguration(
500+
args: CreateAvailabilityConfigurationCommandInput,
501+
options?: __HttpHandlerOptions
502+
): Promise<CreateAvailabilityConfigurationCommandOutput>;
503+
public createAvailabilityConfiguration(
504+
args: CreateAvailabilityConfigurationCommandInput,
505+
cb: (err: any, data?: CreateAvailabilityConfigurationCommandOutput) => void
506+
): void;
507+
public createAvailabilityConfiguration(
508+
args: CreateAvailabilityConfigurationCommandInput,
509+
options: __HttpHandlerOptions,
510+
cb: (err: any, data?: CreateAvailabilityConfigurationCommandOutput) => void
511+
): void;
512+
public createAvailabilityConfiguration(
513+
args: CreateAvailabilityConfigurationCommandInput,
514+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateAvailabilityConfigurationCommandOutput) => void),
515+
cb?: (err: any, data?: CreateAvailabilityConfigurationCommandOutput) => void
516+
): Promise<CreateAvailabilityConfigurationCommandOutput> | void {
517+
const command = new CreateAvailabilityConfigurationCommand(args);
518+
if (typeof optionsOrCb === "function") {
519+
this.send(command, optionsOrCb);
520+
} else if (typeof cb === "function") {
521+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
522+
this.send(command, optionsOrCb || {}, cb);
523+
} else {
524+
return this.send(command, optionsOrCb);
525+
}
526+
}
527+
471528
/**
472529
* <p>Creates a group that can be used in Amazon WorkMail by calling the <a>RegisterToWorkMail</a> operation.</p>
473530
*/
@@ -682,6 +739,38 @@ export class WorkMail extends WorkMailClient {
682739
}
683740
}
684741

742+
/**
743+
* <p>Deletes the <code>AvailabilityConfiguration</code> for the given WorkMail organization and domain.</p>
744+
*/
745+
public deleteAvailabilityConfiguration(
746+
args: DeleteAvailabilityConfigurationCommandInput,
747+
options?: __HttpHandlerOptions
748+
): Promise<DeleteAvailabilityConfigurationCommandOutput>;
749+
public deleteAvailabilityConfiguration(
750+
args: DeleteAvailabilityConfigurationCommandInput,
751+
cb: (err: any, data?: DeleteAvailabilityConfigurationCommandOutput) => void
752+
): void;
753+
public deleteAvailabilityConfiguration(
754+
args: DeleteAvailabilityConfigurationCommandInput,
755+
options: __HttpHandlerOptions,
756+
cb: (err: any, data?: DeleteAvailabilityConfigurationCommandOutput) => void
757+
): void;
758+
public deleteAvailabilityConfiguration(
759+
args: DeleteAvailabilityConfigurationCommandInput,
760+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAvailabilityConfigurationCommandOutput) => void),
761+
cb?: (err: any, data?: DeleteAvailabilityConfigurationCommandOutput) => void
762+
): Promise<DeleteAvailabilityConfigurationCommandOutput> | void {
763+
const command = new DeleteAvailabilityConfigurationCommand(args);
764+
if (typeof optionsOrCb === "function") {
765+
this.send(command, optionsOrCb);
766+
} else if (typeof cb === "function") {
767+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
768+
this.send(command, optionsOrCb || {}, cb);
769+
} else {
770+
return this.send(command, optionsOrCb);
771+
}
772+
}
773+
685774
/**
686775
* <p>Deletes the email monitoring configuration for a specified organization.</p>
687776
*/
@@ -1575,6 +1664,38 @@ export class WorkMail extends WorkMailClient {
15751664
}
15761665
}
15771666

1667+
/**
1668+
* <p>List all the <code>AvailabilityConfiguration</code>'s for the given WorkMail organization.</p>
1669+
*/
1670+
public listAvailabilityConfigurations(
1671+
args: ListAvailabilityConfigurationsCommandInput,
1672+
options?: __HttpHandlerOptions
1673+
): Promise<ListAvailabilityConfigurationsCommandOutput>;
1674+
public listAvailabilityConfigurations(
1675+
args: ListAvailabilityConfigurationsCommandInput,
1676+
cb: (err: any, data?: ListAvailabilityConfigurationsCommandOutput) => void
1677+
): void;
1678+
public listAvailabilityConfigurations(
1679+
args: ListAvailabilityConfigurationsCommandInput,
1680+
options: __HttpHandlerOptions,
1681+
cb: (err: any, data?: ListAvailabilityConfigurationsCommandOutput) => void
1682+
): void;
1683+
public listAvailabilityConfigurations(
1684+
args: ListAvailabilityConfigurationsCommandInput,
1685+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAvailabilityConfigurationsCommandOutput) => void),
1686+
cb?: (err: any, data?: ListAvailabilityConfigurationsCommandOutput) => void
1687+
): Promise<ListAvailabilityConfigurationsCommandOutput> | void {
1688+
const command = new ListAvailabilityConfigurationsCommand(args);
1689+
if (typeof optionsOrCb === "function") {
1690+
this.send(command, optionsOrCb);
1691+
} else if (typeof cb === "function") {
1692+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
1693+
this.send(command, optionsOrCb || {}, cb);
1694+
} else {
1695+
return this.send(command, optionsOrCb);
1696+
}
1697+
}
1698+
15781699
/**
15791700
* <p>Returns an overview of the members of a group. Users and groups can be members of a
15801701
* group.</p>
@@ -2312,6 +2433,45 @@ export class WorkMail extends WorkMailClient {
23122433
}
23132434
}
23142435

2436+
/**
2437+
* <p>Performs a test on an availability provider to ensure that access is allowed. For EWS, it verifies the provided credentials can be used to successfully log in. For Lambda, it verifies that the Lambda function can be invoked and that the resource access
2438+
* policy was configured to deny anonymous access. An anonymous invocation is one done without providing either a <code>SourceArn</code> or <code>SourceAccount</code> header.</p>
2439+
* <note>
2440+
* <p>The request must contain either one provider definition (<code>EwsProvider</code> or
2441+
* <code>LambdaProvider</code>) or the <code>DomainName</code> parameter. If the
2442+
* <code>DomainName</code> parameter is provided, the configuration stored under the
2443+
* <code>DomainName</code> will be tested. </p>
2444+
* </note>
2445+
*/
2446+
public testAvailabilityConfiguration(
2447+
args: TestAvailabilityConfigurationCommandInput,
2448+
options?: __HttpHandlerOptions
2449+
): Promise<TestAvailabilityConfigurationCommandOutput>;
2450+
public testAvailabilityConfiguration(
2451+
args: TestAvailabilityConfigurationCommandInput,
2452+
cb: (err: any, data?: TestAvailabilityConfigurationCommandOutput) => void
2453+
): void;
2454+
public testAvailabilityConfiguration(
2455+
args: TestAvailabilityConfigurationCommandInput,
2456+
options: __HttpHandlerOptions,
2457+
cb: (err: any, data?: TestAvailabilityConfigurationCommandOutput) => void
2458+
): void;
2459+
public testAvailabilityConfiguration(
2460+
args: TestAvailabilityConfigurationCommandInput,
2461+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: TestAvailabilityConfigurationCommandOutput) => void),
2462+
cb?: (err: any, data?: TestAvailabilityConfigurationCommandOutput) => void
2463+
): Promise<TestAvailabilityConfigurationCommandOutput> | void {
2464+
const command = new TestAvailabilityConfigurationCommand(args);
2465+
if (typeof optionsOrCb === "function") {
2466+
this.send(command, optionsOrCb);
2467+
} else if (typeof cb === "function") {
2468+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
2469+
this.send(command, optionsOrCb || {}, cb);
2470+
} else {
2471+
return this.send(command, optionsOrCb);
2472+
}
2473+
}
2474+
23152475
/**
23162476
* <p>Untags the specified tags from the specified Amazon WorkMail organization
23172477
* resource.</p>
@@ -2345,6 +2505,39 @@ export class WorkMail extends WorkMailClient {
23452505
}
23462506
}
23472507

2508+
/**
2509+
* <p>Updates an existing <code>AvailabilityConfiguration</code> for the given WorkMail
2510+
* organization and domain.</p>
2511+
*/
2512+
public updateAvailabilityConfiguration(
2513+
args: UpdateAvailabilityConfigurationCommandInput,
2514+
options?: __HttpHandlerOptions
2515+
): Promise<UpdateAvailabilityConfigurationCommandOutput>;
2516+
public updateAvailabilityConfiguration(
2517+
args: UpdateAvailabilityConfigurationCommandInput,
2518+
cb: (err: any, data?: UpdateAvailabilityConfigurationCommandOutput) => void
2519+
): void;
2520+
public updateAvailabilityConfiguration(
2521+
args: UpdateAvailabilityConfigurationCommandInput,
2522+
options: __HttpHandlerOptions,
2523+
cb: (err: any, data?: UpdateAvailabilityConfigurationCommandOutput) => void
2524+
): void;
2525+
public updateAvailabilityConfiguration(
2526+
args: UpdateAvailabilityConfigurationCommandInput,
2527+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAvailabilityConfigurationCommandOutput) => void),
2528+
cb?: (err: any, data?: UpdateAvailabilityConfigurationCommandOutput) => void
2529+
): Promise<UpdateAvailabilityConfigurationCommandOutput> | void {
2530+
const command = new UpdateAvailabilityConfigurationCommand(args);
2531+
if (typeof optionsOrCb === "function") {
2532+
this.send(command, optionsOrCb);
2533+
} else if (typeof cb === "function") {
2534+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
2535+
this.send(command, optionsOrCb || {}, cb);
2536+
} else {
2537+
return this.send(command, optionsOrCb);
2538+
}
2539+
}
2540+
23482541
/**
23492542
* <p>Updates the default mail domain for an organization. The default mail domain is used by the WorkMail AWS Console to suggest an email address when enabling a mail user. You can only have one default domain.</p>
23502543
*/

clients/client-workmail/src/WorkMailClient.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ import {
6666
CancelMailboxExportJobCommandOutput,
6767
} from "./commands/CancelMailboxExportJobCommand";
6868
import { CreateAliasCommandInput, CreateAliasCommandOutput } from "./commands/CreateAliasCommand";
69+
import {
70+
CreateAvailabilityConfigurationCommandInput,
71+
CreateAvailabilityConfigurationCommandOutput,
72+
} from "./commands/CreateAvailabilityConfigurationCommand";
6973
import { CreateGroupCommandInput, CreateGroupCommandOutput } from "./commands/CreateGroupCommand";
7074
import {
7175
CreateMobileDeviceAccessRuleCommandInput,
@@ -79,6 +83,10 @@ import {
7983
DeleteAccessControlRuleCommandOutput,
8084
} from "./commands/DeleteAccessControlRuleCommand";
8185
import { DeleteAliasCommandInput, DeleteAliasCommandOutput } from "./commands/DeleteAliasCommand";
86+
import {
87+
DeleteAvailabilityConfigurationCommandInput,
88+
DeleteAvailabilityConfigurationCommandOutput,
89+
} from "./commands/DeleteAvailabilityConfigurationCommand";
8290
import {
8391
DeleteEmailMonitoringConfigurationCommandInput,
8492
DeleteEmailMonitoringConfigurationCommandOutput,
@@ -161,6 +169,10 @@ import {
161169
ListAccessControlRulesCommandOutput,
162170
} from "./commands/ListAccessControlRulesCommand";
163171
import { ListAliasesCommandInput, ListAliasesCommandOutput } from "./commands/ListAliasesCommand";
172+
import {
173+
ListAvailabilityConfigurationsCommandInput,
174+
ListAvailabilityConfigurationsCommandOutput,
175+
} from "./commands/ListAvailabilityConfigurationsCommand";
164176
import { ListGroupMembersCommandInput, ListGroupMembersCommandOutput } from "./commands/ListGroupMembersCommand";
165177
import { ListGroupsCommandInput, ListGroupsCommandOutput } from "./commands/ListGroupsCommand";
166178
import {
@@ -220,7 +232,15 @@ import {
220232
StartMailboxExportJobCommandOutput,
221233
} from "./commands/StartMailboxExportJobCommand";
222234
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
235+
import {
236+
TestAvailabilityConfigurationCommandInput,
237+
TestAvailabilityConfigurationCommandOutput,
238+
} from "./commands/TestAvailabilityConfigurationCommand";
223239
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
240+
import {
241+
UpdateAvailabilityConfigurationCommandInput,
242+
UpdateAvailabilityConfigurationCommandOutput,
243+
} from "./commands/UpdateAvailabilityConfigurationCommand";
224244
import {
225245
UpdateDefaultMailDomainCommandInput,
226246
UpdateDefaultMailDomainCommandOutput,
@@ -242,13 +262,15 @@ export type ServiceInputTypes =
242262
| AssociateMemberToGroupCommandInput
243263
| CancelMailboxExportJobCommandInput
244264
| CreateAliasCommandInput
265+
| CreateAvailabilityConfigurationCommandInput
245266
| CreateGroupCommandInput
246267
| CreateMobileDeviceAccessRuleCommandInput
247268
| CreateOrganizationCommandInput
248269
| CreateResourceCommandInput
249270
| CreateUserCommandInput
250271
| DeleteAccessControlRuleCommandInput
251272
| DeleteAliasCommandInput
273+
| DeleteAvailabilityConfigurationCommandInput
252274
| DeleteEmailMonitoringConfigurationCommandInput
253275
| DeleteGroupCommandInput
254276
| DeleteMailboxPermissionsCommandInput
@@ -277,6 +299,7 @@ export type ServiceInputTypes =
277299
| GetMobileDeviceAccessOverrideCommandInput
278300
| ListAccessControlRulesCommandInput
279301
| ListAliasesCommandInput
302+
| ListAvailabilityConfigurationsCommandInput
280303
| ListGroupMembersCommandInput
281304
| ListGroupsCommandInput
282305
| ListMailDomainsCommandInput
@@ -300,7 +323,9 @@ export type ServiceInputTypes =
300323
| ResetPasswordCommandInput
301324
| StartMailboxExportJobCommandInput
302325
| TagResourceCommandInput
326+
| TestAvailabilityConfigurationCommandInput
303327
| UntagResourceCommandInput
328+
| UpdateAvailabilityConfigurationCommandInput
304329
| UpdateDefaultMailDomainCommandInput
305330
| UpdateMailboxQuotaCommandInput
306331
| UpdateMobileDeviceAccessRuleCommandInput
@@ -312,13 +337,15 @@ export type ServiceOutputTypes =
312337
| AssociateMemberToGroupCommandOutput
313338
| CancelMailboxExportJobCommandOutput
314339
| CreateAliasCommandOutput
340+
| CreateAvailabilityConfigurationCommandOutput
315341
| CreateGroupCommandOutput
316342
| CreateMobileDeviceAccessRuleCommandOutput
317343
| CreateOrganizationCommandOutput
318344
| CreateResourceCommandOutput
319345
| CreateUserCommandOutput
320346
| DeleteAccessControlRuleCommandOutput
321347
| DeleteAliasCommandOutput
348+
| DeleteAvailabilityConfigurationCommandOutput
322349
| DeleteEmailMonitoringConfigurationCommandOutput
323350
| DeleteGroupCommandOutput
324351
| DeleteMailboxPermissionsCommandOutput
@@ -347,6 +374,7 @@ export type ServiceOutputTypes =
347374
| GetMobileDeviceAccessOverrideCommandOutput
348375
| ListAccessControlRulesCommandOutput
349376
| ListAliasesCommandOutput
377+
| ListAvailabilityConfigurationsCommandOutput
350378
| ListGroupMembersCommandOutput
351379
| ListGroupsCommandOutput
352380
| ListMailDomainsCommandOutput
@@ -370,7 +398,9 @@ export type ServiceOutputTypes =
370398
| ResetPasswordCommandOutput
371399
| StartMailboxExportJobCommandOutput
372400
| TagResourceCommandOutput
401+
| TestAvailabilityConfigurationCommandOutput
373402
| UntagResourceCommandOutput
403+
| UpdateAvailabilityConfigurationCommandOutput
374404
| UpdateDefaultMailDomainCommandOutput
375405
| UpdateMailboxQuotaCommandOutput
376406
| UpdateMobileDeviceAccessRuleCommandOutput

0 commit comments

Comments
 (0)