aws-sdk-workmail 1.50.0 → 1.52.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:workmail)
@@ -79,8 +79,9 @@ module Aws::WorkMail
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::WorkMail::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::WorkMail
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::WorkMail
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::WorkMail::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::WorkMail::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -421,6 +438,43 @@ module Aws::WorkMail
421
438
  req.send_request(options)
422
439
  end
423
440
 
441
+ # Assumes an impersonation role for the given WorkMail organization.
442
+ # This method returns an authentication token you can use to make
443
+ # impersonated calls.
444
+ #
445
+ # @option params [required, String] :organization_id
446
+ # The WorkMail organization under which the impersonation role will be
447
+ # assumed.
448
+ #
449
+ # @option params [required, String] :impersonation_role_id
450
+ # The impersonation role ID to assume.
451
+ #
452
+ # @return [Types::AssumeImpersonationRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
453
+ #
454
+ # * {Types::AssumeImpersonationRoleResponse#token #token} => String
455
+ # * {Types::AssumeImpersonationRoleResponse#expires_in #expires_in} => Integer
456
+ #
457
+ # @example Request syntax with placeholder values
458
+ #
459
+ # resp = client.assume_impersonation_role({
460
+ # organization_id: "OrganizationId", # required
461
+ # impersonation_role_id: "ImpersonationRoleId", # required
462
+ # })
463
+ #
464
+ # @example Response structure
465
+ #
466
+ # resp.token #=> String
467
+ # resp.expires_in #=> Integer
468
+ #
469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssumeImpersonationRole AWS API Documentation
470
+ #
471
+ # @overload assume_impersonation_role(params = {})
472
+ # @param [Hash] params ({})
473
+ def assume_impersonation_role(params = {}, options = {})
474
+ req = build_request(:assume_impersonation_role, params)
475
+ req.send_request(options)
476
+ end
477
+
424
478
  # Cancels a mailbox export job.
425
479
  #
426
480
  # <note markdown="1"> If the mailbox export job is near completion, it might not be possible
@@ -459,7 +513,7 @@ module Aws::WorkMail
459
513
  req.send_request(options)
460
514
  end
461
515
 
462
- # Adds an alias to the set of a given member (user or group) of Amazon
516
+ # Adds an alias to the set of a given member (user or group) of
463
517
  # WorkMail.
464
518
  #
465
519
  # @option params [required, String] :organization_id
@@ -501,8 +555,8 @@ module Aws::WorkMail
501
555
  # not need to pass this option.**
502
556
  #
503
557
  # @option params [required, String] :organization_id
504
- # The Amazon WorkMail organization for which the
505
- # `AvailabilityConfiguration` will be created.
558
+ # The WorkMail organization for which the `AvailabilityConfiguration`
559
+ # will be created.
506
560
  #
507
561
  # @option params [required, String] :domain_name
508
562
  # The domain to which the provider applies.
@@ -544,7 +598,7 @@ module Aws::WorkMail
544
598
  req.send_request(options)
545
599
  end
546
600
 
547
- # Creates a group that can be used in Amazon WorkMail by calling the
601
+ # Creates a group that can be used in WorkMail by calling the
548
602
  # RegisterToWorkMail operation.
549
603
  #
550
604
  # @option params [required, String] :organization_id
@@ -577,11 +631,77 @@ module Aws::WorkMail
577
631
  req.send_request(options)
578
632
  end
579
633
 
580
- # Creates a new mobile device access rule for the specified Amazon
581
- # WorkMail organization.
634
+ # Creates an impersonation role for the given WorkMail organization.
635
+ #
636
+ # *Idempotency* ensures that an API request completes no more than one
637
+ # time. With an idempotent request, if the original request completes
638
+ # successfully, any subsequent retries also complete successfully
639
+ # without performing any further actions.
640
+ #
641
+ # @option params [String] :client_token
642
+ # The idempotency token for the client request.
643
+ #
644
+ # **A suitable default value is auto-generated.** You should normally
645
+ # not need to pass this option.**
582
646
  #
583
647
  # @option params [required, String] :organization_id
584
- # The Amazon WorkMail organization under which the rule will be created.
648
+ # The WorkMail organization to create the new impersonation role within.
649
+ #
650
+ # @option params [required, String] :name
651
+ # The name of the new impersonation role.
652
+ #
653
+ # @option params [required, String] :type
654
+ # The impersonation role's type. The available impersonation role types
655
+ # are `READ_ONLY` or `FULL_ACCESS`.
656
+ #
657
+ # @option params [String] :description
658
+ # The description of the new impersonation role.
659
+ #
660
+ # @option params [required, Array<Types::ImpersonationRule>] :rules
661
+ # The list of rules for the impersonation role.
662
+ #
663
+ # @return [Types::CreateImpersonationRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
664
+ #
665
+ # * {Types::CreateImpersonationRoleResponse#impersonation_role_id #impersonation_role_id} => String
666
+ #
667
+ # @example Request syntax with placeholder values
668
+ #
669
+ # resp = client.create_impersonation_role({
670
+ # client_token: "IdempotencyClientToken",
671
+ # organization_id: "OrganizationId", # required
672
+ # name: "ImpersonationRoleName", # required
673
+ # type: "FULL_ACCESS", # required, accepts FULL_ACCESS, READ_ONLY
674
+ # description: "ImpersonationRoleDescription",
675
+ # rules: [ # required
676
+ # {
677
+ # impersonation_rule_id: "ImpersonationRuleId", # required
678
+ # name: "ImpersonationRuleName",
679
+ # description: "ImpersonationRuleDescription",
680
+ # effect: "ALLOW", # required, accepts ALLOW, DENY
681
+ # target_users: ["EntityIdentifier"],
682
+ # not_target_users: ["EntityIdentifier"],
683
+ # },
684
+ # ],
685
+ # })
686
+ #
687
+ # @example Response structure
688
+ #
689
+ # resp.impersonation_role_id #=> String
690
+ #
691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateImpersonationRole AWS API Documentation
692
+ #
693
+ # @overload create_impersonation_role(params = {})
694
+ # @param [Hash] params ({})
695
+ def create_impersonation_role(params = {}, options = {})
696
+ req = build_request(:create_impersonation_role, params)
697
+ req.send_request(options)
698
+ end
699
+
700
+ # Creates a new mobile device access rule for the specified WorkMail
701
+ # organization.
702
+ #
703
+ # @option params [required, String] :organization_id
704
+ # The WorkMail organization under which the rule will be created.
585
705
  #
586
706
  # @option params [String] :client_token
587
707
  # The idempotency token for the client request.
@@ -662,26 +782,25 @@ module Aws::WorkMail
662
782
  req.send_request(options)
663
783
  end
664
784
 
665
- # Creates a new Amazon WorkMail organization. Optionally, you can choose
666
- # to associate an existing AWS Directory Service directory with your
785
+ # Creates a new WorkMail organization. Optionally, you can choose to
786
+ # associate an existing AWS Directory Service directory with your
667
787
  # organization. If an AWS Directory Service directory ID is specified,
668
788
  # the organization alias must match the directory alias. If you choose
669
789
  # 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*.
790
+ # create a new WorkMail directory for you. For more information, see
791
+ # [Adding an organization][1] in the *WorkMail Administrator Guide*.
673
792
  #
674
793
  # 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
794
+ # choose your default email domain from the WorkMail console. You can
795
+ # also associate a domain that is managed in an Amazon Route 53 public
796
+ # hosted zone. For more information, see [Adding a domain][2] and
797
+ # [Choosing the default domain][3] in the *WorkMail Administrator
679
798
  # Guide*.
680
799
  #
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.
800
+ # Optionally, you can use a customer managed key from AWS Key Management
801
+ # Service (AWS KMS) to encrypt email for your organization. If you
802
+ # don't associate an AWS KMS key, WorkMail creates a default, AWS
803
+ # managed key for you.
685
804
  #
686
805
  #
687
806
  #
@@ -705,13 +824,12 @@ module Aws::WorkMail
705
824
  # The email domains to associate with the organization.
706
825
  #
707
826
  # @option params [String] :kms_key_arn
708
- # The Amazon Resource Name (ARN) of a customer managed master key from
709
- # AWS KMS.
827
+ # The Amazon Resource Name (ARN) of a customer managed key from AWS KMS.
710
828
  #
711
829
  # @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.
830
+ # When `true`, allows organization interoperability between WorkMail and
831
+ # Microsoft Exchange. If `true`, you must include a AD Connector
832
+ # directory ID in the request.
715
833
  #
716
834
  # @return [Types::CreateOrganizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
717
835
  #
@@ -746,7 +864,7 @@ module Aws::WorkMail
746
864
  req.send_request(options)
747
865
  end
748
866
 
749
- # Creates a new Amazon WorkMail resource.
867
+ # Creates a new WorkMail resource.
750
868
  #
751
869
  # @option params [required, String] :organization_id
752
870
  # The identifier associated with the organization for which the resource
@@ -784,7 +902,7 @@ module Aws::WorkMail
784
902
  req.send_request(options)
785
903
  end
786
904
 
787
- # Creates a user who can be used in Amazon WorkMail by calling the
905
+ # Creates a user who can be used in WorkMail by calling the
788
906
  # RegisterToWorkMail operation.
789
907
  #
790
908
  # @option params [required, String] :organization_id
@@ -897,8 +1015,8 @@ module Aws::WorkMail
897
1015
  # organization and domain.
898
1016
  #
899
1017
  # @option params [required, String] :organization_id
900
- # The Amazon WorkMail organization for which the
901
- # `AvailabilityConfiguration` will be deleted.
1018
+ # The WorkMail organization for which the `AvailabilityConfiguration`
1019
+ # will be deleted.
902
1020
  #
903
1021
  # @option params [required, String] :domain_name
904
1022
  # The domain for which the `AvailabilityConfiguration` will be deleted.
@@ -945,7 +1063,7 @@ module Aws::WorkMail
945
1063
  req.send_request(options)
946
1064
  end
947
1065
 
948
- # Deletes a group from Amazon WorkMail.
1066
+ # Deletes a group from WorkMail.
949
1067
  #
950
1068
  # @option params [required, String] :organization_id
951
1069
  # The organization that contains the group.
@@ -971,6 +1089,32 @@ module Aws::WorkMail
971
1089
  req.send_request(options)
972
1090
  end
973
1091
 
1092
+ # Deletes an impersonation role for the given WorkMail organization.
1093
+ #
1094
+ # @option params [required, String] :organization_id
1095
+ # The WorkMail organization from which to delete the impersonation role.
1096
+ #
1097
+ # @option params [required, String] :impersonation_role_id
1098
+ # The ID of the impersonation role to delete.
1099
+ #
1100
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1101
+ #
1102
+ # @example Request syntax with placeholder values
1103
+ #
1104
+ # resp = client.delete_impersonation_role({
1105
+ # organization_id: "OrganizationId", # required
1106
+ # impersonation_role_id: "ImpersonationRoleId", # required
1107
+ # })
1108
+ #
1109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteImpersonationRole AWS API Documentation
1110
+ #
1111
+ # @overload delete_impersonation_role(params = {})
1112
+ # @param [Hash] params ({})
1113
+ def delete_impersonation_role(params = {}, options = {})
1114
+ req = build_request(:delete_impersonation_role, params)
1115
+ req.send_request(options)
1116
+ end
1117
+
974
1118
  # Deletes permissions granted to a member (user or group).
975
1119
  #
976
1120
  # @option params [required, String] :organization_id
@@ -1013,7 +1157,7 @@ module Aws::WorkMail
1013
1157
  # </note>
1014
1158
  #
1015
1159
  # @option params [required, String] :organization_id
1016
- # The Amazon WorkMail organization for which the access override will be
1160
+ # The WorkMail organization for which the access override will be
1017
1161
  # deleted.
1018
1162
  #
1019
1163
  # @option params [required, String] :user_id
@@ -1050,7 +1194,7 @@ module Aws::WorkMail
1050
1194
  req.send_request(options)
1051
1195
  end
1052
1196
 
1053
- # Deletes a mobile device access rule for the specified Amazon WorkMail
1197
+ # Deletes a mobile device access rule for the specified WorkMail
1054
1198
  # organization.
1055
1199
  #
1056
1200
  # <note markdown="1"> Deleting already deleted and non-existing rules does not produce an
@@ -1060,7 +1204,7 @@ module Aws::WorkMail
1060
1204
  # </note>
1061
1205
  #
1062
1206
  # @option params [required, String] :organization_id
1063
- # The Amazon WorkMail organization under which the rule will be deleted.
1207
+ # The WorkMail organization under which the rule will be deleted.
1064
1208
  #
1065
1209
  # @option params [required, String] :mobile_device_access_rule_id
1066
1210
  # The identifier of the rule to be deleted.
@@ -1083,11 +1227,10 @@ module Aws::WorkMail
1083
1227
  req.send_request(options)
1084
1228
  end
1085
1229
 
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*.
1230
+ # Deletes an WorkMail organization and all underlying AWS resources
1231
+ # managed by WorkMail as part of the organization. You can choose
1232
+ # whether to delete the associated directory. For more information, see
1233
+ # [Removing an organization][1] in the *WorkMail Administrator Guide*.
1091
1234
  #
1092
1235
  #
1093
1236
  #
@@ -1187,8 +1330,8 @@ module Aws::WorkMail
1187
1330
  req.send_request(options)
1188
1331
  end
1189
1332
 
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
1333
+ # Deletes a user from WorkMail and all subsequent systems. Before you
1334
+ # can delete a user, the user state must be `DISABLED`. Use the
1192
1335
  # DescribeUser action to confirm the user state.
1193
1336
  #
1194
1337
  # Deleting a user is permanent and cannot be undone. WorkMail archives
@@ -1218,14 +1361,14 @@ module Aws::WorkMail
1218
1361
  req.send_request(options)
1219
1362
  end
1220
1363
 
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.
1364
+ # Mark a user, group, or resource as no longer used in WorkMail. This
1365
+ # action disassociates the mailbox and schedules it for clean-up.
1223
1366
  # WorkMail keeps mailboxes for 30 days before they are permanently
1224
1367
  # removed. The functionality in the console is *Disable*.
1225
1368
  #
1226
1369
  # @option params [required, String] :organization_id
1227
- # The identifier for the organization under which the Amazon WorkMail
1228
- # entity exists.
1370
+ # The identifier for the organization under which the WorkMail entity
1371
+ # exists.
1229
1372
  #
1230
1373
  # @option params [required, String] :entity_id
1231
1374
  # The identifier for the member (user or group) to be updated.
@@ -1248,15 +1391,13 @@ module Aws::WorkMail
1248
1391
  req.send_request(options)
1249
1392
  end
1250
1393
 
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.
1394
+ # Removes a domain from WorkMail, stops email routing to WorkMail, and
1395
+ # removes the authorization allowing WorkMail use. SES keeps the domain
1396
+ # because other applications may use it. You must first remove any email
1397
+ # address used by WorkMail entities before you remove the domain.
1256
1398
  #
1257
1399
  # @option params [required, String] :organization_id
1258
- # The Amazon WorkMail organization for which the domain will be
1259
- # deregistered.
1400
+ # The WorkMail organization for which the domain will be deregistered.
1260
1401
  #
1261
1402
  # @option params [required, String] :domain_name
1262
1403
  # The domain to deregister in WorkMail and SES.
@@ -1638,7 +1779,10 @@ module Aws::WorkMail
1638
1779
  end
1639
1780
 
1640
1781
  # 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.
1782
+ # apply to a specified IPv4 address, access protocol action, and user ID
1783
+ # or impersonation role ID. You must provide either the user ID or
1784
+ # impersonation role ID. Impersonation role ID can only be used with
1785
+ # Action EWS.
1642
1786
  #
1643
1787
  # @option params [required, String] :organization_id
1644
1788
  # The identifier for the organization.
@@ -1651,9 +1795,12 @@ module Aws::WorkMail
1651
1795
  # `AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`, and
1652
1796
  # `WebMail`.
1653
1797
  #
1654
- # @option params [required, String] :user_id
1798
+ # @option params [String] :user_id
1655
1799
  # The user ID.
1656
1800
  #
1801
+ # @option params [String] :impersonation_role_id
1802
+ # The impersonation role ID.
1803
+ #
1657
1804
  # @return [Types::GetAccessControlEffectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1658
1805
  #
1659
1806
  # * {Types::GetAccessControlEffectResponse#effect #effect} => String
@@ -1665,7 +1812,8 @@ module Aws::WorkMail
1665
1812
  # organization_id: "OrganizationId", # required
1666
1813
  # ip_address: "IpAddress", # required
1667
1814
  # action: "AccessControlRuleAction", # required
1668
- # user_id: "WorkMailIdentifier", # required
1815
+ # user_id: "WorkMailIdentifier",
1816
+ # impersonation_role_id: "ImpersonationRoleId",
1669
1817
  # })
1670
1818
  #
1671
1819
  # @example Response structure
@@ -1721,11 +1869,116 @@ module Aws::WorkMail
1721
1869
  req.send_request(options)
1722
1870
  end
1723
1871
 
1872
+ # Gets the impersonation role details for the given WorkMail
1873
+ # organization.
1874
+ #
1875
+ # @option params [required, String] :organization_id
1876
+ # The WorkMail organization from which to retrieve the impersonation
1877
+ # role.
1878
+ #
1879
+ # @option params [required, String] :impersonation_role_id
1880
+ # The impersonation role ID to retrieve.
1881
+ #
1882
+ # @return [Types::GetImpersonationRoleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1883
+ #
1884
+ # * {Types::GetImpersonationRoleResponse#impersonation_role_id #impersonation_role_id} => String
1885
+ # * {Types::GetImpersonationRoleResponse#name #name} => String
1886
+ # * {Types::GetImpersonationRoleResponse#type #type} => String
1887
+ # * {Types::GetImpersonationRoleResponse#description #description} => String
1888
+ # * {Types::GetImpersonationRoleResponse#rules #rules} => Array&lt;Types::ImpersonationRule&gt;
1889
+ # * {Types::GetImpersonationRoleResponse#date_created #date_created} => Time
1890
+ # * {Types::GetImpersonationRoleResponse#date_modified #date_modified} => Time
1891
+ #
1892
+ # @example Request syntax with placeholder values
1893
+ #
1894
+ # resp = client.get_impersonation_role({
1895
+ # organization_id: "OrganizationId", # required
1896
+ # impersonation_role_id: "ImpersonationRoleId", # required
1897
+ # })
1898
+ #
1899
+ # @example Response structure
1900
+ #
1901
+ # resp.impersonation_role_id #=> String
1902
+ # resp.name #=> String
1903
+ # resp.type #=> String, one of "FULL_ACCESS", "READ_ONLY"
1904
+ # resp.description #=> String
1905
+ # resp.rules #=> Array
1906
+ # resp.rules[0].impersonation_rule_id #=> String
1907
+ # resp.rules[0].name #=> String
1908
+ # resp.rules[0].description #=> String
1909
+ # resp.rules[0].effect #=> String, one of "ALLOW", "DENY"
1910
+ # resp.rules[0].target_users #=> Array
1911
+ # resp.rules[0].target_users[0] #=> String
1912
+ # resp.rules[0].not_target_users #=> Array
1913
+ # resp.rules[0].not_target_users[0] #=> String
1914
+ # resp.date_created #=> Time
1915
+ # resp.date_modified #=> Time
1916
+ #
1917
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRole AWS API Documentation
1918
+ #
1919
+ # @overload get_impersonation_role(params = {})
1920
+ # @param [Hash] params ({})
1921
+ def get_impersonation_role(params = {}, options = {})
1922
+ req = build_request(:get_impersonation_role, params)
1923
+ req.send_request(options)
1924
+ end
1925
+
1926
+ # Tests whether the given impersonation role can impersonate a target
1927
+ # user.
1928
+ #
1929
+ # @option params [required, String] :organization_id
1930
+ # The WorkMail organization where the impersonation role is defined.
1931
+ #
1932
+ # @option params [required, String] :impersonation_role_id
1933
+ # The impersonation role ID to test.
1934
+ #
1935
+ # @option params [required, String] :target_user
1936
+ # The WorkMail organization user chosen to test the impersonation role.
1937
+ # The following identity formats are available:
1938
+ #
1939
+ # * User ID: `12345678-1234-1234-1234-123456789012` or
1940
+ # `S-1-1-12-1234567890-123456789-123456789-1234`
1941
+ #
1942
+ # * Email address: `user@domain.tld`
1943
+ #
1944
+ # * User name: `user`
1945
+ #
1946
+ # @return [Types::GetImpersonationRoleEffectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1947
+ #
1948
+ # * {Types::GetImpersonationRoleEffectResponse#type #type} => String
1949
+ # * {Types::GetImpersonationRoleEffectResponse#effect #effect} => String
1950
+ # * {Types::GetImpersonationRoleEffectResponse#matched_rules #matched_rules} => Array&lt;Types::ImpersonationMatchedRule&gt;
1951
+ #
1952
+ # @example Request syntax with placeholder values
1953
+ #
1954
+ # resp = client.get_impersonation_role_effect({
1955
+ # organization_id: "OrganizationId", # required
1956
+ # impersonation_role_id: "ImpersonationRoleId", # required
1957
+ # target_user: "EntityIdentifier", # required
1958
+ # })
1959
+ #
1960
+ # @example Response structure
1961
+ #
1962
+ # resp.type #=> String, one of "FULL_ACCESS", "READ_ONLY"
1963
+ # resp.effect #=> String, one of "ALLOW", "DENY"
1964
+ # resp.matched_rules #=> Array
1965
+ # resp.matched_rules[0].impersonation_rule_id #=> String
1966
+ # resp.matched_rules[0].name #=> String
1967
+ #
1968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetImpersonationRoleEffect AWS API Documentation
1969
+ #
1970
+ # @overload get_impersonation_role_effect(params = {})
1971
+ # @param [Hash] params ({})
1972
+ def get_impersonation_role_effect(params = {}, options = {})
1973
+ req = build_request(:get_impersonation_role_effect, params)
1974
+ req.send_request(options)
1975
+ end
1976
+
1724
1977
  # Gets details for a mail domain, including domain records required to
1725
1978
  # configure your domain with recommended security.
1726
1979
  #
1727
1980
  # @option params [required, String] :organization_id
1728
- # The Amazon WorkMail organization for which the domain is retrieved.
1981
+ # The WorkMail organization for which the domain is retrieved.
1729
1982
  #
1730
1983
  # @option params [required, String] :domain_name
1731
1984
  # The domain from which you want to retrieve details.
@@ -1804,10 +2057,10 @@ module Aws::WorkMail
1804
2057
  # Simulates the effect of the mobile device access rules for the given
1805
2058
  # attributes of a sample access event. Use this method to test the
1806
2059
  # effects of the current set of mobile device access rules for the
1807
- # Amazon WorkMail organization for a particular user's attributes.
2060
+ # WorkMail organization for a particular user's attributes.
1808
2061
  #
1809
2062
  # @option params [required, String] :organization_id
1810
- # The Amazon WorkMail organization to simulate the access effect for.
2063
+ # The WorkMail organization to simulate the access effect for.
1811
2064
  #
1812
2065
  # @option params [String] :device_type
1813
2066
  # Device type the simulated user will report.
@@ -1856,8 +2109,7 @@ module Aws::WorkMail
1856
2109
  # organization, user, and device.
1857
2110
  #
1858
2111
  # @option params [required, String] :organization_id
1859
- # The Amazon WorkMail organization to which you want to apply the
1860
- # override.
2112
+ # The WorkMail organization to which you want to apply the override.
1861
2113
  #
1862
2114
  # @option params [required, String] :user_id
1863
2115
  # Identifies the WorkMail user for the override. Accepts the following
@@ -1944,6 +2196,10 @@ module Aws::WorkMail
1944
2196
  # resp.rules[0].not_user_ids[0] #=> String
1945
2197
  # resp.rules[0].date_created #=> Time
1946
2198
  # resp.rules[0].date_modified #=> Time
2199
+ # resp.rules[0].impersonation_role_ids #=> Array
2200
+ # resp.rules[0].impersonation_role_ids[0] #=> String
2201
+ # resp.rules[0].not_impersonation_role_ids #=> Array
2202
+ # resp.rules[0].not_impersonation_role_ids[0] #=> String
1947
2203
  #
1948
2204
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAccessControlRules AWS API Documentation
1949
2205
  #
@@ -2005,8 +2261,8 @@ module Aws::WorkMail
2005
2261
  # organization.
2006
2262
  #
2007
2263
  # @option params [required, String] :organization_id
2008
- # The Amazon WorkMail organization for which the
2009
- # `AvailabilityConfiguration`'s will be listed.
2264
+ # The WorkMail organization for which the `AvailabilityConfiguration`'s
2265
+ # will be listed.
2010
2266
  #
2011
2267
  # @option params [Integer] :max_results
2012
2268
  # The maximum number of results to return in a single call.
@@ -2151,10 +2407,57 @@ module Aws::WorkMail
2151
2407
  req.send_request(options)
2152
2408
  end
2153
2409
 
2154
- # Lists the mail domains in a given Amazon WorkMail organization.
2410
+ # Lists all the impersonation roles for the given WorkMail organization.
2411
+ #
2412
+ # @option params [required, String] :organization_id
2413
+ # The WorkMail organization to which the listed impersonation roles
2414
+ # belong.
2415
+ #
2416
+ # @option params [String] :next_token
2417
+ # The token used to retrieve the next page of results. The first call
2418
+ # doesn't require a token.
2419
+ #
2420
+ # @option params [Integer] :max_results
2421
+ # The maximum number of results returned in a single call.
2422
+ #
2423
+ # @return [Types::ListImpersonationRolesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2424
+ #
2425
+ # * {Types::ListImpersonationRolesResponse#roles #roles} => Array&lt;Types::ImpersonationRole&gt;
2426
+ # * {Types::ListImpersonationRolesResponse#next_token #next_token} => String
2427
+ #
2428
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2429
+ #
2430
+ # @example Request syntax with placeholder values
2431
+ #
2432
+ # resp = client.list_impersonation_roles({
2433
+ # organization_id: "OrganizationId", # required
2434
+ # next_token: "NextToken",
2435
+ # max_results: 1,
2436
+ # })
2437
+ #
2438
+ # @example Response structure
2439
+ #
2440
+ # resp.roles #=> Array
2441
+ # resp.roles[0].impersonation_role_id #=> String
2442
+ # resp.roles[0].name #=> String
2443
+ # resp.roles[0].type #=> String, one of "FULL_ACCESS", "READ_ONLY"
2444
+ # resp.roles[0].date_created #=> Time
2445
+ # resp.roles[0].date_modified #=> Time
2446
+ # resp.next_token #=> String
2447
+ #
2448
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListImpersonationRoles AWS API Documentation
2449
+ #
2450
+ # @overload list_impersonation_roles(params = {})
2451
+ # @param [Hash] params ({})
2452
+ def list_impersonation_roles(params = {}, options = {})
2453
+ req = build_request(:list_impersonation_roles, params)
2454
+ req.send_request(options)
2455
+ end
2456
+
2457
+ # Lists the mail domains in a given WorkMail organization.
2155
2458
  #
2156
2459
  # @option params [required, String] :organization_id
2157
- # The Amazon WorkMail organization for which to list domains.
2460
+ # The WorkMail organization for which to list domains.
2158
2461
  #
2159
2462
  # @option params [Integer] :max_results
2160
2463
  # The maximum number of results to return in a single call.
@@ -2300,8 +2603,8 @@ module Aws::WorkMail
2300
2603
  # of WorkMail organization, user, or device.
2301
2604
  #
2302
2605
  # @option params [required, String] :organization_id
2303
- # The Amazon WorkMail organization under which to list mobile device
2304
- # access overrides.
2606
+ # The WorkMail organization under which to list mobile device access
2607
+ # overrides.
2305
2608
  #
2306
2609
  # @option params [String] :user_id
2307
2610
  # The WorkMail user under which you list the mobile device access
@@ -2361,11 +2664,11 @@ module Aws::WorkMail
2361
2664
  req.send_request(options)
2362
2665
  end
2363
2666
 
2364
- # Lists the mobile device access rules for the specified Amazon WorkMail
2667
+ # Lists the mobile device access rules for the specified WorkMail
2365
2668
  # organization.
2366
2669
  #
2367
2670
  # @option params [required, String] :organization_id
2368
- # The Amazon WorkMail organization for which to list the rules.
2671
+ # The WorkMail organization for which to list the rules.
2369
2672
  #
2370
2673
  # @return [Types::ListMobileDeviceAccessRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2371
2674
  #
@@ -2551,7 +2854,7 @@ module Aws::WorkMail
2551
2854
  req.send_request(options)
2552
2855
  end
2553
2856
 
2554
- # Lists the tags applied to an Amazon WorkMail organization resource.
2857
+ # Lists the tags applied to an WorkMail organization resource.
2555
2858
  #
2556
2859
  # @option params [required, String] :resource_arn
2557
2860
  # The resource ARN.
@@ -2632,8 +2935,9 @@ module Aws::WorkMail
2632
2935
 
2633
2936
  # Adds a new access control rule for the specified organization. The
2634
2937
  # 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.
2938
+ # IPv4 addresses, access protocol actions, user IDs and impersonation
2939
+ # IDs. Adding a new rule with the same name as an existing rule replaces
2940
+ # the older rule.
2637
2941
  #
2638
2942
  # @option params [required, String] :name
2639
2943
  # The rule name.
@@ -2669,6 +2973,12 @@ module Aws::WorkMail
2669
2973
  # @option params [required, String] :organization_id
2670
2974
  # The identifier of the organization.
2671
2975
  #
2976
+ # @option params [Array<String>] :impersonation_role_ids
2977
+ # Impersonation role IDs to include in the rule.
2978
+ #
2979
+ # @option params [Array<String>] :not_impersonation_role_ids
2980
+ # Impersonation role IDs to exclude from the rule.
2981
+ #
2672
2982
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2673
2983
  #
2674
2984
  # @example Request syntax with placeholder values
@@ -2684,6 +2994,8 @@ module Aws::WorkMail
2684
2994
  # user_ids: ["WorkMailIdentifier"],
2685
2995
  # not_user_ids: ["WorkMailIdentifier"],
2686
2996
  # organization_id: "OrganizationId", # required
2997
+ # impersonation_role_ids: ["ImpersonationRoleId"],
2998
+ # not_impersonation_role_ids: ["ImpersonationRoleId"],
2687
2999
  # })
2688
3000
  #
2689
3001
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutAccessControlRule AWS API Documentation
@@ -2803,7 +3115,7 @@ module Aws::WorkMail
2803
3115
  # WorkMail organization, user, and device.
2804
3116
  #
2805
3117
  # @option params [required, String] :organization_id
2806
- # Identifies the Amazon WorkMail organization for which you create the
3118
+ # Identifies the WorkMail organization for which you create the
2807
3119
  # override.
2808
3120
  #
2809
3121
  # @option params [required, String] :user_id
@@ -2892,11 +3204,10 @@ module Aws::WorkMail
2892
3204
  req.send_request(options)
2893
3205
  end
2894
3206
 
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.
3207
+ # Registers a new domain in WorkMail and SES, and configures it for use
3208
+ # by WorkMail. Emails received by SES for this domain are routed to the
3209
+ # specified WorkMail organization, and WorkMail has permanent permission
3210
+ # to use the specified domain for sending your users' emails.
2900
3211
  #
2901
3212
  # @option params [String] :client_token
2902
3213
  # Idempotency token used when retrying requests.
@@ -2905,11 +3216,10 @@ module Aws::WorkMail
2905
3216
  # not need to pass this option.**
2906
3217
  #
2907
3218
  # @option params [required, String] :organization_id
2908
- # The Amazon WorkMail organization under which you're creating the
2909
- # domain.
3219
+ # The WorkMail organization under which you're creating the domain.
2910
3220
  #
2911
3221
  # @option params [required, String] :domain_name
2912
- # The name of the mail domain to create in Amazon WorkMail and SES.
3222
+ # The name of the mail domain to create in WorkMail and SES.
2913
3223
  #
2914
3224
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2915
3225
  #
@@ -2930,7 +3240,7 @@ module Aws::WorkMail
2930
3240
  req.send_request(options)
2931
3241
  end
2932
3242
 
2933
- # Registers an existing and disabled user, group, or resource for Amazon
3243
+ # Registers an existing and disabled user, group, or resource for
2934
3244
  # WorkMail use by associating a mailbox and calendaring capabilities. It
2935
3245
  # performs no change if the user, group, or resource is enabled and
2936
3246
  # fails if the user, group, or resource is deleted. This operation
@@ -3009,8 +3319,7 @@ module Aws::WorkMail
3009
3319
  # Starts a mailbox export job to export MIME-format email messages and
3010
3320
  # calendar items from the specified mailbox to the specified Amazon
3011
3321
  # Simple Storage Service (Amazon S3) bucket. For more information, see
3012
- # [Exporting mailbox content][1] in the *Amazon WorkMail Administrator
3013
- # Guide*.
3322
+ # [Exporting mailbox content][1] in the *WorkMail Administrator Guide*.
3014
3323
  #
3015
3324
  #
3016
3325
  #
@@ -3075,8 +3384,8 @@ module Aws::WorkMail
3075
3384
  req.send_request(options)
3076
3385
  end
3077
3386
 
3078
- # Applies the specified tags to the specified Amazon WorkMail
3079
- # organization resource.
3387
+ # Applies the specified tags to the specified WorkMailorganization
3388
+ # resource.
3080
3389
  #
3081
3390
  # @option params [required, String] :resource_arn
3082
3391
  # The resource ARN.
@@ -3122,8 +3431,8 @@ module Aws::WorkMail
3122
3431
  # </note>
3123
3432
  #
3124
3433
  # @option params [required, String] :organization_id
3125
- # The Amazon WorkMail organization where the availability provider will
3126
- # be tested.
3434
+ # The WorkMail organization where the availability provider will be
3435
+ # tested.
3127
3436
  #
3128
3437
  # @option params [String] :domain_name
3129
3438
  # The domain to which the provider applies. If this field is provided, a
@@ -3171,8 +3480,8 @@ module Aws::WorkMail
3171
3480
  req.send_request(options)
3172
3481
  end
3173
3482
 
3174
- # Untags the specified tags from the specified Amazon WorkMail
3175
- # organization resource.
3483
+ # Untags the specified tags from the specified WorkMail organization
3484
+ # resource.
3176
3485
  #
3177
3486
  # @option params [required, String] :resource_arn
3178
3487
  # The resource ARN.
@@ -3202,8 +3511,8 @@ module Aws::WorkMail
3202
3511
  # organization and domain.
3203
3512
  #
3204
3513
  # @option params [required, String] :organization_id
3205
- # The Amazon WorkMail organization for which the
3206
- # `AvailabilityConfiguration` will be updated.
3514
+ # The WorkMail organization for which the `AvailabilityConfiguration`
3515
+ # will be updated.
3207
3516
  #
3208
3517
  # @option params [required, String] :domain_name
3209
3518
  # The domain to which the provider applies the availability
@@ -3252,7 +3561,7 @@ module Aws::WorkMail
3252
3561
  # when enabling a mail user. You can only have one default domain.
3253
3562
  #
3254
3563
  # @option params [required, String] :organization_id
3255
- # The Amazon WorkMail organization for which to list domains.
3564
+ # The WorkMail organization for which to list domains.
3256
3565
  #
3257
3566
  # @option params [required, String] :domain_name
3258
3567
  # The domain name that will become the default domain.
@@ -3275,6 +3584,58 @@ module Aws::WorkMail
3275
3584
  req.send_request(options)
3276
3585
  end
3277
3586
 
3587
+ # Updates an impersonation role for the given WorkMail organization.
3588
+ #
3589
+ # @option params [required, String] :organization_id
3590
+ # The WorkMail organization that contains the impersonation role to
3591
+ # update.
3592
+ #
3593
+ # @option params [required, String] :impersonation_role_id
3594
+ # The ID of the impersonation role to update.
3595
+ #
3596
+ # @option params [required, String] :name
3597
+ # The updated impersonation role name.
3598
+ #
3599
+ # @option params [required, String] :type
3600
+ # The updated impersonation role type.
3601
+ #
3602
+ # @option params [String] :description
3603
+ # The updated impersonation role description.
3604
+ #
3605
+ # @option params [required, Array<Types::ImpersonationRule>] :rules
3606
+ # The updated list of rules.
3607
+ #
3608
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3609
+ #
3610
+ # @example Request syntax with placeholder values
3611
+ #
3612
+ # resp = client.update_impersonation_role({
3613
+ # organization_id: "OrganizationId", # required
3614
+ # impersonation_role_id: "ImpersonationRoleId", # required
3615
+ # name: "ImpersonationRoleName", # required
3616
+ # type: "FULL_ACCESS", # required, accepts FULL_ACCESS, READ_ONLY
3617
+ # description: "ImpersonationRoleDescription",
3618
+ # rules: [ # required
3619
+ # {
3620
+ # impersonation_rule_id: "ImpersonationRuleId", # required
3621
+ # name: "ImpersonationRuleName",
3622
+ # description: "ImpersonationRuleDescription",
3623
+ # effect: "ALLOW", # required, accepts ALLOW, DENY
3624
+ # target_users: ["EntityIdentifier"],
3625
+ # not_target_users: ["EntityIdentifier"],
3626
+ # },
3627
+ # ],
3628
+ # })
3629
+ #
3630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateImpersonationRole AWS API Documentation
3631
+ #
3632
+ # @overload update_impersonation_role(params = {})
3633
+ # @param [Hash] params ({})
3634
+ def update_impersonation_role(params = {}, options = {})
3635
+ req = build_request(:update_impersonation_role, params)
3636
+ req.send_request(options)
3637
+ end
3638
+
3278
3639
  # Updates a user's current mailbox quota for a specified organization
3279
3640
  # and user.
3280
3641
  #
@@ -3307,11 +3668,11 @@ module Aws::WorkMail
3307
3668
  req.send_request(options)
3308
3669
  end
3309
3670
 
3310
- # Updates a mobile device access rule for the specified Amazon WorkMail
3671
+ # Updates a mobile device access rule for the specified WorkMail
3311
3672
  # organization.
3312
3673
  #
3313
3674
  # @option params [required, String] :organization_id
3314
- # The Amazon WorkMail organization under which the rule will be updated.
3675
+ # The WorkMail organization under which the rule will be updated.
3315
3676
  #
3316
3677
  # @option params [required, String] :mobile_device_access_rule_id
3317
3678
  # The identifier of the rule to be updated.
@@ -3471,7 +3832,7 @@ module Aws::WorkMail
3471
3832
  params: params,
3472
3833
  config: config)
3473
3834
  context[:gem_name] = 'aws-sdk-workmail'
3474
- context[:gem_version] = '1.50.0'
3835
+ context[:gem_version] = '1.52.0'
3475
3836
  Seahorse::Client::Request.new(handlers, context)
3476
3837
  end
3477
3838