aws-sdk-workmail 1.49.0 → 1.51.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.
@@ -10,7 +10,7 @@
10
10
  module Aws::WorkMail
11
11
  module Types
12
12
 
13
- # A rule that controls access to an Amazon WorkMail organization.
13
+ # A rule that controls access to an WorkMail organization.
14
14
  #
15
15
  # @!attribute [rw] name
16
16
  # The rule name.
@@ -60,6 +60,14 @@ module Aws::WorkMail
60
60
  # The date that the rule was modified.
61
61
  # @return [Time]
62
62
  #
63
+ # @!attribute [rw] impersonation_role_ids
64
+ # Impersonation role IDs to include in the rule.
65
+ # @return [Array<String>]
66
+ #
67
+ # @!attribute [rw] not_impersonation_role_ids
68
+ # Impersonation role IDs to exclude from the rule.
69
+ # @return [Array<String>]
70
+ #
63
71
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AccessControlRule AWS API Documentation
64
72
  #
65
73
  class AccessControlRule < Struct.new(
@@ -73,7 +81,9 @@ module Aws::WorkMail
73
81
  :user_ids,
74
82
  :not_user_ids,
75
83
  :date_created,
76
- :date_modified)
84
+ :date_modified,
85
+ :impersonation_role_ids,
86
+ :not_impersonation_role_ids)
77
87
  SENSITIVE = []
78
88
  include Aws::Structure
79
89
  end
@@ -148,6 +158,93 @@ module Aws::WorkMail
148
158
  #
149
159
  class AssociateMemberToGroupResponse < Aws::EmptyStructure; end
150
160
 
161
+ # @note When making an API call, you may pass AssumeImpersonationRoleRequest
162
+ # data as a hash:
163
+ #
164
+ # {
165
+ # organization_id: "OrganizationId", # required
166
+ # impersonation_role_id: "ImpersonationRoleId", # required
167
+ # }
168
+ #
169
+ # @!attribute [rw] organization_id
170
+ # The WorkMail organization under which the impersonation role will be
171
+ # assumed.
172
+ # @return [String]
173
+ #
174
+ # @!attribute [rw] impersonation_role_id
175
+ # The impersonation role ID to assume.
176
+ # @return [String]
177
+ #
178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssumeImpersonationRoleRequest AWS API Documentation
179
+ #
180
+ class AssumeImpersonationRoleRequest < Struct.new(
181
+ :organization_id,
182
+ :impersonation_role_id)
183
+ SENSITIVE = []
184
+ include Aws::Structure
185
+ end
186
+
187
+ # @!attribute [rw] token
188
+ # The authentication token for the impersonation role.
189
+ # @return [String]
190
+ #
191
+ # @!attribute [rw] expires_in
192
+ # The authentication token's validity, in seconds.
193
+ # @return [Integer]
194
+ #
195
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssumeImpersonationRoleResponse AWS API Documentation
196
+ #
197
+ class AssumeImpersonationRoleResponse < Struct.new(
198
+ :token,
199
+ :expires_in)
200
+ SENSITIVE = []
201
+ include Aws::Structure
202
+ end
203
+
204
+ # List all the `AvailabilityConfiguration`'s for the given WorkMail
205
+ # organization.
206
+ #
207
+ # @!attribute [rw] domain_name
208
+ # Displays the domain to which the provider applies.
209
+ # @return [String]
210
+ #
211
+ # @!attribute [rw] provider_type
212
+ # Displays the provider type that applies to this domain.
213
+ # @return [String]
214
+ #
215
+ # @!attribute [rw] ews_provider
216
+ # If `ProviderType` is `EWS`, then this field contains
217
+ # `RedactedEwsAvailabilityProvider`. Otherwise, it is not required.
218
+ # @return [Types::RedactedEwsAvailabilityProvider]
219
+ #
220
+ # @!attribute [rw] lambda_provider
221
+ # If ProviderType is `LAMBDA` then this field contains
222
+ # `LambdaAvailabilityProvider`. Otherwise, it is not required.
223
+ # @return [Types::LambdaAvailabilityProvider]
224
+ #
225
+ # @!attribute [rw] date_created
226
+ # The date and time at which the availability configuration was
227
+ # created.
228
+ # @return [Time]
229
+ #
230
+ # @!attribute [rw] date_modified
231
+ # The date and time at which the availability configuration was last
232
+ # modified.
233
+ # @return [Time]
234
+ #
235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AvailabilityConfiguration AWS API Documentation
236
+ #
237
+ class AvailabilityConfiguration < Struct.new(
238
+ :domain_name,
239
+ :provider_type,
240
+ :ews_provider,
241
+ :lambda_provider,
242
+ :date_created,
243
+ :date_modified)
244
+ SENSITIVE = []
245
+ include Aws::Structure
246
+ end
247
+
151
248
  # At least one delegate must be associated to the resource to disable
152
249
  # automatic replies from the resource.
153
250
  #
@@ -258,6 +355,68 @@ module Aws::WorkMail
258
355
  #
259
356
  class CreateAliasResponse < Aws::EmptyStructure; end
260
357
 
358
+ # @note When making an API call, you may pass CreateAvailabilityConfigurationRequest
359
+ # data as a hash:
360
+ #
361
+ # {
362
+ # client_token: "IdempotencyClientToken",
363
+ # organization_id: "OrganizationId", # required
364
+ # domain_name: "DomainName", # required
365
+ # ews_provider: {
366
+ # ews_endpoint: "Url", # required
367
+ # ews_username: "ExternalUserName", # required
368
+ # ews_password: "Password", # required
369
+ # },
370
+ # lambda_provider: {
371
+ # lambda_arn: "LambdaArn", # required
372
+ # },
373
+ # }
374
+ #
375
+ # @!attribute [rw] client_token
376
+ # An idempotent token that ensures that an API request is executed
377
+ # only once.
378
+ #
379
+ # **A suitable default value is auto-generated.** You should normally
380
+ # not need to pass this option.
381
+ # @return [String]
382
+ #
383
+ # @!attribute [rw] organization_id
384
+ # The WorkMail organization for which the `AvailabilityConfiguration`
385
+ # will be created.
386
+ # @return [String]
387
+ #
388
+ # @!attribute [rw] domain_name
389
+ # The domain to which the provider applies.
390
+ # @return [String]
391
+ #
392
+ # @!attribute [rw] ews_provider
393
+ # Exchange Web Services (EWS) availability provider definition. The
394
+ # request must contain exactly one provider definition, either
395
+ # `EwsProvider` or `LambdaProvider`.
396
+ # @return [Types::EwsAvailabilityProvider]
397
+ #
398
+ # @!attribute [rw] lambda_provider
399
+ # Lambda availability provider definition. The request must contain
400
+ # exactly one provider definition, either `EwsProvider` or
401
+ # `LambdaProvider`.
402
+ # @return [Types::LambdaAvailabilityProvider]
403
+ #
404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateAvailabilityConfigurationRequest AWS API Documentation
405
+ #
406
+ class CreateAvailabilityConfigurationRequest < Struct.new(
407
+ :client_token,
408
+ :organization_id,
409
+ :domain_name,
410
+ :ews_provider,
411
+ :lambda_provider)
412
+ SENSITIVE = []
413
+ include Aws::Structure
414
+ end
415
+
416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateAvailabilityConfigurationResponse AWS API Documentation
417
+ #
418
+ class CreateAvailabilityConfigurationResponse < Aws::EmptyStructure; end
419
+
261
420
  # @note When making an API call, you may pass CreateGroupRequest
262
421
  # data as a hash:
263
422
  #
@@ -295,6 +454,81 @@ module Aws::WorkMail
295
454
  include Aws::Structure
296
455
  end
297
456
 
457
+ # @note When making an API call, you may pass CreateImpersonationRoleRequest
458
+ # data as a hash:
459
+ #
460
+ # {
461
+ # client_token: "IdempotencyClientToken",
462
+ # organization_id: "OrganizationId", # required
463
+ # name: "ImpersonationRoleName", # required
464
+ # type: "FULL_ACCESS", # required, accepts FULL_ACCESS, READ_ONLY
465
+ # description: "ImpersonationRoleDescription",
466
+ # rules: [ # required
467
+ # {
468
+ # impersonation_rule_id: "ImpersonationRuleId", # required
469
+ # name: "ImpersonationRuleName",
470
+ # description: "ImpersonationRuleDescription",
471
+ # effect: "ALLOW", # required, accepts ALLOW, DENY
472
+ # target_users: ["EntityIdentifier"],
473
+ # not_target_users: ["EntityIdentifier"],
474
+ # },
475
+ # ],
476
+ # }
477
+ #
478
+ # @!attribute [rw] client_token
479
+ # The idempotency token for the client request.
480
+ #
481
+ # **A suitable default value is auto-generated.** You should normally
482
+ # not need to pass this option.
483
+ # @return [String]
484
+ #
485
+ # @!attribute [rw] organization_id
486
+ # The WorkMail organization to create the new impersonation role
487
+ # within.
488
+ # @return [String]
489
+ #
490
+ # @!attribute [rw] name
491
+ # The name of the new impersonation role.
492
+ # @return [String]
493
+ #
494
+ # @!attribute [rw] type
495
+ # The impersonation role's type. The available impersonation role
496
+ # types are `READ_ONLY` or `FULL_ACCESS`.
497
+ # @return [String]
498
+ #
499
+ # @!attribute [rw] description
500
+ # The description of the new impersonation role.
501
+ # @return [String]
502
+ #
503
+ # @!attribute [rw] rules
504
+ # The list of rules for the impersonation role.
505
+ # @return [Array<Types::ImpersonationRule>]
506
+ #
507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateImpersonationRoleRequest AWS API Documentation
508
+ #
509
+ class CreateImpersonationRoleRequest < Struct.new(
510
+ :client_token,
511
+ :organization_id,
512
+ :name,
513
+ :type,
514
+ :description,
515
+ :rules)
516
+ SENSITIVE = []
517
+ include Aws::Structure
518
+ end
519
+
520
+ # @!attribute [rw] impersonation_role_id
521
+ # The new impersonation role ID.
522
+ # @return [String]
523
+ #
524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateImpersonationRoleResponse AWS API Documentation
525
+ #
526
+ class CreateImpersonationRoleResponse < Struct.new(
527
+ :impersonation_role_id)
528
+ SENSITIVE = []
529
+ include Aws::Structure
530
+ end
531
+
298
532
  # @note When making an API call, you may pass CreateMobileDeviceAccessRuleRequest
299
533
  # data as a hash:
300
534
  #
@@ -315,8 +549,7 @@ module Aws::WorkMail
315
549
  # }
316
550
  #
317
551
  # @!attribute [rw] organization_id
318
- # The Amazon WorkMail organization under which the rule will be
319
- # created.
552
+ # The WorkMail organization under which the rule will be created.
320
553
  # @return [String]
321
554
  #
322
555
  # @!attribute [rw] client_token
@@ -444,14 +677,14 @@ module Aws::WorkMail
444
677
  # @return [Array<Types::Domain>]
445
678
  #
446
679
  # @!attribute [rw] kms_key_arn
447
- # The Amazon Resource Name (ARN) of a customer managed master key from
448
- # AWS KMS.
680
+ # The Amazon Resource Name (ARN) of a customer managed key from AWS
681
+ # KMS.
449
682
  # @return [String]
450
683
  #
451
684
  # @!attribute [rw] enable_interoperability
452
- # When `true`, allows organization interoperability between Amazon
453
- # WorkMail and Microsoft Exchange. Can only be set to `true` if an AD
454
- # Connector directory ID is included in the request.
685
+ # When `true`, allows organization interoperability between WorkMail
686
+ # and Microsoft Exchange. If `true`, you must include a AD Connector
687
+ # directory ID in the request.
455
688
  # @return [Boolean]
456
689
  #
457
690
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateOrganizationRequest AWS API Documentation
@@ -662,6 +895,37 @@ module Aws::WorkMail
662
895
  #
663
896
  class DeleteAliasResponse < Aws::EmptyStructure; end
664
897
 
898
+ # @note When making an API call, you may pass DeleteAvailabilityConfigurationRequest
899
+ # data as a hash:
900
+ #
901
+ # {
902
+ # organization_id: "OrganizationId", # required
903
+ # domain_name: "DomainName", # required
904
+ # }
905
+ #
906
+ # @!attribute [rw] organization_id
907
+ # The WorkMail organization for which the `AvailabilityConfiguration`
908
+ # will be deleted.
909
+ # @return [String]
910
+ #
911
+ # @!attribute [rw] domain_name
912
+ # The domain for which the `AvailabilityConfiguration` will be
913
+ # deleted.
914
+ # @return [String]
915
+ #
916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAvailabilityConfigurationRequest AWS API Documentation
917
+ #
918
+ class DeleteAvailabilityConfigurationRequest < Struct.new(
919
+ :organization_id,
920
+ :domain_name)
921
+ SENSITIVE = []
922
+ include Aws::Structure
923
+ end
924
+
925
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAvailabilityConfigurationResponse AWS API Documentation
926
+ #
927
+ class DeleteAvailabilityConfigurationResponse < Aws::EmptyStructure; end
928
+
665
929
  # @note When making an API call, you may pass DeleteEmailMonitoringConfigurationRequest
666
930
  # data as a hash:
667
931
  #
@@ -715,6 +979,36 @@ module Aws::WorkMail
715
979
  #
716
980
  class DeleteGroupResponse < Aws::EmptyStructure; end
717
981
 
982
+ # @note When making an API call, you may pass DeleteImpersonationRoleRequest
983
+ # data as a hash:
984
+ #
985
+ # {
986
+ # organization_id: "OrganizationId", # required
987
+ # impersonation_role_id: "ImpersonationRoleId", # required
988
+ # }
989
+ #
990
+ # @!attribute [rw] organization_id
991
+ # The WorkMail organization from which to delete the impersonation
992
+ # role.
993
+ # @return [String]
994
+ #
995
+ # @!attribute [rw] impersonation_role_id
996
+ # The ID of the impersonation role to delete.
997
+ # @return [String]
998
+ #
999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteImpersonationRoleRequest AWS API Documentation
1000
+ #
1001
+ class DeleteImpersonationRoleRequest < Struct.new(
1002
+ :organization_id,
1003
+ :impersonation_role_id)
1004
+ SENSITIVE = []
1005
+ include Aws::Structure
1006
+ end
1007
+
1008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteImpersonationRoleResponse AWS API Documentation
1009
+ #
1010
+ class DeleteImpersonationRoleResponse < Aws::EmptyStructure; end
1011
+
718
1012
  # @note When making an API call, you may pass DeleteMailboxPermissionsRequest
719
1013
  # data as a hash:
720
1014
  #
@@ -762,8 +1056,8 @@ module Aws::WorkMail
762
1056
  # }
763
1057
  #
764
1058
  # @!attribute [rw] organization_id
765
- # The Amazon WorkMail organization for which the access override will
766
- # be deleted.
1059
+ # The WorkMail organization for which the access override will be
1060
+ # deleted.
767
1061
  # @return [String]
768
1062
  #
769
1063
  # @!attribute [rw] user_id
@@ -806,8 +1100,7 @@ module Aws::WorkMail
806
1100
  # }
807
1101
  #
808
1102
  # @!attribute [rw] organization_id
809
- # The Amazon WorkMail organization under which the rule will be
810
- # deleted.
1103
+ # The WorkMail organization under which the rule will be deleted.
811
1104
  # @return [String]
812
1105
  #
813
1106
  # @!attribute [rw] mobile_device_access_rule_id
@@ -976,8 +1269,8 @@ module Aws::WorkMail
976
1269
  # }
977
1270
  #
978
1271
  # @!attribute [rw] organization_id
979
- # The identifier for the organization under which the Amazon WorkMail
980
- # entity exists.
1272
+ # The identifier for the organization under which the WorkMail entity
1273
+ # exists.
981
1274
  # @return [String]
982
1275
  #
983
1276
  # @!attribute [rw] entity_id
@@ -1006,8 +1299,7 @@ module Aws::WorkMail
1006
1299
  # }
1007
1300
  #
1008
1301
  # @!attribute [rw] organization_id
1009
- # The Amazon WorkMail organization for which the domain will be
1010
- # deregistered.
1302
+ # The WorkMail organization for which the domain will be deregistered.
1011
1303
  # @return [String]
1012
1304
  #
1013
1305
  # @!attribute [rw] domain_name
@@ -1104,8 +1396,8 @@ module Aws::WorkMail
1104
1396
  # @return [String]
1105
1397
  #
1106
1398
  # @!attribute [rw] state
1107
- # The state of the user: enabled (registered to Amazon WorkMail) or
1108
- # disabled (deregistered or never registered to WorkMail).
1399
+ # The state of the user: enabled (registered to WorkMail) or disabled
1400
+ # (deregistered or never registered to WorkMail).
1109
1401
  # @return [String]
1110
1402
  #
1111
1403
  # @!attribute [rw] enabled_date
@@ -1291,7 +1583,7 @@ module Aws::WorkMail
1291
1583
  # @return [String]
1292
1584
  #
1293
1585
  # @!attribute [rw] directory_id
1294
- # The identifier for the directory associated with an Amazon WorkMail
1586
+ # The identifier for the directory associated with an WorkMail
1295
1587
  # organization.
1296
1588
  # @return [String]
1297
1589
  #
@@ -1380,7 +1672,7 @@ module Aws::WorkMail
1380
1672
  # @return [Types::BookingOptions]
1381
1673
  #
1382
1674
  # @!attribute [rw] state
1383
- # The state of the resource: enabled (registered to Amazon WorkMail),
1675
+ # The state of the resource: enabled (registered to WorkMail),
1384
1676
  # disabled (deregistered or never registered to WorkMail), or deleted.
1385
1677
  # @return [String]
1386
1678
  #
@@ -1451,28 +1743,28 @@ module Aws::WorkMail
1451
1743
  # @return [String]
1452
1744
  #
1453
1745
  # @!attribute [rw] state
1454
- # The state of a user: enabled (registered to Amazon WorkMail) or
1455
- # disabled (deregistered or never registered to WorkMail).
1746
+ # The state of a user: enabled (registered to WorkMail) or disabled
1747
+ # (deregistered or never registered to WorkMail).
1456
1748
  # @return [String]
1457
1749
  #
1458
1750
  # @!attribute [rw] user_role
1459
1751
  # In certain cases, other entities are modeled as users. If
1460
- # interoperability is enabled, resources are imported into Amazon
1461
- # WorkMail as users. Because different WorkMail organizations rely on
1462
- # different directory types, administrators can distinguish between an
1752
+ # interoperability is enabled, resources are imported into WorkMail as
1753
+ # users. Because different WorkMail organizations rely on different
1754
+ # directory types, administrators can distinguish between an
1463
1755
  # unregistered user (account is disabled and has a user role) and the
1464
1756
  # directory administrators. The values are USER, RESOURCE, and
1465
1757
  # SYSTEM\_USER.
1466
1758
  # @return [String]
1467
1759
  #
1468
1760
  # @!attribute [rw] enabled_date
1469
- # The date and time at which the user was enabled for Amazon WorkMail
1470
- # usage, in UNIX epoch time format.
1761
+ # The date and time at which the user was enabled for WorkMailusage,
1762
+ # in UNIX epoch time format.
1471
1763
  # @return [Time]
1472
1764
  #
1473
1765
  # @!attribute [rw] disabled_date
1474
- # The date and time at which the user was disabled for Amazon WorkMail
1475
- # usage, in UNIX epoch time format.
1766
+ # The date and time at which the user was disabled for WorkMail usage,
1767
+ # in UNIX epoch time format.
1476
1768
  # @return [Time]
1477
1769
  #
1478
1770
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeUserResponse AWS API Documentation
@@ -1629,12 +1921,12 @@ module Aws::WorkMail
1629
1921
  include Aws::Structure
1630
1922
  end
1631
1923
 
1632
- # The domain to associate with an Amazon WorkMail organization.
1924
+ # The domain to associate with an WorkMail organization.
1633
1925
  #
1634
1926
  # When you configure a domain hosted in Amazon Route 53 (Route 53), all
1635
1927
  # recommended DNS records are added to the organization when you create
1636
- # it. For more information, see [Adding a domain][1] in the *Amazon
1637
- # WorkMail Administrator Guide*.
1928
+ # it. For more information, see [Adding a domain][1] in the *WorkMail
1929
+ # Administrator Guide*.
1638
1930
  #
1639
1931
  #
1640
1932
  #
@@ -1722,6 +2014,40 @@ module Aws::WorkMail
1722
2014
  include Aws::Structure
1723
2015
  end
1724
2016
 
2017
+ # Describes an EWS based availability provider. This is only used as
2018
+ # input to the service.
2019
+ #
2020
+ # @note When making an API call, you may pass EwsAvailabilityProvider
2021
+ # data as a hash:
2022
+ #
2023
+ # {
2024
+ # ews_endpoint: "Url", # required
2025
+ # ews_username: "ExternalUserName", # required
2026
+ # ews_password: "Password", # required
2027
+ # }
2028
+ #
2029
+ # @!attribute [rw] ews_endpoint
2030
+ # The endpoint of the remote EWS server.
2031
+ # @return [String]
2032
+ #
2033
+ # @!attribute [rw] ews_username
2034
+ # The username used to authenticate the remote EWS server.
2035
+ # @return [String]
2036
+ #
2037
+ # @!attribute [rw] ews_password
2038
+ # The password used to authenticate the remote EWS server.
2039
+ # @return [String]
2040
+ #
2041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/EwsAvailabilityProvider AWS API Documentation
2042
+ #
2043
+ class EwsAvailabilityProvider < Struct.new(
2044
+ :ews_endpoint,
2045
+ :ews_username,
2046
+ :ews_password)
2047
+ SENSITIVE = [:ews_password]
2048
+ include Aws::Structure
2049
+ end
2050
+
1725
2051
  # The configuration applied to an organization's folders by its
1726
2052
  # retention policy.
1727
2053
  #
@@ -1765,7 +2091,8 @@ module Aws::WorkMail
1765
2091
  # organization_id: "OrganizationId", # required
1766
2092
  # ip_address: "IpAddress", # required
1767
2093
  # action: "AccessControlRuleAction", # required
1768
- # user_id: "WorkMailIdentifier", # required
2094
+ # user_id: "WorkMailIdentifier",
2095
+ # impersonation_role_id: "ImpersonationRoleId",
1769
2096
  # }
1770
2097
  #
1771
2098
  # @!attribute [rw] organization_id
@@ -1786,13 +2113,18 @@ module Aws::WorkMail
1786
2113
  # The user ID.
1787
2114
  # @return [String]
1788
2115
  #
2116
+ # @!attribute [rw] impersonation_role_id
2117
+ # The impersonation role ID.
2118
+ # @return [String]
2119
+ #
1789
2120
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetAccessControlEffectRequest AWS API Documentation
1790
2121
  #
1791
2122
  class GetAccessControlEffectRequest < Struct.new(
1792
2123
  :organization_id,
1793
2124
  :ip_address,
1794
2125
  :action,
1795
- :user_id)
2126
+ :user_id,
2127
+ :impersonation_role_id)
1796
2128
  SENSITIVE = []
1797
2129
  include Aws::Structure
1798
2130
  end
@@ -1860,6 +2192,138 @@ module Aws::WorkMail
1860
2192
  include Aws::Structure
1861
2193
  end
1862
2194
 
2195
+ # @note When making an API call, you may pass GetImpersonationRoleEffectRequest
2196
+ # data as a hash:
2197
+ #
2198
+ # {
2199
+ # organization_id: "OrganizationId", # required
2200
+ # impersonation_role_id: "ImpersonationRoleId", # required
2201
+ # target_user: "EntityIdentifier", # required
2202
+ # }
2203
+ #
2204
+ # @!attribute [rw] organization_id
2205
+ # The WorkMail organization where the impersonation role is defined.
2206
+ # @return [String]
2207
+ #
2208
+ # @!attribute [rw] impersonation_role_id
2209
+ # The impersonation role ID to test.
2210
+ # @return [String]
2211
+ #
2212
+ # @!attribute [rw] target_user
2213
+ # The WorkMail organization user chosen to test the impersonation
2214
+ # role. The following identity formats are available:
2215
+ #
2216
+ # * User ID: `12345678-1234-1234-1234-123456789012` or
2217
+ # `S-1-1-12-1234567890-123456789-123456789-1234`
2218
+ #
2219
+ # * Email address: `user@domain.tld`
2220
+ #
2221
+ # * User name: `user`
2222
+ # @return [String]
2223
+ #
2224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRoleEffectRequest AWS API Documentation
2225
+ #
2226
+ class GetImpersonationRoleEffectRequest < Struct.new(
2227
+ :organization_id,
2228
+ :impersonation_role_id,
2229
+ :target_user)
2230
+ SENSITIVE = []
2231
+ include Aws::Structure
2232
+ end
2233
+
2234
+ # @!attribute [rw] type
2235
+ # The impersonation role type.
2236
+ # @return [String]
2237
+ #
2238
+ # @!attribute [rw] effect
2239
+ # `Effect of the impersonation role on the target user based on its
2240
+ # rules. Available effects are ALLOW or DENY.</p>
2241
+ # `
2242
+ # @return [String]
2243
+ #
2244
+ # @!attribute [rw] matched_rules
2245
+ # A list of the rules that match the input and produce the configured
2246
+ # effect.
2247
+ # @return [Array<Types::ImpersonationMatchedRule>]
2248
+ #
2249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRoleEffectResponse AWS API Documentation
2250
+ #
2251
+ class GetImpersonationRoleEffectResponse < Struct.new(
2252
+ :type,
2253
+ :effect,
2254
+ :matched_rules)
2255
+ SENSITIVE = []
2256
+ include Aws::Structure
2257
+ end
2258
+
2259
+ # @note When making an API call, you may pass GetImpersonationRoleRequest
2260
+ # data as a hash:
2261
+ #
2262
+ # {
2263
+ # organization_id: "OrganizationId", # required
2264
+ # impersonation_role_id: "ImpersonationRoleId", # required
2265
+ # }
2266
+ #
2267
+ # @!attribute [rw] organization_id
2268
+ # The WorkMail organization from which to retrieve the impersonation
2269
+ # role.
2270
+ # @return [String]
2271
+ #
2272
+ # @!attribute [rw] impersonation_role_id
2273
+ # The impersonation role ID to retrieve.
2274
+ # @return [String]
2275
+ #
2276
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRoleRequest AWS API Documentation
2277
+ #
2278
+ class GetImpersonationRoleRequest < Struct.new(
2279
+ :organization_id,
2280
+ :impersonation_role_id)
2281
+ SENSITIVE = []
2282
+ include Aws::Structure
2283
+ end
2284
+
2285
+ # @!attribute [rw] impersonation_role_id
2286
+ # The impersonation role ID.
2287
+ # @return [String]
2288
+ #
2289
+ # @!attribute [rw] name
2290
+ # The impersonation role name.
2291
+ # @return [String]
2292
+ #
2293
+ # @!attribute [rw] type
2294
+ # The impersonation role type.
2295
+ # @return [String]
2296
+ #
2297
+ # @!attribute [rw] description
2298
+ # The impersonation role description.
2299
+ # @return [String]
2300
+ #
2301
+ # @!attribute [rw] rules
2302
+ # The list of rules for the given impersonation role.
2303
+ # @return [Array<Types::ImpersonationRule>]
2304
+ #
2305
+ # @!attribute [rw] date_created
2306
+ # The date when the impersonation role was created.
2307
+ # @return [Time]
2308
+ #
2309
+ # @!attribute [rw] date_modified
2310
+ # The date when the impersonation role was last modified.
2311
+ # @return [Time]
2312
+ #
2313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRoleResponse AWS API Documentation
2314
+ #
2315
+ class GetImpersonationRoleResponse < Struct.new(
2316
+ :impersonation_role_id,
2317
+ :name,
2318
+ :type,
2319
+ :description,
2320
+ :rules,
2321
+ :date_created,
2322
+ :date_modified)
2323
+ SENSITIVE = []
2324
+ include Aws::Structure
2325
+ end
2326
+
1863
2327
  # @note When making an API call, you may pass GetMailDomainRequest
1864
2328
  # data as a hash:
1865
2329
  #
@@ -1869,7 +2333,7 @@ module Aws::WorkMail
1869
2333
  # }
1870
2334
  #
1871
2335
  # @!attribute [rw] organization_id
1872
- # The Amazon WorkMail organization for which the domain is retrieved.
2336
+ # The WorkMail organization for which the domain is retrieved.
1873
2337
  # @return [String]
1874
2338
  #
1875
2339
  # @!attribute [rw] domain_name
@@ -1886,10 +2350,10 @@ module Aws::WorkMail
1886
2350
  end
1887
2351
 
1888
2352
  # @!attribute [rw] records
1889
- # A list of the DNS records that Amazon WorkMail recommends adding in
1890
- # your DNS provider for the best user experience. The records
1891
- # configure your domain with DMARC, SPF, DKIM, and direct incoming
1892
- # email traffic to SES. See admin guide for more details.
2353
+ # A list of the DNS records that WorkMail recommends adding in your
2354
+ # DNS provider for the best user experience. The records configure
2355
+ # your domain with DMARC, SPF, DKIM, and direct incoming email traffic
2356
+ # to SES. See admin guide for more details.
1893
2357
  # @return [Array<Types::DnsRecord>]
1894
2358
  #
1895
2359
  # @!attribute [rw] is_test_domain
@@ -1978,7 +2442,7 @@ module Aws::WorkMail
1978
2442
  # }
1979
2443
  #
1980
2444
  # @!attribute [rw] organization_id
1981
- # The Amazon WorkMail organization to simulate the access effect for.
2445
+ # The WorkMail organization to simulate the access effect for.
1982
2446
  # @return [String]
1983
2447
  #
1984
2448
  # @!attribute [rw] device_type
@@ -2011,8 +2475,8 @@ module Aws::WorkMail
2011
2475
 
2012
2476
  # @!attribute [rw] effect
2013
2477
  # The effect of the simulated access, `ALLOW` or `DENY`, after
2014
- # evaluating mobile device access rules in the Amazon WorkMail
2015
- # organization for the simulated user parameters.
2478
+ # evaluating mobile device access rules in the WorkMail organization
2479
+ # for the simulated user parameters.
2016
2480
  # @return [String]
2017
2481
  #
2018
2482
  # @!attribute [rw] matched_rules
@@ -2039,8 +2503,7 @@ module Aws::WorkMail
2039
2503
  # }
2040
2504
  #
2041
2505
  # @!attribute [rw] organization_id
2042
- # The Amazon WorkMail organization to which you want to apply the
2043
- # override.
2506
+ # The WorkMail organization to which you want to apply the override.
2044
2507
  # @return [String]
2045
2508
  #
2046
2509
  # @!attribute [rw] user_id
@@ -2078,72 +2541,175 @@ module Aws::WorkMail
2078
2541
  # The device to which the access override applies.
2079
2542
  # @return [String]
2080
2543
  #
2081
- # @!attribute [rw] effect
2082
- # The effect of the override, `ALLOW` or `DENY`.
2544
+ # @!attribute [rw] effect
2545
+ # The effect of the override, `ALLOW` or `DENY`.
2546
+ # @return [String]
2547
+ #
2548
+ # @!attribute [rw] description
2549
+ # A description of the override.
2550
+ # @return [String]
2551
+ #
2552
+ # @!attribute [rw] date_created
2553
+ # The date the override was first created.
2554
+ # @return [Time]
2555
+ #
2556
+ # @!attribute [rw] date_modified
2557
+ # The date the description was last modified.
2558
+ # @return [Time]
2559
+ #
2560
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMobileDeviceAccessOverrideResponse AWS API Documentation
2561
+ #
2562
+ class GetMobileDeviceAccessOverrideResponse < Struct.new(
2563
+ :user_id,
2564
+ :device_id,
2565
+ :effect,
2566
+ :description,
2567
+ :date_created,
2568
+ :date_modified)
2569
+ SENSITIVE = []
2570
+ include Aws::Structure
2571
+ end
2572
+
2573
+ # The representation of an WorkMail group.
2574
+ #
2575
+ # @!attribute [rw] id
2576
+ # The identifier of the group.
2577
+ # @return [String]
2578
+ #
2579
+ # @!attribute [rw] email
2580
+ # The email of the group.
2581
+ # @return [String]
2582
+ #
2583
+ # @!attribute [rw] name
2584
+ # The name of the group.
2585
+ # @return [String]
2586
+ #
2587
+ # @!attribute [rw] state
2588
+ # The state of the group, which can be ENABLED, DISABLED, or DELETED.
2589
+ # @return [String]
2590
+ #
2591
+ # @!attribute [rw] enabled_date
2592
+ # The date indicating when the group was enabled for WorkMail use.
2593
+ # @return [Time]
2594
+ #
2595
+ # @!attribute [rw] disabled_date
2596
+ # The date indicating when the group was disabled from WorkMail use.
2597
+ # @return [Time]
2598
+ #
2599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/Group AWS API Documentation
2600
+ #
2601
+ class Group < Struct.new(
2602
+ :id,
2603
+ :email,
2604
+ :name,
2605
+ :state,
2606
+ :enabled_date,
2607
+ :disabled_date)
2608
+ SENSITIVE = []
2609
+ include Aws::Structure
2610
+ end
2611
+
2612
+ # The impersonation rule that matched the input.
2613
+ #
2614
+ # @!attribute [rw] impersonation_rule_id
2615
+ # The ID of the rule that matched the input
2616
+ # @return [String]
2617
+ #
2618
+ # @!attribute [rw] name
2619
+ # The name of the rule that matched the input.
2620
+ # @return [String]
2621
+ #
2622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ImpersonationMatchedRule AWS API Documentation
2623
+ #
2624
+ class ImpersonationMatchedRule < Struct.new(
2625
+ :impersonation_rule_id,
2626
+ :name)
2627
+ SENSITIVE = []
2628
+ include Aws::Structure
2629
+ end
2630
+
2631
+ # An impersonation role for the given WorkMail organization.
2632
+ #
2633
+ # @!attribute [rw] impersonation_role_id
2634
+ # The identifier of the impersonation role.
2635
+ # @return [String]
2636
+ #
2637
+ # @!attribute [rw] name
2638
+ # The impersonation role name.
2083
2639
  # @return [String]
2084
2640
  #
2085
- # @!attribute [rw] description
2086
- # A description of the override.
2641
+ # @!attribute [rw] type
2642
+ # The impersonation role type.
2087
2643
  # @return [String]
2088
2644
  #
2089
2645
  # @!attribute [rw] date_created
2090
- # The date the override was first created.
2646
+ # The date when the impersonation role was created.
2091
2647
  # @return [Time]
2092
2648
  #
2093
2649
  # @!attribute [rw] date_modified
2094
- # The date the description was last modified.
2650
+ # The date when the impersonation role was last modified.
2095
2651
  # @return [Time]
2096
2652
  #
2097
- # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetMobileDeviceAccessOverrideResponse AWS API Documentation
2653
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ImpersonationRole AWS API Documentation
2098
2654
  #
2099
- class GetMobileDeviceAccessOverrideResponse < Struct.new(
2100
- :user_id,
2101
- :device_id,
2102
- :effect,
2103
- :description,
2655
+ class ImpersonationRole < Struct.new(
2656
+ :impersonation_role_id,
2657
+ :name,
2658
+ :type,
2104
2659
  :date_created,
2105
2660
  :date_modified)
2106
2661
  SENSITIVE = []
2107
2662
  include Aws::Structure
2108
2663
  end
2109
2664
 
2110
- # The representation of an Amazon WorkMail group.
2665
+ # The rules for the given impersonation role.
2111
2666
  #
2112
- # @!attribute [rw] id
2113
- # The identifier of the group.
2114
- # @return [String]
2667
+ # @note When making an API call, you may pass ImpersonationRule
2668
+ # data as a hash:
2115
2669
  #
2116
- # @!attribute [rw] email
2117
- # The email of the group.
2670
+ # {
2671
+ # impersonation_rule_id: "ImpersonationRuleId", # required
2672
+ # name: "ImpersonationRuleName",
2673
+ # description: "ImpersonationRuleDescription",
2674
+ # effect: "ALLOW", # required, accepts ALLOW, DENY
2675
+ # target_users: ["EntityIdentifier"],
2676
+ # not_target_users: ["EntityIdentifier"],
2677
+ # }
2678
+ #
2679
+ # @!attribute [rw] impersonation_rule_id
2680
+ # The identifier of the rule.
2118
2681
  # @return [String]
2119
2682
  #
2120
2683
  # @!attribute [rw] name
2121
- # The name of the group.
2684
+ # The rule name.
2122
2685
  # @return [String]
2123
2686
  #
2124
- # @!attribute [rw] state
2125
- # The state of the group, which can be ENABLED, DISABLED, or DELETED.
2687
+ # @!attribute [rw] description
2688
+ # The rule description.
2126
2689
  # @return [String]
2127
2690
  #
2128
- # @!attribute [rw] enabled_date
2129
- # The date indicating when the group was enabled for Amazon WorkMail
2130
- # use.
2131
- # @return [Time]
2691
+ # @!attribute [rw] effect
2692
+ # The effect of the rule when it matches the input. Allowed effect
2693
+ # values are `ALLOW` or `DENY`.
2694
+ # @return [String]
2132
2695
  #
2133
- # @!attribute [rw] disabled_date
2134
- # The date indicating when the group was disabled from Amazon WorkMail
2135
- # use.
2136
- # @return [Time]
2696
+ # @!attribute [rw] target_users
2697
+ # A list of user IDs that match the rule.
2698
+ # @return [Array<String>]
2137
2699
  #
2138
- # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/Group AWS API Documentation
2700
+ # @!attribute [rw] not_target_users
2701
+ # A list of user IDs that don't match the rule.
2702
+ # @return [Array<String>]
2139
2703
  #
2140
- class Group < Struct.new(
2141
- :id,
2142
- :email,
2704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ImpersonationRule AWS API Documentation
2705
+ #
2706
+ class ImpersonationRule < Struct.new(
2707
+ :impersonation_rule_id,
2143
2708
  :name,
2144
- :state,
2145
- :enabled_date,
2146
- :disabled_date)
2709
+ :description,
2710
+ :effect,
2711
+ :target_users,
2712
+ :not_target_users)
2147
2713
  SENSITIVE = []
2148
2714
  include Aws::Structure
2149
2715
  end
@@ -2163,9 +2729,9 @@ module Aws::WorkMail
2163
2729
  include Aws::Structure
2164
2730
  end
2165
2731
 
2166
- # You SES configuration has customizations that Amazon WorkMail cannot
2167
- # save. The error message lists the invalid setting. For examples of
2168
- # invalid settings, refer to [CreateReceiptRule][1].
2732
+ # You SES configuration has customizations that WorkMail cannot save.
2733
+ # The error message lists the invalid setting. For examples of invalid
2734
+ # settings, refer to [CreateReceiptRule][1].
2169
2735
  #
2170
2736
  #
2171
2737
  #
@@ -2210,6 +2776,28 @@ module Aws::WorkMail
2210
2776
  include Aws::Structure
2211
2777
  end
2212
2778
 
2779
+ # Describes a Lambda based availability provider.
2780
+ #
2781
+ # @note When making an API call, you may pass LambdaAvailabilityProvider
2782
+ # data as a hash:
2783
+ #
2784
+ # {
2785
+ # lambda_arn: "LambdaArn", # required
2786
+ # }
2787
+ #
2788
+ # @!attribute [rw] lambda_arn
2789
+ # The Amazon Resource Name (ARN) of the Lambda that acts as the
2790
+ # availability provider.
2791
+ # @return [String]
2792
+ #
2793
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/LambdaAvailabilityProvider AWS API Documentation
2794
+ #
2795
+ class LambdaAvailabilityProvider < Struct.new(
2796
+ :lambda_arn)
2797
+ SENSITIVE = []
2798
+ include Aws::Structure
2799
+ end
2800
+
2213
2801
  # The request exceeds the limit of the resource.
2214
2802
  #
2215
2803
  # @!attribute [rw] message
@@ -2310,6 +2898,58 @@ module Aws::WorkMail
2310
2898
  include Aws::Structure
2311
2899
  end
2312
2900
 
2901
+ # @note When making an API call, you may pass ListAvailabilityConfigurationsRequest
2902
+ # data as a hash:
2903
+ #
2904
+ # {
2905
+ # organization_id: "OrganizationId", # required
2906
+ # max_results: 1,
2907
+ # next_token: "NextToken",
2908
+ # }
2909
+ #
2910
+ # @!attribute [rw] organization_id
2911
+ # The WorkMail organization for which the
2912
+ # `AvailabilityConfiguration`'s will be listed.
2913
+ # @return [String]
2914
+ #
2915
+ # @!attribute [rw] max_results
2916
+ # The maximum number of results to return in a single call.
2917
+ # @return [Integer]
2918
+ #
2919
+ # @!attribute [rw] next_token
2920
+ # The token to use to retrieve the next page of results. The first
2921
+ # call does not require a token.
2922
+ # @return [String]
2923
+ #
2924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAvailabilityConfigurationsRequest AWS API Documentation
2925
+ #
2926
+ class ListAvailabilityConfigurationsRequest < Struct.new(
2927
+ :organization_id,
2928
+ :max_results,
2929
+ :next_token)
2930
+ SENSITIVE = []
2931
+ include Aws::Structure
2932
+ end
2933
+
2934
+ # @!attribute [rw] availability_configurations
2935
+ # The list of `AvailabilityConfiguration`'s that exist for the
2936
+ # specified WorkMail organization.
2937
+ # @return [Array<Types::AvailabilityConfiguration>]
2938
+ #
2939
+ # @!attribute [rw] next_token
2940
+ # The token to use to retrieve the next page of results. The value is
2941
+ # `null` when there are no further results to return.
2942
+ # @return [String]
2943
+ #
2944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAvailabilityConfigurationsResponse AWS API Documentation
2945
+ #
2946
+ class ListAvailabilityConfigurationsResponse < Struct.new(
2947
+ :availability_configurations,
2948
+ :next_token)
2949
+ SENSITIVE = []
2950
+ include Aws::Structure
2951
+ end
2952
+
2313
2953
  # @note When making an API call, you may pass ListGroupMembersRequest
2314
2954
  # data as a hash:
2315
2955
  #
@@ -2417,6 +3057,58 @@ module Aws::WorkMail
2417
3057
  include Aws::Structure
2418
3058
  end
2419
3059
 
3060
+ # @note When making an API call, you may pass ListImpersonationRolesRequest
3061
+ # data as a hash:
3062
+ #
3063
+ # {
3064
+ # organization_id: "OrganizationId", # required
3065
+ # next_token: "NextToken",
3066
+ # max_results: 1,
3067
+ # }
3068
+ #
3069
+ # @!attribute [rw] organization_id
3070
+ # The WorkMail organization to which the listed impersonation roles
3071
+ # belong.
3072
+ # @return [String]
3073
+ #
3074
+ # @!attribute [rw] next_token
3075
+ # The token used to retrieve the next page of results. The first call
3076
+ # doesn't require a token.
3077
+ # @return [String]
3078
+ #
3079
+ # @!attribute [rw] max_results
3080
+ # The maximum number of results returned in a single call.
3081
+ # @return [Integer]
3082
+ #
3083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListImpersonationRolesRequest AWS API Documentation
3084
+ #
3085
+ class ListImpersonationRolesRequest < Struct.new(
3086
+ :organization_id,
3087
+ :next_token,
3088
+ :max_results)
3089
+ SENSITIVE = []
3090
+ include Aws::Structure
3091
+ end
3092
+
3093
+ # @!attribute [rw] roles
3094
+ # The list of impersonation roles under the given WorkMail
3095
+ # organization.
3096
+ # @return [Array<Types::ImpersonationRole>]
3097
+ #
3098
+ # @!attribute [rw] next_token
3099
+ # The token to retrieve the next page of results. The value is `null`
3100
+ # when there are no results to return.
3101
+ # @return [String]
3102
+ #
3103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListImpersonationRolesResponse AWS API Documentation
3104
+ #
3105
+ class ListImpersonationRolesResponse < Struct.new(
3106
+ :roles,
3107
+ :next_token)
3108
+ SENSITIVE = []
3109
+ include Aws::Structure
3110
+ end
3111
+
2420
3112
  # @note When making an API call, you may pass ListMailDomainsRequest
2421
3113
  # data as a hash:
2422
3114
  #
@@ -2427,7 +3119,7 @@ module Aws::WorkMail
2427
3119
  # }
2428
3120
  #
2429
3121
  # @!attribute [rw] organization_id
2430
- # The Amazon WorkMail organization for which to list domains.
3122
+ # The WorkMail organization for which to list domains.
2431
3123
  # @return [String]
2432
3124
  #
2433
3125
  # @!attribute [rw] max_results
@@ -2451,8 +3143,8 @@ module Aws::WorkMail
2451
3143
 
2452
3144
  # @!attribute [rw] mail_domains
2453
3145
  # The list of mail domain summaries, specifying domains that exist in
2454
- # the specified Amazon WorkMail organization, along with the
2455
- # information about whether the domain is or isn't the default.
3146
+ # the specified WorkMail organization, along with the information
3147
+ # about whether the domain is or isn't the default.
2456
3148
  # @return [Array<Types::MailDomainSummary>]
2457
3149
  #
2458
3150
  # @!attribute [rw] next_token
@@ -2587,8 +3279,8 @@ module Aws::WorkMail
2587
3279
  # }
2588
3280
  #
2589
3281
  # @!attribute [rw] organization_id
2590
- # The Amazon WorkMail organization under which to list mobile device
2591
- # access overrides.
3282
+ # The WorkMail organization under which to list mobile device access
3283
+ # overrides.
2592
3284
  # @return [String]
2593
3285
  #
2594
3286
  # @!attribute [rw] user_id
@@ -2630,7 +3322,7 @@ module Aws::WorkMail
2630
3322
 
2631
3323
  # @!attribute [rw] overrides
2632
3324
  # The list of mobile device access overrides that exist for the
2633
- # specified Amazon WorkMail organization and user.
3325
+ # specified WorkMail organization and user.
2634
3326
  # @return [Array<Types::MobileDeviceAccessOverride>]
2635
3327
  #
2636
3328
  # @!attribute [rw] next_token
@@ -2655,7 +3347,7 @@ module Aws::WorkMail
2655
3347
  # }
2656
3348
  #
2657
3349
  # @!attribute [rw] organization_id
2658
- # The Amazon WorkMail organization for which to list the rules.
3350
+ # The WorkMail organization for which to list the rules.
2659
3351
  # @return [String]
2660
3352
  #
2661
3353
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMobileDeviceAccessRulesRequest AWS API Documentation
@@ -2668,7 +3360,7 @@ module Aws::WorkMail
2668
3360
 
2669
3361
  # @!attribute [rw] rules
2670
3362
  # The list of mobile device access rules that exist under the
2671
- # specified Amazon WorkMail organization.
3363
+ # specified WorkMail organization.
2672
3364
  # @return [Array<Types::MobileDeviceAccessRule>]
2673
3365
  #
2674
3366
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListMobileDeviceAccessRulesResponse AWS API Documentation
@@ -3051,13 +3743,11 @@ module Aws::WorkMail
3051
3743
  # @return [String]
3052
3744
  #
3053
3745
  # @!attribute [rw] enabled_date
3054
- # The date indicating when the member was enabled for Amazon WorkMail
3055
- # use.
3746
+ # The date indicating when the member was enabled for WorkMail use.
3056
3747
  # @return [Time]
3057
3748
  #
3058
3749
  # @!attribute [rw] disabled_date
3059
- # The date indicating when the member was disabled from Amazon
3060
- # WorkMail use.
3750
+ # The date indicating when the member was disabled from WorkMail use.
3061
3751
  # @return [Time]
3062
3752
  #
3063
3753
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/Member AWS API Documentation
@@ -3131,8 +3821,7 @@ module Aws::WorkMail
3131
3821
  include Aws::Structure
3132
3822
  end
3133
3823
 
3134
- # A rule that controls access to mobile devices for an Amazon WorkMail
3135
- # group.
3824
+ # A rule that controls access to mobile devices for an WorkMail group.
3136
3825
  #
3137
3826
  # @!attribute [rw] mobile_device_access_rule_id
3138
3827
  # The ID assigned to a mobile access rule.
@@ -3216,7 +3905,7 @@ module Aws::WorkMail
3216
3905
  include Aws::Structure
3217
3906
  end
3218
3907
 
3219
- # The user, group, or resource name isn't unique in Amazon WorkMail.
3908
+ # The user, group, or resource name isn't unique in WorkMail.
3220
3909
  #
3221
3910
  # @!attribute [rw] message
3222
3911
  # @return [String]
@@ -3340,6 +4029,8 @@ module Aws::WorkMail
3340
4029
  # user_ids: ["WorkMailIdentifier"],
3341
4030
  # not_user_ids: ["WorkMailIdentifier"],
3342
4031
  # organization_id: "OrganizationId", # required
4032
+ # impersonation_role_ids: ["ImpersonationRoleId"],
4033
+ # not_impersonation_role_ids: ["ImpersonationRoleId"],
3343
4034
  # }
3344
4035
  #
3345
4036
  # @!attribute [rw] name
@@ -3386,6 +4077,14 @@ module Aws::WorkMail
3386
4077
  # The identifier of the organization.
3387
4078
  # @return [String]
3388
4079
  #
4080
+ # @!attribute [rw] impersonation_role_ids
4081
+ # Impersonation role IDs to include in the rule.
4082
+ # @return [Array<String>]
4083
+ #
4084
+ # @!attribute [rw] not_impersonation_role_ids
4085
+ # Impersonation role IDs to exclude from the rule.
4086
+ # @return [Array<String>]
4087
+ #
3389
4088
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutAccessControlRuleRequest AWS API Documentation
3390
4089
  #
3391
4090
  class PutAccessControlRuleRequest < Struct.new(
@@ -3398,7 +4097,9 @@ module Aws::WorkMail
3398
4097
  :not_actions,
3399
4098
  :user_ids,
3400
4099
  :not_user_ids,
3401
- :organization_id)
4100
+ :organization_id,
4101
+ :impersonation_role_ids,
4102
+ :not_impersonation_role_ids)
3402
4103
  SENSITIVE = []
3403
4104
  include Aws::Structure
3404
4105
  end
@@ -3537,7 +4238,7 @@ module Aws::WorkMail
3537
4238
  # }
3538
4239
  #
3539
4240
  # @!attribute [rw] organization_id
3540
- # Identifies the Amazon WorkMail organization for which you create the
4241
+ # Identifies the WorkMail organization for which you create the
3541
4242
  # override.
3542
4243
  # @return [String]
3543
4244
  #
@@ -3635,6 +4336,26 @@ module Aws::WorkMail
3635
4336
  #
3636
4337
  class PutRetentionPolicyResponse < Aws::EmptyStructure; end
3637
4338
 
4339
+ # Describes an EWS based availability provider when returned from the
4340
+ # service. It does not contain the password of the endpoint.
4341
+ #
4342
+ # @!attribute [rw] ews_endpoint
4343
+ # The endpoint of the remote EWS server.
4344
+ # @return [String]
4345
+ #
4346
+ # @!attribute [rw] ews_username
4347
+ # The username used to authenticate the remote EWS server.
4348
+ # @return [String]
4349
+ #
4350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/RedactedEwsAvailabilityProvider AWS API Documentation
4351
+ #
4352
+ class RedactedEwsAvailabilityProvider < Struct.new(
4353
+ :ews_endpoint,
4354
+ :ews_username)
4355
+ SENSITIVE = []
4356
+ include Aws::Structure
4357
+ end
4358
+
3638
4359
  # @note When making an API call, you may pass RegisterMailDomainRequest
3639
4360
  # data as a hash:
3640
4361
  #
@@ -3652,12 +4373,11 @@ module Aws::WorkMail
3652
4373
  # @return [String]
3653
4374
  #
3654
4375
  # @!attribute [rw] organization_id
3655
- # The Amazon WorkMail organization under which you're creating the
3656
- # domain.
4376
+ # The WorkMail organization under which you're creating the domain.
3657
4377
  # @return [String]
3658
4378
  #
3659
4379
  # @!attribute [rw] domain_name
3660
- # The name of the mail domain to create in Amazon WorkMail and SES.
4380
+ # The name of the mail domain to create in WorkMail and SES.
3661
4381
  # @return [String]
3662
4382
  #
3663
4383
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/RegisterMailDomainRequest AWS API Documentation
@@ -3710,7 +4430,7 @@ module Aws::WorkMail
3710
4430
  #
3711
4431
  class RegisterToWorkMailResponse < Aws::EmptyStructure; end
3712
4432
 
3713
- # This user, group, or resource name is not allowed in Amazon WorkMail.
4433
+ # This user, group, or resource name is not allowed in WorkMail.
3714
4434
  #
3715
4435
  # @!attribute [rw] message
3716
4436
  # @return [String]
@@ -3783,13 +4503,12 @@ module Aws::WorkMail
3783
4503
  # @return [String]
3784
4504
  #
3785
4505
  # @!attribute [rw] enabled_date
3786
- # The date indicating when the resource was enabled for Amazon
3787
- # WorkMail use.
4506
+ # The date indicating when the resource was enabled for WorkMail use.
3788
4507
  # @return [Time]
3789
4508
  #
3790
4509
  # @!attribute [rw] disabled_date
3791
- # The date indicating when the resource was disabled from Amazon
3792
- # WorkMail use.
4510
+ # The date indicating when the resource was disabled from WorkMail
4511
+ # use.
3793
4512
  # @return [Time]
3794
4513
  #
3795
4514
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/Resource AWS API Documentation
@@ -3958,6 +4677,71 @@ module Aws::WorkMail
3958
4677
  #
3959
4678
  class TagResourceResponse < Aws::EmptyStructure; end
3960
4679
 
4680
+ # @note When making an API call, you may pass TestAvailabilityConfigurationRequest
4681
+ # data as a hash:
4682
+ #
4683
+ # {
4684
+ # organization_id: "OrganizationId", # required
4685
+ # domain_name: "DomainName",
4686
+ # ews_provider: {
4687
+ # ews_endpoint: "Url", # required
4688
+ # ews_username: "ExternalUserName", # required
4689
+ # ews_password: "Password", # required
4690
+ # },
4691
+ # lambda_provider: {
4692
+ # lambda_arn: "LambdaArn", # required
4693
+ # },
4694
+ # }
4695
+ #
4696
+ # @!attribute [rw] organization_id
4697
+ # The WorkMail organization where the availability provider will be
4698
+ # tested.
4699
+ # @return [String]
4700
+ #
4701
+ # @!attribute [rw] domain_name
4702
+ # The domain to which the provider applies. If this field is provided,
4703
+ # a stored availability provider associated to this domain name will
4704
+ # be tested.
4705
+ # @return [String]
4706
+ #
4707
+ # @!attribute [rw] ews_provider
4708
+ # Describes an EWS based availability provider. This is only used as
4709
+ # input to the service.
4710
+ # @return [Types::EwsAvailabilityProvider]
4711
+ #
4712
+ # @!attribute [rw] lambda_provider
4713
+ # Describes a Lambda based availability provider.
4714
+ # @return [Types::LambdaAvailabilityProvider]
4715
+ #
4716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/TestAvailabilityConfigurationRequest AWS API Documentation
4717
+ #
4718
+ class TestAvailabilityConfigurationRequest < Struct.new(
4719
+ :organization_id,
4720
+ :domain_name,
4721
+ :ews_provider,
4722
+ :lambda_provider)
4723
+ SENSITIVE = []
4724
+ include Aws::Structure
4725
+ end
4726
+
4727
+ # @!attribute [rw] test_passed
4728
+ # Boolean indicating whether the test passed or failed.
4729
+ # @return [Boolean]
4730
+ #
4731
+ # @!attribute [rw] failure_reason
4732
+ # String containing the reason for a failed test if `TestPassed` is
4733
+ # false.
4734
+ # @return [String]
4735
+ #
4736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/TestAvailabilityConfigurationResponse AWS API Documentation
4737
+ #
4738
+ class TestAvailabilityConfigurationResponse < Struct.new(
4739
+ :test_passed,
4740
+ :failure_reason)
4741
+ SENSITIVE = []
4742
+ include Aws::Structure
4743
+ end
4744
+
3961
4745
  # The resource can have up to 50 user-applied tags.
3962
4746
  #
3963
4747
  # @!attribute [rw] message
@@ -4013,6 +4797,61 @@ module Aws::WorkMail
4013
4797
  #
4014
4798
  class UntagResourceResponse < Aws::EmptyStructure; end
4015
4799
 
4800
+ # @note When making an API call, you may pass UpdateAvailabilityConfigurationRequest
4801
+ # data as a hash:
4802
+ #
4803
+ # {
4804
+ # organization_id: "OrganizationId", # required
4805
+ # domain_name: "DomainName", # required
4806
+ # ews_provider: {
4807
+ # ews_endpoint: "Url", # required
4808
+ # ews_username: "ExternalUserName", # required
4809
+ # ews_password: "Password", # required
4810
+ # },
4811
+ # lambda_provider: {
4812
+ # lambda_arn: "LambdaArn", # required
4813
+ # },
4814
+ # }
4815
+ #
4816
+ # @!attribute [rw] organization_id
4817
+ # The WorkMail organization for which the `AvailabilityConfiguration`
4818
+ # will be updated.
4819
+ # @return [String]
4820
+ #
4821
+ # @!attribute [rw] domain_name
4822
+ # The domain to which the provider applies the availability
4823
+ # configuration.
4824
+ # @return [String]
4825
+ #
4826
+ # @!attribute [rw] ews_provider
4827
+ # The EWS availability provider definition. The request must contain
4828
+ # exactly one provider definition, either `EwsProvider` or
4829
+ # `LambdaProvider`. The previously stored provider will be overridden
4830
+ # by the one provided.
4831
+ # @return [Types::EwsAvailabilityProvider]
4832
+ #
4833
+ # @!attribute [rw] lambda_provider
4834
+ # The Lambda availability provider definition. The request must
4835
+ # contain exactly one provider definition, either `EwsProvider` or
4836
+ # `LambdaProvider`. The previously stored provider will be overridden
4837
+ # by the one provided.
4838
+ # @return [Types::LambdaAvailabilityProvider]
4839
+ #
4840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateAvailabilityConfigurationRequest AWS API Documentation
4841
+ #
4842
+ class UpdateAvailabilityConfigurationRequest < Struct.new(
4843
+ :organization_id,
4844
+ :domain_name,
4845
+ :ews_provider,
4846
+ :lambda_provider)
4847
+ SENSITIVE = []
4848
+ include Aws::Structure
4849
+ end
4850
+
4851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateAvailabilityConfigurationResponse AWS API Documentation
4852
+ #
4853
+ class UpdateAvailabilityConfigurationResponse < Aws::EmptyStructure; end
4854
+
4016
4855
  # @note When making an API call, you may pass UpdateDefaultMailDomainRequest
4017
4856
  # data as a hash:
4018
4857
  #
@@ -4022,7 +4861,7 @@ module Aws::WorkMail
4022
4861
  # }
4023
4862
  #
4024
4863
  # @!attribute [rw] organization_id
4025
- # The Amazon WorkMail organization for which to list domains.
4864
+ # The WorkMail organization for which to list domains.
4026
4865
  # @return [String]
4027
4866
  #
4028
4867
  # @!attribute [rw] domain_name
@@ -4042,6 +4881,69 @@ module Aws::WorkMail
4042
4881
  #
4043
4882
  class UpdateDefaultMailDomainResponse < Aws::EmptyStructure; end
4044
4883
 
4884
+ # @note When making an API call, you may pass UpdateImpersonationRoleRequest
4885
+ # data as a hash:
4886
+ #
4887
+ # {
4888
+ # organization_id: "OrganizationId", # required
4889
+ # impersonation_role_id: "ImpersonationRoleId", # required
4890
+ # name: "ImpersonationRoleName", # required
4891
+ # type: "FULL_ACCESS", # required, accepts FULL_ACCESS, READ_ONLY
4892
+ # description: "ImpersonationRoleDescription",
4893
+ # rules: [ # required
4894
+ # {
4895
+ # impersonation_rule_id: "ImpersonationRuleId", # required
4896
+ # name: "ImpersonationRuleName",
4897
+ # description: "ImpersonationRuleDescription",
4898
+ # effect: "ALLOW", # required, accepts ALLOW, DENY
4899
+ # target_users: ["EntityIdentifier"],
4900
+ # not_target_users: ["EntityIdentifier"],
4901
+ # },
4902
+ # ],
4903
+ # }
4904
+ #
4905
+ # @!attribute [rw] organization_id
4906
+ # The WorkMail organization that contains the impersonation role to
4907
+ # update.
4908
+ # @return [String]
4909
+ #
4910
+ # @!attribute [rw] impersonation_role_id
4911
+ # The ID of the impersonation role to update.
4912
+ # @return [String]
4913
+ #
4914
+ # @!attribute [rw] name
4915
+ # The updated impersonation role name.
4916
+ # @return [String]
4917
+ #
4918
+ # @!attribute [rw] type
4919
+ # The updated impersonation role type.
4920
+ # @return [String]
4921
+ #
4922
+ # @!attribute [rw] description
4923
+ # The updated impersonation role description.
4924
+ # @return [String]
4925
+ #
4926
+ # @!attribute [rw] rules
4927
+ # The updated list of rules.
4928
+ # @return [Array<Types::ImpersonationRule>]
4929
+ #
4930
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateImpersonationRoleRequest AWS API Documentation
4931
+ #
4932
+ class UpdateImpersonationRoleRequest < Struct.new(
4933
+ :organization_id,
4934
+ :impersonation_role_id,
4935
+ :name,
4936
+ :type,
4937
+ :description,
4938
+ :rules)
4939
+ SENSITIVE = []
4940
+ include Aws::Structure
4941
+ end
4942
+
4943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateImpersonationRoleResponse AWS API Documentation
4944
+ #
4945
+ class UpdateImpersonationRoleResponse < Aws::EmptyStructure; end
4946
+
4045
4947
  # @note When making an API call, you may pass UpdateMailboxQuotaRequest
4046
4948
  # data as a hash:
4047
4949
  #
@@ -4098,8 +5000,7 @@ module Aws::WorkMail
4098
5000
  # }
4099
5001
  #
4100
5002
  # @!attribute [rw] organization_id
4101
- # The Amazon WorkMail organization under which the rule will be
4102
- # updated.
5003
+ # The WorkMail organization under which the rule will be updated.
4103
5004
  # @return [String]
4104
5005
  #
4105
5006
  # @!attribute [rw] mobile_device_access_rule_id
@@ -4261,7 +5162,7 @@ module Aws::WorkMail
4261
5162
  #
4262
5163
  class UpdateResourceResponse < Aws::EmptyStructure; end
4263
5164
 
4264
- # The representation of an Amazon WorkMail user.
5165
+ # The representation of an WorkMail user.
4265
5166
  #
4266
5167
  # @!attribute [rw] id
4267
5168
  # The identifier of the user.
@@ -4288,13 +5189,11 @@ module Aws::WorkMail
4288
5189
  # @return [String]
4289
5190
  #
4290
5191
  # @!attribute [rw] enabled_date
4291
- # The date indicating when the user was enabled for Amazon WorkMail
4292
- # use.
5192
+ # The date indicating when the user was enabled for WorkMail use.
4293
5193
  # @return [Time]
4294
5194
  #
4295
5195
  # @!attribute [rw] disabled_date
4296
- # The date indicating when the user was disabled from Amazon WorkMail
4297
- # use.
5196
+ # The date indicating when the user was disabled from WorkMail use.
4298
5197
  # @return [Time]
4299
5198
  #
4300
5199
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/User AWS API Documentation