aws-sdk-workmail 1.49.0 → 1.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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