aws-sdk-workmail 1.49.0 → 1.51.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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