aws-sdk-workmail 1.20.0 → 1.21.0

Sign up to get free protection for your applications and to get access to all the features.
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