aws-sdk-workmail 1.50.0 → 1.51.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -421,6 +421,43 @@ module Aws::WorkMail
421
421
  req.send_request(options)
422
422
  end
423
423
 
424
+ # Assumes an impersonation role for the given WorkMail organization.
425
+ # This method returns an authentication token you can use to make
426
+ # impersonated calls.
427
+ #
428
+ # @option params [required, String] :organization_id
429
+ # The WorkMail organization under which the impersonation role will be
430
+ # assumed.
431
+ #
432
+ # @option params [required, String] :impersonation_role_id
433
+ # The impersonation role ID to assume.
434
+ #
435
+ # @return [Types::AssumeImpersonationRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
436
+ #
437
+ # * {Types::AssumeImpersonationRoleResponse#token #token} => String
438
+ # * {Types::AssumeImpersonationRoleResponse#expires_in #expires_in} => Integer
439
+ #
440
+ # @example Request syntax with placeholder values
441
+ #
442
+ # resp = client.assume_impersonation_role({
443
+ # organization_id: "OrganizationId", # required
444
+ # impersonation_role_id: "ImpersonationRoleId", # required
445
+ # })
446
+ #
447
+ # @example Response structure
448
+ #
449
+ # resp.token #=> String
450
+ # resp.expires_in #=> Integer
451
+ #
452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssumeImpersonationRole AWS API Documentation
453
+ #
454
+ # @overload assume_impersonation_role(params = {})
455
+ # @param [Hash] params ({})
456
+ def assume_impersonation_role(params = {}, options = {})
457
+ req = build_request(:assume_impersonation_role, params)
458
+ req.send_request(options)
459
+ end
460
+
424
461
  # Cancels a mailbox export job.
425
462
  #
426
463
  # <note markdown="1"> If the mailbox export job is near completion, it might not be possible
@@ -459,7 +496,7 @@ module Aws::WorkMail
459
496
  req.send_request(options)
460
497
  end
461
498
 
462
- # Adds an alias to the set of a given member (user or group) of Amazon
499
+ # Adds an alias to the set of a given member (user or group) of
463
500
  # WorkMail.
464
501
  #
465
502
  # @option params [required, String] :organization_id
@@ -501,8 +538,8 @@ module Aws::WorkMail
501
538
  # not need to pass this option.**
502
539
  #
503
540
  # @option params [required, String] :organization_id
504
- # The Amazon WorkMail organization for which the
505
- # `AvailabilityConfiguration` will be created.
541
+ # The WorkMail organization for which the `AvailabilityConfiguration`
542
+ # will be created.
506
543
  #
507
544
  # @option params [required, String] :domain_name
508
545
  # The domain to which the provider applies.
@@ -544,7 +581,7 @@ module Aws::WorkMail
544
581
  req.send_request(options)
545
582
  end
546
583
 
547
- # Creates a group that can be used in Amazon WorkMail by calling the
584
+ # Creates a group that can be used in WorkMail by calling the
548
585
  # RegisterToWorkMail operation.
549
586
  #
550
587
  # @option params [required, String] :organization_id
@@ -577,11 +614,77 @@ module Aws::WorkMail
577
614
  req.send_request(options)
578
615
  end
579
616
 
580
- # Creates a new mobile device access rule for the specified Amazon
581
- # WorkMail organization.
617
+ # Creates an impersonation role for the given WorkMail organization.
618
+ #
619
+ # *Idempotency* ensures that an API request completes no more than one
620
+ # time. With an idempotent request, if the original request completes
621
+ # successfully, any subsequent retries also complete successfully
622
+ # without performing any further actions.
623
+ #
624
+ # @option params [String] :client_token
625
+ # The idempotency token for the client request.
626
+ #
627
+ # **A suitable default value is auto-generated.** You should normally
628
+ # not need to pass this option.**
582
629
  #
583
630
  # @option params [required, String] :organization_id
584
- # The Amazon WorkMail organization under which the rule will be created.
631
+ # The WorkMail organization to create the new impersonation role within.
632
+ #
633
+ # @option params [required, String] :name
634
+ # The name of the new impersonation role.
635
+ #
636
+ # @option params [required, String] :type
637
+ # The impersonation role's type. The available impersonation role types
638
+ # are `READ_ONLY` or `FULL_ACCESS`.
639
+ #
640
+ # @option params [String] :description
641
+ # The description of the new impersonation role.
642
+ #
643
+ # @option params [required, Array<Types::ImpersonationRule>] :rules
644
+ # The list of rules for the impersonation role.
645
+ #
646
+ # @return [Types::CreateImpersonationRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
647
+ #
648
+ # * {Types::CreateImpersonationRoleResponse#impersonation_role_id #impersonation_role_id} => String
649
+ #
650
+ # @example Request syntax with placeholder values
651
+ #
652
+ # resp = client.create_impersonation_role({
653
+ # client_token: "IdempotencyClientToken",
654
+ # organization_id: "OrganizationId", # required
655
+ # name: "ImpersonationRoleName", # required
656
+ # type: "FULL_ACCESS", # required, accepts FULL_ACCESS, READ_ONLY
657
+ # description: "ImpersonationRoleDescription",
658
+ # rules: [ # required
659
+ # {
660
+ # impersonation_rule_id: "ImpersonationRuleId", # required
661
+ # name: "ImpersonationRuleName",
662
+ # description: "ImpersonationRuleDescription",
663
+ # effect: "ALLOW", # required, accepts ALLOW, DENY
664
+ # target_users: ["EntityIdentifier"],
665
+ # not_target_users: ["EntityIdentifier"],
666
+ # },
667
+ # ],
668
+ # })
669
+ #
670
+ # @example Response structure
671
+ #
672
+ # resp.impersonation_role_id #=> String
673
+ #
674
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateImpersonationRole AWS API Documentation
675
+ #
676
+ # @overload create_impersonation_role(params = {})
677
+ # @param [Hash] params ({})
678
+ def create_impersonation_role(params = {}, options = {})
679
+ req = build_request(:create_impersonation_role, params)
680
+ req.send_request(options)
681
+ end
682
+
683
+ # Creates a new mobile device access rule for the specified WorkMail
684
+ # organization.
685
+ #
686
+ # @option params [required, String] :organization_id
687
+ # The WorkMail organization under which the rule will be created.
585
688
  #
586
689
  # @option params [String] :client_token
587
690
  # The idempotency token for the client request.
@@ -662,26 +765,25 @@ module Aws::WorkMail
662
765
  req.send_request(options)
663
766
  end
664
767
 
665
- # Creates a new Amazon WorkMail organization. Optionally, you can choose
666
- # to associate an existing AWS Directory Service directory with your
768
+ # Creates a new WorkMail organization. Optionally, you can choose to
769
+ # associate an existing AWS Directory Service directory with your
667
770
  # organization. If an AWS Directory Service directory ID is specified,
668
771
  # the organization alias must match the directory alias. If you choose
669
772
  # not to associate an existing directory with your organization, then we
670
- # create a new Amazon WorkMail directory for you. For more information,
671
- # see [Adding an organization][1] in the *Amazon WorkMail Administrator
672
- # Guide*.
773
+ # create a new WorkMail directory for you. For more information, see
774
+ # [Adding an organization][1] in the *WorkMail Administrator Guide*.
673
775
  #
674
776
  # You can associate multiple email domains with an organization, then
675
- # set your default email domain from the Amazon WorkMail console. You
676
- # can also associate a domain that is managed in an Amazon Route 53
677
- # public hosted zone. For more information, see [Adding a domain][2] and
678
- # [Choosing the default domain][3] in the *Amazon WorkMail Administrator
777
+ # choose your default email domain from the WorkMail console. You can
778
+ # also associate a domain that is managed in an Amazon Route 53 public
779
+ # hosted zone. For more information, see [Adding a domain][2] and
780
+ # [Choosing the default domain][3] in the *WorkMail Administrator
679
781
  # Guide*.
680
782
  #
681
- # Optionally, you can use a customer managed master key from AWS Key
682
- # Management Service (AWS KMS) to encrypt email for your organization.
683
- # If you don't associate an AWS KMS key, Amazon WorkMail creates a
684
- # default AWS managed master key for you.
783
+ # Optionally, you can use a customer managed key from AWS Key Management
784
+ # Service (AWS KMS) to encrypt email for your organization. If you
785
+ # don't associate an AWS KMS key, WorkMail creates a default, AWS
786
+ # managed key for you.
685
787
  #
686
788
  #
687
789
  #
@@ -705,13 +807,12 @@ module Aws::WorkMail
705
807
  # The email domains to associate with the organization.
706
808
  #
707
809
  # @option params [String] :kms_key_arn
708
- # The Amazon Resource Name (ARN) of a customer managed master key from
709
- # AWS KMS.
810
+ # The Amazon Resource Name (ARN) of a customer managed key from AWS KMS.
710
811
  #
711
812
  # @option params [Boolean] :enable_interoperability
712
- # When `true`, allows organization interoperability between Amazon
713
- # WorkMail and Microsoft Exchange. Can only be set to `true` if an AD
714
- # Connector directory ID is included in the request.
813
+ # When `true`, allows organization interoperability between WorkMail and
814
+ # Microsoft Exchange. If `true`, you must include a AD Connector
815
+ # directory ID in the request.
715
816
  #
716
817
  # @return [Types::CreateOrganizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
717
818
  #
@@ -746,7 +847,7 @@ module Aws::WorkMail
746
847
  req.send_request(options)
747
848
  end
748
849
 
749
- # Creates a new Amazon WorkMail resource.
850
+ # Creates a new WorkMail resource.
750
851
  #
751
852
  # @option params [required, String] :organization_id
752
853
  # The identifier associated with the organization for which the resource
@@ -784,7 +885,7 @@ module Aws::WorkMail
784
885
  req.send_request(options)
785
886
  end
786
887
 
787
- # Creates a user who can be used in Amazon WorkMail by calling the
888
+ # Creates a user who can be used in WorkMail by calling the
788
889
  # RegisterToWorkMail operation.
789
890
  #
790
891
  # @option params [required, String] :organization_id
@@ -897,8 +998,8 @@ module Aws::WorkMail
897
998
  # organization and domain.
898
999
  #
899
1000
  # @option params [required, String] :organization_id
900
- # The Amazon WorkMail organization for which the
901
- # `AvailabilityConfiguration` will be deleted.
1001
+ # The WorkMail organization for which the `AvailabilityConfiguration`
1002
+ # will be deleted.
902
1003
  #
903
1004
  # @option params [required, String] :domain_name
904
1005
  # The domain for which the `AvailabilityConfiguration` will be deleted.
@@ -945,7 +1046,7 @@ module Aws::WorkMail
945
1046
  req.send_request(options)
946
1047
  end
947
1048
 
948
- # Deletes a group from Amazon WorkMail.
1049
+ # Deletes a group from WorkMail.
949
1050
  #
950
1051
  # @option params [required, String] :organization_id
951
1052
  # The organization that contains the group.
@@ -971,6 +1072,32 @@ module Aws::WorkMail
971
1072
  req.send_request(options)
972
1073
  end
973
1074
 
1075
+ # Deletes an impersonation role for the given WorkMail organization.
1076
+ #
1077
+ # @option params [required, String] :organization_id
1078
+ # The WorkMail organization from which to delete the impersonation role.
1079
+ #
1080
+ # @option params [required, String] :impersonation_role_id
1081
+ # The ID of the impersonation role to delete.
1082
+ #
1083
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1084
+ #
1085
+ # @example Request syntax with placeholder values
1086
+ #
1087
+ # resp = client.delete_impersonation_role({
1088
+ # organization_id: "OrganizationId", # required
1089
+ # impersonation_role_id: "ImpersonationRoleId", # required
1090
+ # })
1091
+ #
1092
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteImpersonationRole AWS API Documentation
1093
+ #
1094
+ # @overload delete_impersonation_role(params = {})
1095
+ # @param [Hash] params ({})
1096
+ def delete_impersonation_role(params = {}, options = {})
1097
+ req = build_request(:delete_impersonation_role, params)
1098
+ req.send_request(options)
1099
+ end
1100
+
974
1101
  # Deletes permissions granted to a member (user or group).
975
1102
  #
976
1103
  # @option params [required, String] :organization_id
@@ -1013,7 +1140,7 @@ module Aws::WorkMail
1013
1140
  # </note>
1014
1141
  #
1015
1142
  # @option params [required, String] :organization_id
1016
- # The Amazon WorkMail organization for which the access override will be
1143
+ # The WorkMail organization for which the access override will be
1017
1144
  # deleted.
1018
1145
  #
1019
1146
  # @option params [required, String] :user_id
@@ -1050,7 +1177,7 @@ module Aws::WorkMail
1050
1177
  req.send_request(options)
1051
1178
  end
1052
1179
 
1053
- # Deletes a mobile device access rule for the specified Amazon WorkMail
1180
+ # Deletes a mobile device access rule for the specified WorkMail
1054
1181
  # organization.
1055
1182
  #
1056
1183
  # <note markdown="1"> Deleting already deleted and non-existing rules does not produce an
@@ -1060,7 +1187,7 @@ module Aws::WorkMail
1060
1187
  # </note>
1061
1188
  #
1062
1189
  # @option params [required, String] :organization_id
1063
- # The Amazon WorkMail organization under which the rule will be deleted.
1190
+ # The WorkMail organization under which the rule will be deleted.
1064
1191
  #
1065
1192
  # @option params [required, String] :mobile_device_access_rule_id
1066
1193
  # The identifier of the rule to be deleted.
@@ -1083,11 +1210,10 @@ module Aws::WorkMail
1083
1210
  req.send_request(options)
1084
1211
  end
1085
1212
 
1086
- # Deletes an Amazon WorkMail organization and all underlying AWS
1087
- # resources managed by Amazon WorkMail as part of the organization. You
1088
- # can choose whether to delete the associated directory. For more
1089
- # information, see [Removing an organization][1] in the *Amazon WorkMail
1090
- # Administrator Guide*.
1213
+ # Deletes an WorkMail organization and all underlying AWS resources
1214
+ # managed by WorkMail as part of the organization. You can choose
1215
+ # whether to delete the associated directory. For more information, see
1216
+ # [Removing an organization][1] in the *WorkMail Administrator Guide*.
1091
1217
  #
1092
1218
  #
1093
1219
  #
@@ -1187,8 +1313,8 @@ module Aws::WorkMail
1187
1313
  req.send_request(options)
1188
1314
  end
1189
1315
 
1190
- # Deletes a user from Amazon WorkMail and all subsequent systems. Before
1191
- # you can delete a user, the user state must be `DISABLED`. Use the
1316
+ # Deletes a user from WorkMail and all subsequent systems. Before you
1317
+ # can delete a user, the user state must be `DISABLED`. Use the
1192
1318
  # DescribeUser action to confirm the user state.
1193
1319
  #
1194
1320
  # Deleting a user is permanent and cannot be undone. WorkMail archives
@@ -1218,14 +1344,14 @@ module Aws::WorkMail
1218
1344
  req.send_request(options)
1219
1345
  end
1220
1346
 
1221
- # Mark a user, group, or resource as no longer used in Amazon WorkMail.
1222
- # This action disassociates the mailbox and schedules it for clean-up.
1347
+ # Mark a user, group, or resource as no longer used in WorkMail. This
1348
+ # action disassociates the mailbox and schedules it for clean-up.
1223
1349
  # WorkMail keeps mailboxes for 30 days before they are permanently
1224
1350
  # removed. The functionality in the console is *Disable*.
1225
1351
  #
1226
1352
  # @option params [required, String] :organization_id
1227
- # The identifier for the organization under which the Amazon WorkMail
1228
- # entity exists.
1353
+ # The identifier for the organization under which the WorkMail entity
1354
+ # exists.
1229
1355
  #
1230
1356
  # @option params [required, String] :entity_id
1231
1357
  # The identifier for the member (user or group) to be updated.
@@ -1248,15 +1374,13 @@ module Aws::WorkMail
1248
1374
  req.send_request(options)
1249
1375
  end
1250
1376
 
1251
- # Removes a domain from Amazon WorkMail, stops email routing to
1252
- # WorkMail, and removes the authorization allowing WorkMail use. SES
1253
- # keeps the domain because other applications may use it. You must first
1254
- # remove any email address used by WorkMail entities before you remove
1255
- # the domain.
1377
+ # Removes a domain from WorkMail, stops email routing to WorkMail, and
1378
+ # removes the authorization allowing WorkMail use. SES keeps the domain
1379
+ # because other applications may use it. You must first remove any email
1380
+ # address used by WorkMail entities before you remove the domain.
1256
1381
  #
1257
1382
  # @option params [required, String] :organization_id
1258
- # The Amazon WorkMail organization for which the domain will be
1259
- # deregistered.
1383
+ # The WorkMail organization for which the domain will be deregistered.
1260
1384
  #
1261
1385
  # @option params [required, String] :domain_name
1262
1386
  # The domain to deregister in WorkMail and SES.
@@ -1638,7 +1762,10 @@ module Aws::WorkMail
1638
1762
  end
1639
1763
 
1640
1764
  # Gets the effects of an organization's access control rules as they
1641
- # apply to a specified IPv4 address, access protocol action, or user ID.
1765
+ # apply to a specified IPv4 address, access protocol action, and user ID
1766
+ # or impersonation role ID. You must provide either the user ID or
1767
+ # impersonation role ID. Impersonation role ID can only be used with
1768
+ # Action EWS.
1642
1769
  #
1643
1770
  # @option params [required, String] :organization_id
1644
1771
  # The identifier for the organization.
@@ -1651,9 +1778,12 @@ module Aws::WorkMail
1651
1778
  # `AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`, and
1652
1779
  # `WebMail`.
1653
1780
  #
1654
- # @option params [required, String] :user_id
1781
+ # @option params [String] :user_id
1655
1782
  # The user ID.
1656
1783
  #
1784
+ # @option params [String] :impersonation_role_id
1785
+ # The impersonation role ID.
1786
+ #
1657
1787
  # @return [Types::GetAccessControlEffectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1658
1788
  #
1659
1789
  # * {Types::GetAccessControlEffectResponse#effect #effect} => String
@@ -1665,7 +1795,8 @@ module Aws::WorkMail
1665
1795
  # organization_id: "OrganizationId", # required
1666
1796
  # ip_address: "IpAddress", # required
1667
1797
  # action: "AccessControlRuleAction", # required
1668
- # user_id: "WorkMailIdentifier", # required
1798
+ # user_id: "WorkMailIdentifier",
1799
+ # impersonation_role_id: "ImpersonationRoleId",
1669
1800
  # })
1670
1801
  #
1671
1802
  # @example Response structure
@@ -1721,11 +1852,116 @@ module Aws::WorkMail
1721
1852
  req.send_request(options)
1722
1853
  end
1723
1854
 
1855
+ # Gets the impersonation role details for the given WorkMail
1856
+ # organization.
1857
+ #
1858
+ # @option params [required, String] :organization_id
1859
+ # The WorkMail organization from which to retrieve the impersonation
1860
+ # role.
1861
+ #
1862
+ # @option params [required, String] :impersonation_role_id
1863
+ # The impersonation role ID to retrieve.
1864
+ #
1865
+ # @return [Types::GetImpersonationRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1866
+ #
1867
+ # * {Types::GetImpersonationRoleResponse#impersonation_role_id #impersonation_role_id} => String
1868
+ # * {Types::GetImpersonationRoleResponse#name #name} => String
1869
+ # * {Types::GetImpersonationRoleResponse#type #type} => String
1870
+ # * {Types::GetImpersonationRoleResponse#description #description} => String
1871
+ # * {Types::GetImpersonationRoleResponse#rules #rules} => Array&lt;Types::ImpersonationRule&gt;
1872
+ # * {Types::GetImpersonationRoleResponse#date_created #date_created} => Time
1873
+ # * {Types::GetImpersonationRoleResponse#date_modified #date_modified} => Time
1874
+ #
1875
+ # @example Request syntax with placeholder values
1876
+ #
1877
+ # resp = client.get_impersonation_role({
1878
+ # organization_id: "OrganizationId", # required
1879
+ # impersonation_role_id: "ImpersonationRoleId", # required
1880
+ # })
1881
+ #
1882
+ # @example Response structure
1883
+ #
1884
+ # resp.impersonation_role_id #=> String
1885
+ # resp.name #=> String
1886
+ # resp.type #=> String, one of "FULL_ACCESS", "READ_ONLY"
1887
+ # resp.description #=> String
1888
+ # resp.rules #=> Array
1889
+ # resp.rules[0].impersonation_rule_id #=> String
1890
+ # resp.rules[0].name #=> String
1891
+ # resp.rules[0].description #=> String
1892
+ # resp.rules[0].effect #=> String, one of "ALLOW", "DENY"
1893
+ # resp.rules[0].target_users #=> Array
1894
+ # resp.rules[0].target_users[0] #=> String
1895
+ # resp.rules[0].not_target_users #=> Array
1896
+ # resp.rules[0].not_target_users[0] #=> String
1897
+ # resp.date_created #=> Time
1898
+ # resp.date_modified #=> Time
1899
+ #
1900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRole AWS API Documentation
1901
+ #
1902
+ # @overload get_impersonation_role(params = {})
1903
+ # @param [Hash] params ({})
1904
+ def get_impersonation_role(params = {}, options = {})
1905
+ req = build_request(:get_impersonation_role, params)
1906
+ req.send_request(options)
1907
+ end
1908
+
1909
+ # Tests whether the given impersonation role can impersonate a target
1910
+ # user.
1911
+ #
1912
+ # @option params [required, String] :organization_id
1913
+ # The WorkMail organization where the impersonation role is defined.
1914
+ #
1915
+ # @option params [required, String] :impersonation_role_id
1916
+ # The impersonation role ID to test.
1917
+ #
1918
+ # @option params [required, String] :target_user
1919
+ # The WorkMail organization user chosen to test the impersonation role.
1920
+ # The following identity formats are available:
1921
+ #
1922
+ # * User ID: `12345678-1234-1234-1234-123456789012` or
1923
+ # `S-1-1-12-1234567890-123456789-123456789-1234`
1924
+ #
1925
+ # * Email address: `user@domain.tld`
1926
+ #
1927
+ # * User name: `user`
1928
+ #
1929
+ # @return [Types::GetImpersonationRoleEffectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1930
+ #
1931
+ # * {Types::GetImpersonationRoleEffectResponse#type #type} => String
1932
+ # * {Types::GetImpersonationRoleEffectResponse#effect #effect} => String
1933
+ # * {Types::GetImpersonationRoleEffectResponse#matched_rules #matched_rules} => Array&lt;Types::ImpersonationMatchedRule&gt;
1934
+ #
1935
+ # @example Request syntax with placeholder values
1936
+ #
1937
+ # resp = client.get_impersonation_role_effect({
1938
+ # organization_id: "OrganizationId", # required
1939
+ # impersonation_role_id: "ImpersonationRoleId", # required
1940
+ # target_user: "EntityIdentifier", # required
1941
+ # })
1942
+ #
1943
+ # @example Response structure
1944
+ #
1945
+ # resp.type #=> String, one of "FULL_ACCESS", "READ_ONLY"
1946
+ # resp.effect #=> String, one of "ALLOW", "DENY"
1947
+ # resp.matched_rules #=> Array
1948
+ # resp.matched_rules[0].impersonation_rule_id #=> String
1949
+ # resp.matched_rules[0].name #=> String
1950
+ #
1951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRoleEffect AWS API Documentation
1952
+ #
1953
+ # @overload get_impersonation_role_effect(params = {})
1954
+ # @param [Hash] params ({})
1955
+ def get_impersonation_role_effect(params = {}, options = {})
1956
+ req = build_request(:get_impersonation_role_effect, params)
1957
+ req.send_request(options)
1958
+ end
1959
+
1724
1960
  # Gets details for a mail domain, including domain records required to
1725
1961
  # configure your domain with recommended security.
1726
1962
  #
1727
1963
  # @option params [required, String] :organization_id
1728
- # The Amazon WorkMail organization for which the domain is retrieved.
1964
+ # The WorkMail organization for which the domain is retrieved.
1729
1965
  #
1730
1966
  # @option params [required, String] :domain_name
1731
1967
  # The domain from which you want to retrieve details.
@@ -1804,10 +2040,10 @@ module Aws::WorkMail
1804
2040
  # Simulates the effect of the mobile device access rules for the given
1805
2041
  # attributes of a sample access event. Use this method to test the
1806
2042
  # effects of the current set of mobile device access rules for the
1807
- # Amazon WorkMail organization for a particular user's attributes.
2043
+ # WorkMail organization for a particular user's attributes.
1808
2044
  #
1809
2045
  # @option params [required, String] :organization_id
1810
- # The Amazon WorkMail organization to simulate the access effect for.
2046
+ # The WorkMail organization to simulate the access effect for.
1811
2047
  #
1812
2048
  # @option params [String] :device_type
1813
2049
  # Device type the simulated user will report.
@@ -1856,8 +2092,7 @@ module Aws::WorkMail
1856
2092
  # organization, user, and device.
1857
2093
  #
1858
2094
  # @option params [required, String] :organization_id
1859
- # The Amazon WorkMail organization to which you want to apply the
1860
- # override.
2095
+ # The WorkMail organization to which you want to apply the override.
1861
2096
  #
1862
2097
  # @option params [required, String] :user_id
1863
2098
  # Identifies the WorkMail user for the override. Accepts the following
@@ -1944,6 +2179,10 @@ module Aws::WorkMail
1944
2179
  # resp.rules[0].not_user_ids[0] #=> String
1945
2180
  # resp.rules[0].date_created #=> Time
1946
2181
  # resp.rules[0].date_modified #=> Time
2182
+ # resp.rules[0].impersonation_role_ids #=> Array
2183
+ # resp.rules[0].impersonation_role_ids[0] #=> String
2184
+ # resp.rules[0].not_impersonation_role_ids #=> Array
2185
+ # resp.rules[0].not_impersonation_role_ids[0] #=> String
1947
2186
  #
1948
2187
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAccessControlRules AWS API Documentation
1949
2188
  #
@@ -2005,8 +2244,8 @@ module Aws::WorkMail
2005
2244
  # organization.
2006
2245
  #
2007
2246
  # @option params [required, String] :organization_id
2008
- # The Amazon WorkMail organization for which the
2009
- # `AvailabilityConfiguration`'s will be listed.
2247
+ # The WorkMail organization for which the `AvailabilityConfiguration`'s
2248
+ # will be listed.
2010
2249
  #
2011
2250
  # @option params [Integer] :max_results
2012
2251
  # The maximum number of results to return in a single call.
@@ -2151,10 +2390,57 @@ module Aws::WorkMail
2151
2390
  req.send_request(options)
2152
2391
  end
2153
2392
 
2154
- # Lists the mail domains in a given Amazon WorkMail organization.
2393
+ # Lists all the impersonation roles for the given WorkMail organization.
2155
2394
  #
2156
2395
  # @option params [required, String] :organization_id
2157
- # The Amazon WorkMail organization for which to list domains.
2396
+ # The WorkMail organization to which the listed impersonation roles
2397
+ # belong.
2398
+ #
2399
+ # @option params [String] :next_token
2400
+ # The token used to retrieve the next page of results. The first call
2401
+ # doesn't require a token.
2402
+ #
2403
+ # @option params [Integer] :max_results
2404
+ # The maximum number of results returned in a single call.
2405
+ #
2406
+ # @return [Types::ListImpersonationRolesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2407
+ #
2408
+ # * {Types::ListImpersonationRolesResponse#roles #roles} => Array&lt;Types::ImpersonationRole&gt;
2409
+ # * {Types::ListImpersonationRolesResponse#next_token #next_token} => String
2410
+ #
2411
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2412
+ #
2413
+ # @example Request syntax with placeholder values
2414
+ #
2415
+ # resp = client.list_impersonation_roles({
2416
+ # organization_id: "OrganizationId", # required
2417
+ # next_token: "NextToken",
2418
+ # max_results: 1,
2419
+ # })
2420
+ #
2421
+ # @example Response structure
2422
+ #
2423
+ # resp.roles #=> Array
2424
+ # resp.roles[0].impersonation_role_id #=> String
2425
+ # resp.roles[0].name #=> String
2426
+ # resp.roles[0].type #=> String, one of "FULL_ACCESS", "READ_ONLY"
2427
+ # resp.roles[0].date_created #=> Time
2428
+ # resp.roles[0].date_modified #=> Time
2429
+ # resp.next_token #=> String
2430
+ #
2431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListImpersonationRoles AWS API Documentation
2432
+ #
2433
+ # @overload list_impersonation_roles(params = {})
2434
+ # @param [Hash] params ({})
2435
+ def list_impersonation_roles(params = {}, options = {})
2436
+ req = build_request(:list_impersonation_roles, params)
2437
+ req.send_request(options)
2438
+ end
2439
+
2440
+ # Lists the mail domains in a given WorkMail organization.
2441
+ #
2442
+ # @option params [required, String] :organization_id
2443
+ # The WorkMail organization for which to list domains.
2158
2444
  #
2159
2445
  # @option params [Integer] :max_results
2160
2446
  # The maximum number of results to return in a single call.
@@ -2300,8 +2586,8 @@ module Aws::WorkMail
2300
2586
  # of WorkMail organization, user, or device.
2301
2587
  #
2302
2588
  # @option params [required, String] :organization_id
2303
- # The Amazon WorkMail organization under which to list mobile device
2304
- # access overrides.
2589
+ # The WorkMail organization under which to list mobile device access
2590
+ # overrides.
2305
2591
  #
2306
2592
  # @option params [String] :user_id
2307
2593
  # The WorkMail user under which you list the mobile device access
@@ -2361,11 +2647,11 @@ module Aws::WorkMail
2361
2647
  req.send_request(options)
2362
2648
  end
2363
2649
 
2364
- # Lists the mobile device access rules for the specified Amazon WorkMail
2650
+ # Lists the mobile device access rules for the specified WorkMail
2365
2651
  # organization.
2366
2652
  #
2367
2653
  # @option params [required, String] :organization_id
2368
- # The Amazon WorkMail organization for which to list the rules.
2654
+ # The WorkMail organization for which to list the rules.
2369
2655
  #
2370
2656
  # @return [Types::ListMobileDeviceAccessRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2371
2657
  #
@@ -2551,7 +2837,7 @@ module Aws::WorkMail
2551
2837
  req.send_request(options)
2552
2838
  end
2553
2839
 
2554
- # Lists the tags applied to an Amazon WorkMail organization resource.
2840
+ # Lists the tags applied to an WorkMail organization resource.
2555
2841
  #
2556
2842
  # @option params [required, String] :resource_arn
2557
2843
  # The resource ARN.
@@ -2632,8 +2918,9 @@ module Aws::WorkMail
2632
2918
 
2633
2919
  # Adds a new access control rule for the specified organization. The
2634
2920
  # rule allows or denies access to the organization for the specified
2635
- # IPv4 addresses, access protocol actions, and user IDs. Adding a new
2636
- # rule with the same name as an existing rule replaces the older rule.
2921
+ # IPv4 addresses, access protocol actions, user IDs and impersonation
2922
+ # IDs. Adding a new rule with the same name as an existing rule replaces
2923
+ # the older rule.
2637
2924
  #
2638
2925
  # @option params [required, String] :name
2639
2926
  # The rule name.
@@ -2669,6 +2956,12 @@ module Aws::WorkMail
2669
2956
  # @option params [required, String] :organization_id
2670
2957
  # The identifier of the organization.
2671
2958
  #
2959
+ # @option params [Array<String>] :impersonation_role_ids
2960
+ # Impersonation role IDs to include in the rule.
2961
+ #
2962
+ # @option params [Array<String>] :not_impersonation_role_ids
2963
+ # Impersonation role IDs to exclude from the rule.
2964
+ #
2672
2965
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2673
2966
  #
2674
2967
  # @example Request syntax with placeholder values
@@ -2684,6 +2977,8 @@ module Aws::WorkMail
2684
2977
  # user_ids: ["WorkMailIdentifier"],
2685
2978
  # not_user_ids: ["WorkMailIdentifier"],
2686
2979
  # organization_id: "OrganizationId", # required
2980
+ # impersonation_role_ids: ["ImpersonationRoleId"],
2981
+ # not_impersonation_role_ids: ["ImpersonationRoleId"],
2687
2982
  # })
2688
2983
  #
2689
2984
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutAccessControlRule AWS API Documentation
@@ -2803,7 +3098,7 @@ module Aws::WorkMail
2803
3098
  # WorkMail organization, user, and device.
2804
3099
  #
2805
3100
  # @option params [required, String] :organization_id
2806
- # Identifies the Amazon WorkMail organization for which you create the
3101
+ # Identifies the WorkMail organization for which you create the
2807
3102
  # override.
2808
3103
  #
2809
3104
  # @option params [required, String] :user_id
@@ -2892,11 +3187,10 @@ module Aws::WorkMail
2892
3187
  req.send_request(options)
2893
3188
  end
2894
3189
 
2895
- # Registers a new domain in Amazon WorkMail and SES, and configures it
2896
- # for use by WorkMail. Emails received by SES for this domain are routed
2897
- # to the specified WorkMail organization, and WorkMail has permanent
2898
- # permission to use the specified domain for sending your users'
2899
- # emails.
3190
+ # Registers a new domain in WorkMail and SES, and configures it for use
3191
+ # by WorkMail. Emails received by SES for this domain are routed to the
3192
+ # specified WorkMail organization, and WorkMail has permanent permission
3193
+ # to use the specified domain for sending your users' emails.
2900
3194
  #
2901
3195
  # @option params [String] :client_token
2902
3196
  # Idempotency token used when retrying requests.
@@ -2905,11 +3199,10 @@ module Aws::WorkMail
2905
3199
  # not need to pass this option.**
2906
3200
  #
2907
3201
  # @option params [required, String] :organization_id
2908
- # The Amazon WorkMail organization under which you're creating the
2909
- # domain.
3202
+ # The WorkMail organization under which you're creating the domain.
2910
3203
  #
2911
3204
  # @option params [required, String] :domain_name
2912
- # The name of the mail domain to create in Amazon WorkMail and SES.
3205
+ # The name of the mail domain to create in WorkMail and SES.
2913
3206
  #
2914
3207
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2915
3208
  #
@@ -2930,7 +3223,7 @@ module Aws::WorkMail
2930
3223
  req.send_request(options)
2931
3224
  end
2932
3225
 
2933
- # Registers an existing and disabled user, group, or resource for Amazon
3226
+ # Registers an existing and disabled user, group, or resource for
2934
3227
  # WorkMail use by associating a mailbox and calendaring capabilities. It
2935
3228
  # performs no change if the user, group, or resource is enabled and
2936
3229
  # fails if the user, group, or resource is deleted. This operation
@@ -3009,8 +3302,7 @@ module Aws::WorkMail
3009
3302
  # Starts a mailbox export job to export MIME-format email messages and
3010
3303
  # calendar items from the specified mailbox to the specified Amazon
3011
3304
  # Simple Storage Service (Amazon S3) bucket. For more information, see
3012
- # [Exporting mailbox content][1] in the *Amazon WorkMail Administrator
3013
- # Guide*.
3305
+ # [Exporting mailbox content][1] in the *WorkMail Administrator Guide*.
3014
3306
  #
3015
3307
  #
3016
3308
  #
@@ -3075,8 +3367,8 @@ module Aws::WorkMail
3075
3367
  req.send_request(options)
3076
3368
  end
3077
3369
 
3078
- # Applies the specified tags to the specified Amazon WorkMail
3079
- # organization resource.
3370
+ # Applies the specified tags to the specified WorkMailorganization
3371
+ # resource.
3080
3372
  #
3081
3373
  # @option params [required, String] :resource_arn
3082
3374
  # The resource ARN.
@@ -3122,8 +3414,8 @@ module Aws::WorkMail
3122
3414
  # </note>
3123
3415
  #
3124
3416
  # @option params [required, String] :organization_id
3125
- # The Amazon WorkMail organization where the availability provider will
3126
- # be tested.
3417
+ # The WorkMail organization where the availability provider will be
3418
+ # tested.
3127
3419
  #
3128
3420
  # @option params [String] :domain_name
3129
3421
  # The domain to which the provider applies. If this field is provided, a
@@ -3171,8 +3463,8 @@ module Aws::WorkMail
3171
3463
  req.send_request(options)
3172
3464
  end
3173
3465
 
3174
- # Untags the specified tags from the specified Amazon WorkMail
3175
- # organization resource.
3466
+ # Untags the specified tags from the specified WorkMail organization
3467
+ # resource.
3176
3468
  #
3177
3469
  # @option params [required, String] :resource_arn
3178
3470
  # The resource ARN.
@@ -3202,8 +3494,8 @@ module Aws::WorkMail
3202
3494
  # organization and domain.
3203
3495
  #
3204
3496
  # @option params [required, String] :organization_id
3205
- # The Amazon WorkMail organization for which the
3206
- # `AvailabilityConfiguration` will be updated.
3497
+ # The WorkMail organization for which the `AvailabilityConfiguration`
3498
+ # will be updated.
3207
3499
  #
3208
3500
  # @option params [required, String] :domain_name
3209
3501
  # The domain to which the provider applies the availability
@@ -3252,7 +3544,7 @@ module Aws::WorkMail
3252
3544
  # when enabling a mail user. You can only have one default domain.
3253
3545
  #
3254
3546
  # @option params [required, String] :organization_id
3255
- # The Amazon WorkMail organization for which to list domains.
3547
+ # The WorkMail organization for which to list domains.
3256
3548
  #
3257
3549
  # @option params [required, String] :domain_name
3258
3550
  # The domain name that will become the default domain.
@@ -3275,6 +3567,58 @@ module Aws::WorkMail
3275
3567
  req.send_request(options)
3276
3568
  end
3277
3569
 
3570
+ # Updates an impersonation role for the given WorkMail organization.
3571
+ #
3572
+ # @option params [required, String] :organization_id
3573
+ # The WorkMail organization that contains the impersonation role to
3574
+ # update.
3575
+ #
3576
+ # @option params [required, String] :impersonation_role_id
3577
+ # The ID of the impersonation role to update.
3578
+ #
3579
+ # @option params [required, String] :name
3580
+ # The updated impersonation role name.
3581
+ #
3582
+ # @option params [required, String] :type
3583
+ # The updated impersonation role type.
3584
+ #
3585
+ # @option params [String] :description
3586
+ # The updated impersonation role description.
3587
+ #
3588
+ # @option params [required, Array<Types::ImpersonationRule>] :rules
3589
+ # The updated list of rules.
3590
+ #
3591
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3592
+ #
3593
+ # @example Request syntax with placeholder values
3594
+ #
3595
+ # resp = client.update_impersonation_role({
3596
+ # organization_id: "OrganizationId", # required
3597
+ # impersonation_role_id: "ImpersonationRoleId", # required
3598
+ # name: "ImpersonationRoleName", # required
3599
+ # type: "FULL_ACCESS", # required, accepts FULL_ACCESS, READ_ONLY
3600
+ # description: "ImpersonationRoleDescription",
3601
+ # rules: [ # required
3602
+ # {
3603
+ # impersonation_rule_id: "ImpersonationRuleId", # required
3604
+ # name: "ImpersonationRuleName",
3605
+ # description: "ImpersonationRuleDescription",
3606
+ # effect: "ALLOW", # required, accepts ALLOW, DENY
3607
+ # target_users: ["EntityIdentifier"],
3608
+ # not_target_users: ["EntityIdentifier"],
3609
+ # },
3610
+ # ],
3611
+ # })
3612
+ #
3613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateImpersonationRole AWS API Documentation
3614
+ #
3615
+ # @overload update_impersonation_role(params = {})
3616
+ # @param [Hash] params ({})
3617
+ def update_impersonation_role(params = {}, options = {})
3618
+ req = build_request(:update_impersonation_role, params)
3619
+ req.send_request(options)
3620
+ end
3621
+
3278
3622
  # Updates a user's current mailbox quota for a specified organization
3279
3623
  # and user.
3280
3624
  #
@@ -3307,11 +3651,11 @@ module Aws::WorkMail
3307
3651
  req.send_request(options)
3308
3652
  end
3309
3653
 
3310
- # Updates a mobile device access rule for the specified Amazon WorkMail
3654
+ # Updates a mobile device access rule for the specified WorkMail
3311
3655
  # organization.
3312
3656
  #
3313
3657
  # @option params [required, String] :organization_id
3314
- # The Amazon WorkMail organization under which the rule will be updated.
3658
+ # The WorkMail organization under which the rule will be updated.
3315
3659
  #
3316
3660
  # @option params [required, String] :mobile_device_access_rule_id
3317
3661
  # The identifier of the rule to be updated.
@@ -3471,7 +3815,7 @@ module Aws::WorkMail
3471
3815
  params: params,
3472
3816
  config: config)
3473
3817
  context[:gem_name] = 'aws-sdk-workmail'
3474
- context[:gem_version] = '1.50.0'
3818
+ context[:gem_version] = '1.51.0'
3475
3819
  Seahorse::Client::Request.new(handlers, context)
3476
3820
  end
3477
3821