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.
@@ -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
@@ -490,7 +527,61 @@ module Aws::WorkMail
490
527
  req.send_request(options)
491
528
  end
492
529
 
493
- # Creates a group that can be used in Amazon WorkMail by calling the
530
+ # Creates an `AvailabilityConfiguration` for the given WorkMail
531
+ # organization and domain.
532
+ #
533
+ # @option params [String] :client_token
534
+ # An idempotent token that ensures that an API request is executed only
535
+ # once.
536
+ #
537
+ # **A suitable default value is auto-generated.** You should normally
538
+ # not need to pass this option.**
539
+ #
540
+ # @option params [required, String] :organization_id
541
+ # The WorkMail organization for which the `AvailabilityConfiguration`
542
+ # will be created.
543
+ #
544
+ # @option params [required, String] :domain_name
545
+ # The domain to which the provider applies.
546
+ #
547
+ # @option params [Types::EwsAvailabilityProvider] :ews_provider
548
+ # Exchange Web Services (EWS) availability provider definition. The
549
+ # request must contain exactly one provider definition, either
550
+ # `EwsProvider` or `LambdaProvider`.
551
+ #
552
+ # @option params [Types::LambdaAvailabilityProvider] :lambda_provider
553
+ # Lambda availability provider definition. The request must contain
554
+ # exactly one provider definition, either `EwsProvider` or
555
+ # `LambdaProvider`.
556
+ #
557
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
558
+ #
559
+ # @example Request syntax with placeholder values
560
+ #
561
+ # resp = client.create_availability_configuration({
562
+ # client_token: "IdempotencyClientToken",
563
+ # organization_id: "OrganizationId", # required
564
+ # domain_name: "DomainName", # required
565
+ # ews_provider: {
566
+ # ews_endpoint: "Url", # required
567
+ # ews_username: "ExternalUserName", # required
568
+ # ews_password: "Password", # required
569
+ # },
570
+ # lambda_provider: {
571
+ # lambda_arn: "LambdaArn", # required
572
+ # },
573
+ # })
574
+ #
575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateAvailabilityConfiguration AWS API Documentation
576
+ #
577
+ # @overload create_availability_configuration(params = {})
578
+ # @param [Hash] params ({})
579
+ def create_availability_configuration(params = {}, options = {})
580
+ req = build_request(:create_availability_configuration, params)
581
+ req.send_request(options)
582
+ end
583
+
584
+ # Creates a group that can be used in WorkMail by calling the
494
585
  # RegisterToWorkMail operation.
495
586
  #
496
587
  # @option params [required, String] :organization_id
@@ -523,11 +614,77 @@ module Aws::WorkMail
523
614
  req.send_request(options)
524
615
  end
525
616
 
526
- # Creates a new mobile device access rule for the specified Amazon
527
- # 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.**
629
+ #
630
+ # @option params [required, String] :organization_id
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.
528
685
  #
529
686
  # @option params [required, String] :organization_id
530
- # The Amazon WorkMail organization under which the rule will be created.
687
+ # The WorkMail organization under which the rule will be created.
531
688
  #
532
689
  # @option params [String] :client_token
533
690
  # The idempotency token for the client request.
@@ -608,26 +765,25 @@ module Aws::WorkMail
608
765
  req.send_request(options)
609
766
  end
610
767
 
611
- # Creates a new Amazon WorkMail organization. Optionally, you can choose
612
- # 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
613
770
  # organization. If an AWS Directory Service directory ID is specified,
614
771
  # the organization alias must match the directory alias. If you choose
615
772
  # not to associate an existing directory with your organization, then we
616
- # create a new Amazon WorkMail directory for you. For more information,
617
- # see [Adding an organization][1] in the *Amazon WorkMail Administrator
618
- # Guide*.
773
+ # create a new WorkMail directory for you. For more information, see
774
+ # [Adding an organization][1] in the *WorkMail Administrator Guide*.
619
775
  #
620
776
  # You can associate multiple email domains with an organization, then
621
- # set your default email domain from the Amazon WorkMail console. You
622
- # can also associate a domain that is managed in an Amazon Route 53
623
- # public hosted zone. For more information, see [Adding a domain][2] and
624
- # [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
625
781
  # Guide*.
626
782
  #
627
- # Optionally, you can use a customer managed master key from AWS Key
628
- # Management Service (AWS KMS) to encrypt email for your organization.
629
- # If you don't associate an AWS KMS key, Amazon WorkMail creates a
630
- # 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.
631
787
  #
632
788
  #
633
789
  #
@@ -651,13 +807,12 @@ module Aws::WorkMail
651
807
  # The email domains to associate with the organization.
652
808
  #
653
809
  # @option params [String] :kms_key_arn
654
- # The Amazon Resource Name (ARN) of a customer managed master key from
655
- # AWS KMS.
810
+ # The Amazon Resource Name (ARN) of a customer managed key from AWS KMS.
656
811
  #
657
812
  # @option params [Boolean] :enable_interoperability
658
- # When `true`, allows organization interoperability between Amazon
659
- # WorkMail and Microsoft Exchange. Can only be set to `true` if an AD
660
- # 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.
661
816
  #
662
817
  # @return [Types::CreateOrganizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
663
818
  #
@@ -692,7 +847,7 @@ module Aws::WorkMail
692
847
  req.send_request(options)
693
848
  end
694
849
 
695
- # Creates a new Amazon WorkMail resource.
850
+ # Creates a new WorkMail resource.
696
851
  #
697
852
  # @option params [required, String] :organization_id
698
853
  # The identifier associated with the organization for which the resource
@@ -730,7 +885,7 @@ module Aws::WorkMail
730
885
  req.send_request(options)
731
886
  end
732
887
 
733
- # 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
734
889
  # RegisterToWorkMail operation.
735
890
  #
736
891
  # @option params [required, String] :organization_id
@@ -839,6 +994,34 @@ module Aws::WorkMail
839
994
  req.send_request(options)
840
995
  end
841
996
 
997
+ # Deletes the `AvailabilityConfiguration` for the given WorkMail
998
+ # organization and domain.
999
+ #
1000
+ # @option params [required, String] :organization_id
1001
+ # The WorkMail organization for which the `AvailabilityConfiguration`
1002
+ # will be deleted.
1003
+ #
1004
+ # @option params [required, String] :domain_name
1005
+ # The domain for which the `AvailabilityConfiguration` will be deleted.
1006
+ #
1007
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1008
+ #
1009
+ # @example Request syntax with placeholder values
1010
+ #
1011
+ # resp = client.delete_availability_configuration({
1012
+ # organization_id: "OrganizationId", # required
1013
+ # domain_name: "DomainName", # required
1014
+ # })
1015
+ #
1016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAvailabilityConfiguration AWS API Documentation
1017
+ #
1018
+ # @overload delete_availability_configuration(params = {})
1019
+ # @param [Hash] params ({})
1020
+ def delete_availability_configuration(params = {}, options = {})
1021
+ req = build_request(:delete_availability_configuration, params)
1022
+ req.send_request(options)
1023
+ end
1024
+
842
1025
  # Deletes the email monitoring configuration for a specified
843
1026
  # organization.
844
1027
  #
@@ -863,7 +1046,7 @@ module Aws::WorkMail
863
1046
  req.send_request(options)
864
1047
  end
865
1048
 
866
- # Deletes a group from Amazon WorkMail.
1049
+ # Deletes a group from WorkMail.
867
1050
  #
868
1051
  # @option params [required, String] :organization_id
869
1052
  # The organization that contains the group.
@@ -889,6 +1072,32 @@ module Aws::WorkMail
889
1072
  req.send_request(options)
890
1073
  end
891
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
+
892
1101
  # Deletes permissions granted to a member (user or group).
893
1102
  #
894
1103
  # @option params [required, String] :organization_id
@@ -931,7 +1140,7 @@ module Aws::WorkMail
931
1140
  # </note>
932
1141
  #
933
1142
  # @option params [required, String] :organization_id
934
- # The Amazon WorkMail organization for which the access override will be
1143
+ # The WorkMail organization for which the access override will be
935
1144
  # deleted.
936
1145
  #
937
1146
  # @option params [required, String] :user_id
@@ -968,7 +1177,7 @@ module Aws::WorkMail
968
1177
  req.send_request(options)
969
1178
  end
970
1179
 
971
- # Deletes a mobile device access rule for the specified Amazon WorkMail
1180
+ # Deletes a mobile device access rule for the specified WorkMail
972
1181
  # organization.
973
1182
  #
974
1183
  # <note markdown="1"> Deleting already deleted and non-existing rules does not produce an
@@ -978,7 +1187,7 @@ module Aws::WorkMail
978
1187
  # </note>
979
1188
  #
980
1189
  # @option params [required, String] :organization_id
981
- # The Amazon WorkMail organization under which the rule will be deleted.
1190
+ # The WorkMail organization under which the rule will be deleted.
982
1191
  #
983
1192
  # @option params [required, String] :mobile_device_access_rule_id
984
1193
  # The identifier of the rule to be deleted.
@@ -1001,11 +1210,10 @@ module Aws::WorkMail
1001
1210
  req.send_request(options)
1002
1211
  end
1003
1212
 
1004
- # Deletes an Amazon WorkMail organization and all underlying AWS
1005
- # resources managed by Amazon WorkMail as part of the organization. You
1006
- # can choose whether to delete the associated directory. For more
1007
- # information, see [Removing an organization][1] in the *Amazon WorkMail
1008
- # 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*.
1009
1217
  #
1010
1218
  #
1011
1219
  #
@@ -1105,8 +1313,8 @@ module Aws::WorkMail
1105
1313
  req.send_request(options)
1106
1314
  end
1107
1315
 
1108
- # Deletes a user from Amazon WorkMail and all subsequent systems. Before
1109
- # 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
1110
1318
  # DescribeUser action to confirm the user state.
1111
1319
  #
1112
1320
  # Deleting a user is permanent and cannot be undone. WorkMail archives
@@ -1136,14 +1344,14 @@ module Aws::WorkMail
1136
1344
  req.send_request(options)
1137
1345
  end
1138
1346
 
1139
- # Mark a user, group, or resource as no longer used in Amazon WorkMail.
1140
- # 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.
1141
1349
  # WorkMail keeps mailboxes for 30 days before they are permanently
1142
1350
  # removed. The functionality in the console is *Disable*.
1143
1351
  #
1144
1352
  # @option params [required, String] :organization_id
1145
- # The identifier for the organization under which the Amazon WorkMail
1146
- # entity exists.
1353
+ # The identifier for the organization under which the WorkMail entity
1354
+ # exists.
1147
1355
  #
1148
1356
  # @option params [required, String] :entity_id
1149
1357
  # The identifier for the member (user or group) to be updated.
@@ -1166,15 +1374,13 @@ module Aws::WorkMail
1166
1374
  req.send_request(options)
1167
1375
  end
1168
1376
 
1169
- # Removes a domain from Amazon WorkMail, stops email routing to
1170
- # WorkMail, and removes the authorization allowing WorkMail use. SES
1171
- # keeps the domain because other applications may use it. You must first
1172
- # remove any email address used by WorkMail entities before you remove
1173
- # 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.
1174
1381
  #
1175
1382
  # @option params [required, String] :organization_id
1176
- # The Amazon WorkMail organization for which the domain will be
1177
- # deregistered.
1383
+ # The WorkMail organization for which the domain will be deregistered.
1178
1384
  #
1179
1385
  # @option params [required, String] :domain_name
1180
1386
  # The domain to deregister in WorkMail and SES.
@@ -1556,7 +1762,10 @@ module Aws::WorkMail
1556
1762
  end
1557
1763
 
1558
1764
  # Gets the effects of an organization's access control rules as they
1559
- # 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.
1560
1769
  #
1561
1770
  # @option params [required, String] :organization_id
1562
1771
  # The identifier for the organization.
@@ -1569,9 +1778,12 @@ module Aws::WorkMail
1569
1778
  # `AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`, and
1570
1779
  # `WebMail`.
1571
1780
  #
1572
- # @option params [required, String] :user_id
1781
+ # @option params [String] :user_id
1573
1782
  # The user ID.
1574
1783
  #
1784
+ # @option params [String] :impersonation_role_id
1785
+ # The impersonation role ID.
1786
+ #
1575
1787
  # @return [Types::GetAccessControlEffectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1576
1788
  #
1577
1789
  # * {Types::GetAccessControlEffectResponse#effect #effect} => String
@@ -1583,7 +1795,8 @@ module Aws::WorkMail
1583
1795
  # organization_id: "OrganizationId", # required
1584
1796
  # ip_address: "IpAddress", # required
1585
1797
  # action: "AccessControlRuleAction", # required
1586
- # user_id: "WorkMailIdentifier", # required
1798
+ # user_id: "WorkMailIdentifier",
1799
+ # impersonation_role_id: "ImpersonationRoleId",
1587
1800
  # })
1588
1801
  #
1589
1802
  # @example Response structure
@@ -1639,11 +1852,116 @@ module Aws::WorkMail
1639
1852
  req.send_request(options)
1640
1853
  end
1641
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
+
1642
1960
  # Gets details for a mail domain, including domain records required to
1643
1961
  # configure your domain with recommended security.
1644
1962
  #
1645
1963
  # @option params [required, String] :organization_id
1646
- # The Amazon WorkMail organization for which the domain is retrieved.
1964
+ # The WorkMail organization for which the domain is retrieved.
1647
1965
  #
1648
1966
  # @option params [required, String] :domain_name
1649
1967
  # The domain from which you want to retrieve details.
@@ -1722,10 +2040,10 @@ module Aws::WorkMail
1722
2040
  # Simulates the effect of the mobile device access rules for the given
1723
2041
  # attributes of a sample access event. Use this method to test the
1724
2042
  # effects of the current set of mobile device access rules for the
1725
- # Amazon WorkMail organization for a particular user's attributes.
2043
+ # WorkMail organization for a particular user's attributes.
1726
2044
  #
1727
2045
  # @option params [required, String] :organization_id
1728
- # The Amazon WorkMail organization to simulate the access effect for.
2046
+ # The WorkMail organization to simulate the access effect for.
1729
2047
  #
1730
2048
  # @option params [String] :device_type
1731
2049
  # Device type the simulated user will report.
@@ -1774,8 +2092,7 @@ module Aws::WorkMail
1774
2092
  # organization, user, and device.
1775
2093
  #
1776
2094
  # @option params [required, String] :organization_id
1777
- # The Amazon WorkMail organization to which you want to apply the
1778
- # override.
2095
+ # The WorkMail organization to which you want to apply the override.
1779
2096
  #
1780
2097
  # @option params [required, String] :user_id
1781
2098
  # Identifies the WorkMail user for the override. Accepts the following
@@ -1862,6 +2179,10 @@ module Aws::WorkMail
1862
2179
  # resp.rules[0].not_user_ids[0] #=> String
1863
2180
  # resp.rules[0].date_created #=> Time
1864
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
1865
2186
  #
1866
2187
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAccessControlRules AWS API Documentation
1867
2188
  #
@@ -1919,6 +2240,56 @@ module Aws::WorkMail
1919
2240
  req.send_request(options)
1920
2241
  end
1921
2242
 
2243
+ # List all the `AvailabilityConfiguration`'s for the given WorkMail
2244
+ # organization.
2245
+ #
2246
+ # @option params [required, String] :organization_id
2247
+ # The WorkMail organization for which the `AvailabilityConfiguration`'s
2248
+ # will be listed.
2249
+ #
2250
+ # @option params [Integer] :max_results
2251
+ # The maximum number of results to return in a single call.
2252
+ #
2253
+ # @option params [String] :next_token
2254
+ # The token to use to retrieve the next page of results. The first call
2255
+ # does not require a token.
2256
+ #
2257
+ # @return [Types::ListAvailabilityConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2258
+ #
2259
+ # * {Types::ListAvailabilityConfigurationsResponse#availability_configurations #availability_configurations} => Array&lt;Types::AvailabilityConfiguration&gt;
2260
+ # * {Types::ListAvailabilityConfigurationsResponse#next_token #next_token} => String
2261
+ #
2262
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2263
+ #
2264
+ # @example Request syntax with placeholder values
2265
+ #
2266
+ # resp = client.list_availability_configurations({
2267
+ # organization_id: "OrganizationId", # required
2268
+ # max_results: 1,
2269
+ # next_token: "NextToken",
2270
+ # })
2271
+ #
2272
+ # @example Response structure
2273
+ #
2274
+ # resp.availability_configurations #=> Array
2275
+ # resp.availability_configurations[0].domain_name #=> String
2276
+ # resp.availability_configurations[0].provider_type #=> String, one of "EWS", "LAMBDA"
2277
+ # resp.availability_configurations[0].ews_provider.ews_endpoint #=> String
2278
+ # resp.availability_configurations[0].ews_provider.ews_username #=> String
2279
+ # resp.availability_configurations[0].lambda_provider.lambda_arn #=> String
2280
+ # resp.availability_configurations[0].date_created #=> Time
2281
+ # resp.availability_configurations[0].date_modified #=> Time
2282
+ # resp.next_token #=> String
2283
+ #
2284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAvailabilityConfigurations AWS API Documentation
2285
+ #
2286
+ # @overload list_availability_configurations(params = {})
2287
+ # @param [Hash] params ({})
2288
+ def list_availability_configurations(params = {}, options = {})
2289
+ req = build_request(:list_availability_configurations, params)
2290
+ req.send_request(options)
2291
+ end
2292
+
1922
2293
  # Returns an overview of the members of a group. Users and groups can be
1923
2294
  # members of a group.
1924
2295
  #
@@ -2019,10 +2390,57 @@ module Aws::WorkMail
2019
2390
  req.send_request(options)
2020
2391
  end
2021
2392
 
2022
- # Lists the mail domains in a given Amazon WorkMail organization.
2393
+ # Lists all the impersonation roles for the given WorkMail organization.
2023
2394
  #
2024
2395
  # @option params [required, String] :organization_id
2025
- # 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.
2026
2444
  #
2027
2445
  # @option params [Integer] :max_results
2028
2446
  # The maximum number of results to return in a single call.
@@ -2168,8 +2586,8 @@ module Aws::WorkMail
2168
2586
  # of WorkMail organization, user, or device.
2169
2587
  #
2170
2588
  # @option params [required, String] :organization_id
2171
- # The Amazon WorkMail organization under which to list mobile device
2172
- # access overrides.
2589
+ # The WorkMail organization under which to list mobile device access
2590
+ # overrides.
2173
2591
  #
2174
2592
  # @option params [String] :user_id
2175
2593
  # The WorkMail user under which you list the mobile device access
@@ -2229,11 +2647,11 @@ module Aws::WorkMail
2229
2647
  req.send_request(options)
2230
2648
  end
2231
2649
 
2232
- # Lists the mobile device access rules for the specified Amazon WorkMail
2650
+ # Lists the mobile device access rules for the specified WorkMail
2233
2651
  # organization.
2234
2652
  #
2235
2653
  # @option params [required, String] :organization_id
2236
- # The Amazon WorkMail organization for which to list the rules.
2654
+ # The WorkMail organization for which to list the rules.
2237
2655
  #
2238
2656
  # @return [Types::ListMobileDeviceAccessRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2239
2657
  #
@@ -2419,7 +2837,7 @@ module Aws::WorkMail
2419
2837
  req.send_request(options)
2420
2838
  end
2421
2839
 
2422
- # Lists the tags applied to an Amazon WorkMail organization resource.
2840
+ # Lists the tags applied to an WorkMail organization resource.
2423
2841
  #
2424
2842
  # @option params [required, String] :resource_arn
2425
2843
  # The resource ARN.
@@ -2500,8 +2918,9 @@ module Aws::WorkMail
2500
2918
 
2501
2919
  # Adds a new access control rule for the specified organization. The
2502
2920
  # rule allows or denies access to the organization for the specified
2503
- # IPv4 addresses, access protocol actions, and user IDs. Adding a new
2504
- # 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.
2505
2924
  #
2506
2925
  # @option params [required, String] :name
2507
2926
  # The rule name.
@@ -2537,6 +2956,12 @@ module Aws::WorkMail
2537
2956
  # @option params [required, String] :organization_id
2538
2957
  # The identifier of the organization.
2539
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
+ #
2540
2965
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2541
2966
  #
2542
2967
  # @example Request syntax with placeholder values
@@ -2552,6 +2977,8 @@ module Aws::WorkMail
2552
2977
  # user_ids: ["WorkMailIdentifier"],
2553
2978
  # not_user_ids: ["WorkMailIdentifier"],
2554
2979
  # organization_id: "OrganizationId", # required
2980
+ # impersonation_role_ids: ["ImpersonationRoleId"],
2981
+ # not_impersonation_role_ids: ["ImpersonationRoleId"],
2555
2982
  # })
2556
2983
  #
2557
2984
  # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutAccessControlRule AWS API Documentation
@@ -2671,7 +3098,7 @@ module Aws::WorkMail
2671
3098
  # WorkMail organization, user, and device.
2672
3099
  #
2673
3100
  # @option params [required, String] :organization_id
2674
- # Identifies the Amazon WorkMail organization for which you create the
3101
+ # Identifies the WorkMail organization for which you create the
2675
3102
  # override.
2676
3103
  #
2677
3104
  # @option params [required, String] :user_id
@@ -2760,11 +3187,10 @@ module Aws::WorkMail
2760
3187
  req.send_request(options)
2761
3188
  end
2762
3189
 
2763
- # Registers a new domain in Amazon WorkMail and SES, and configures it
2764
- # for use by WorkMail. Emails received by SES for this domain are routed
2765
- # to the specified WorkMail organization, and WorkMail has permanent
2766
- # permission to use the specified domain for sending your users'
2767
- # 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.
2768
3194
  #
2769
3195
  # @option params [String] :client_token
2770
3196
  # Idempotency token used when retrying requests.
@@ -2773,11 +3199,10 @@ module Aws::WorkMail
2773
3199
  # not need to pass this option.**
2774
3200
  #
2775
3201
  # @option params [required, String] :organization_id
2776
- # The Amazon WorkMail organization under which you're creating the
2777
- # domain.
3202
+ # The WorkMail organization under which you're creating the domain.
2778
3203
  #
2779
3204
  # @option params [required, String] :domain_name
2780
- # 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.
2781
3206
  #
2782
3207
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2783
3208
  #
@@ -2798,7 +3223,7 @@ module Aws::WorkMail
2798
3223
  req.send_request(options)
2799
3224
  end
2800
3225
 
2801
- # Registers an existing and disabled user, group, or resource for Amazon
3226
+ # Registers an existing and disabled user, group, or resource for
2802
3227
  # WorkMail use by associating a mailbox and calendaring capabilities. It
2803
3228
  # performs no change if the user, group, or resource is enabled and
2804
3229
  # fails if the user, group, or resource is deleted. This operation
@@ -2877,8 +3302,7 @@ module Aws::WorkMail
2877
3302
  # Starts a mailbox export job to export MIME-format email messages and
2878
3303
  # calendar items from the specified mailbox to the specified Amazon
2879
3304
  # Simple Storage Service (Amazon S3) bucket. For more information, see
2880
- # [Exporting mailbox content][1] in the *Amazon WorkMail Administrator
2881
- # Guide*.
3305
+ # [Exporting mailbox content][1] in the *WorkMail Administrator Guide*.
2882
3306
  #
2883
3307
  #
2884
3308
  #
@@ -2943,8 +3367,8 @@ module Aws::WorkMail
2943
3367
  req.send_request(options)
2944
3368
  end
2945
3369
 
2946
- # Applies the specified tags to the specified Amazon WorkMail
2947
- # organization resource.
3370
+ # Applies the specified tags to the specified WorkMailorganization
3371
+ # resource.
2948
3372
  #
2949
3373
  # @option params [required, String] :resource_arn
2950
3374
  # The resource ARN.
@@ -2975,8 +3399,72 @@ module Aws::WorkMail
2975
3399
  req.send_request(options)
2976
3400
  end
2977
3401
 
2978
- # Untags the specified tags from the specified Amazon WorkMail
2979
- # organization resource.
3402
+ # Performs a test on an availability provider to ensure that access is
3403
+ # allowed. For EWS, it verifies the provided credentials can be used to
3404
+ # successfully log in. For Lambda, it verifies that the Lambda function
3405
+ # can be invoked and that the resource access policy was configured to
3406
+ # deny anonymous access. An anonymous invocation is one done without
3407
+ # providing either a `SourceArn` or `SourceAccount` header.
3408
+ #
3409
+ # <note markdown="1"> The request must contain either one provider definition (`EwsProvider`
3410
+ # or `LambdaProvider`) or the `DomainName` parameter. If the
3411
+ # `DomainName` parameter is provided, the configuration stored under the
3412
+ # `DomainName` will be tested.
3413
+ #
3414
+ # </note>
3415
+ #
3416
+ # @option params [required, String] :organization_id
3417
+ # The WorkMail organization where the availability provider will be
3418
+ # tested.
3419
+ #
3420
+ # @option params [String] :domain_name
3421
+ # The domain to which the provider applies. If this field is provided, a
3422
+ # stored availability provider associated to this domain name will be
3423
+ # tested.
3424
+ #
3425
+ # @option params [Types::EwsAvailabilityProvider] :ews_provider
3426
+ # Describes an EWS based availability provider. This is only used as
3427
+ # input to the service.
3428
+ #
3429
+ # @option params [Types::LambdaAvailabilityProvider] :lambda_provider
3430
+ # Describes a Lambda based availability provider.
3431
+ #
3432
+ # @return [Types::TestAvailabilityConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3433
+ #
3434
+ # * {Types::TestAvailabilityConfigurationResponse#test_passed #test_passed} => Boolean
3435
+ # * {Types::TestAvailabilityConfigurationResponse#failure_reason #failure_reason} => String
3436
+ #
3437
+ # @example Request syntax with placeholder values
3438
+ #
3439
+ # resp = client.test_availability_configuration({
3440
+ # organization_id: "OrganizationId", # required
3441
+ # domain_name: "DomainName",
3442
+ # ews_provider: {
3443
+ # ews_endpoint: "Url", # required
3444
+ # ews_username: "ExternalUserName", # required
3445
+ # ews_password: "Password", # required
3446
+ # },
3447
+ # lambda_provider: {
3448
+ # lambda_arn: "LambdaArn", # required
3449
+ # },
3450
+ # })
3451
+ #
3452
+ # @example Response structure
3453
+ #
3454
+ # resp.test_passed #=> Boolean
3455
+ # resp.failure_reason #=> String
3456
+ #
3457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/TestAvailabilityConfiguration AWS API Documentation
3458
+ #
3459
+ # @overload test_availability_configuration(params = {})
3460
+ # @param [Hash] params ({})
3461
+ def test_availability_configuration(params = {}, options = {})
3462
+ req = build_request(:test_availability_configuration, params)
3463
+ req.send_request(options)
3464
+ end
3465
+
3466
+ # Untags the specified tags from the specified WorkMail organization
3467
+ # resource.
2980
3468
  #
2981
3469
  # @option params [required, String] :resource_arn
2982
3470
  # The resource ARN.
@@ -3002,12 +3490,61 @@ module Aws::WorkMail
3002
3490
  req.send_request(options)
3003
3491
  end
3004
3492
 
3493
+ # Updates an existing `AvailabilityConfiguration` for the given WorkMail
3494
+ # organization and domain.
3495
+ #
3496
+ # @option params [required, String] :organization_id
3497
+ # The WorkMail organization for which the `AvailabilityConfiguration`
3498
+ # will be updated.
3499
+ #
3500
+ # @option params [required, String] :domain_name
3501
+ # The domain to which the provider applies the availability
3502
+ # configuration.
3503
+ #
3504
+ # @option params [Types::EwsAvailabilityProvider] :ews_provider
3505
+ # The EWS availability provider definition. The request must contain
3506
+ # exactly one provider definition, either `EwsProvider` or
3507
+ # `LambdaProvider`. The previously stored provider will be overridden by
3508
+ # the one provided.
3509
+ #
3510
+ # @option params [Types::LambdaAvailabilityProvider] :lambda_provider
3511
+ # The Lambda availability provider definition. The request must contain
3512
+ # exactly one provider definition, either `EwsProvider` or
3513
+ # `LambdaProvider`. The previously stored provider will be overridden by
3514
+ # the one provided.
3515
+ #
3516
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3517
+ #
3518
+ # @example Request syntax with placeholder values
3519
+ #
3520
+ # resp = client.update_availability_configuration({
3521
+ # organization_id: "OrganizationId", # required
3522
+ # domain_name: "DomainName", # required
3523
+ # ews_provider: {
3524
+ # ews_endpoint: "Url", # required
3525
+ # ews_username: "ExternalUserName", # required
3526
+ # ews_password: "Password", # required
3527
+ # },
3528
+ # lambda_provider: {
3529
+ # lambda_arn: "LambdaArn", # required
3530
+ # },
3531
+ # })
3532
+ #
3533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateAvailabilityConfiguration AWS API Documentation
3534
+ #
3535
+ # @overload update_availability_configuration(params = {})
3536
+ # @param [Hash] params ({})
3537
+ def update_availability_configuration(params = {}, options = {})
3538
+ req = build_request(:update_availability_configuration, params)
3539
+ req.send_request(options)
3540
+ end
3541
+
3005
3542
  # Updates the default mail domain for an organization. The default mail
3006
3543
  # domain is used by the WorkMail AWS Console to suggest an email address
3007
3544
  # when enabling a mail user. You can only have one default domain.
3008
3545
  #
3009
3546
  # @option params [required, String] :organization_id
3010
- # The Amazon WorkMail organization for which to list domains.
3547
+ # The WorkMail organization for which to list domains.
3011
3548
  #
3012
3549
  # @option params [required, String] :domain_name
3013
3550
  # The domain name that will become the default domain.
@@ -3030,6 +3567,58 @@ module Aws::WorkMail
3030
3567
  req.send_request(options)
3031
3568
  end
3032
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
+
3033
3622
  # Updates a user's current mailbox quota for a specified organization
3034
3623
  # and user.
3035
3624
  #
@@ -3062,11 +3651,11 @@ module Aws::WorkMail
3062
3651
  req.send_request(options)
3063
3652
  end
3064
3653
 
3065
- # Updates a mobile device access rule for the specified Amazon WorkMail
3654
+ # Updates a mobile device access rule for the specified WorkMail
3066
3655
  # organization.
3067
3656
  #
3068
3657
  # @option params [required, String] :organization_id
3069
- # The Amazon WorkMail organization under which the rule will be updated.
3658
+ # The WorkMail organization under which the rule will be updated.
3070
3659
  #
3071
3660
  # @option params [required, String] :mobile_device_access_rule_id
3072
3661
  # The identifier of the rule to be updated.
@@ -3226,7 +3815,7 @@ module Aws::WorkMail
3226
3815
  params: params,
3227
3816
  config: config)
3228
3817
  context[:gem_name] = 'aws-sdk-workmail'
3229
- context[:gem_version] = '1.49.0'
3818
+ context[:gem_version] = '1.51.0'
3230
3819
  Seahorse::Client::Request.new(handlers, context)
3231
3820
  end
3232
3821