aws-sdk-workmail 1.20.0 → 1.21.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: abcf0d3fe9c74b6e9acab706ad70ba749b67af87
4
- data.tar.gz: dd567f3a0d0e9cc72129ccbf4545ac903fbf4716
3
+ metadata.gz: a5c1a31caca5a34b43b3793f9a5205aa5df5acf6
4
+ data.tar.gz: 90bfa47e61f9cf814476d1c9e1a0ad9a0c9d43a0
5
5
  SHA512:
6
- metadata.gz: 7a4245226613f72de0c24f02b03c8c261b7c37913bf938e65d5906aa17e7017c8b53e95f1f912dcd699e6edbb9205d5ea3489516fd693d7e1b0eba5cc9793cff
7
- data.tar.gz: 909bbae39a1a3aa689739b66830fede36d3a23279306db11016e3807cf0dfdab3a24a82cd66c658bc4330b30e21dd7a9ee5264ecdf2ed623da41336692cf41b7
6
+ metadata.gz: c6dd425a6372cb24aa40b50059d977443be97a94625fc3cd7c0222727860e2c3bb72db6185cdfb769999ef1aab1fdb3af342bd682bb786b82e809ecf6366e8db
7
+ data.tar.gz: bef43b086a68227097bd674e097035472dac6dfd94b21db4acfb03e7d8fa0ff482e39ab655a3591bfc4fb448575c34514d67294180bdb9d9602d7d8fc409054e
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-workmail/customizations'
42
42
  # @service
43
43
  module Aws::WorkMail
44
44
 
45
- GEM_VERSION = '1.20.0'
45
+ GEM_VERSION = '1.21.0'
46
46
 
47
47
  end
@@ -468,6 +468,33 @@ module Aws::WorkMail
468
468
  req.send_request(options)
469
469
  end
470
470
 
471
+ # Deletes an access control rule for the specified WorkMail
472
+ # organization.
473
+ #
474
+ # @option params [String] :organization_id
475
+ # The identifier for the organization.
476
+ #
477
+ # @option params [required, String] :name
478
+ # The name of the access control rule.
479
+ #
480
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
481
+ #
482
+ # @example Request syntax with placeholder values
483
+ #
484
+ # resp = client.delete_access_control_rule({
485
+ # organization_id: "OrganizationId",
486
+ # name: "AccessControlRuleName", # required
487
+ # })
488
+ #
489
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAccessControlRule AWS API Documentation
490
+ #
491
+ # @overload delete_access_control_rule(params = {})
492
+ # @param [Hash] params ({})
493
+ def delete_access_control_rule(params = {}, options = {})
494
+ req = build_request(:delete_access_control_rule, params)
495
+ req.send_request(options)
496
+ end
497
+
471
498
  # Remove one or more specified aliases from a set of aliases for a given
472
499
  # user.
473
500
  #
@@ -892,6 +919,52 @@ module Aws::WorkMail
892
919
  req.send_request(options)
893
920
  end
894
921
 
922
+ # Gets the effects of an organization's access control rules as they
923
+ # apply to a specified IPv4 address, access protocol action, or user ID.
924
+ #
925
+ # @option params [required, String] :organization_id
926
+ # The identifier for the organization.
927
+ #
928
+ # @option params [required, String] :ip_address
929
+ # The IPv4 address.
930
+ #
931
+ # @option params [required, String] :action
932
+ # The access protocol action. Valid values include `ActiveSync`,
933
+ # `AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`, and
934
+ # `WebMail`.
935
+ #
936
+ # @option params [required, String] :user_id
937
+ # The user ID.
938
+ #
939
+ # @return [Types::GetAccessControlEffectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
940
+ #
941
+ # * {Types::GetAccessControlEffectResponse#effect #effect} => String
942
+ # * {Types::GetAccessControlEffectResponse#matched_rules #matched_rules} => Array<String>
943
+ #
944
+ # @example Request syntax with placeholder values
945
+ #
946
+ # resp = client.get_access_control_effect({
947
+ # organization_id: "OrganizationId", # required
948
+ # ip_address: "IpAddress", # required
949
+ # action: "AccessControlRuleAction", # required
950
+ # user_id: "WorkMailIdentifier", # required
951
+ # })
952
+ #
953
+ # @example Response structure
954
+ #
955
+ # resp.effect #=> String, one of "ALLOW", "DENY"
956
+ # resp.matched_rules #=> Array
957
+ # resp.matched_rules[0] #=> String
958
+ #
959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetAccessControlEffect AWS API Documentation
960
+ #
961
+ # @overload get_access_control_effect(params = {})
962
+ # @param [Hash] params ({})
963
+ def get_access_control_effect(params = {}, options = {})
964
+ req = build_request(:get_access_control_effect, params)
965
+ req.send_request(options)
966
+ end
967
+
895
968
  # Requests a user's mailbox details for a specified organization and
896
969
  # user.
897
970
  #
@@ -928,6 +1001,51 @@ module Aws::WorkMail
928
1001
  req.send_request(options)
929
1002
  end
930
1003
 
1004
+ # Lists the access control rules for the specified organization.
1005
+ #
1006
+ # @option params [required, String] :organization_id
1007
+ # The identifier for the organization.
1008
+ #
1009
+ # @return [Types::ListAccessControlRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1010
+ #
1011
+ # * {Types::ListAccessControlRulesResponse#rules #rules} => Array<Types::AccessControlRule>
1012
+ #
1013
+ # @example Request syntax with placeholder values
1014
+ #
1015
+ # resp = client.list_access_control_rules({
1016
+ # organization_id: "OrganizationId", # required
1017
+ # })
1018
+ #
1019
+ # @example Response structure
1020
+ #
1021
+ # resp.rules #=> Array
1022
+ # resp.rules[0].name #=> String
1023
+ # resp.rules[0].effect #=> String, one of "ALLOW", "DENY"
1024
+ # resp.rules[0].description #=> String
1025
+ # resp.rules[0].ip_ranges #=> Array
1026
+ # resp.rules[0].ip_ranges[0] #=> String
1027
+ # resp.rules[0].not_ip_ranges #=> Array
1028
+ # resp.rules[0].not_ip_ranges[0] #=> String
1029
+ # resp.rules[0].actions #=> Array
1030
+ # resp.rules[0].actions[0] #=> String
1031
+ # resp.rules[0].not_actions #=> Array
1032
+ # resp.rules[0].not_actions[0] #=> String
1033
+ # resp.rules[0].user_ids #=> Array
1034
+ # resp.rules[0].user_ids[0] #=> String
1035
+ # resp.rules[0].not_user_ids #=> Array
1036
+ # resp.rules[0].not_user_ids[0] #=> String
1037
+ # resp.rules[0].date_created #=> Time
1038
+ # resp.rules[0].date_modified #=> Time
1039
+ #
1040
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAccessControlRules AWS API Documentation
1041
+ #
1042
+ # @overload list_access_control_rules(params = {})
1043
+ # @param [Hash] params ({})
1044
+ def list_access_control_rules(params = {}, options = {})
1045
+ req = build_request(:list_access_control_rules, params)
1046
+ req.send_request(options)
1047
+ end
1048
+
931
1049
  # Creates a paginated call to list the aliases associated with a given
932
1050
  # entity.
933
1051
  #
@@ -1328,6 +1446,71 @@ module Aws::WorkMail
1328
1446
  req.send_request(options)
1329
1447
  end
1330
1448
 
1449
+ # Adds a new access control rule for the specified organization. The
1450
+ # rule allows or denies access to the organization for the specified
1451
+ # IPv4 addresses, access protocol actions, and user IDs. Adding a new
1452
+ # rule with the same name as an existing rule replaces the older rule.
1453
+ #
1454
+ # @option params [required, String] :name
1455
+ # The rule name.
1456
+ #
1457
+ # @option params [required, String] :effect
1458
+ # The rule effect.
1459
+ #
1460
+ # @option params [required, String] :description
1461
+ # The rule description.
1462
+ #
1463
+ # @option params [Array<String>] :ip_ranges
1464
+ # IPv4 CIDR ranges to include in the rule.
1465
+ #
1466
+ # @option params [Array<String>] :not_ip_ranges
1467
+ # IPv4 CIDR ranges to exclude from the rule.
1468
+ #
1469
+ # @option params [Array<String>] :actions
1470
+ # Access protocol actions to include in the rule. Valid values include
1471
+ # `ActiveSync`, `AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`,
1472
+ # and `WebMail`.
1473
+ #
1474
+ # @option params [Array<String>] :not_actions
1475
+ # Access protocol actions to exclude from the rule. Valid values include
1476
+ # `ActiveSync`, `AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`,
1477
+ # and `WebMail`.
1478
+ #
1479
+ # @option params [Array<String>] :user_ids
1480
+ # User IDs to include in the rule.
1481
+ #
1482
+ # @option params [Array<String>] :not_user_ids
1483
+ # User IDs to exclude from the rule.
1484
+ #
1485
+ # @option params [required, String] :organization_id
1486
+ # The identifier of the organization.
1487
+ #
1488
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1489
+ #
1490
+ # @example Request syntax with placeholder values
1491
+ #
1492
+ # resp = client.put_access_control_rule({
1493
+ # name: "AccessControlRuleName", # required
1494
+ # effect: "ALLOW", # required, accepts ALLOW, DENY
1495
+ # description: "AccessControlRuleDescription", # required
1496
+ # ip_ranges: ["IpRange"],
1497
+ # not_ip_ranges: ["IpRange"],
1498
+ # actions: ["AccessControlRuleAction"],
1499
+ # not_actions: ["AccessControlRuleAction"],
1500
+ # user_ids: ["WorkMailIdentifier"],
1501
+ # not_user_ids: ["WorkMailIdentifier"],
1502
+ # organization_id: "OrganizationId", # required
1503
+ # })
1504
+ #
1505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutAccessControlRule AWS API Documentation
1506
+ #
1507
+ # @overload put_access_control_rule(params = {})
1508
+ # @param [Hash] params ({})
1509
+ def put_access_control_rule(params = {}, options = {})
1510
+ req = build_request(:put_access_control_rule, params)
1511
+ req.send_request(options)
1512
+ end
1513
+
1331
1514
  # Sets permissions for a user, group, or resource. This replaces any
1332
1515
  # pre-existing permissions.
1333
1516
  #
@@ -1386,7 +1569,7 @@ module Aws::WorkMail
1386
1569
  #
1387
1570
  #
1388
1571
  #
1389
- # [1]: https://aws.amazon.com//workmail/pricing
1572
+ # [1]: https://aws.amazon.com/workmail/pricing
1390
1573
  #
1391
1574
  # @option params [required, String] :organization_id
1392
1575
  # The identifier for the organization under which the user, group, or
@@ -1627,7 +1810,7 @@ module Aws::WorkMail
1627
1810
  params: params,
1628
1811
  config: config)
1629
1812
  context[:gem_name] = 'aws-sdk-workmail'
1630
- context[:gem_version] = '1.20.0'
1813
+ context[:gem_version] = '1.21.0'
1631
1814
  Seahorse::Client::Request.new(handlers, context)
1632
1815
  end
1633
1816
 
@@ -11,6 +11,14 @@ module Aws::WorkMail
11
11
 
12
12
  include Seahorse::Model
13
13
 
14
+ AccessControlRule = Shapes::StructureShape.new(name: 'AccessControlRule')
15
+ AccessControlRuleAction = Shapes::StringShape.new(name: 'AccessControlRuleAction')
16
+ AccessControlRuleDescription = Shapes::StringShape.new(name: 'AccessControlRuleDescription')
17
+ AccessControlRuleEffect = Shapes::StringShape.new(name: 'AccessControlRuleEffect')
18
+ AccessControlRuleName = Shapes::StringShape.new(name: 'AccessControlRuleName')
19
+ AccessControlRuleNameList = Shapes::ListShape.new(name: 'AccessControlRuleNameList')
20
+ AccessControlRulesList = Shapes::ListShape.new(name: 'AccessControlRulesList')
21
+ ActionsList = Shapes::ListShape.new(name: 'ActionsList')
14
22
  Aliases = Shapes::ListShape.new(name: 'Aliases')
15
23
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
16
24
  AssociateDelegateToResourceRequest = Shapes::StructureShape.new(name: 'AssociateDelegateToResourceRequest')
@@ -28,6 +36,8 @@ module Aws::WorkMail
28
36
  CreateUserRequest = Shapes::StructureShape.new(name: 'CreateUserRequest')
29
37
  CreateUserResponse = Shapes::StructureShape.new(name: 'CreateUserResponse')
30
38
  Delegate = Shapes::StructureShape.new(name: 'Delegate')
39
+ DeleteAccessControlRuleRequest = Shapes::StructureShape.new(name: 'DeleteAccessControlRuleRequest')
40
+ DeleteAccessControlRuleResponse = Shapes::StructureShape.new(name: 'DeleteAccessControlRuleResponse')
31
41
  DeleteAliasRequest = Shapes::StructureShape.new(name: 'DeleteAliasRequest')
32
42
  DeleteAliasResponse = Shapes::StructureShape.new(name: 'DeleteAliasResponse')
33
43
  DeleteGroupRequest = Shapes::StructureShape.new(name: 'DeleteGroupRequest')
@@ -60,6 +70,8 @@ module Aws::WorkMail
60
70
  EntityNotFoundException = Shapes::StructureShape.new(name: 'EntityNotFoundException')
61
71
  EntityState = Shapes::StringShape.new(name: 'EntityState')
62
72
  EntityStateException = Shapes::StructureShape.new(name: 'EntityStateException')
73
+ GetAccessControlEffectRequest = Shapes::StructureShape.new(name: 'GetAccessControlEffectRequest')
74
+ GetAccessControlEffectResponse = Shapes::StructureShape.new(name: 'GetAccessControlEffectResponse')
63
75
  GetMailboxDetailsRequest = Shapes::StructureShape.new(name: 'GetMailboxDetailsRequest')
64
76
  GetMailboxDetailsResponse = Shapes::StructureShape.new(name: 'GetMailboxDetailsResponse')
65
77
  Group = Shapes::StructureShape.new(name: 'Group')
@@ -68,7 +80,12 @@ module Aws::WorkMail
68
80
  InvalidConfigurationException = Shapes::StructureShape.new(name: 'InvalidConfigurationException')
69
81
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
70
82
  InvalidPasswordException = Shapes::StructureShape.new(name: 'InvalidPasswordException')
83
+ IpAddress = Shapes::StringShape.new(name: 'IpAddress')
84
+ IpRange = Shapes::StringShape.new(name: 'IpRange')
85
+ IpRangeList = Shapes::ListShape.new(name: 'IpRangeList')
71
86
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
87
+ ListAccessControlRulesRequest = Shapes::StructureShape.new(name: 'ListAccessControlRulesRequest')
88
+ ListAccessControlRulesResponse = Shapes::StructureShape.new(name: 'ListAccessControlRulesResponse')
72
89
  ListAliasesRequest = Shapes::StructureShape.new(name: 'ListAliasesRequest')
73
90
  ListAliasesResponse = Shapes::StructureShape.new(name: 'ListAliasesResponse')
74
91
  ListGroupMembersRequest = Shapes::StructureShape.new(name: 'ListGroupMembersRequest')
@@ -108,6 +125,8 @@ module Aws::WorkMail
108
125
  PermissionType = Shapes::StringShape.new(name: 'PermissionType')
109
126
  PermissionValues = Shapes::ListShape.new(name: 'PermissionValues')
110
127
  Permissions = Shapes::ListShape.new(name: 'Permissions')
128
+ PutAccessControlRuleRequest = Shapes::StructureShape.new(name: 'PutAccessControlRuleRequest')
129
+ PutAccessControlRuleResponse = Shapes::StructureShape.new(name: 'PutAccessControlRuleResponse')
111
130
  PutMailboxPermissionsRequest = Shapes::StructureShape.new(name: 'PutMailboxPermissionsRequest')
112
131
  PutMailboxPermissionsResponse = Shapes::StructureShape.new(name: 'PutMailboxPermissionsResponse')
113
132
  RegisterToWorkMailRequest = Shapes::StructureShape.new(name: 'RegisterToWorkMailRequest')
@@ -142,11 +161,31 @@ module Aws::WorkMail
142
161
  UpdateResourceRequest = Shapes::StructureShape.new(name: 'UpdateResourceRequest')
143
162
  UpdateResourceResponse = Shapes::StructureShape.new(name: 'UpdateResourceResponse')
144
163
  User = Shapes::StructureShape.new(name: 'User')
164
+ UserIdList = Shapes::ListShape.new(name: 'UserIdList')
145
165
  UserName = Shapes::StringShape.new(name: 'UserName')
146
166
  UserRole = Shapes::StringShape.new(name: 'UserRole')
147
167
  Users = Shapes::ListShape.new(name: 'Users')
148
168
  WorkMailIdentifier = Shapes::StringShape.new(name: 'WorkMailIdentifier')
149
169
 
170
+ AccessControlRule.add_member(:name, Shapes::ShapeRef.new(shape: AccessControlRuleName, location_name: "Name"))
171
+ AccessControlRule.add_member(:effect, Shapes::ShapeRef.new(shape: AccessControlRuleEffect, location_name: "Effect"))
172
+ AccessControlRule.add_member(:description, Shapes::ShapeRef.new(shape: AccessControlRuleDescription, location_name: "Description"))
173
+ AccessControlRule.add_member(:ip_ranges, Shapes::ShapeRef.new(shape: IpRangeList, location_name: "IpRanges"))
174
+ AccessControlRule.add_member(:not_ip_ranges, Shapes::ShapeRef.new(shape: IpRangeList, location_name: "NotIpRanges"))
175
+ AccessControlRule.add_member(:actions, Shapes::ShapeRef.new(shape: ActionsList, location_name: "Actions"))
176
+ AccessControlRule.add_member(:not_actions, Shapes::ShapeRef.new(shape: ActionsList, location_name: "NotActions"))
177
+ AccessControlRule.add_member(:user_ids, Shapes::ShapeRef.new(shape: UserIdList, location_name: "UserIds"))
178
+ AccessControlRule.add_member(:not_user_ids, Shapes::ShapeRef.new(shape: UserIdList, location_name: "NotUserIds"))
179
+ AccessControlRule.add_member(:date_created, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DateCreated"))
180
+ AccessControlRule.add_member(:date_modified, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DateModified"))
181
+ AccessControlRule.struct_class = Types::AccessControlRule
182
+
183
+ AccessControlRuleNameList.member = Shapes::ShapeRef.new(shape: AccessControlRuleName)
184
+
185
+ AccessControlRulesList.member = Shapes::ShapeRef.new(shape: AccessControlRule)
186
+
187
+ ActionsList.member = Shapes::ShapeRef.new(shape: AccessControlRuleAction)
188
+
150
189
  Aliases.member = Shapes::ShapeRef.new(shape: EmailAddress)
151
190
 
152
191
  AssociateDelegateToResourceRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
@@ -203,6 +242,12 @@ module Aws::WorkMail
203
242
  Delegate.add_member(:type, Shapes::ShapeRef.new(shape: MemberType, required: true, location_name: "Type"))
204
243
  Delegate.struct_class = Types::Delegate
205
244
 
245
+ DeleteAccessControlRuleRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, location_name: "OrganizationId"))
246
+ DeleteAccessControlRuleRequest.add_member(:name, Shapes::ShapeRef.new(shape: AccessControlRuleName, required: true, location_name: "Name"))
247
+ DeleteAccessControlRuleRequest.struct_class = Types::DeleteAccessControlRuleRequest
248
+
249
+ DeleteAccessControlRuleResponse.struct_class = Types::DeleteAccessControlRuleResponse
250
+
206
251
  DeleteAliasRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
207
252
  DeleteAliasRequest.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "EntityId"))
208
253
  DeleteAliasRequest.add_member(:alias, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location_name: "Alias"))
@@ -327,6 +372,16 @@ module Aws::WorkMail
327
372
  EntityStateException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
328
373
  EntityStateException.struct_class = Types::EntityStateException
329
374
 
375
+ GetAccessControlEffectRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
376
+ GetAccessControlEffectRequest.add_member(:ip_address, Shapes::ShapeRef.new(shape: IpAddress, required: true, location_name: "IpAddress"))
377
+ GetAccessControlEffectRequest.add_member(:action, Shapes::ShapeRef.new(shape: AccessControlRuleAction, required: true, location_name: "Action"))
378
+ GetAccessControlEffectRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "UserId"))
379
+ GetAccessControlEffectRequest.struct_class = Types::GetAccessControlEffectRequest
380
+
381
+ GetAccessControlEffectResponse.add_member(:effect, Shapes::ShapeRef.new(shape: AccessControlRuleEffect, location_name: "Effect"))
382
+ GetAccessControlEffectResponse.add_member(:matched_rules, Shapes::ShapeRef.new(shape: AccessControlRuleNameList, location_name: "MatchedRules"))
383
+ GetAccessControlEffectResponse.struct_class = Types::GetAccessControlEffectResponse
384
+
330
385
  GetMailboxDetailsRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
331
386
  GetMailboxDetailsRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "UserId"))
332
387
  GetMailboxDetailsRequest.struct_class = Types::GetMailboxDetailsRequest
@@ -354,9 +409,17 @@ module Aws::WorkMail
354
409
  InvalidPasswordException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
355
410
  InvalidPasswordException.struct_class = Types::InvalidPasswordException
356
411
 
412
+ IpRangeList.member = Shapes::ShapeRef.new(shape: IpRange)
413
+
357
414
  LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
358
415
  LimitExceededException.struct_class = Types::LimitExceededException
359
416
 
417
+ ListAccessControlRulesRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
418
+ ListAccessControlRulesRequest.struct_class = Types::ListAccessControlRulesRequest
419
+
420
+ ListAccessControlRulesResponse.add_member(:rules, Shapes::ShapeRef.new(shape: AccessControlRulesList, location_name: "Rules"))
421
+ ListAccessControlRulesResponse.struct_class = Types::ListAccessControlRulesResponse
422
+
360
423
  ListAliasesRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
361
424
  ListAliasesRequest.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "EntityId"))
362
425
  ListAliasesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -480,6 +543,20 @@ module Aws::WorkMail
480
543
 
481
544
  Permissions.member = Shapes::ShapeRef.new(shape: Permission)
482
545
 
546
+ PutAccessControlRuleRequest.add_member(:name, Shapes::ShapeRef.new(shape: AccessControlRuleName, required: true, location_name: "Name"))
547
+ PutAccessControlRuleRequest.add_member(:effect, Shapes::ShapeRef.new(shape: AccessControlRuleEffect, required: true, location_name: "Effect"))
548
+ PutAccessControlRuleRequest.add_member(:description, Shapes::ShapeRef.new(shape: AccessControlRuleDescription, required: true, location_name: "Description"))
549
+ PutAccessControlRuleRequest.add_member(:ip_ranges, Shapes::ShapeRef.new(shape: IpRangeList, location_name: "IpRanges"))
550
+ PutAccessControlRuleRequest.add_member(:not_ip_ranges, Shapes::ShapeRef.new(shape: IpRangeList, location_name: "NotIpRanges"))
551
+ PutAccessControlRuleRequest.add_member(:actions, Shapes::ShapeRef.new(shape: ActionsList, location_name: "Actions"))
552
+ PutAccessControlRuleRequest.add_member(:not_actions, Shapes::ShapeRef.new(shape: ActionsList, location_name: "NotActions"))
553
+ PutAccessControlRuleRequest.add_member(:user_ids, Shapes::ShapeRef.new(shape: UserIdList, location_name: "UserIds"))
554
+ PutAccessControlRuleRequest.add_member(:not_user_ids, Shapes::ShapeRef.new(shape: UserIdList, location_name: "NotUserIds"))
555
+ PutAccessControlRuleRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
556
+ PutAccessControlRuleRequest.struct_class = Types::PutAccessControlRuleRequest
557
+
558
+ PutAccessControlRuleResponse.struct_class = Types::PutAccessControlRuleResponse
559
+
483
560
  PutMailboxPermissionsRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
484
561
  PutMailboxPermissionsRequest.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "EntityId"))
485
562
  PutMailboxPermissionsRequest.add_member(:grantee_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "GranteeId"))
@@ -579,6 +656,8 @@ module Aws::WorkMail
579
656
  User.add_member(:disabled_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DisabledDate"))
580
657
  User.struct_class = Types::User
581
658
 
659
+ UserIdList.member = Shapes::ShapeRef.new(shape: WorkMailIdentifier)
660
+
582
661
  Users.member = Shapes::ShapeRef.new(shape: User)
583
662
 
584
663
 
@@ -693,6 +772,16 @@ module Aws::WorkMail
693
772
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
694
773
  end)
695
774
 
775
+ api.add_operation(:delete_access_control_rule, Seahorse::Model::Operation.new.tap do |o|
776
+ o.name = "DeleteAccessControlRule"
777
+ o.http_method = "POST"
778
+ o.http_request_uri = "/"
779
+ o.input = Shapes::ShapeRef.new(shape: DeleteAccessControlRuleRequest)
780
+ o.output = Shapes::ShapeRef.new(shape: DeleteAccessControlRuleResponse)
781
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
782
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
783
+ end)
784
+
696
785
  api.add_operation(:delete_alias, Seahorse::Model::Operation.new.tap do |o|
697
786
  o.name = "DeleteAlias"
698
787
  o.http_method = "POST"
@@ -849,6 +938,18 @@ module Aws::WorkMail
849
938
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
850
939
  end)
851
940
 
941
+ api.add_operation(:get_access_control_effect, Seahorse::Model::Operation.new.tap do |o|
942
+ o.name = "GetAccessControlEffect"
943
+ o.http_method = "POST"
944
+ o.http_request_uri = "/"
945
+ o.input = Shapes::ShapeRef.new(shape: GetAccessControlEffectRequest)
946
+ o.output = Shapes::ShapeRef.new(shape: GetAccessControlEffectResponse)
947
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
948
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
949
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
950
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
951
+ end)
952
+
852
953
  api.add_operation(:get_mailbox_details, Seahorse::Model::Operation.new.tap do |o|
853
954
  o.name = "GetMailboxDetails"
854
955
  o.http_method = "POST"
@@ -860,6 +961,16 @@ module Aws::WorkMail
860
961
  o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
861
962
  end)
862
963
 
964
+ api.add_operation(:list_access_control_rules, Seahorse::Model::Operation.new.tap do |o|
965
+ o.name = "ListAccessControlRules"
966
+ o.http_method = "POST"
967
+ o.http_request_uri = "/"
968
+ o.input = Shapes::ShapeRef.new(shape: ListAccessControlRulesRequest)
969
+ o.output = Shapes::ShapeRef.new(shape: ListAccessControlRulesResponse)
970
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
971
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
972
+ end)
973
+
863
974
  api.add_operation(:list_aliases, Seahorse::Model::Operation.new.tap do |o|
864
975
  o.name = "ListAliases"
865
976
  o.http_method = "POST"
@@ -1011,6 +1122,19 @@ module Aws::WorkMail
1011
1122
  )
1012
1123
  end)
1013
1124
 
1125
+ api.add_operation(:put_access_control_rule, Seahorse::Model::Operation.new.tap do |o|
1126
+ o.name = "PutAccessControlRule"
1127
+ o.http_method = "POST"
1128
+ o.http_request_uri = "/"
1129
+ o.input = Shapes::ShapeRef.new(shape: PutAccessControlRuleRequest)
1130
+ o.output = Shapes::ShapeRef.new(shape: PutAccessControlRuleResponse)
1131
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1132
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1133
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1134
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1135
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1136
+ end)
1137
+
1014
1138
  api.add_operation(:put_mailbox_permissions, Seahorse::Model::Operation.new.tap do |o|
1015
1139
  o.name = "PutMailboxPermissions"
1016
1140
  o.http_method = "POST"
@@ -8,6 +8,73 @@
8
8
  module Aws::WorkMail
9
9
  module Types
10
10
 
11
+ # A rule that controls access to an Amazon WorkMail organization.
12
+ #
13
+ # @!attribute [rw] name
14
+ # The rule name.
15
+ # @return [String]
16
+ #
17
+ # @!attribute [rw] effect
18
+ # The rule effect.
19
+ # @return [String]
20
+ #
21
+ # @!attribute [rw] description
22
+ # The rule description.
23
+ # @return [String]
24
+ #
25
+ # @!attribute [rw] ip_ranges
26
+ # IPv4 CIDR ranges to include in the rule.
27
+ # @return [Array<String>]
28
+ #
29
+ # @!attribute [rw] not_ip_ranges
30
+ # IPv4 CIDR ranges to exclude from the rule.
31
+ # @return [Array<String>]
32
+ #
33
+ # @!attribute [rw] actions
34
+ # Access protocol actions to include in the rule. Valid values include
35
+ # `ActiveSync`, `AutoDiscover`, `EWS`, `IMAP`, `SMTP`,
36
+ # `WindowsOutlook`, and `WebMail`.
37
+ # @return [Array<String>]
38
+ #
39
+ # @!attribute [rw] not_actions
40
+ # Access protocol actions to exclude from the rule. Valid values
41
+ # include `ActiveSync`, `AutoDiscover`, `EWS`, `IMAP`, `SMTP`,
42
+ # `WindowsOutlook`, and `WebMail`.
43
+ # @return [Array<String>]
44
+ #
45
+ # @!attribute [rw] user_ids
46
+ # User IDs to include in the rule.
47
+ # @return [Array<String>]
48
+ #
49
+ # @!attribute [rw] not_user_ids
50
+ # User IDs to exclude from the rule.
51
+ # @return [Array<String>]
52
+ #
53
+ # @!attribute [rw] date_created
54
+ # The date that the rule was created.
55
+ # @return [Time]
56
+ #
57
+ # @!attribute [rw] date_modified
58
+ # The date that the rule was modified.
59
+ # @return [Time]
60
+ #
61
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AccessControlRule AWS API Documentation
62
+ #
63
+ class AccessControlRule < Struct.new(
64
+ :name,
65
+ :effect,
66
+ :description,
67
+ :ip_ranges,
68
+ :not_ip_ranges,
69
+ :actions,
70
+ :not_actions,
71
+ :user_ids,
72
+ :not_user_ids,
73
+ :date_created,
74
+ :date_modified)
75
+ include Aws::Structure
76
+ end
77
+
11
78
  # @note When making an API call, you may pass AssociateDelegateToResourceRequest
12
79
  # data as a hash:
13
80
  #
@@ -292,6 +359,34 @@ module Aws::WorkMail
292
359
  include Aws::Structure
293
360
  end
294
361
 
362
+ # @note When making an API call, you may pass DeleteAccessControlRuleRequest
363
+ # data as a hash:
364
+ #
365
+ # {
366
+ # organization_id: "OrganizationId",
367
+ # name: "AccessControlRuleName", # required
368
+ # }
369
+ #
370
+ # @!attribute [rw] organization_id
371
+ # The identifier for the organization.
372
+ # @return [String]
373
+ #
374
+ # @!attribute [rw] name
375
+ # The name of the access control rule.
376
+ # @return [String]
377
+ #
378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAccessControlRuleRequest AWS API Documentation
379
+ #
380
+ class DeleteAccessControlRuleRequest < Struct.new(
381
+ :organization_id,
382
+ :name)
383
+ include Aws::Structure
384
+ end
385
+
386
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAccessControlRuleResponse AWS API Documentation
387
+ #
388
+ class DeleteAccessControlRuleResponse < Aws::EmptyStructure; end
389
+
295
390
  # @note When making an API call, you may pass DeleteAliasRequest
296
391
  # data as a hash:
297
392
  #
@@ -915,6 +1010,60 @@ module Aws::WorkMail
915
1010
  include Aws::Structure
916
1011
  end
917
1012
 
1013
+ # @note When making an API call, you may pass GetAccessControlEffectRequest
1014
+ # data as a hash:
1015
+ #
1016
+ # {
1017
+ # organization_id: "OrganizationId", # required
1018
+ # ip_address: "IpAddress", # required
1019
+ # action: "AccessControlRuleAction", # required
1020
+ # user_id: "WorkMailIdentifier", # required
1021
+ # }
1022
+ #
1023
+ # @!attribute [rw] organization_id
1024
+ # The identifier for the organization.
1025
+ # @return [String]
1026
+ #
1027
+ # @!attribute [rw] ip_address
1028
+ # The IPv4 address.
1029
+ # @return [String]
1030
+ #
1031
+ # @!attribute [rw] action
1032
+ # The access protocol action. Valid values include `ActiveSync`,
1033
+ # `AutoDiscover`, `EWS`, `IMAP`, `SMTP`, `WindowsOutlook`, and
1034
+ # `WebMail`.
1035
+ # @return [String]
1036
+ #
1037
+ # @!attribute [rw] user_id
1038
+ # The user ID.
1039
+ # @return [String]
1040
+ #
1041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetAccessControlEffectRequest AWS API Documentation
1042
+ #
1043
+ class GetAccessControlEffectRequest < Struct.new(
1044
+ :organization_id,
1045
+ :ip_address,
1046
+ :action,
1047
+ :user_id)
1048
+ include Aws::Structure
1049
+ end
1050
+
1051
+ # @!attribute [rw] effect
1052
+ # The rule effect.
1053
+ # @return [String]
1054
+ #
1055
+ # @!attribute [rw] matched_rules
1056
+ # The rules that match the given parameters, resulting in an effect.
1057
+ # @return [Array<String>]
1058
+ #
1059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetAccessControlEffectResponse AWS API Documentation
1060
+ #
1061
+ class GetAccessControlEffectResponse < Struct.new(
1062
+ :effect,
1063
+ :matched_rules)
1064
+ include Aws::Structure
1065
+ end
1066
+
918
1067
  # @note When making an API call, you may pass GetMailboxDetailsRequest
919
1068
  # data as a hash:
920
1069
  #
@@ -1049,6 +1198,35 @@ module Aws::WorkMail
1049
1198
  include Aws::Structure
1050
1199
  end
1051
1200
 
1201
+ # @note When making an API call, you may pass ListAccessControlRulesRequest
1202
+ # data as a hash:
1203
+ #
1204
+ # {
1205
+ # organization_id: "OrganizationId", # required
1206
+ # }
1207
+ #
1208
+ # @!attribute [rw] organization_id
1209
+ # The identifier for the organization.
1210
+ # @return [String]
1211
+ #
1212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAccessControlRulesRequest AWS API Documentation
1213
+ #
1214
+ class ListAccessControlRulesRequest < Struct.new(
1215
+ :organization_id)
1216
+ include Aws::Structure
1217
+ end
1218
+
1219
+ # @!attribute [rw] rules
1220
+ # The access control rules.
1221
+ # @return [Array<Types::AccessControlRule>]
1222
+ #
1223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAccessControlRulesResponse AWS API Documentation
1224
+ #
1225
+ class ListAccessControlRulesResponse < Struct.new(
1226
+ :rules)
1227
+ include Aws::Structure
1228
+ end
1229
+
1052
1230
  # @note When making an API call, you may pass ListAliasesRequest
1053
1231
  # data as a hash:
1054
1232
  #
@@ -1653,6 +1831,86 @@ module Aws::WorkMail
1653
1831
  include Aws::Structure
1654
1832
  end
1655
1833
 
1834
+ # @note When making an API call, you may pass PutAccessControlRuleRequest
1835
+ # data as a hash:
1836
+ #
1837
+ # {
1838
+ # name: "AccessControlRuleName", # required
1839
+ # effect: "ALLOW", # required, accepts ALLOW, DENY
1840
+ # description: "AccessControlRuleDescription", # required
1841
+ # ip_ranges: ["IpRange"],
1842
+ # not_ip_ranges: ["IpRange"],
1843
+ # actions: ["AccessControlRuleAction"],
1844
+ # not_actions: ["AccessControlRuleAction"],
1845
+ # user_ids: ["WorkMailIdentifier"],
1846
+ # not_user_ids: ["WorkMailIdentifier"],
1847
+ # organization_id: "OrganizationId", # required
1848
+ # }
1849
+ #
1850
+ # @!attribute [rw] name
1851
+ # The rule name.
1852
+ # @return [String]
1853
+ #
1854
+ # @!attribute [rw] effect
1855
+ # The rule effect.
1856
+ # @return [String]
1857
+ #
1858
+ # @!attribute [rw] description
1859
+ # The rule description.
1860
+ # @return [String]
1861
+ #
1862
+ # @!attribute [rw] ip_ranges
1863
+ # IPv4 CIDR ranges to include in the rule.
1864
+ # @return [Array<String>]
1865
+ #
1866
+ # @!attribute [rw] not_ip_ranges
1867
+ # IPv4 CIDR ranges to exclude from the rule.
1868
+ # @return [Array<String>]
1869
+ #
1870
+ # @!attribute [rw] actions
1871
+ # Access protocol actions to include in the rule. Valid values include
1872
+ # `ActiveSync`, `AutoDiscover`, `EWS`, `IMAP`, `SMTP`,
1873
+ # `WindowsOutlook`, and `WebMail`.
1874
+ # @return [Array<String>]
1875
+ #
1876
+ # @!attribute [rw] not_actions
1877
+ # Access protocol actions to exclude from the rule. Valid values
1878
+ # include `ActiveSync`, `AutoDiscover`, `EWS`, `IMAP`, `SMTP`,
1879
+ # `WindowsOutlook`, and `WebMail`.
1880
+ # @return [Array<String>]
1881
+ #
1882
+ # @!attribute [rw] user_ids
1883
+ # User IDs to include in the rule.
1884
+ # @return [Array<String>]
1885
+ #
1886
+ # @!attribute [rw] not_user_ids
1887
+ # User IDs to exclude from the rule.
1888
+ # @return [Array<String>]
1889
+ #
1890
+ # @!attribute [rw] organization_id
1891
+ # The identifier of the organization.
1892
+ # @return [String]
1893
+ #
1894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutAccessControlRuleRequest AWS API Documentation
1895
+ #
1896
+ class PutAccessControlRuleRequest < Struct.new(
1897
+ :name,
1898
+ :effect,
1899
+ :description,
1900
+ :ip_ranges,
1901
+ :not_ip_ranges,
1902
+ :actions,
1903
+ :not_actions,
1904
+ :user_ids,
1905
+ :not_user_ids,
1906
+ :organization_id)
1907
+ include Aws::Structure
1908
+ end
1909
+
1910
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutAccessControlRuleResponse AWS API Documentation
1911
+ #
1912
+ class PutAccessControlRuleResponse < Aws::EmptyStructure; end
1913
+
1656
1914
  # @note When making an API call, you may pass PutMailboxPermissionsRequest
1657
1915
  # data as a hash:
1658
1916
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-workmail
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.20.0
4
+ version: 1.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-04 00:00:00.000000000 Z
11
+ date: 2020-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core