aws-sdk-workmail 1.22.0 → 1.27.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
- SHA1:
3
- metadata.gz: d1b6fee2823bb80d44e66d79644c07ca2f458684
4
- data.tar.gz: bb23998cae974e30d04c4316eb327c2c36c24a4c
2
+ SHA256:
3
+ metadata.gz: d16e64d6a3ac8bd0188c8cff4cc2aaeceab7290c9520791c01bdfff539e2eefa
4
+ data.tar.gz: be4d5bef40c700950736529709dc108f943f679eb975ac1c1a18125860028bd2
5
5
  SHA512:
6
- metadata.gz: 3a1547998119557b14d08bf767e4c2a004510f3c6eb3f20aef16642d0a1a5934ea678300bb38a3516a9c6b7658891dc1cf9f678398a64845fae77e032713c324
7
- data.tar.gz: 64b084ccc6f53d455cacc4af8dbf8878a5edf50819036b615ab7536ee4cc52dac1d73b1426d28e701b8605e35ef1f6bdd5d8c59e15d4aeabfbc282c4b2c099ea
6
+ metadata.gz: 830b9d18a7c82a9dd7a20121d8d2c0c215ee01226faaf76dabc579744c37caec3cdab238ceb672fb817778a7c3e47cc245a0f8a34d88f54b8fd50c5069f1e218
7
+ data.tar.gz: cf0923b5b31e77e90e33138d164d33e3d24ca088fe9cfc599f588e99bbc2ac8ad5ce10fc5e33f4271af60936ab7c0307da1b47104d31af5d35216de11ebfe7fa
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -45,6 +47,6 @@ require_relative 'aws-sdk-workmail/customizations'
45
47
  # @service
46
48
  module Aws::WorkMail
47
49
 
48
- GEM_VERSION = '1.22.0'
50
+ GEM_VERSION = '1.27.0'
49
51
 
50
52
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
31
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
32
 
@@ -32,11 +35,11 @@ Aws::Plugins::GlobalConfiguration.add_identifier(:workmail)
32
35
  module Aws::WorkMail
33
36
  # An API client for WorkMail. To construct a client, you need to configure a `:region` and `:credentials`.
34
37
  #
35
- # client = Aws::WorkMail::Client.new(
36
- # region: region_name,
37
- # credentials: credentials,
38
- # # ...
39
- # )
38
+ # client = Aws::WorkMail::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
40
43
  #
41
44
  # For details on configuring region and credentials see
42
45
  # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
@@ -69,6 +72,7 @@ module Aws::WorkMail
69
72
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
73
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
74
  add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
72
76
  add_plugin(Aws::Plugins::SignatureV4)
73
77
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
74
78
 
@@ -105,7 +109,7 @@ module Aws::WorkMail
105
109
  # @option options [required, String] :region
106
110
  # The AWS region to connect to. The configured `:region` is
107
111
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
112
+ # a default `:region` is searched for in the following locations:
109
113
  #
110
114
  # * `Aws.config[:region]`
111
115
  # * `ENV['AWS_REGION']`
@@ -161,7 +165,7 @@ module Aws::WorkMail
161
165
  # @option options [String] :endpoint
162
166
  # The client endpoint is normally constructed from the `:region`
163
167
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
168
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
169
  #
166
170
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
171
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +180,7 @@ module Aws::WorkMail
176
180
  # requests fetching endpoints information. Defaults to 60 sec.
177
181
  #
178
182
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
183
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
184
  #
181
185
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
186
  # The log formatter.
@@ -229,15 +233,19 @@ module Aws::WorkMail
229
233
  #
230
234
  # @option options [String] :retry_mode ("legacy")
231
235
  # Specifies which retry algorithm to use. Values are:
232
- # * `legacy` - The pre-existing retry behavior. This is default value if
233
- # no retry mode is provided.
234
- # * `standard` - A standardized set of retry rules across the AWS SDKs.
235
- # This includes support for retry quotas, which limit the number of
236
- # unsuccessful retries a client can make.
237
- # * `adaptive` - An experimental retry mode that includes all the
238
- # functionality of `standard` mode along with automatic client side
239
- # throttling. This is a provisional mode that may change behavior
240
- # in the future.
236
+ #
237
+ # * `legacy` - The pre-existing retry behavior. This is default value if
238
+ # no retry mode is provided.
239
+ #
240
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
241
+ # This includes support for retry quotas, which limit the number of
242
+ # unsuccessful retries a client can make.
243
+ #
244
+ # * `adaptive` - An experimental retry mode that includes all the
245
+ # functionality of `standard` mode along with automatic client side
246
+ # throttling. This is a provisional mode that may change behavior
247
+ # in the future.
248
+ #
241
249
  #
242
250
  # @option options [String] :secret_access_key
243
251
  #
@@ -275,8 +283,7 @@ module Aws::WorkMail
275
283
  #
276
284
  # @option options [Integer] :http_read_timeout (60) The default
277
285
  # number of seconds to wait for response data. This value can
278
- # safely be set
279
- # per-request on the session yielded by {#session_for}.
286
+ # safely be set per-request on the session.
280
287
  #
281
288
  # @option options [Float] :http_idle_timeout (5) The number of
282
289
  # seconds a connection is allowed to sit idle before it is
@@ -288,7 +295,7 @@ module Aws::WorkMail
288
295
  # request body. This option has no effect unless the request has
289
296
  # "Expect" header set to "100-continue". Defaults to `nil` which
290
297
  # disables this behaviour. This value can safely be set per
291
- # request on the session yielded by {#session_for}.
298
+ # request on the session.
292
299
  #
293
300
  # @option options [Boolean] :http_wire_trace (false) When `true`,
294
301
  # HTTP debug output will be sent to the `:logger`.
@@ -522,7 +529,7 @@ module Aws::WorkMail
522
529
  # Deletes an access control rule for the specified WorkMail
523
530
  # organization.
524
531
  #
525
- # @option params [String] :organization_id
532
+ # @option params [required, String] :organization_id
526
533
  # The identifier for the organization.
527
534
  #
528
535
  # @option params [required, String] :name
@@ -533,7 +540,7 @@ module Aws::WorkMail
533
540
  # @example Request syntax with placeholder values
534
541
  #
535
542
  # resp = client.delete_access_control_rule({
536
- # organization_id: "OrganizationId",
543
+ # organization_id: "OrganizationId", # required
537
544
  # name: "AccessControlRuleName", # required
538
545
  # })
539
546
  #
@@ -665,6 +672,33 @@ module Aws::WorkMail
665
672
  req.send_request(options)
666
673
  end
667
674
 
675
+ # Deletes the specified retention policy from the specified
676
+ # organization.
677
+ #
678
+ # @option params [required, String] :organization_id
679
+ # The organization ID.
680
+ #
681
+ # @option params [required, String] :id
682
+ # The retention policy ID.
683
+ #
684
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
685
+ #
686
+ # @example Request syntax with placeholder values
687
+ #
688
+ # resp = client.delete_retention_policy({
689
+ # organization_id: "OrganizationId", # required
690
+ # id: "ShortString", # required
691
+ # })
692
+ #
693
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicy AWS API Documentation
694
+ #
695
+ # @overload delete_retention_policy(params = {})
696
+ # @param [Hash] params ({})
697
+ def delete_retention_policy(params = {}, options = {})
698
+ req = build_request(:delete_retention_policy, params)
699
+ req.send_request(options)
700
+ end
701
+
668
702
  # Deletes a user from Amazon WorkMail and all subsequent systems. Before
669
703
  # you can delete a user, the user state must be `DISABLED`. Use the
670
704
  # DescribeUser action to confirm the user state.
@@ -1016,6 +1050,44 @@ module Aws::WorkMail
1016
1050
  req.send_request(options)
1017
1051
  end
1018
1052
 
1053
+ # Gets the default retention policy details for the specified
1054
+ # organization.
1055
+ #
1056
+ # @option params [required, String] :organization_id
1057
+ # The organization ID.
1058
+ #
1059
+ # @return [Types::GetDefaultRetentionPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1060
+ #
1061
+ # * {Types::GetDefaultRetentionPolicyResponse#id #id} => String
1062
+ # * {Types::GetDefaultRetentionPolicyResponse#name #name} => String
1063
+ # * {Types::GetDefaultRetentionPolicyResponse#description #description} => String
1064
+ # * {Types::GetDefaultRetentionPolicyResponse#folder_configurations #folder_configurations} => Array<Types::FolderConfiguration>
1065
+ #
1066
+ # @example Request syntax with placeholder values
1067
+ #
1068
+ # resp = client.get_default_retention_policy({
1069
+ # organization_id: "OrganizationId", # required
1070
+ # })
1071
+ #
1072
+ # @example Response structure
1073
+ #
1074
+ # resp.id #=> String
1075
+ # resp.name #=> String
1076
+ # resp.description #=> String
1077
+ # resp.folder_configurations #=> Array
1078
+ # resp.folder_configurations[0].name #=> String, one of "INBOX", "DELETED_ITEMS", "SENT_ITEMS", "DRAFTS", "JUNK_EMAIL"
1079
+ # resp.folder_configurations[0].action #=> String, one of "NONE", "DELETE", "PERMANENTLY_DELETE"
1080
+ # resp.folder_configurations[0].period #=> Integer
1081
+ #
1082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetDefaultRetentionPolicy AWS API Documentation
1083
+ #
1084
+ # @overload get_default_retention_policy(params = {})
1085
+ # @param [Hash] params ({})
1086
+ def get_default_retention_policy(params = {}, options = {})
1087
+ req = build_request(:get_default_retention_policy, params)
1088
+ req.send_request(options)
1089
+ end
1090
+
1019
1091
  # Requests a user's mailbox details for a specified organization and
1020
1092
  # user.
1021
1093
  #
@@ -1118,6 +1190,8 @@ module Aws::WorkMail
1118
1190
  # * {Types::ListAliasesResponse#aliases #aliases} => Array<String>
1119
1191
  # * {Types::ListAliasesResponse#next_token #next_token} => String
1120
1192
  #
1193
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1194
+ #
1121
1195
  # @example Request syntax with placeholder values
1122
1196
  #
1123
1197
  # resp = client.list_aliases({
@@ -1164,6 +1238,8 @@ module Aws::WorkMail
1164
1238
  # * {Types::ListGroupMembersResponse#members #members} => Array<Types::Member>
1165
1239
  # * {Types::ListGroupMembersResponse#next_token #next_token} => String
1166
1240
  #
1241
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1242
+ #
1167
1243
  # @example Request syntax with placeholder values
1168
1244
  #
1169
1245
  # resp = client.list_group_members({
@@ -1210,6 +1286,8 @@ module Aws::WorkMail
1210
1286
  # * {Types::ListGroupsResponse#groups #groups} => Array<Types::Group>
1211
1287
  # * {Types::ListGroupsResponse#next_token #next_token} => String
1212
1288
  #
1289
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1290
+ #
1213
1291
  # @example Request syntax with placeholder values
1214
1292
  #
1215
1293
  # resp = client.list_groups({
@@ -1261,6 +1339,8 @@ module Aws::WorkMail
1261
1339
  # * {Types::ListMailboxPermissionsResponse#permissions #permissions} => Array<Types::Permission>
1262
1340
  # * {Types::ListMailboxPermissionsResponse#next_token #next_token} => String
1263
1341
  #
1342
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1343
+ #
1264
1344
  # @example Request syntax with placeholder values
1265
1345
  #
1266
1346
  # resp = client.list_mailbox_permissions({
@@ -1288,7 +1368,7 @@ module Aws::WorkMail
1288
1368
  req.send_request(options)
1289
1369
  end
1290
1370
 
1291
- # Returns summaries of the customer's non-deleted organizations.
1371
+ # Returns summaries of the customer's organizations.
1292
1372
  #
1293
1373
  # @option params [String] :next_token
1294
1374
  # The token to use to retrieve the next page of results. The first call
@@ -1302,6 +1382,8 @@ module Aws::WorkMail
1302
1382
  # * {Types::ListOrganizationsResponse#organization_summaries #organization_summaries} => Array<Types::OrganizationSummary>
1303
1383
  # * {Types::ListOrganizationsResponse#next_token #next_token} => String
1304
1384
  #
1385
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1386
+ #
1305
1387
  # @example Request syntax with placeholder values
1306
1388
  #
1307
1389
  # resp = client.list_organizations({
@@ -1349,6 +1431,8 @@ module Aws::WorkMail
1349
1431
  # * {Types::ListResourceDelegatesResponse#delegates #delegates} => Array<Types::Delegate>
1350
1432
  # * {Types::ListResourceDelegatesResponse#next_token #next_token} => String
1351
1433
  #
1434
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1435
+ #
1352
1436
  # @example Request syntax with placeholder values
1353
1437
  #
1354
1438
  # resp = client.list_resource_delegates({
@@ -1391,6 +1475,8 @@ module Aws::WorkMail
1391
1475
  # * {Types::ListResourcesResponse#resources #resources} => Array<Types::Resource>
1392
1476
  # * {Types::ListResourcesResponse#next_token #next_token} => String
1393
1477
  #
1478
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1479
+ #
1394
1480
  # @example Request syntax with placeholder values
1395
1481
  #
1396
1482
  # resp = client.list_resources({
@@ -1467,6 +1553,8 @@ module Aws::WorkMail
1467
1553
  # * {Types::ListUsersResponse#users #users} => Array<Types::User>
1468
1554
  # * {Types::ListUsersResponse#next_token #next_token} => String
1469
1555
  #
1556
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1557
+ #
1470
1558
  # @example Request syntax with placeholder values
1471
1559
  #
1472
1560
  # resp = client.list_users({
@@ -1606,6 +1694,50 @@ module Aws::WorkMail
1606
1694
  req.send_request(options)
1607
1695
  end
1608
1696
 
1697
+ # Puts a retention policy to the specified organization.
1698
+ #
1699
+ # @option params [required, String] :organization_id
1700
+ # The organization ID.
1701
+ #
1702
+ # @option params [String] :id
1703
+ # The retention policy ID.
1704
+ #
1705
+ # @option params [required, String] :name
1706
+ # The retention policy name.
1707
+ #
1708
+ # @option params [String] :description
1709
+ # The retention policy description.
1710
+ #
1711
+ # @option params [required, Array<Types::FolderConfiguration>] :folder_configurations
1712
+ # The retention policy folder configurations.
1713
+ #
1714
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1715
+ #
1716
+ # @example Request syntax with placeholder values
1717
+ #
1718
+ # resp = client.put_retention_policy({
1719
+ # organization_id: "OrganizationId", # required
1720
+ # id: "ShortString",
1721
+ # name: "ShortString", # required
1722
+ # description: "PolicyDescription",
1723
+ # folder_configurations: [ # required
1724
+ # {
1725
+ # name: "INBOX", # required, accepts INBOX, DELETED_ITEMS, SENT_ITEMS, DRAFTS, JUNK_EMAIL
1726
+ # action: "NONE", # required, accepts NONE, DELETE, PERMANENTLY_DELETE
1727
+ # period: 1,
1728
+ # },
1729
+ # ],
1730
+ # })
1731
+ #
1732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutRetentionPolicy AWS API Documentation
1733
+ #
1734
+ # @overload put_retention_policy(params = {})
1735
+ # @param [Hash] params ({})
1736
+ def put_retention_policy(params = {}, options = {})
1737
+ req = build_request(:put_retention_policy, params)
1738
+ req.send_request(options)
1739
+ end
1740
+
1609
1741
  # Registers an existing and disabled user, group, or resource for Amazon
1610
1742
  # WorkMail use by associating a mailbox and calendaring capabilities. It
1611
1743
  # performs no change if the user, group, or resource is enabled and
@@ -1861,7 +1993,7 @@ module Aws::WorkMail
1861
1993
  params: params,
1862
1994
  config: config)
1863
1995
  context[:gem_name] = 'aws-sdk-workmail'
1864
- context[:gem_version] = '1.22.0'
1996
+ context[:gem_version] = '1.27.0'
1865
1997
  Seahorse::Client::Request.new(handlers, context)
1866
1998
  end
1867
1999
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -46,6 +48,8 @@ module Aws::WorkMail
46
48
  DeleteMailboxPermissionsResponse = Shapes::StructureShape.new(name: 'DeleteMailboxPermissionsResponse')
47
49
  DeleteResourceRequest = Shapes::StructureShape.new(name: 'DeleteResourceRequest')
48
50
  DeleteResourceResponse = Shapes::StructureShape.new(name: 'DeleteResourceResponse')
51
+ DeleteRetentionPolicyRequest = Shapes::StructureShape.new(name: 'DeleteRetentionPolicyRequest')
52
+ DeleteRetentionPolicyResponse = Shapes::StructureShape.new(name: 'DeleteRetentionPolicyResponse')
49
53
  DeleteUserRequest = Shapes::StructureShape.new(name: 'DeleteUserRequest')
50
54
  DeleteUserResponse = Shapes::StructureShape.new(name: 'DeleteUserResponse')
51
55
  DeregisterFromWorkMailRequest = Shapes::StructureShape.new(name: 'DeregisterFromWorkMailRequest')
@@ -70,8 +74,13 @@ module Aws::WorkMail
70
74
  EntityNotFoundException = Shapes::StructureShape.new(name: 'EntityNotFoundException')
71
75
  EntityState = Shapes::StringShape.new(name: 'EntityState')
72
76
  EntityStateException = Shapes::StructureShape.new(name: 'EntityStateException')
77
+ FolderConfiguration = Shapes::StructureShape.new(name: 'FolderConfiguration')
78
+ FolderConfigurations = Shapes::ListShape.new(name: 'FolderConfigurations')
79
+ FolderName = Shapes::StringShape.new(name: 'FolderName')
73
80
  GetAccessControlEffectRequest = Shapes::StructureShape.new(name: 'GetAccessControlEffectRequest')
74
81
  GetAccessControlEffectResponse = Shapes::StructureShape.new(name: 'GetAccessControlEffectResponse')
82
+ GetDefaultRetentionPolicyRequest = Shapes::StructureShape.new(name: 'GetDefaultRetentionPolicyRequest')
83
+ GetDefaultRetentionPolicyResponse = Shapes::StructureShape.new(name: 'GetDefaultRetentionPolicyResponse')
75
84
  GetMailboxDetailsRequest = Shapes::StructureShape.new(name: 'GetMailboxDetailsRequest')
76
85
  GetMailboxDetailsResponse = Shapes::StructureShape.new(name: 'GetMailboxDetailsResponse')
77
86
  Group = Shapes::StructureShape.new(name: 'Group')
@@ -125,10 +134,13 @@ module Aws::WorkMail
125
134
  PermissionType = Shapes::StringShape.new(name: 'PermissionType')
126
135
  PermissionValues = Shapes::ListShape.new(name: 'PermissionValues')
127
136
  Permissions = Shapes::ListShape.new(name: 'Permissions')
137
+ PolicyDescription = Shapes::StringShape.new(name: 'PolicyDescription')
128
138
  PutAccessControlRuleRequest = Shapes::StructureShape.new(name: 'PutAccessControlRuleRequest')
129
139
  PutAccessControlRuleResponse = Shapes::StructureShape.new(name: 'PutAccessControlRuleResponse')
130
140
  PutMailboxPermissionsRequest = Shapes::StructureShape.new(name: 'PutMailboxPermissionsRequest')
131
141
  PutMailboxPermissionsResponse = Shapes::StructureShape.new(name: 'PutMailboxPermissionsResponse')
142
+ PutRetentionPolicyRequest = Shapes::StructureShape.new(name: 'PutRetentionPolicyRequest')
143
+ PutRetentionPolicyResponse = Shapes::StructureShape.new(name: 'PutRetentionPolicyResponse')
132
144
  RegisterToWorkMailRequest = Shapes::StructureShape.new(name: 'RegisterToWorkMailRequest')
133
145
  RegisterToWorkMailResponse = Shapes::StructureShape.new(name: 'RegisterToWorkMailResponse')
134
146
  ReservedNameException = Shapes::StructureShape.new(name: 'ReservedNameException')
@@ -141,6 +153,9 @@ module Aws::WorkMail
141
153
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
142
154
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
143
155
  Resources = Shapes::ListShape.new(name: 'Resources')
156
+ RetentionAction = Shapes::StringShape.new(name: 'RetentionAction')
157
+ RetentionPeriod = Shapes::IntegerShape.new(name: 'RetentionPeriod')
158
+ ShortString = Shapes::StringShape.new(name: 'ShortString')
144
159
  String = Shapes::StringShape.new(name: 'String')
145
160
  Tag = Shapes::StructureShape.new(name: 'Tag')
146
161
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -242,7 +257,7 @@ module Aws::WorkMail
242
257
  Delegate.add_member(:type, Shapes::ShapeRef.new(shape: MemberType, required: true, location_name: "Type"))
243
258
  Delegate.struct_class = Types::Delegate
244
259
 
245
- DeleteAccessControlRuleRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, location_name: "OrganizationId"))
260
+ DeleteAccessControlRuleRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
246
261
  DeleteAccessControlRuleRequest.add_member(:name, Shapes::ShapeRef.new(shape: AccessControlRuleName, required: true, location_name: "Name"))
247
262
  DeleteAccessControlRuleRequest.struct_class = Types::DeleteAccessControlRuleRequest
248
263
 
@@ -274,6 +289,12 @@ module Aws::WorkMail
274
289
 
275
290
  DeleteResourceResponse.struct_class = Types::DeleteResourceResponse
276
291
 
292
+ DeleteRetentionPolicyRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
293
+ DeleteRetentionPolicyRequest.add_member(:id, Shapes::ShapeRef.new(shape: ShortString, required: true, location_name: "Id"))
294
+ DeleteRetentionPolicyRequest.struct_class = Types::DeleteRetentionPolicyRequest
295
+
296
+ DeleteRetentionPolicyResponse.struct_class = Types::DeleteRetentionPolicyResponse
297
+
277
298
  DeleteUserRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
278
299
  DeleteUserRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "UserId"))
279
300
  DeleteUserRequest.struct_class = Types::DeleteUserRequest
@@ -372,6 +393,13 @@ module Aws::WorkMail
372
393
  EntityStateException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
373
394
  EntityStateException.struct_class = Types::EntityStateException
374
395
 
396
+ FolderConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: FolderName, required: true, location_name: "Name"))
397
+ FolderConfiguration.add_member(:action, Shapes::ShapeRef.new(shape: RetentionAction, required: true, location_name: "Action"))
398
+ FolderConfiguration.add_member(:period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "Period"))
399
+ FolderConfiguration.struct_class = Types::FolderConfiguration
400
+
401
+ FolderConfigurations.member = Shapes::ShapeRef.new(shape: FolderConfiguration)
402
+
375
403
  GetAccessControlEffectRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
376
404
  GetAccessControlEffectRequest.add_member(:ip_address, Shapes::ShapeRef.new(shape: IpAddress, required: true, location_name: "IpAddress"))
377
405
  GetAccessControlEffectRequest.add_member(:action, Shapes::ShapeRef.new(shape: AccessControlRuleAction, required: true, location_name: "Action"))
@@ -382,6 +410,15 @@ module Aws::WorkMail
382
410
  GetAccessControlEffectResponse.add_member(:matched_rules, Shapes::ShapeRef.new(shape: AccessControlRuleNameList, location_name: "MatchedRules"))
383
411
  GetAccessControlEffectResponse.struct_class = Types::GetAccessControlEffectResponse
384
412
 
413
+ GetDefaultRetentionPolicyRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
414
+ GetDefaultRetentionPolicyRequest.struct_class = Types::GetDefaultRetentionPolicyRequest
415
+
416
+ GetDefaultRetentionPolicyResponse.add_member(:id, Shapes::ShapeRef.new(shape: ShortString, location_name: "Id"))
417
+ GetDefaultRetentionPolicyResponse.add_member(:name, Shapes::ShapeRef.new(shape: ShortString, location_name: "Name"))
418
+ GetDefaultRetentionPolicyResponse.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
419
+ GetDefaultRetentionPolicyResponse.add_member(:folder_configurations, Shapes::ShapeRef.new(shape: FolderConfigurations, location_name: "FolderConfigurations"))
420
+ GetDefaultRetentionPolicyResponse.struct_class = Types::GetDefaultRetentionPolicyResponse
421
+
385
422
  GetMailboxDetailsRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
386
423
  GetMailboxDetailsRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "UserId"))
387
424
  GetMailboxDetailsRequest.struct_class = Types::GetMailboxDetailsRequest
@@ -565,6 +602,15 @@ module Aws::WorkMail
565
602
 
566
603
  PutMailboxPermissionsResponse.struct_class = Types::PutMailboxPermissionsResponse
567
604
 
605
+ PutRetentionPolicyRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
606
+ PutRetentionPolicyRequest.add_member(:id, Shapes::ShapeRef.new(shape: ShortString, location_name: "Id"))
607
+ PutRetentionPolicyRequest.add_member(:name, Shapes::ShapeRef.new(shape: ShortString, required: true, location_name: "Name"))
608
+ PutRetentionPolicyRequest.add_member(:description, Shapes::ShapeRef.new(shape: PolicyDescription, location_name: "Description"))
609
+ PutRetentionPolicyRequest.add_member(:folder_configurations, Shapes::ShapeRef.new(shape: FolderConfigurations, required: true, location_name: "FolderConfigurations"))
610
+ PutRetentionPolicyRequest.struct_class = Types::PutRetentionPolicyRequest
611
+
612
+ PutRetentionPolicyResponse.struct_class = Types::PutRetentionPolicyResponse
613
+
568
614
  RegisterToWorkMailRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
569
615
  RegisterToWorkMailRequest.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "EntityId"))
570
616
  RegisterToWorkMailRequest.add_member(:email, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location_name: "Email"))
@@ -835,6 +881,17 @@ module Aws::WorkMail
835
881
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
836
882
  end)
837
883
 
884
+ api.add_operation(:delete_retention_policy, Seahorse::Model::Operation.new.tap do |o|
885
+ o.name = "DeleteRetentionPolicy"
886
+ o.http_method = "POST"
887
+ o.http_request_uri = "/"
888
+ o.input = Shapes::ShapeRef.new(shape: DeleteRetentionPolicyRequest)
889
+ o.output = Shapes::ShapeRef.new(shape: DeleteRetentionPolicyResponse)
890
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
891
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
892
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
893
+ end)
894
+
838
895
  api.add_operation(:delete_user, Seahorse::Model::Operation.new.tap do |o|
839
896
  o.name = "DeleteUser"
840
897
  o.http_method = "POST"
@@ -950,6 +1007,18 @@ module Aws::WorkMail
950
1007
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
951
1008
  end)
952
1009
 
1010
+ api.add_operation(:get_default_retention_policy, Seahorse::Model::Operation.new.tap do |o|
1011
+ o.name = "GetDefaultRetentionPolicy"
1012
+ o.http_method = "POST"
1013
+ o.http_request_uri = "/"
1014
+ o.input = Shapes::ShapeRef.new(shape: GetDefaultRetentionPolicyRequest)
1015
+ o.output = Shapes::ShapeRef.new(shape: GetDefaultRetentionPolicyResponse)
1016
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1017
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1018
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1019
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1020
+ end)
1021
+
953
1022
  api.add_operation(:get_mailbox_details, Seahorse::Model::Operation.new.tap do |o|
954
1023
  o.name = "GetMailboxDetails"
955
1024
  o.http_method = "POST"
@@ -1148,6 +1217,18 @@ module Aws::WorkMail
1148
1217
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1149
1218
  end)
1150
1219
 
1220
+ api.add_operation(:put_retention_policy, Seahorse::Model::Operation.new.tap do |o|
1221
+ o.name = "PutRetentionPolicy"
1222
+ o.http_method = "POST"
1223
+ o.http_request_uri = "/"
1224
+ o.input = Shapes::ShapeRef.new(shape: PutRetentionPolicyRequest)
1225
+ o.output = Shapes::ShapeRef.new(shape: PutRetentionPolicyResponse)
1226
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1227
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1228
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1229
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1230
+ end)
1231
+
1151
1232
  api.add_operation(:register_to_work_mail, Seahorse::Model::Operation.new.tap do |o|
1152
1233
  o.name = "RegisterToWorkMail"
1153
1234
  o.http_method = "POST"