@aws-sdk/client-workmail 3.183.0 → 3.184.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +1 -1
  3. package/dist-cjs/WorkMail.js +105 -0
  4. package/dist-cjs/commands/AssumeImpersonationRoleCommand.js +36 -0
  5. package/dist-cjs/commands/CreateImpersonationRoleCommand.js +36 -0
  6. package/dist-cjs/commands/DeleteImpersonationRoleCommand.js +36 -0
  7. package/dist-cjs/commands/GetImpersonationRoleCommand.js +36 -0
  8. package/dist-cjs/commands/GetImpersonationRoleEffectCommand.js +36 -0
  9. package/dist-cjs/commands/ListImpersonationRolesCommand.js +36 -0
  10. package/dist-cjs/commands/UpdateImpersonationRoleCommand.js +36 -0
  11. package/dist-cjs/commands/index.js +7 -0
  12. package/dist-cjs/models/models_0.js +97 -19
  13. package/dist-cjs/pagination/ListImpersonationRolesPaginator.js +36 -0
  14. package/dist-cjs/pagination/index.js +1 -0
  15. package/dist-cjs/protocols/Aws_json1_1.js +626 -3
  16. package/dist-es/WorkMail.js +105 -0
  17. package/dist-es/commands/AssumeImpersonationRoleCommand.js +32 -0
  18. package/dist-es/commands/CreateImpersonationRoleCommand.js +32 -0
  19. package/dist-es/commands/DeleteImpersonationRoleCommand.js +32 -0
  20. package/dist-es/commands/GetImpersonationRoleCommand.js +32 -0
  21. package/dist-es/commands/GetImpersonationRoleEffectCommand.js +32 -0
  22. package/dist-es/commands/ListImpersonationRolesCommand.js +32 -0
  23. package/dist-es/commands/UpdateImpersonationRoleCommand.js +32 -0
  24. package/dist-es/commands/index.js +7 -0
  25. package/dist-es/models/models_0.js +74 -13
  26. package/dist-es/pagination/ListImpersonationRolesPaginator.js +32 -0
  27. package/dist-es/pagination/index.js +1 -0
  28. package/dist-es/protocols/Aws_json1_1.js +608 -1
  29. package/dist-types/WorkMail.d.ts +91 -32
  30. package/dist-types/WorkMailClient.d.ts +10 -3
  31. package/dist-types/commands/AssumeImpersonationRoleCommand.d.ts +36 -0
  32. package/dist-types/commands/CreateAliasCommand.d.ts +1 -1
  33. package/dist-types/commands/CreateGroupCommand.d.ts +1 -1
  34. package/dist-types/commands/CreateImpersonationRoleCommand.d.ts +40 -0
  35. package/dist-types/commands/CreateMobileDeviceAccessRuleCommand.d.ts +1 -1
  36. package/dist-types/commands/CreateOrganizationCommand.d.ts +9 -5
  37. package/dist-types/commands/CreateResourceCommand.d.ts +1 -1
  38. package/dist-types/commands/CreateUserCommand.d.ts +1 -1
  39. package/dist-types/commands/DeleteGroupCommand.d.ts +1 -1
  40. package/dist-types/commands/DeleteImpersonationRoleCommand.d.ts +35 -0
  41. package/dist-types/commands/DeleteMobileDeviceAccessRuleCommand.d.ts +1 -1
  42. package/dist-types/commands/DeleteOrganizationCommand.d.ts +1 -1
  43. package/dist-types/commands/DeleteResourceCommand.d.ts +1 -1
  44. package/dist-types/commands/DeleteUserCommand.d.ts +1 -1
  45. package/dist-types/commands/DeregisterFromWorkMailCommand.d.ts +1 -1
  46. package/dist-types/commands/DeregisterMailDomainCommand.d.ts +1 -1
  47. package/dist-types/commands/GetAccessControlEffectCommand.d.ts +1 -1
  48. package/dist-types/commands/GetImpersonationRoleCommand.d.ts +35 -0
  49. package/dist-types/commands/GetImpersonationRoleEffectCommand.d.ts +35 -0
  50. package/dist-types/commands/GetMobileDeviceAccessEffectCommand.d.ts +1 -1
  51. package/dist-types/commands/ListImpersonationRolesCommand.d.ts +35 -0
  52. package/dist-types/commands/ListMailDomainsCommand.d.ts +1 -1
  53. package/dist-types/commands/ListMobileDeviceAccessRulesCommand.d.ts +1 -1
  54. package/dist-types/commands/ListTagsForResourceCommand.d.ts +1 -1
  55. package/dist-types/commands/PutAccessControlRuleCommand.d.ts +1 -1
  56. package/dist-types/commands/RegisterMailDomainCommand.d.ts +1 -1
  57. package/dist-types/commands/RegisterToWorkMailCommand.d.ts +2 -2
  58. package/dist-types/commands/StartMailboxExportJobCommand.d.ts +1 -1
  59. package/dist-types/commands/TagResourceCommand.d.ts +1 -1
  60. package/dist-types/commands/TestAvailabilityConfigurationCommand.d.ts +1 -1
  61. package/dist-types/commands/UntagResourceCommand.d.ts +1 -1
  62. package/dist-types/commands/UpdateImpersonationRoleCommand.d.ts +35 -0
  63. package/dist-types/commands/UpdateMobileDeviceAccessRuleCommand.d.ts +1 -1
  64. package/dist-types/commands/index.d.ts +7 -0
  65. package/dist-types/models/models_0.d.ts +442 -73
  66. package/dist-types/pagination/ListImpersonationRolesPaginator.d.ts +4 -0
  67. package/dist-types/pagination/index.d.ts +1 -0
  68. package/dist-types/protocols/Aws_json1_1.d.ts +21 -0
  69. package/dist-types/ts3.4/WorkMail.d.ts +119 -0
  70. package/dist-types/ts3.4/WorkMailClient.d.ts +42 -0
  71. package/dist-types/ts3.4/commands/AssumeImpersonationRoleCommand.d.ts +39 -0
  72. package/dist-types/ts3.4/commands/CreateImpersonationRoleCommand.d.ts +39 -0
  73. package/dist-types/ts3.4/commands/DeleteImpersonationRoleCommand.d.ts +39 -0
  74. package/dist-types/ts3.4/commands/GetImpersonationRoleCommand.d.ts +39 -0
  75. package/dist-types/ts3.4/commands/GetImpersonationRoleEffectCommand.d.ts +39 -0
  76. package/dist-types/ts3.4/commands/ListImpersonationRolesCommand.d.ts +39 -0
  77. package/dist-types/ts3.4/commands/UpdateImpersonationRoleCommand.d.ts +39 -0
  78. package/dist-types/ts3.4/commands/index.d.ts +7 -0
  79. package/dist-types/ts3.4/models/models_0.d.ts +157 -9
  80. package/dist-types/ts3.4/pagination/ListImpersonationRolesPaginator.d.ts +11 -0
  81. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  82. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +84 -0
  83. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { HttpRequest as __HttpRequest } from "@aws-sdk/protocol-http";
2
- import { decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectNonNull as __expectNonNull, expectNumber as __expectNumber, expectString as __expectString, limitedParseDouble as __limitedParseDouble, parseEpochTimestamp as __parseEpochTimestamp, throwDefaultError, } from "@aws-sdk/smithy-client";
2
+ import { decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectNumber as __expectNumber, expectString as __expectString, limitedParseDouble as __limitedParseDouble, parseEpochTimestamp as __parseEpochTimestamp, throwDefaultError, } from "@aws-sdk/smithy-client";
3
3
  import { v4 as generateIdempotencyToken } from "uuid";
4
4
  import { DirectoryInUseException, DirectoryServiceAuthenticationFailedException, DirectoryUnavailableException, EmailAddressInUseException, EntityAlreadyRegisteredException, EntityNotFoundException, EntityStateException, InvalidConfigurationException, InvalidCustomSesConfigurationException, InvalidParameterException, InvalidPasswordException, LimitExceededException, MailDomainInUseException, MailDomainNotFoundException, MailDomainStateException, NameAvailabilityException, OrganizationNotFoundException, OrganizationStateException, ReservedNameException, ResourceNotFoundException, TooManyTagsException, UnsupportedOperationException, } from "../models/models_0";
5
5
  import { WorkMailServiceException as __BaseException } from "../models/WorkMailServiceException";
@@ -21,6 +21,15 @@ export const serializeAws_json1_1AssociateMemberToGroupCommand = async (input, c
21
21
  body = JSON.stringify(serializeAws_json1_1AssociateMemberToGroupRequest(input, context));
22
22
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
23
23
  };
24
+ export const serializeAws_json1_1AssumeImpersonationRoleCommand = async (input, context) => {
25
+ const headers = {
26
+ "content-type": "application/x-amz-json-1.1",
27
+ "x-amz-target": "WorkMailService.AssumeImpersonationRole",
28
+ };
29
+ let body;
30
+ body = JSON.stringify(serializeAws_json1_1AssumeImpersonationRoleRequest(input, context));
31
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
32
+ };
24
33
  export const serializeAws_json1_1CancelMailboxExportJobCommand = async (input, context) => {
25
34
  const headers = {
26
35
  "content-type": "application/x-amz-json-1.1",
@@ -57,6 +66,15 @@ export const serializeAws_json1_1CreateGroupCommand = async (input, context) =>
57
66
  body = JSON.stringify(serializeAws_json1_1CreateGroupRequest(input, context));
58
67
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
59
68
  };
69
+ export const serializeAws_json1_1CreateImpersonationRoleCommand = async (input, context) => {
70
+ const headers = {
71
+ "content-type": "application/x-amz-json-1.1",
72
+ "x-amz-target": "WorkMailService.CreateImpersonationRole",
73
+ };
74
+ let body;
75
+ body = JSON.stringify(serializeAws_json1_1CreateImpersonationRoleRequest(input, context));
76
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
77
+ };
60
78
  export const serializeAws_json1_1CreateMobileDeviceAccessRuleCommand = async (input, context) => {
61
79
  const headers = {
62
80
  "content-type": "application/x-amz-json-1.1",
@@ -138,6 +156,15 @@ export const serializeAws_json1_1DeleteGroupCommand = async (input, context) =>
138
156
  body = JSON.stringify(serializeAws_json1_1DeleteGroupRequest(input, context));
139
157
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
140
158
  };
159
+ export const serializeAws_json1_1DeleteImpersonationRoleCommand = async (input, context) => {
160
+ const headers = {
161
+ "content-type": "application/x-amz-json-1.1",
162
+ "x-amz-target": "WorkMailService.DeleteImpersonationRole",
163
+ };
164
+ let body;
165
+ body = JSON.stringify(serializeAws_json1_1DeleteImpersonationRoleRequest(input, context));
166
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
167
+ };
141
168
  export const serializeAws_json1_1DeleteMailboxPermissionsCommand = async (input, context) => {
142
169
  const headers = {
143
170
  "content-type": "application/x-amz-json-1.1",
@@ -318,6 +345,24 @@ export const serializeAws_json1_1GetDefaultRetentionPolicyCommand = async (input
318
345
  body = JSON.stringify(serializeAws_json1_1GetDefaultRetentionPolicyRequest(input, context));
319
346
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
320
347
  };
348
+ export const serializeAws_json1_1GetImpersonationRoleCommand = async (input, context) => {
349
+ const headers = {
350
+ "content-type": "application/x-amz-json-1.1",
351
+ "x-amz-target": "WorkMailService.GetImpersonationRole",
352
+ };
353
+ let body;
354
+ body = JSON.stringify(serializeAws_json1_1GetImpersonationRoleRequest(input, context));
355
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
356
+ };
357
+ export const serializeAws_json1_1GetImpersonationRoleEffectCommand = async (input, context) => {
358
+ const headers = {
359
+ "content-type": "application/x-amz-json-1.1",
360
+ "x-amz-target": "WorkMailService.GetImpersonationRoleEffect",
361
+ };
362
+ let body;
363
+ body = JSON.stringify(serializeAws_json1_1GetImpersonationRoleEffectRequest(input, context));
364
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
365
+ };
321
366
  export const serializeAws_json1_1GetMailboxDetailsCommand = async (input, context) => {
322
367
  const headers = {
323
368
  "content-type": "application/x-amz-json-1.1",
@@ -399,6 +444,15 @@ export const serializeAws_json1_1ListGroupsCommand = async (input, context) => {
399
444
  body = JSON.stringify(serializeAws_json1_1ListGroupsRequest(input, context));
400
445
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
401
446
  };
447
+ export const serializeAws_json1_1ListImpersonationRolesCommand = async (input, context) => {
448
+ const headers = {
449
+ "content-type": "application/x-amz-json-1.1",
450
+ "x-amz-target": "WorkMailService.ListImpersonationRoles",
451
+ };
452
+ let body;
453
+ body = JSON.stringify(serializeAws_json1_1ListImpersonationRolesRequest(input, context));
454
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
455
+ };
402
456
  export const serializeAws_json1_1ListMailboxExportJobsCommand = async (input, context) => {
403
457
  const headers = {
404
458
  "content-type": "application/x-amz-json-1.1",
@@ -624,6 +678,15 @@ export const serializeAws_json1_1UpdateDefaultMailDomainCommand = async (input,
624
678
  body = JSON.stringify(serializeAws_json1_1UpdateDefaultMailDomainRequest(input, context));
625
679
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
626
680
  };
681
+ export const serializeAws_json1_1UpdateImpersonationRoleCommand = async (input, context) => {
682
+ const headers = {
683
+ "content-type": "application/x-amz-json-1.1",
684
+ "x-amz-target": "WorkMailService.UpdateImpersonationRole",
685
+ };
686
+ let body;
687
+ body = JSON.stringify(serializeAws_json1_1UpdateImpersonationRoleRequest(input, context));
688
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
689
+ };
627
690
  export const serializeAws_json1_1UpdateMailboxQuotaCommand = async (input, context) => {
628
691
  const headers = {
629
692
  "content-type": "application/x-amz-json-1.1",
@@ -759,6 +822,48 @@ const deserializeAws_json1_1AssociateMemberToGroupCommandError = async (output,
759
822
  });
760
823
  }
761
824
  };
825
+ export const deserializeAws_json1_1AssumeImpersonationRoleCommand = async (output, context) => {
826
+ if (output.statusCode >= 300) {
827
+ return deserializeAws_json1_1AssumeImpersonationRoleCommandError(output, context);
828
+ }
829
+ const data = await parseBody(output.body, context);
830
+ let contents = {};
831
+ contents = deserializeAws_json1_1AssumeImpersonationRoleResponse(data, context);
832
+ const response = {
833
+ $metadata: deserializeMetadata(output),
834
+ ...contents,
835
+ };
836
+ return Promise.resolve(response);
837
+ };
838
+ const deserializeAws_json1_1AssumeImpersonationRoleCommandError = async (output, context) => {
839
+ const parsedOutput = {
840
+ ...output,
841
+ body: await parseErrorBody(output.body, context),
842
+ };
843
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
844
+ switch (errorCode) {
845
+ case "InvalidParameterException":
846
+ case "com.amazonaws.workmail#InvalidParameterException":
847
+ throw await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context);
848
+ case "OrganizationNotFoundException":
849
+ case "com.amazonaws.workmail#OrganizationNotFoundException":
850
+ throw await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context);
851
+ case "OrganizationStateException":
852
+ case "com.amazonaws.workmail#OrganizationStateException":
853
+ throw await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context);
854
+ case "ResourceNotFoundException":
855
+ case "com.amazonaws.workmail#ResourceNotFoundException":
856
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
857
+ default:
858
+ const parsedBody = parsedOutput.body;
859
+ throwDefaultError({
860
+ output,
861
+ parsedBody,
862
+ exceptionCtor: __BaseException,
863
+ errorCode,
864
+ });
865
+ }
866
+ };
762
867
  export const deserializeAws_json1_1CancelMailboxExportJobCommand = async (output, context) => {
763
868
  if (output.statusCode >= 300) {
764
869
  return deserializeAws_json1_1CancelMailboxExportJobCommandError(output, context);
@@ -957,6 +1062,54 @@ const deserializeAws_json1_1CreateGroupCommandError = async (output, context) =>
957
1062
  });
958
1063
  }
959
1064
  };
1065
+ export const deserializeAws_json1_1CreateImpersonationRoleCommand = async (output, context) => {
1066
+ if (output.statusCode >= 300) {
1067
+ return deserializeAws_json1_1CreateImpersonationRoleCommandError(output, context);
1068
+ }
1069
+ const data = await parseBody(output.body, context);
1070
+ let contents = {};
1071
+ contents = deserializeAws_json1_1CreateImpersonationRoleResponse(data, context);
1072
+ const response = {
1073
+ $metadata: deserializeMetadata(output),
1074
+ ...contents,
1075
+ };
1076
+ return Promise.resolve(response);
1077
+ };
1078
+ const deserializeAws_json1_1CreateImpersonationRoleCommandError = async (output, context) => {
1079
+ const parsedOutput = {
1080
+ ...output,
1081
+ body: await parseErrorBody(output.body, context),
1082
+ };
1083
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1084
+ switch (errorCode) {
1085
+ case "EntityNotFoundException":
1086
+ case "com.amazonaws.workmail#EntityNotFoundException":
1087
+ throw await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context);
1088
+ case "EntityStateException":
1089
+ case "com.amazonaws.workmail#EntityStateException":
1090
+ throw await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context);
1091
+ case "InvalidParameterException":
1092
+ case "com.amazonaws.workmail#InvalidParameterException":
1093
+ throw await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context);
1094
+ case "LimitExceededException":
1095
+ case "com.amazonaws.workmail#LimitExceededException":
1096
+ throw await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context);
1097
+ case "OrganizationNotFoundException":
1098
+ case "com.amazonaws.workmail#OrganizationNotFoundException":
1099
+ throw await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context);
1100
+ case "OrganizationStateException":
1101
+ case "com.amazonaws.workmail#OrganizationStateException":
1102
+ throw await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context);
1103
+ default:
1104
+ const parsedBody = parsedOutput.body;
1105
+ throwDefaultError({
1106
+ output,
1107
+ parsedBody,
1108
+ exceptionCtor: __BaseException,
1109
+ errorCode,
1110
+ });
1111
+ }
1112
+ };
960
1113
  export const deserializeAws_json1_1CreateMobileDeviceAccessRuleCommand = async (output, context) => {
961
1114
  if (output.statusCode >= 300) {
962
1115
  return deserializeAws_json1_1CreateMobileDeviceAccessRuleCommandError(output, context);
@@ -1359,6 +1512,45 @@ const deserializeAws_json1_1DeleteGroupCommandError = async (output, context) =>
1359
1512
  });
1360
1513
  }
1361
1514
  };
1515
+ export const deserializeAws_json1_1DeleteImpersonationRoleCommand = async (output, context) => {
1516
+ if (output.statusCode >= 300) {
1517
+ return deserializeAws_json1_1DeleteImpersonationRoleCommandError(output, context);
1518
+ }
1519
+ const data = await parseBody(output.body, context);
1520
+ let contents = {};
1521
+ contents = deserializeAws_json1_1DeleteImpersonationRoleResponse(data, context);
1522
+ const response = {
1523
+ $metadata: deserializeMetadata(output),
1524
+ ...contents,
1525
+ };
1526
+ return Promise.resolve(response);
1527
+ };
1528
+ const deserializeAws_json1_1DeleteImpersonationRoleCommandError = async (output, context) => {
1529
+ const parsedOutput = {
1530
+ ...output,
1531
+ body: await parseErrorBody(output.body, context),
1532
+ };
1533
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1534
+ switch (errorCode) {
1535
+ case "InvalidParameterException":
1536
+ case "com.amazonaws.workmail#InvalidParameterException":
1537
+ throw await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context);
1538
+ case "OrganizationNotFoundException":
1539
+ case "com.amazonaws.workmail#OrganizationNotFoundException":
1540
+ throw await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context);
1541
+ case "OrganizationStateException":
1542
+ case "com.amazonaws.workmail#OrganizationStateException":
1543
+ throw await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context);
1544
+ default:
1545
+ const parsedBody = parsedOutput.body;
1546
+ throwDefaultError({
1547
+ output,
1548
+ parsedBody,
1549
+ exceptionCtor: __BaseException,
1550
+ errorCode,
1551
+ });
1552
+ }
1553
+ };
1362
1554
  export const deserializeAws_json1_1DeleteMailboxPermissionsCommand = async (output, context) => {
1363
1555
  if (output.statusCode >= 300) {
1364
1556
  return deserializeAws_json1_1DeleteMailboxPermissionsCommandError(output, context);
@@ -2159,6 +2351,9 @@ const deserializeAws_json1_1GetAccessControlEffectCommandError = async (output,
2159
2351
  case "OrganizationStateException":
2160
2352
  case "com.amazonaws.workmail#OrganizationStateException":
2161
2353
  throw await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context);
2354
+ case "ResourceNotFoundException":
2355
+ case "com.amazonaws.workmail#ResourceNotFoundException":
2356
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
2162
2357
  default:
2163
2358
  const parsedBody = parsedOutput.body;
2164
2359
  throwDefaultError({
@@ -2211,6 +2406,96 @@ const deserializeAws_json1_1GetDefaultRetentionPolicyCommandError = async (outpu
2211
2406
  });
2212
2407
  }
2213
2408
  };
2409
+ export const deserializeAws_json1_1GetImpersonationRoleCommand = async (output, context) => {
2410
+ if (output.statusCode >= 300) {
2411
+ return deserializeAws_json1_1GetImpersonationRoleCommandError(output, context);
2412
+ }
2413
+ const data = await parseBody(output.body, context);
2414
+ let contents = {};
2415
+ contents = deserializeAws_json1_1GetImpersonationRoleResponse(data, context);
2416
+ const response = {
2417
+ $metadata: deserializeMetadata(output),
2418
+ ...contents,
2419
+ };
2420
+ return Promise.resolve(response);
2421
+ };
2422
+ const deserializeAws_json1_1GetImpersonationRoleCommandError = async (output, context) => {
2423
+ const parsedOutput = {
2424
+ ...output,
2425
+ body: await parseErrorBody(output.body, context),
2426
+ };
2427
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2428
+ switch (errorCode) {
2429
+ case "InvalidParameterException":
2430
+ case "com.amazonaws.workmail#InvalidParameterException":
2431
+ throw await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context);
2432
+ case "OrganizationNotFoundException":
2433
+ case "com.amazonaws.workmail#OrganizationNotFoundException":
2434
+ throw await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context);
2435
+ case "OrganizationStateException":
2436
+ case "com.amazonaws.workmail#OrganizationStateException":
2437
+ throw await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context);
2438
+ case "ResourceNotFoundException":
2439
+ case "com.amazonaws.workmail#ResourceNotFoundException":
2440
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
2441
+ default:
2442
+ const parsedBody = parsedOutput.body;
2443
+ throwDefaultError({
2444
+ output,
2445
+ parsedBody,
2446
+ exceptionCtor: __BaseException,
2447
+ errorCode,
2448
+ });
2449
+ }
2450
+ };
2451
+ export const deserializeAws_json1_1GetImpersonationRoleEffectCommand = async (output, context) => {
2452
+ if (output.statusCode >= 300) {
2453
+ return deserializeAws_json1_1GetImpersonationRoleEffectCommandError(output, context);
2454
+ }
2455
+ const data = await parseBody(output.body, context);
2456
+ let contents = {};
2457
+ contents = deserializeAws_json1_1GetImpersonationRoleEffectResponse(data, context);
2458
+ const response = {
2459
+ $metadata: deserializeMetadata(output),
2460
+ ...contents,
2461
+ };
2462
+ return Promise.resolve(response);
2463
+ };
2464
+ const deserializeAws_json1_1GetImpersonationRoleEffectCommandError = async (output, context) => {
2465
+ const parsedOutput = {
2466
+ ...output,
2467
+ body: await parseErrorBody(output.body, context),
2468
+ };
2469
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2470
+ switch (errorCode) {
2471
+ case "EntityNotFoundException":
2472
+ case "com.amazonaws.workmail#EntityNotFoundException":
2473
+ throw await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context);
2474
+ case "EntityStateException":
2475
+ case "com.amazonaws.workmail#EntityStateException":
2476
+ throw await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context);
2477
+ case "InvalidParameterException":
2478
+ case "com.amazonaws.workmail#InvalidParameterException":
2479
+ throw await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context);
2480
+ case "OrganizationNotFoundException":
2481
+ case "com.amazonaws.workmail#OrganizationNotFoundException":
2482
+ throw await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context);
2483
+ case "OrganizationStateException":
2484
+ case "com.amazonaws.workmail#OrganizationStateException":
2485
+ throw await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context);
2486
+ case "ResourceNotFoundException":
2487
+ case "com.amazonaws.workmail#ResourceNotFoundException":
2488
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
2489
+ default:
2490
+ const parsedBody = parsedOutput.body;
2491
+ throwDefaultError({
2492
+ output,
2493
+ parsedBody,
2494
+ exceptionCtor: __BaseException,
2495
+ errorCode,
2496
+ });
2497
+ }
2498
+ };
2214
2499
  export const deserializeAws_json1_1GetMailboxDetailsCommand = async (output, context) => {
2215
2500
  if (output.statusCode >= 300) {
2216
2501
  return deserializeAws_json1_1GetMailboxDetailsCommandError(output, context);
@@ -2580,6 +2865,45 @@ const deserializeAws_json1_1ListGroupsCommandError = async (output, context) =>
2580
2865
  });
2581
2866
  }
2582
2867
  };
2868
+ export const deserializeAws_json1_1ListImpersonationRolesCommand = async (output, context) => {
2869
+ if (output.statusCode >= 300) {
2870
+ return deserializeAws_json1_1ListImpersonationRolesCommandError(output, context);
2871
+ }
2872
+ const data = await parseBody(output.body, context);
2873
+ let contents = {};
2874
+ contents = deserializeAws_json1_1ListImpersonationRolesResponse(data, context);
2875
+ const response = {
2876
+ $metadata: deserializeMetadata(output),
2877
+ ...contents,
2878
+ };
2879
+ return Promise.resolve(response);
2880
+ };
2881
+ const deserializeAws_json1_1ListImpersonationRolesCommandError = async (output, context) => {
2882
+ const parsedOutput = {
2883
+ ...output,
2884
+ body: await parseErrorBody(output.body, context),
2885
+ };
2886
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2887
+ switch (errorCode) {
2888
+ case "InvalidParameterException":
2889
+ case "com.amazonaws.workmail#InvalidParameterException":
2890
+ throw await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context);
2891
+ case "OrganizationNotFoundException":
2892
+ case "com.amazonaws.workmail#OrganizationNotFoundException":
2893
+ throw await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context);
2894
+ case "OrganizationStateException":
2895
+ case "com.amazonaws.workmail#OrganizationStateException":
2896
+ throw await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context);
2897
+ default:
2898
+ const parsedBody = parsedOutput.body;
2899
+ throwDefaultError({
2900
+ output,
2901
+ parsedBody,
2902
+ exceptionCtor: __BaseException,
2903
+ errorCode,
2904
+ });
2905
+ }
2906
+ };
2583
2907
  export const deserializeAws_json1_1ListMailboxExportJobsCommand = async (output, context) => {
2584
2908
  if (output.statusCode >= 300) {
2585
2909
  return deserializeAws_json1_1ListMailboxExportJobsCommandError(output, context);
@@ -3005,6 +3329,9 @@ const deserializeAws_json1_1PutAccessControlRuleCommandError = async (output, co
3005
3329
  case "OrganizationStateException":
3006
3330
  case "com.amazonaws.workmail#OrganizationStateException":
3007
3331
  throw await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context);
3332
+ case "ResourceNotFoundException":
3333
+ case "com.amazonaws.workmail#ResourceNotFoundException":
3334
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
3008
3335
  default:
3009
3336
  const parsedBody = parsedOutput.body;
3010
3337
  throwDefaultError({
@@ -3636,6 +3963,57 @@ const deserializeAws_json1_1UpdateDefaultMailDomainCommandError = async (output,
3636
3963
  });
3637
3964
  }
3638
3965
  };
3966
+ export const deserializeAws_json1_1UpdateImpersonationRoleCommand = async (output, context) => {
3967
+ if (output.statusCode >= 300) {
3968
+ return deserializeAws_json1_1UpdateImpersonationRoleCommandError(output, context);
3969
+ }
3970
+ const data = await parseBody(output.body, context);
3971
+ let contents = {};
3972
+ contents = deserializeAws_json1_1UpdateImpersonationRoleResponse(data, context);
3973
+ const response = {
3974
+ $metadata: deserializeMetadata(output),
3975
+ ...contents,
3976
+ };
3977
+ return Promise.resolve(response);
3978
+ };
3979
+ const deserializeAws_json1_1UpdateImpersonationRoleCommandError = async (output, context) => {
3980
+ const parsedOutput = {
3981
+ ...output,
3982
+ body: await parseErrorBody(output.body, context),
3983
+ };
3984
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
3985
+ switch (errorCode) {
3986
+ case "EntityNotFoundException":
3987
+ case "com.amazonaws.workmail#EntityNotFoundException":
3988
+ throw await deserializeAws_json1_1EntityNotFoundExceptionResponse(parsedOutput, context);
3989
+ case "EntityStateException":
3990
+ case "com.amazonaws.workmail#EntityStateException":
3991
+ throw await deserializeAws_json1_1EntityStateExceptionResponse(parsedOutput, context);
3992
+ case "InvalidParameterException":
3993
+ case "com.amazonaws.workmail#InvalidParameterException":
3994
+ throw await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context);
3995
+ case "LimitExceededException":
3996
+ case "com.amazonaws.workmail#LimitExceededException":
3997
+ throw await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context);
3998
+ case "OrganizationNotFoundException":
3999
+ case "com.amazonaws.workmail#OrganizationNotFoundException":
4000
+ throw await deserializeAws_json1_1OrganizationNotFoundExceptionResponse(parsedOutput, context);
4001
+ case "OrganizationStateException":
4002
+ case "com.amazonaws.workmail#OrganizationStateException":
4003
+ throw await deserializeAws_json1_1OrganizationStateExceptionResponse(parsedOutput, context);
4004
+ case "ResourceNotFoundException":
4005
+ case "com.amazonaws.workmail#ResourceNotFoundException":
4006
+ throw await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context);
4007
+ default:
4008
+ const parsedBody = parsedOutput.body;
4009
+ throwDefaultError({
4010
+ output,
4011
+ parsedBody,
4012
+ exceptionCtor: __BaseException,
4013
+ errorCode,
4014
+ });
4015
+ }
4016
+ };
3639
4017
  export const deserializeAws_json1_1UpdateMailboxQuotaCommand = async (output, context) => {
3640
4018
  if (output.statusCode >= 300) {
3641
4019
  return deserializeAws_json1_1UpdateMailboxQuotaCommandError(output, context);
@@ -4065,6 +4443,12 @@ const serializeAws_json1_1AssociateMemberToGroupRequest = (input, context) => {
4065
4443
  ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4066
4444
  };
4067
4445
  };
4446
+ const serializeAws_json1_1AssumeImpersonationRoleRequest = (input, context) => {
4447
+ return {
4448
+ ...(input.ImpersonationRoleId != null && { ImpersonationRoleId: input.ImpersonationRoleId }),
4449
+ ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4450
+ };
4451
+ };
4068
4452
  const serializeAws_json1_1BookingOptions = (input, context) => {
4069
4453
  return {
4070
4454
  ...(input.AutoAcceptRequests != null && { AutoAcceptRequests: input.AutoAcceptRequests }),
@@ -4109,6 +4493,16 @@ const serializeAws_json1_1CreateGroupRequest = (input, context) => {
4109
4493
  ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4110
4494
  };
4111
4495
  };
4496
+ const serializeAws_json1_1CreateImpersonationRoleRequest = (input, context) => {
4497
+ return {
4498
+ ClientToken: input.ClientToken ?? generateIdempotencyToken(),
4499
+ ...(input.Description != null && { Description: input.Description }),
4500
+ ...(input.Name != null && { Name: input.Name }),
4501
+ ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4502
+ ...(input.Rules != null && { Rules: serializeAws_json1_1ImpersonationRuleList(input.Rules, context) }),
4503
+ ...(input.Type != null && { Type: input.Type }),
4504
+ };
4505
+ };
4112
4506
  const serializeAws_json1_1CreateMobileDeviceAccessRuleRequest = (input, context) => {
4113
4507
  return {
4114
4508
  ClientToken: input.ClientToken ?? generateIdempotencyToken(),
@@ -4195,6 +4589,12 @@ const serializeAws_json1_1DeleteGroupRequest = (input, context) => {
4195
4589
  ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4196
4590
  };
4197
4591
  };
4592
+ const serializeAws_json1_1DeleteImpersonationRoleRequest = (input, context) => {
4593
+ return {
4594
+ ...(input.ImpersonationRoleId != null && { ImpersonationRoleId: input.ImpersonationRoleId }),
4595
+ ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4596
+ };
4597
+ };
4198
4598
  const serializeAws_json1_1DeleteMailboxPermissionsRequest = (input, context) => {
4199
4599
  return {
4200
4600
  ...(input.EntityId != null && { EntityId: input.EntityId }),
@@ -4370,6 +4770,7 @@ const serializeAws_json1_1FolderConfigurations = (input, context) => {
4370
4770
  const serializeAws_json1_1GetAccessControlEffectRequest = (input, context) => {
4371
4771
  return {
4372
4772
  ...(input.Action != null && { Action: input.Action }),
4773
+ ...(input.ImpersonationRoleId != null && { ImpersonationRoleId: input.ImpersonationRoleId }),
4373
4774
  ...(input.IpAddress != null && { IpAddress: input.IpAddress }),
4374
4775
  ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4375
4776
  ...(input.UserId != null && { UserId: input.UserId }),
@@ -4380,6 +4781,19 @@ const serializeAws_json1_1GetDefaultRetentionPolicyRequest = (input, context) =>
4380
4781
  ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4381
4782
  };
4382
4783
  };
4784
+ const serializeAws_json1_1GetImpersonationRoleEffectRequest = (input, context) => {
4785
+ return {
4786
+ ...(input.ImpersonationRoleId != null && { ImpersonationRoleId: input.ImpersonationRoleId }),
4787
+ ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4788
+ ...(input.TargetUser != null && { TargetUser: input.TargetUser }),
4789
+ };
4790
+ };
4791
+ const serializeAws_json1_1GetImpersonationRoleRequest = (input, context) => {
4792
+ return {
4793
+ ...(input.ImpersonationRoleId != null && { ImpersonationRoleId: input.ImpersonationRoleId }),
4794
+ ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4795
+ };
4796
+ };
4383
4797
  const serializeAws_json1_1GetMailboxDetailsRequest = (input, context) => {
4384
4798
  return {
4385
4799
  ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
@@ -4408,6 +4822,32 @@ const serializeAws_json1_1GetMobileDeviceAccessOverrideRequest = (input, context
4408
4822
  ...(input.UserId != null && { UserId: input.UserId }),
4409
4823
  };
4410
4824
  };
4825
+ const serializeAws_json1_1ImpersonationRoleIdList = (input, context) => {
4826
+ return input
4827
+ .filter((e) => e != null)
4828
+ .map((entry) => {
4829
+ return entry;
4830
+ });
4831
+ };
4832
+ const serializeAws_json1_1ImpersonationRule = (input, context) => {
4833
+ return {
4834
+ ...(input.Description != null && { Description: input.Description }),
4835
+ ...(input.Effect != null && { Effect: input.Effect }),
4836
+ ...(input.ImpersonationRuleId != null && { ImpersonationRuleId: input.ImpersonationRuleId }),
4837
+ ...(input.Name != null && { Name: input.Name }),
4838
+ ...(input.NotTargetUsers != null && {
4839
+ NotTargetUsers: serializeAws_json1_1TargetUsers(input.NotTargetUsers, context),
4840
+ }),
4841
+ ...(input.TargetUsers != null && { TargetUsers: serializeAws_json1_1TargetUsers(input.TargetUsers, context) }),
4842
+ };
4843
+ };
4844
+ const serializeAws_json1_1ImpersonationRuleList = (input, context) => {
4845
+ return input
4846
+ .filter((e) => e != null)
4847
+ .map((entry) => {
4848
+ return serializeAws_json1_1ImpersonationRule(entry, context);
4849
+ });
4850
+ };
4411
4851
  const serializeAws_json1_1IpRangeList = (input, context) => {
4412
4852
  return input
4413
4853
  .filter((e) => e != null)
@@ -4455,6 +4895,13 @@ const serializeAws_json1_1ListGroupsRequest = (input, context) => {
4455
4895
  ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4456
4896
  };
4457
4897
  };
4898
+ const serializeAws_json1_1ListImpersonationRolesRequest = (input, context) => {
4899
+ return {
4900
+ ...(input.MaxResults != null && { MaxResults: input.MaxResults }),
4901
+ ...(input.NextToken != null && { NextToken: input.NextToken }),
4902
+ ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4903
+ };
4904
+ };
4458
4905
  const serializeAws_json1_1ListMailboxExportJobsRequest = (input, context) => {
4459
4906
  return {
4460
4907
  ...(input.MaxResults != null && { MaxResults: input.MaxResults }),
@@ -4536,9 +4983,15 @@ const serializeAws_json1_1PutAccessControlRuleRequest = (input, context) => {
4536
4983
  ...(input.Actions != null && { Actions: serializeAws_json1_1ActionsList(input.Actions, context) }),
4537
4984
  ...(input.Description != null && { Description: input.Description }),
4538
4985
  ...(input.Effect != null && { Effect: input.Effect }),
4986
+ ...(input.ImpersonationRoleIds != null && {
4987
+ ImpersonationRoleIds: serializeAws_json1_1ImpersonationRoleIdList(input.ImpersonationRoleIds, context),
4988
+ }),
4539
4989
  ...(input.IpRanges != null && { IpRanges: serializeAws_json1_1IpRangeList(input.IpRanges, context) }),
4540
4990
  ...(input.Name != null && { Name: input.Name }),
4541
4991
  ...(input.NotActions != null && { NotActions: serializeAws_json1_1ActionsList(input.NotActions, context) }),
4992
+ ...(input.NotImpersonationRoleIds != null && {
4993
+ NotImpersonationRoleIds: serializeAws_json1_1ImpersonationRoleIdList(input.NotImpersonationRoleIds, context),
4994
+ }),
4542
4995
  ...(input.NotIpRanges != null && { NotIpRanges: serializeAws_json1_1IpRangeList(input.NotIpRanges, context) }),
4543
4996
  ...(input.NotUserIds != null && { NotUserIds: serializeAws_json1_1UserIdList(input.NotUserIds, context) }),
4544
4997
  ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
@@ -4647,6 +5100,13 @@ const serializeAws_json1_1TagResourceRequest = (input, context) => {
4647
5100
  ...(input.Tags != null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }),
4648
5101
  };
4649
5102
  };
5103
+ const serializeAws_json1_1TargetUsers = (input, context) => {
5104
+ return input
5105
+ .filter((e) => e != null)
5106
+ .map((entry) => {
5107
+ return entry;
5108
+ });
5109
+ };
4650
5110
  const serializeAws_json1_1TestAvailabilityConfigurationRequest = (input, context) => {
4651
5111
  return {
4652
5112
  ...(input.DomainName != null && { DomainName: input.DomainName }),
@@ -4683,6 +5143,16 @@ const serializeAws_json1_1UpdateDefaultMailDomainRequest = (input, context) => {
4683
5143
  ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
4684
5144
  };
4685
5145
  };
5146
+ const serializeAws_json1_1UpdateImpersonationRoleRequest = (input, context) => {
5147
+ return {
5148
+ ...(input.Description != null && { Description: input.Description }),
5149
+ ...(input.ImpersonationRoleId != null && { ImpersonationRoleId: input.ImpersonationRoleId }),
5150
+ ...(input.Name != null && { Name: input.Name }),
5151
+ ...(input.OrganizationId != null && { OrganizationId: input.OrganizationId }),
5152
+ ...(input.Rules != null && { Rules: serializeAws_json1_1ImpersonationRuleList(input.Rules, context) }),
5153
+ ...(input.Type != null && { Type: input.Type }),
5154
+ };
5155
+ };
4686
5156
  const serializeAws_json1_1UpdateMailboxQuotaRequest = (input, context) => {
4687
5157
  return {
4688
5158
  ...(input.MailboxQuota != null && { MailboxQuota: input.MailboxQuota }),
@@ -4756,9 +5226,15 @@ const deserializeAws_json1_1AccessControlRule = (output, context) => {
4756
5226
  : undefined,
4757
5227
  Description: __expectString(output.Description),
4758
5228
  Effect: __expectString(output.Effect),
5229
+ ImpersonationRoleIds: output.ImpersonationRoleIds != null
5230
+ ? deserializeAws_json1_1ImpersonationRoleIdList(output.ImpersonationRoleIds, context)
5231
+ : undefined,
4759
5232
  IpRanges: output.IpRanges != null ? deserializeAws_json1_1IpRangeList(output.IpRanges, context) : undefined,
4760
5233
  Name: __expectString(output.Name),
4761
5234
  NotActions: output.NotActions != null ? deserializeAws_json1_1ActionsList(output.NotActions, context) : undefined,
5235
+ NotImpersonationRoleIds: output.NotImpersonationRoleIds != null
5236
+ ? deserializeAws_json1_1ImpersonationRoleIdList(output.NotImpersonationRoleIds, context)
5237
+ : undefined,
4762
5238
  NotIpRanges: output.NotIpRanges != null ? deserializeAws_json1_1IpRangeList(output.NotIpRanges, context) : undefined,
4763
5239
  NotUserIds: output.NotUserIds != null ? deserializeAws_json1_1UserIdList(output.NotUserIds, context) : undefined,
4764
5240
  UserIds: output.UserIds != null ? deserializeAws_json1_1UserIdList(output.UserIds, context) : undefined,
@@ -4814,6 +5290,12 @@ const deserializeAws_json1_1AssociateDelegateToResourceResponse = (output, conte
4814
5290
  const deserializeAws_json1_1AssociateMemberToGroupResponse = (output, context) => {
4815
5291
  return {};
4816
5292
  };
5293
+ const deserializeAws_json1_1AssumeImpersonationRoleResponse = (output, context) => {
5294
+ return {
5295
+ ExpiresIn: __expectLong(output.ExpiresIn),
5296
+ Token: __expectString(output.Token),
5297
+ };
5298
+ };
4817
5299
  const deserializeAws_json1_1AvailabilityConfiguration = (output, context) => {
4818
5300
  return {
4819
5301
  DateCreated: output.DateCreated != null
@@ -4864,6 +5346,11 @@ const deserializeAws_json1_1CreateGroupResponse = (output, context) => {
4864
5346
  GroupId: __expectString(output.GroupId),
4865
5347
  };
4866
5348
  };
5349
+ const deserializeAws_json1_1CreateImpersonationRoleResponse = (output, context) => {
5350
+ return {
5351
+ ImpersonationRoleId: __expectString(output.ImpersonationRoleId),
5352
+ };
5353
+ };
4867
5354
  const deserializeAws_json1_1CreateMobileDeviceAccessRuleResponse = (output, context) => {
4868
5355
  return {
4869
5356
  MobileDeviceAccessRuleId: __expectString(output.MobileDeviceAccessRuleId),
@@ -4905,6 +5392,9 @@ const deserializeAws_json1_1DeleteEmailMonitoringConfigurationResponse = (output
4905
5392
  const deserializeAws_json1_1DeleteGroupResponse = (output, context) => {
4906
5393
  return {};
4907
5394
  };
5395
+ const deserializeAws_json1_1DeleteImpersonationRoleResponse = (output, context) => {
5396
+ return {};
5397
+ };
4908
5398
  const deserializeAws_json1_1DeleteMailboxPermissionsResponse = (output, context) => {
4909
5399
  return {};
4910
5400
  };
@@ -5162,6 +5652,30 @@ const deserializeAws_json1_1GetDefaultRetentionPolicyResponse = (output, context
5162
5652
  Name: __expectString(output.Name),
5163
5653
  };
5164
5654
  };
5655
+ const deserializeAws_json1_1GetImpersonationRoleEffectResponse = (output, context) => {
5656
+ return {
5657
+ Effect: __expectString(output.Effect),
5658
+ MatchedRules: output.MatchedRules != null
5659
+ ? deserializeAws_json1_1ImpersonationMatchedRuleList(output.MatchedRules, context)
5660
+ : undefined,
5661
+ Type: __expectString(output.Type),
5662
+ };
5663
+ };
5664
+ const deserializeAws_json1_1GetImpersonationRoleResponse = (output, context) => {
5665
+ return {
5666
+ DateCreated: output.DateCreated != null
5667
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.DateCreated)))
5668
+ : undefined,
5669
+ DateModified: output.DateModified != null
5670
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.DateModified)))
5671
+ : undefined,
5672
+ Description: __expectString(output.Description),
5673
+ ImpersonationRoleId: __expectString(output.ImpersonationRoleId),
5674
+ Name: __expectString(output.Name),
5675
+ Rules: output.Rules != null ? deserializeAws_json1_1ImpersonationRuleList(output.Rules, context) : undefined,
5676
+ Type: __expectString(output.Type),
5677
+ };
5678
+ };
5165
5679
  const deserializeAws_json1_1GetMailboxDetailsResponse = (output, context) => {
5166
5680
  return {
5167
5681
  MailboxQuota: __expectInt32(output.MailboxQuota),
@@ -5224,6 +5738,79 @@ const deserializeAws_json1_1Groups = (output, context) => {
5224
5738
  });
5225
5739
  return retVal;
5226
5740
  };
5741
+ const deserializeAws_json1_1ImpersonationMatchedRule = (output, context) => {
5742
+ return {
5743
+ ImpersonationRuleId: __expectString(output.ImpersonationRuleId),
5744
+ Name: __expectString(output.Name),
5745
+ };
5746
+ };
5747
+ const deserializeAws_json1_1ImpersonationMatchedRuleList = (output, context) => {
5748
+ const retVal = (output || [])
5749
+ .filter((e) => e != null)
5750
+ .map((entry) => {
5751
+ if (entry === null) {
5752
+ return null;
5753
+ }
5754
+ return deserializeAws_json1_1ImpersonationMatchedRule(entry, context);
5755
+ });
5756
+ return retVal;
5757
+ };
5758
+ const deserializeAws_json1_1ImpersonationRole = (output, context) => {
5759
+ return {
5760
+ DateCreated: output.DateCreated != null
5761
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.DateCreated)))
5762
+ : undefined,
5763
+ DateModified: output.DateModified != null
5764
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.DateModified)))
5765
+ : undefined,
5766
+ ImpersonationRoleId: __expectString(output.ImpersonationRoleId),
5767
+ Name: __expectString(output.Name),
5768
+ Type: __expectString(output.Type),
5769
+ };
5770
+ };
5771
+ const deserializeAws_json1_1ImpersonationRoleIdList = (output, context) => {
5772
+ const retVal = (output || [])
5773
+ .filter((e) => e != null)
5774
+ .map((entry) => {
5775
+ if (entry === null) {
5776
+ return null;
5777
+ }
5778
+ return __expectString(entry);
5779
+ });
5780
+ return retVal;
5781
+ };
5782
+ const deserializeAws_json1_1ImpersonationRoleList = (output, context) => {
5783
+ const retVal = (output || [])
5784
+ .filter((e) => e != null)
5785
+ .map((entry) => {
5786
+ if (entry === null) {
5787
+ return null;
5788
+ }
5789
+ return deserializeAws_json1_1ImpersonationRole(entry, context);
5790
+ });
5791
+ return retVal;
5792
+ };
5793
+ const deserializeAws_json1_1ImpersonationRule = (output, context) => {
5794
+ return {
5795
+ Description: __expectString(output.Description),
5796
+ Effect: __expectString(output.Effect),
5797
+ ImpersonationRuleId: __expectString(output.ImpersonationRuleId),
5798
+ Name: __expectString(output.Name),
5799
+ NotTargetUsers: output.NotTargetUsers != null ? deserializeAws_json1_1TargetUsers(output.NotTargetUsers, context) : undefined,
5800
+ TargetUsers: output.TargetUsers != null ? deserializeAws_json1_1TargetUsers(output.TargetUsers, context) : undefined,
5801
+ };
5802
+ };
5803
+ const deserializeAws_json1_1ImpersonationRuleList = (output, context) => {
5804
+ const retVal = (output || [])
5805
+ .filter((e) => e != null)
5806
+ .map((entry) => {
5807
+ if (entry === null) {
5808
+ return null;
5809
+ }
5810
+ return deserializeAws_json1_1ImpersonationRule(entry, context);
5811
+ });
5812
+ return retVal;
5813
+ };
5227
5814
  const deserializeAws_json1_1InvalidConfigurationException = (output, context) => {
5228
5815
  return {
5229
5816
  Message: __expectString(output.Message),
@@ -5307,6 +5894,12 @@ const deserializeAws_json1_1ListGroupsResponse = (output, context) => {
5307
5894
  NextToken: __expectString(output.NextToken),
5308
5895
  };
5309
5896
  };
5897
+ const deserializeAws_json1_1ListImpersonationRolesResponse = (output, context) => {
5898
+ return {
5899
+ NextToken: __expectString(output.NextToken),
5900
+ Roles: output.Roles != null ? deserializeAws_json1_1ImpersonationRoleList(output.Roles, context) : undefined,
5901
+ };
5902
+ };
5310
5903
  const deserializeAws_json1_1ListMailboxExportJobsResponse = (output, context) => {
5311
5904
  return {
5312
5905
  Jobs: output.Jobs != null ? deserializeAws_json1_1Jobs(output.Jobs, context) : undefined,
@@ -5695,6 +6288,17 @@ const deserializeAws_json1_1TagList = (output, context) => {
5695
6288
  const deserializeAws_json1_1TagResourceResponse = (output, context) => {
5696
6289
  return {};
5697
6290
  };
6291
+ const deserializeAws_json1_1TargetUsers = (output, context) => {
6292
+ const retVal = (output || [])
6293
+ .filter((e) => e != null)
6294
+ .map((entry) => {
6295
+ if (entry === null) {
6296
+ return null;
6297
+ }
6298
+ return __expectString(entry);
6299
+ });
6300
+ return retVal;
6301
+ };
5698
6302
  const deserializeAws_json1_1TestAvailabilityConfigurationResponse = (output, context) => {
5699
6303
  return {
5700
6304
  FailureReason: __expectString(output.FailureReason),
@@ -5720,6 +6324,9 @@ const deserializeAws_json1_1UpdateAvailabilityConfigurationResponse = (output, c
5720
6324
  const deserializeAws_json1_1UpdateDefaultMailDomainResponse = (output, context) => {
5721
6325
  return {};
5722
6326
  };
6327
+ const deserializeAws_json1_1UpdateImpersonationRoleResponse = (output, context) => {
6328
+ return {};
6329
+ };
5723
6330
  const deserializeAws_json1_1UpdateMailboxQuotaResponse = (output, context) => {
5724
6331
  return {};
5725
6332
  };