aws-sdk-workmail 1.21.0 → 1.26.1

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
- SHA1:
3
- metadata.gz: a5c1a31caca5a34b43b3793f9a5205aa5df5acf6
4
- data.tar.gz: 90bfa47e61f9cf814476d1c9e1a0ad9a0c9d43a0
2
+ SHA256:
3
+ metadata.gz: ed70c2f1707b432796fbcb7e7317467a787a09cbcd88d41b25d354b8c10b42d8
4
+ data.tar.gz: 62a69c41242f0e7ff71e940906f66522b95c8b89c3c3faed15bcc425016acad8
5
5
  SHA512:
6
- metadata.gz: c6dd425a6372cb24aa40b50059d977443be97a94625fc3cd7c0222727860e2c3bb72db6185cdfb769999ef1aab1fdb3af342bd682bb786b82e809ecf6366e8db
7
- data.tar.gz: bef43b086a68227097bd674e097035472dac6dfd94b21db4acfb03e7d8fa0ff482e39ab655a3591bfc4fb448575c34514d67294180bdb9d9602d7d8fc409054e
6
+ metadata.gz: 402d6c475a06e0d4579351ab2f0924277f91bea7dec3ef61ea33156a5c7010c5e11ea12ae54e7a1cb6a7b0c7c9642926f5a9315aa354c8c338ee1c118de31568
7
+ data.tar.gz: 6809a4a4c5b7052408ab467d87c669e4334f08c5ea171066cd7861c8d3b81afceded6ac2d867360b5e0a0604a30627fb2dad78d269d2690d95152c3ee84a4672
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-workmail/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # work_mail = Aws::WorkMail::Client.new
28
+ # resp = work_mail.associate_delegate_to_resource(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from Amazon WorkMail all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from Amazon WorkMail are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::WorkMail::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all Amazon WorkMail API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-workmail/customizations'
42
45
  # @service
43
46
  module Aws::WorkMail
44
47
 
45
- GEM_VERSION = '1.21.0'
48
+ GEM_VERSION = '1.26.1'
46
49
 
47
50
  end
@@ -24,12 +24,25 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
30
 
30
31
  Aws::Plugins::GlobalConfiguration.add_identifier(:workmail)
31
32
 
32
33
  module Aws::WorkMail
34
+ # An API client for WorkMail. To construct a client, you need to configure a `:region` and `:credentials`.
35
+ #
36
+ # client = Aws::WorkMail::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
41
+ #
42
+ # For details on configuring region and credentials see
43
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
44
+ #
45
+ # See {#initialize} for a full list of supported configuration options.
33
46
  class Client < Seahorse::Client::Base
34
47
 
35
48
  include Aws::ClientStubs
@@ -57,6 +70,7 @@ module Aws::WorkMail
57
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
60
74
  add_plugin(Aws::Plugins::SignatureV4)
61
75
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
62
76
 
@@ -93,7 +107,7 @@ module Aws::WorkMail
93
107
  # @option options [required, String] :region
94
108
  # The AWS region to connect to. The configured `:region` is
95
109
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
97
111
  #
98
112
  # * `Aws.config[:region]`
99
113
  # * `ENV['AWS_REGION']`
@@ -108,6 +122,12 @@ module Aws::WorkMail
108
122
  # When set to `true`, a thread polling for endpoints will be running in
109
123
  # the background every 60 secs (default). Defaults to `false`.
110
124
  #
125
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
126
+ # Used only in `adaptive` retry mode. When true, the request will sleep
127
+ # until there is sufficent client side capacity to retry the request.
128
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
129
+ # not retry instead of sleeping.
130
+ #
111
131
  # @option options [Boolean] :client_side_monitoring (false)
112
132
  # When `true`, client-side metrics will be collected for all API requests from
113
133
  # this client.
@@ -132,6 +152,10 @@ module Aws::WorkMail
132
152
  # When `true`, an attempt is made to coerce request parameters into
133
153
  # the required types.
134
154
  #
155
+ # @option options [Boolean] :correct_clock_skew (true)
156
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
157
+ # a clock skew correction and retry requests with skewed client clocks.
158
+ #
135
159
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
160
  # Set to true to disable SDK automatically adding host prefix
137
161
  # to default service endpoint when available.
@@ -139,7 +163,7 @@ module Aws::WorkMail
139
163
  # @option options [String] :endpoint
140
164
  # The client endpoint is normally constructed from the `:region`
141
165
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
143
167
  #
144
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +178,7 @@ module Aws::WorkMail
154
178
  # requests fetching endpoints information. Defaults to 60 sec.
155
179
  #
156
180
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
182
  #
159
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
184
  # The log formatter.
@@ -166,15 +190,29 @@ module Aws::WorkMail
166
190
  # The Logger instance to send log messages to. If this option
167
191
  # is not set, logging will be disabled.
168
192
  #
193
+ # @option options [Integer] :max_attempts (3)
194
+ # An integer representing the maximum number attempts that will be made for
195
+ # a single request, including the initial attempt. For example,
196
+ # setting this value to 5 will result in a request being retried up to
197
+ # 4 times. Used in `standard` and `adaptive` retry modes.
198
+ #
169
199
  # @option options [String] :profile ("default")
170
200
  # Used when loading credentials from the shared credentials file
171
201
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
202
  #
203
+ # @option options [Proc] :retry_backoff
204
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
205
+ # This option is only used in the `legacy` retry mode.
206
+ #
173
207
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
208
+ # The base delay in seconds used by the default backoff function. This option
209
+ # is only used in the `legacy` retry mode.
175
210
  #
176
211
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
212
+ # A delay randomiser function used by the default backoff function.
213
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
214
+ # otherwise a Proc that takes and returns a number. This option is only used
215
+ # in the `legacy` retry mode.
178
216
  #
179
217
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
218
  #
@@ -182,11 +220,30 @@ module Aws::WorkMail
182
220
  # The maximum number of times to retry failed requests. Only
183
221
  # ~ 500 level server errors and certain ~ 400 level client errors
184
222
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
223
+ # checksum errors, networking errors, timeout errors, auth errors,
224
+ # endpoint discovery, and errors from expired credentials.
225
+ # This option is only used in the `legacy` retry mode.
187
226
  #
188
227
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
228
+ # The maximum number of seconds to delay between retries (0 for no limit)
229
+ # used by the default backoff function. This option is only used in the
230
+ # `legacy` retry mode.
231
+ #
232
+ # @option options [String] :retry_mode ("legacy")
233
+ # Specifies which retry algorithm to use. Values are:
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
190
247
  #
191
248
  # @option options [String] :secret_access_key
192
249
  #
@@ -219,16 +276,15 @@ module Aws::WorkMail
219
276
  # requests through. Formatted like 'http://proxy.com:123'.
220
277
  #
221
278
  # @option options [Float] :http_open_timeout (15) The number of
222
- # seconds to wait when opening a HTTP session before rasing a
279
+ # seconds to wait when opening a HTTP session before raising a
223
280
  # `Timeout::Error`.
224
281
  #
225
282
  # @option options [Integer] :http_read_timeout (60) The default
226
283
  # number of seconds to wait for response data. This value can
227
- # safely be set
228
- # per-request on the session yeidled by {#session_for}.
284
+ # safely be set per-request on the session.
229
285
  #
230
286
  # @option options [Float] :http_idle_timeout (5) The number of
231
- # seconds a connection is allowed to sit idble before it is
287
+ # seconds a connection is allowed to sit idle before it is
232
288
  # considered stale. Stale connections are closed and removed
233
289
  # from the pool before making a request.
234
290
  #
@@ -237,7 +293,7 @@ module Aws::WorkMail
237
293
  # request body. This option has no effect unless the request has
238
294
  # "Expect" header set to "100-continue". Defaults to `nil` which
239
295
  # disables this behaviour. This value can safely be set per
240
- # request on the session yeidled by {#session_for}.
296
+ # request on the session.
241
297
  #
242
298
  # @option options [Boolean] :http_wire_trace (false) When `true`,
243
299
  # HTTP debug output will be sent to the `:logger`.
@@ -471,7 +527,7 @@ module Aws::WorkMail
471
527
  # Deletes an access control rule for the specified WorkMail
472
528
  # organization.
473
529
  #
474
- # @option params [String] :organization_id
530
+ # @option params [required, String] :organization_id
475
531
  # The identifier for the organization.
476
532
  #
477
533
  # @option params [required, String] :name
@@ -482,7 +538,7 @@ module Aws::WorkMail
482
538
  # @example Request syntax with placeholder values
483
539
  #
484
540
  # resp = client.delete_access_control_rule({
485
- # organization_id: "OrganizationId",
541
+ # organization_id: "OrganizationId", # required
486
542
  # name: "AccessControlRuleName", # required
487
543
  # })
488
544
  #
@@ -614,6 +670,33 @@ module Aws::WorkMail
614
670
  req.send_request(options)
615
671
  end
616
672
 
673
+ # Deletes the specified retention policy from the specified
674
+ # organization.
675
+ #
676
+ # @option params [required, String] :organization_id
677
+ # The organization ID.
678
+ #
679
+ # @option params [required, String] :id
680
+ # The retention policy ID.
681
+ #
682
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
683
+ #
684
+ # @example Request syntax with placeholder values
685
+ #
686
+ # resp = client.delete_retention_policy({
687
+ # organization_id: "OrganizationId", # required
688
+ # id: "ShortString", # required
689
+ # })
690
+ #
691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicy AWS API Documentation
692
+ #
693
+ # @overload delete_retention_policy(params = {})
694
+ # @param [Hash] params ({})
695
+ def delete_retention_policy(params = {}, options = {})
696
+ req = build_request(:delete_retention_policy, params)
697
+ req.send_request(options)
698
+ end
699
+
617
700
  # Deletes a user from Amazon WorkMail and all subsequent systems. Before
618
701
  # you can delete a user, the user state must be `DISABLED`. Use the
619
702
  # DescribeUser action to confirm the user state.
@@ -965,6 +1048,44 @@ module Aws::WorkMail
965
1048
  req.send_request(options)
966
1049
  end
967
1050
 
1051
+ # Gets the default retention policy details for the specified
1052
+ # organization.
1053
+ #
1054
+ # @option params [required, String] :organization_id
1055
+ # The organization ID.
1056
+ #
1057
+ # @return [Types::GetDefaultRetentionPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1058
+ #
1059
+ # * {Types::GetDefaultRetentionPolicyResponse#id #id} => String
1060
+ # * {Types::GetDefaultRetentionPolicyResponse#name #name} => String
1061
+ # * {Types::GetDefaultRetentionPolicyResponse#description #description} => String
1062
+ # * {Types::GetDefaultRetentionPolicyResponse#folder_configurations #folder_configurations} => Array&lt;Types::FolderConfiguration&gt;
1063
+ #
1064
+ # @example Request syntax with placeholder values
1065
+ #
1066
+ # resp = client.get_default_retention_policy({
1067
+ # organization_id: "OrganizationId", # required
1068
+ # })
1069
+ #
1070
+ # @example Response structure
1071
+ #
1072
+ # resp.id #=> String
1073
+ # resp.name #=> String
1074
+ # resp.description #=> String
1075
+ # resp.folder_configurations #=> Array
1076
+ # resp.folder_configurations[0].name #=> String, one of "INBOX", "DELETED_ITEMS", "SENT_ITEMS", "DRAFTS", "JUNK_EMAIL"
1077
+ # resp.folder_configurations[0].action #=> String, one of "NONE", "DELETE", "PERMANENTLY_DELETE"
1078
+ # resp.folder_configurations[0].period #=> Integer
1079
+ #
1080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetDefaultRetentionPolicy AWS API Documentation
1081
+ #
1082
+ # @overload get_default_retention_policy(params = {})
1083
+ # @param [Hash] params ({})
1084
+ def get_default_retention_policy(params = {}, options = {})
1085
+ req = build_request(:get_default_retention_policy, params)
1086
+ req.send_request(options)
1087
+ end
1088
+
968
1089
  # Requests a user's mailbox details for a specified organization and
969
1090
  # user.
970
1091
  #
@@ -1067,6 +1188,8 @@ module Aws::WorkMail
1067
1188
  # * {Types::ListAliasesResponse#aliases #aliases} => Array&lt;String&gt;
1068
1189
  # * {Types::ListAliasesResponse#next_token #next_token} => String
1069
1190
  #
1191
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1192
+ #
1070
1193
  # @example Request syntax with placeholder values
1071
1194
  #
1072
1195
  # resp = client.list_aliases({
@@ -1113,6 +1236,8 @@ module Aws::WorkMail
1113
1236
  # * {Types::ListGroupMembersResponse#members #members} => Array&lt;Types::Member&gt;
1114
1237
  # * {Types::ListGroupMembersResponse#next_token #next_token} => String
1115
1238
  #
1239
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1240
+ #
1116
1241
  # @example Request syntax with placeholder values
1117
1242
  #
1118
1243
  # resp = client.list_group_members({
@@ -1159,6 +1284,8 @@ module Aws::WorkMail
1159
1284
  # * {Types::ListGroupsResponse#groups #groups} => Array&lt;Types::Group&gt;
1160
1285
  # * {Types::ListGroupsResponse#next_token #next_token} => String
1161
1286
  #
1287
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1288
+ #
1162
1289
  # @example Request syntax with placeholder values
1163
1290
  #
1164
1291
  # resp = client.list_groups({
@@ -1210,6 +1337,8 @@ module Aws::WorkMail
1210
1337
  # * {Types::ListMailboxPermissionsResponse#permissions #permissions} => Array&lt;Types::Permission&gt;
1211
1338
  # * {Types::ListMailboxPermissionsResponse#next_token #next_token} => String
1212
1339
  #
1340
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1341
+ #
1213
1342
  # @example Request syntax with placeholder values
1214
1343
  #
1215
1344
  # resp = client.list_mailbox_permissions({
@@ -1237,7 +1366,7 @@ module Aws::WorkMail
1237
1366
  req.send_request(options)
1238
1367
  end
1239
1368
 
1240
- # Returns summaries of the customer's non-deleted organizations.
1369
+ # Returns summaries of the customer's organizations.
1241
1370
  #
1242
1371
  # @option params [String] :next_token
1243
1372
  # The token to use to retrieve the next page of results. The first call
@@ -1251,6 +1380,8 @@ module Aws::WorkMail
1251
1380
  # * {Types::ListOrganizationsResponse#organization_summaries #organization_summaries} => Array&lt;Types::OrganizationSummary&gt;
1252
1381
  # * {Types::ListOrganizationsResponse#next_token #next_token} => String
1253
1382
  #
1383
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1384
+ #
1254
1385
  # @example Request syntax with placeholder values
1255
1386
  #
1256
1387
  # resp = client.list_organizations({
@@ -1298,6 +1429,8 @@ module Aws::WorkMail
1298
1429
  # * {Types::ListResourceDelegatesResponse#delegates #delegates} => Array&lt;Types::Delegate&gt;
1299
1430
  # * {Types::ListResourceDelegatesResponse#next_token #next_token} => String
1300
1431
  #
1432
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1433
+ #
1301
1434
  # @example Request syntax with placeholder values
1302
1435
  #
1303
1436
  # resp = client.list_resource_delegates({
@@ -1340,6 +1473,8 @@ module Aws::WorkMail
1340
1473
  # * {Types::ListResourcesResponse#resources #resources} => Array&lt;Types::Resource&gt;
1341
1474
  # * {Types::ListResourcesResponse#next_token #next_token} => String
1342
1475
  #
1476
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1477
+ #
1343
1478
  # @example Request syntax with placeholder values
1344
1479
  #
1345
1480
  # resp = client.list_resources({
@@ -1416,6 +1551,8 @@ module Aws::WorkMail
1416
1551
  # * {Types::ListUsersResponse#users #users} => Array&lt;Types::User&gt;
1417
1552
  # * {Types::ListUsersResponse#next_token #next_token} => String
1418
1553
  #
1554
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1555
+ #
1419
1556
  # @example Request syntax with placeholder values
1420
1557
  #
1421
1558
  # resp = client.list_users({
@@ -1555,6 +1692,50 @@ module Aws::WorkMail
1555
1692
  req.send_request(options)
1556
1693
  end
1557
1694
 
1695
+ # Puts a retention policy to the specified organization.
1696
+ #
1697
+ # @option params [required, String] :organization_id
1698
+ # The organization ID.
1699
+ #
1700
+ # @option params [String] :id
1701
+ # The retention policy ID.
1702
+ #
1703
+ # @option params [required, String] :name
1704
+ # The retention policy name.
1705
+ #
1706
+ # @option params [String] :description
1707
+ # The retention policy description.
1708
+ #
1709
+ # @option params [required, Array<Types::FolderConfiguration>] :folder_configurations
1710
+ # The retention policy folder configurations.
1711
+ #
1712
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1713
+ #
1714
+ # @example Request syntax with placeholder values
1715
+ #
1716
+ # resp = client.put_retention_policy({
1717
+ # organization_id: "OrganizationId", # required
1718
+ # id: "ShortString",
1719
+ # name: "ShortString", # required
1720
+ # description: "PolicyDescription",
1721
+ # folder_configurations: [ # required
1722
+ # {
1723
+ # name: "INBOX", # required, accepts INBOX, DELETED_ITEMS, SENT_ITEMS, DRAFTS, JUNK_EMAIL
1724
+ # action: "NONE", # required, accepts NONE, DELETE, PERMANENTLY_DELETE
1725
+ # period: 1,
1726
+ # },
1727
+ # ],
1728
+ # })
1729
+ #
1730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutRetentionPolicy AWS API Documentation
1731
+ #
1732
+ # @overload put_retention_policy(params = {})
1733
+ # @param [Hash] params ({})
1734
+ def put_retention_policy(params = {}, options = {})
1735
+ req = build_request(:put_retention_policy, params)
1736
+ req.send_request(options)
1737
+ end
1738
+
1558
1739
  # Registers an existing and disabled user, group, or resource for Amazon
1559
1740
  # WorkMail use by associating a mailbox and calendaring capabilities. It
1560
1741
  # performs no change if the user, group, or resource is enabled and
@@ -1810,7 +1991,7 @@ module Aws::WorkMail
1810
1991
  params: params,
1811
1992
  config: config)
1812
1993
  context[:gem_name] = 'aws-sdk-workmail'
1813
- context[:gem_version] = '1.21.0'
1994
+ context[:gem_version] = '1.26.1'
1814
1995
  Seahorse::Client::Request.new(handlers, context)
1815
1996
  end
1816
1997
 
@@ -46,6 +46,8 @@ module Aws::WorkMail
46
46
  DeleteMailboxPermissionsResponse = Shapes::StructureShape.new(name: 'DeleteMailboxPermissionsResponse')
47
47
  DeleteResourceRequest = Shapes::StructureShape.new(name: 'DeleteResourceRequest')
48
48
  DeleteResourceResponse = Shapes::StructureShape.new(name: 'DeleteResourceResponse')
49
+ DeleteRetentionPolicyRequest = Shapes::StructureShape.new(name: 'DeleteRetentionPolicyRequest')
50
+ DeleteRetentionPolicyResponse = Shapes::StructureShape.new(name: 'DeleteRetentionPolicyResponse')
49
51
  DeleteUserRequest = Shapes::StructureShape.new(name: 'DeleteUserRequest')
50
52
  DeleteUserResponse = Shapes::StructureShape.new(name: 'DeleteUserResponse')
51
53
  DeregisterFromWorkMailRequest = Shapes::StructureShape.new(name: 'DeregisterFromWorkMailRequest')
@@ -70,8 +72,13 @@ module Aws::WorkMail
70
72
  EntityNotFoundException = Shapes::StructureShape.new(name: 'EntityNotFoundException')
71
73
  EntityState = Shapes::StringShape.new(name: 'EntityState')
72
74
  EntityStateException = Shapes::StructureShape.new(name: 'EntityStateException')
75
+ FolderConfiguration = Shapes::StructureShape.new(name: 'FolderConfiguration')
76
+ FolderConfigurations = Shapes::ListShape.new(name: 'FolderConfigurations')
77
+ FolderName = Shapes::StringShape.new(name: 'FolderName')
73
78
  GetAccessControlEffectRequest = Shapes::StructureShape.new(name: 'GetAccessControlEffectRequest')
74
79
  GetAccessControlEffectResponse = Shapes::StructureShape.new(name: 'GetAccessControlEffectResponse')
80
+ GetDefaultRetentionPolicyRequest = Shapes::StructureShape.new(name: 'GetDefaultRetentionPolicyRequest')
81
+ GetDefaultRetentionPolicyResponse = Shapes::StructureShape.new(name: 'GetDefaultRetentionPolicyResponse')
75
82
  GetMailboxDetailsRequest = Shapes::StructureShape.new(name: 'GetMailboxDetailsRequest')
76
83
  GetMailboxDetailsResponse = Shapes::StructureShape.new(name: 'GetMailboxDetailsResponse')
77
84
  Group = Shapes::StructureShape.new(name: 'Group')
@@ -125,10 +132,13 @@ module Aws::WorkMail
125
132
  PermissionType = Shapes::StringShape.new(name: 'PermissionType')
126
133
  PermissionValues = Shapes::ListShape.new(name: 'PermissionValues')
127
134
  Permissions = Shapes::ListShape.new(name: 'Permissions')
135
+ PolicyDescription = Shapes::StringShape.new(name: 'PolicyDescription')
128
136
  PutAccessControlRuleRequest = Shapes::StructureShape.new(name: 'PutAccessControlRuleRequest')
129
137
  PutAccessControlRuleResponse = Shapes::StructureShape.new(name: 'PutAccessControlRuleResponse')
130
138
  PutMailboxPermissionsRequest = Shapes::StructureShape.new(name: 'PutMailboxPermissionsRequest')
131
139
  PutMailboxPermissionsResponse = Shapes::StructureShape.new(name: 'PutMailboxPermissionsResponse')
140
+ PutRetentionPolicyRequest = Shapes::StructureShape.new(name: 'PutRetentionPolicyRequest')
141
+ PutRetentionPolicyResponse = Shapes::StructureShape.new(name: 'PutRetentionPolicyResponse')
132
142
  RegisterToWorkMailRequest = Shapes::StructureShape.new(name: 'RegisterToWorkMailRequest')
133
143
  RegisterToWorkMailResponse = Shapes::StructureShape.new(name: 'RegisterToWorkMailResponse')
134
144
  ReservedNameException = Shapes::StructureShape.new(name: 'ReservedNameException')
@@ -141,6 +151,9 @@ module Aws::WorkMail
141
151
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
142
152
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
143
153
  Resources = Shapes::ListShape.new(name: 'Resources')
154
+ RetentionAction = Shapes::StringShape.new(name: 'RetentionAction')
155
+ RetentionPeriod = Shapes::IntegerShape.new(name: 'RetentionPeriod')
156
+ ShortString = Shapes::StringShape.new(name: 'ShortString')
144
157
  String = Shapes::StringShape.new(name: 'String')
145
158
  Tag = Shapes::StructureShape.new(name: 'Tag')
146
159
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -242,7 +255,7 @@ module Aws::WorkMail
242
255
  Delegate.add_member(:type, Shapes::ShapeRef.new(shape: MemberType, required: true, location_name: "Type"))
243
256
  Delegate.struct_class = Types::Delegate
244
257
 
245
- DeleteAccessControlRuleRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, location_name: "OrganizationId"))
258
+ DeleteAccessControlRuleRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
246
259
  DeleteAccessControlRuleRequest.add_member(:name, Shapes::ShapeRef.new(shape: AccessControlRuleName, required: true, location_name: "Name"))
247
260
  DeleteAccessControlRuleRequest.struct_class = Types::DeleteAccessControlRuleRequest
248
261
 
@@ -274,6 +287,12 @@ module Aws::WorkMail
274
287
 
275
288
  DeleteResourceResponse.struct_class = Types::DeleteResourceResponse
276
289
 
290
+ DeleteRetentionPolicyRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
291
+ DeleteRetentionPolicyRequest.add_member(:id, Shapes::ShapeRef.new(shape: ShortString, required: true, location_name: "Id"))
292
+ DeleteRetentionPolicyRequest.struct_class = Types::DeleteRetentionPolicyRequest
293
+
294
+ DeleteRetentionPolicyResponse.struct_class = Types::DeleteRetentionPolicyResponse
295
+
277
296
  DeleteUserRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
278
297
  DeleteUserRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "UserId"))
279
298
  DeleteUserRequest.struct_class = Types::DeleteUserRequest
@@ -372,6 +391,13 @@ module Aws::WorkMail
372
391
  EntityStateException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
373
392
  EntityStateException.struct_class = Types::EntityStateException
374
393
 
394
+ FolderConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: FolderName, required: true, location_name: "Name"))
395
+ FolderConfiguration.add_member(:action, Shapes::ShapeRef.new(shape: RetentionAction, required: true, location_name: "Action"))
396
+ FolderConfiguration.add_member(:period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "Period"))
397
+ FolderConfiguration.struct_class = Types::FolderConfiguration
398
+
399
+ FolderConfigurations.member = Shapes::ShapeRef.new(shape: FolderConfiguration)
400
+
375
401
  GetAccessControlEffectRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
376
402
  GetAccessControlEffectRequest.add_member(:ip_address, Shapes::ShapeRef.new(shape: IpAddress, required: true, location_name: "IpAddress"))
377
403
  GetAccessControlEffectRequest.add_member(:action, Shapes::ShapeRef.new(shape: AccessControlRuleAction, required: true, location_name: "Action"))
@@ -382,6 +408,15 @@ module Aws::WorkMail
382
408
  GetAccessControlEffectResponse.add_member(:matched_rules, Shapes::ShapeRef.new(shape: AccessControlRuleNameList, location_name: "MatchedRules"))
383
409
  GetAccessControlEffectResponse.struct_class = Types::GetAccessControlEffectResponse
384
410
 
411
+ GetDefaultRetentionPolicyRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
412
+ GetDefaultRetentionPolicyRequest.struct_class = Types::GetDefaultRetentionPolicyRequest
413
+
414
+ GetDefaultRetentionPolicyResponse.add_member(:id, Shapes::ShapeRef.new(shape: ShortString, location_name: "Id"))
415
+ GetDefaultRetentionPolicyResponse.add_member(:name, Shapes::ShapeRef.new(shape: ShortString, location_name: "Name"))
416
+ GetDefaultRetentionPolicyResponse.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
417
+ GetDefaultRetentionPolicyResponse.add_member(:folder_configurations, Shapes::ShapeRef.new(shape: FolderConfigurations, location_name: "FolderConfigurations"))
418
+ GetDefaultRetentionPolicyResponse.struct_class = Types::GetDefaultRetentionPolicyResponse
419
+
385
420
  GetMailboxDetailsRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
386
421
  GetMailboxDetailsRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "UserId"))
387
422
  GetMailboxDetailsRequest.struct_class = Types::GetMailboxDetailsRequest
@@ -565,6 +600,15 @@ module Aws::WorkMail
565
600
 
566
601
  PutMailboxPermissionsResponse.struct_class = Types::PutMailboxPermissionsResponse
567
602
 
603
+ PutRetentionPolicyRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
604
+ PutRetentionPolicyRequest.add_member(:id, Shapes::ShapeRef.new(shape: ShortString, location_name: "Id"))
605
+ PutRetentionPolicyRequest.add_member(:name, Shapes::ShapeRef.new(shape: ShortString, required: true, location_name: "Name"))
606
+ PutRetentionPolicyRequest.add_member(:description, Shapes::ShapeRef.new(shape: PolicyDescription, location_name: "Description"))
607
+ PutRetentionPolicyRequest.add_member(:folder_configurations, Shapes::ShapeRef.new(shape: FolderConfigurations, required: true, location_name: "FolderConfigurations"))
608
+ PutRetentionPolicyRequest.struct_class = Types::PutRetentionPolicyRequest
609
+
610
+ PutRetentionPolicyResponse.struct_class = Types::PutRetentionPolicyResponse
611
+
568
612
  RegisterToWorkMailRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
569
613
  RegisterToWorkMailRequest.add_member(:entity_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "EntityId"))
570
614
  RegisterToWorkMailRequest.add_member(:email, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location_name: "Email"))
@@ -835,6 +879,17 @@ module Aws::WorkMail
835
879
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
836
880
  end)
837
881
 
882
+ api.add_operation(:delete_retention_policy, Seahorse::Model::Operation.new.tap do |o|
883
+ o.name = "DeleteRetentionPolicy"
884
+ o.http_method = "POST"
885
+ o.http_request_uri = "/"
886
+ o.input = Shapes::ShapeRef.new(shape: DeleteRetentionPolicyRequest)
887
+ o.output = Shapes::ShapeRef.new(shape: DeleteRetentionPolicyResponse)
888
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
889
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
890
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
891
+ end)
892
+
838
893
  api.add_operation(:delete_user, Seahorse::Model::Operation.new.tap do |o|
839
894
  o.name = "DeleteUser"
840
895
  o.http_method = "POST"
@@ -950,6 +1005,18 @@ module Aws::WorkMail
950
1005
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
951
1006
  end)
952
1007
 
1008
+ api.add_operation(:get_default_retention_policy, Seahorse::Model::Operation.new.tap do |o|
1009
+ o.name = "GetDefaultRetentionPolicy"
1010
+ o.http_method = "POST"
1011
+ o.http_request_uri = "/"
1012
+ o.input = Shapes::ShapeRef.new(shape: GetDefaultRetentionPolicyRequest)
1013
+ o.output = Shapes::ShapeRef.new(shape: GetDefaultRetentionPolicyResponse)
1014
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1015
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1016
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1017
+ o.errors << Shapes::ShapeRef.new(shape: EntityNotFoundException)
1018
+ end)
1019
+
953
1020
  api.add_operation(:get_mailbox_details, Seahorse::Model::Operation.new.tap do |o|
954
1021
  o.name = "GetMailboxDetails"
955
1022
  o.http_method = "POST"
@@ -1148,6 +1215,18 @@ module Aws::WorkMail
1148
1215
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1149
1216
  end)
1150
1217
 
1218
+ api.add_operation(:put_retention_policy, Seahorse::Model::Operation.new.tap do |o|
1219
+ o.name = "PutRetentionPolicy"
1220
+ o.http_method = "POST"
1221
+ o.http_request_uri = "/"
1222
+ o.input = Shapes::ShapeRef.new(shape: PutRetentionPolicyRequest)
1223
+ o.output = Shapes::ShapeRef.new(shape: PutRetentionPolicyResponse)
1224
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1225
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1226
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1227
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1228
+ end)
1229
+
1151
1230
  api.add_operation(:register_to_work_mail, Seahorse::Model::Operation.new.tap do |o|
1152
1231
  o.name = "RegisterToWorkMail"
1153
1232
  o.http_method = "POST"
@@ -6,6 +6,47 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::WorkMail
9
+
10
+ # When WorkMail returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::WorkMail::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all WorkMail errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::WorkMail::Errors::ServiceError
18
+ # # rescues all WorkMail API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {DirectoryServiceAuthenticationFailedException}
29
+ # * {DirectoryUnavailableException}
30
+ # * {EmailAddressInUseException}
31
+ # * {EntityAlreadyRegisteredException}
32
+ # * {EntityNotFoundException}
33
+ # * {EntityStateException}
34
+ # * {InvalidConfigurationException}
35
+ # * {InvalidParameterException}
36
+ # * {InvalidPasswordException}
37
+ # * {LimitExceededException}
38
+ # * {MailDomainNotFoundException}
39
+ # * {MailDomainStateException}
40
+ # * {NameAvailabilityException}
41
+ # * {OrganizationNotFoundException}
42
+ # * {OrganizationStateException}
43
+ # * {ReservedNameException}
44
+ # * {ResourceNotFoundException}
45
+ # * {TooManyTagsException}
46
+ # * {UnsupportedOperationException}
47
+ #
48
+ # Additionally, error classes are dynamically generated for service errors based on the error code
49
+ # if they are not defined above.
9
50
  module Errors
10
51
 
11
52
  extend Aws::Errors::DynamicErrors
@@ -23,7 +64,6 @@ module Aws::WorkMail
23
64
  def message
24
65
  @message || @data[:message]
25
66
  end
26
-
27
67
  end
28
68
 
29
69
  class DirectoryUnavailableException < ServiceError
@@ -39,7 +79,6 @@ module Aws::WorkMail
39
79
  def message
40
80
  @message || @data[:message]
41
81
  end
42
-
43
82
  end
44
83
 
45
84
  class EmailAddressInUseException < ServiceError
@@ -55,7 +94,6 @@ module Aws::WorkMail
55
94
  def message
56
95
  @message || @data[:message]
57
96
  end
58
-
59
97
  end
60
98
 
61
99
  class EntityAlreadyRegisteredException < ServiceError
@@ -71,7 +109,6 @@ module Aws::WorkMail
71
109
  def message
72
110
  @message || @data[:message]
73
111
  end
74
-
75
112
  end
76
113
 
77
114
  class EntityNotFoundException < ServiceError
@@ -87,7 +124,6 @@ module Aws::WorkMail
87
124
  def message
88
125
  @message || @data[:message]
89
126
  end
90
-
91
127
  end
92
128
 
93
129
  class EntityStateException < ServiceError
@@ -103,7 +139,6 @@ module Aws::WorkMail
103
139
  def message
104
140
  @message || @data[:message]
105
141
  end
106
-
107
142
  end
108
143
 
109
144
  class InvalidConfigurationException < ServiceError
@@ -119,7 +154,6 @@ module Aws::WorkMail
119
154
  def message
120
155
  @message || @data[:message]
121
156
  end
122
-
123
157
  end
124
158
 
125
159
  class InvalidParameterException < ServiceError
@@ -135,7 +169,6 @@ module Aws::WorkMail
135
169
  def message
136
170
  @message || @data[:message]
137
171
  end
138
-
139
172
  end
140
173
 
141
174
  class InvalidPasswordException < ServiceError
@@ -151,7 +184,6 @@ module Aws::WorkMail
151
184
  def message
152
185
  @message || @data[:message]
153
186
  end
154
-
155
187
  end
156
188
 
157
189
  class LimitExceededException < ServiceError
@@ -167,7 +199,6 @@ module Aws::WorkMail
167
199
  def message
168
200
  @message || @data[:message]
169
201
  end
170
-
171
202
  end
172
203
 
173
204
  class MailDomainNotFoundException < ServiceError
@@ -183,7 +214,6 @@ module Aws::WorkMail
183
214
  def message
184
215
  @message || @data[:message]
185
216
  end
186
-
187
217
  end
188
218
 
189
219
  class MailDomainStateException < ServiceError
@@ -199,7 +229,6 @@ module Aws::WorkMail
199
229
  def message
200
230
  @message || @data[:message]
201
231
  end
202
-
203
232
  end
204
233
 
205
234
  class NameAvailabilityException < ServiceError
@@ -215,7 +244,6 @@ module Aws::WorkMail
215
244
  def message
216
245
  @message || @data[:message]
217
246
  end
218
-
219
247
  end
220
248
 
221
249
  class OrganizationNotFoundException < ServiceError
@@ -231,7 +259,6 @@ module Aws::WorkMail
231
259
  def message
232
260
  @message || @data[:message]
233
261
  end
234
-
235
262
  end
236
263
 
237
264
  class OrganizationStateException < ServiceError
@@ -247,7 +274,6 @@ module Aws::WorkMail
247
274
  def message
248
275
  @message || @data[:message]
249
276
  end
250
-
251
277
  end
252
278
 
253
279
  class ReservedNameException < ServiceError
@@ -263,7 +289,6 @@ module Aws::WorkMail
263
289
  def message
264
290
  @message || @data[:message]
265
291
  end
266
-
267
292
  end
268
293
 
269
294
  class ResourceNotFoundException < ServiceError
@@ -279,7 +304,6 @@ module Aws::WorkMail
279
304
  def message
280
305
  @message || @data[:message]
281
306
  end
282
-
283
307
  end
284
308
 
285
309
  class TooManyTagsException < ServiceError
@@ -295,7 +319,6 @@ module Aws::WorkMail
295
319
  def message
296
320
  @message || @data[:message]
297
321
  end
298
-
299
322
  end
300
323
 
301
324
  class UnsupportedOperationException < ServiceError
@@ -311,7 +334,6 @@ module Aws::WorkMail
311
334
  def message
312
335
  @message || @data[:message]
313
336
  end
314
-
315
337
  end
316
338
 
317
339
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::WorkMail
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -363,7 +363,7 @@ module Aws::WorkMail
363
363
  # data as a hash:
364
364
  #
365
365
  # {
366
- # organization_id: "OrganizationId",
366
+ # organization_id: "OrganizationId", # required
367
367
  # name: "AccessControlRuleName", # required
368
368
  # }
369
369
  #
@@ -517,6 +517,34 @@ module Aws::WorkMail
517
517
  #
518
518
  class DeleteResourceResponse < Aws::EmptyStructure; end
519
519
 
520
+ # @note When making an API call, you may pass DeleteRetentionPolicyRequest
521
+ # data as a hash:
522
+ #
523
+ # {
524
+ # organization_id: "OrganizationId", # required
525
+ # id: "ShortString", # required
526
+ # }
527
+ #
528
+ # @!attribute [rw] organization_id
529
+ # The organization ID.
530
+ # @return [String]
531
+ #
532
+ # @!attribute [rw] id
533
+ # The retention policy ID.
534
+ # @return [String]
535
+ #
536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicyRequest AWS API Documentation
537
+ #
538
+ class DeleteRetentionPolicyRequest < Struct.new(
539
+ :organization_id,
540
+ :id)
541
+ include Aws::Structure
542
+ end
543
+
544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicyResponse AWS API Documentation
545
+ #
546
+ class DeleteRetentionPolicyResponse < Aws::EmptyStructure; end
547
+
520
548
  # @note When making an API call, you may pass DeleteUserRequest
521
549
  # data as a hash:
522
550
  #
@@ -1010,6 +1038,41 @@ module Aws::WorkMail
1010
1038
  include Aws::Structure
1011
1039
  end
1012
1040
 
1041
+ # The configuration applied to an organization's folders by its
1042
+ # retention policy.
1043
+ #
1044
+ # @note When making an API call, you may pass FolderConfiguration
1045
+ # data as a hash:
1046
+ #
1047
+ # {
1048
+ # name: "INBOX", # required, accepts INBOX, DELETED_ITEMS, SENT_ITEMS, DRAFTS, JUNK_EMAIL
1049
+ # action: "NONE", # required, accepts NONE, DELETE, PERMANENTLY_DELETE
1050
+ # period: 1,
1051
+ # }
1052
+ #
1053
+ # @!attribute [rw] name
1054
+ # The folder name.
1055
+ # @return [String]
1056
+ #
1057
+ # @!attribute [rw] action
1058
+ # The action to take on the folder contents at the end of the folder
1059
+ # configuration period.
1060
+ # @return [String]
1061
+ #
1062
+ # @!attribute [rw] period
1063
+ # The period of time at which the folder configuration action is
1064
+ # applied.
1065
+ # @return [Integer]
1066
+ #
1067
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/FolderConfiguration AWS API Documentation
1068
+ #
1069
+ class FolderConfiguration < Struct.new(
1070
+ :name,
1071
+ :action,
1072
+ :period)
1073
+ include Aws::Structure
1074
+ end
1075
+
1013
1076
  # @note When making an API call, you may pass GetAccessControlEffectRequest
1014
1077
  # data as a hash:
1015
1078
  #
@@ -1064,6 +1127,50 @@ module Aws::WorkMail
1064
1127
  include Aws::Structure
1065
1128
  end
1066
1129
 
1130
+ # @note When making an API call, you may pass GetDefaultRetentionPolicyRequest
1131
+ # data as a hash:
1132
+ #
1133
+ # {
1134
+ # organization_id: "OrganizationId", # required
1135
+ # }
1136
+ #
1137
+ # @!attribute [rw] organization_id
1138
+ # The organization ID.
1139
+ # @return [String]
1140
+ #
1141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetDefaultRetentionPolicyRequest AWS API Documentation
1142
+ #
1143
+ class GetDefaultRetentionPolicyRequest < Struct.new(
1144
+ :organization_id)
1145
+ include Aws::Structure
1146
+ end
1147
+
1148
+ # @!attribute [rw] id
1149
+ # The retention policy ID.
1150
+ # @return [String]
1151
+ #
1152
+ # @!attribute [rw] name
1153
+ # The retention policy name.
1154
+ # @return [String]
1155
+ #
1156
+ # @!attribute [rw] description
1157
+ # The retention policy description.
1158
+ # @return [String]
1159
+ #
1160
+ # @!attribute [rw] folder_configurations
1161
+ # The retention policy folder configurations.
1162
+ # @return [Array<Types::FolderConfiguration>]
1163
+ #
1164
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetDefaultRetentionPolicyResponse AWS API Documentation
1165
+ #
1166
+ class GetDefaultRetentionPolicyResponse < Struct.new(
1167
+ :id,
1168
+ :name,
1169
+ :description,
1170
+ :folder_configurations)
1171
+ include Aws::Structure
1172
+ end
1173
+
1067
1174
  # @note When making an API call, you may pass GetMailboxDetailsRequest
1068
1175
  # data as a hash:
1069
1176
  #
@@ -1960,6 +2067,58 @@ module Aws::WorkMail
1960
2067
  #
1961
2068
  class PutMailboxPermissionsResponse < Aws::EmptyStructure; end
1962
2069
 
2070
+ # @note When making an API call, you may pass PutRetentionPolicyRequest
2071
+ # data as a hash:
2072
+ #
2073
+ # {
2074
+ # organization_id: "OrganizationId", # required
2075
+ # id: "ShortString",
2076
+ # name: "ShortString", # required
2077
+ # description: "PolicyDescription",
2078
+ # folder_configurations: [ # required
2079
+ # {
2080
+ # name: "INBOX", # required, accepts INBOX, DELETED_ITEMS, SENT_ITEMS, DRAFTS, JUNK_EMAIL
2081
+ # action: "NONE", # required, accepts NONE, DELETE, PERMANENTLY_DELETE
2082
+ # period: 1,
2083
+ # },
2084
+ # ],
2085
+ # }
2086
+ #
2087
+ # @!attribute [rw] organization_id
2088
+ # The organization ID.
2089
+ # @return [String]
2090
+ #
2091
+ # @!attribute [rw] id
2092
+ # The retention policy ID.
2093
+ # @return [String]
2094
+ #
2095
+ # @!attribute [rw] name
2096
+ # The retention policy name.
2097
+ # @return [String]
2098
+ #
2099
+ # @!attribute [rw] description
2100
+ # The retention policy description.
2101
+ # @return [String]
2102
+ #
2103
+ # @!attribute [rw] folder_configurations
2104
+ # The retention policy folder configurations.
2105
+ # @return [Array<Types::FolderConfiguration>]
2106
+ #
2107
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutRetentionPolicyRequest AWS API Documentation
2108
+ #
2109
+ class PutRetentionPolicyRequest < Struct.new(
2110
+ :organization_id,
2111
+ :id,
2112
+ :name,
2113
+ :description,
2114
+ :folder_configurations)
2115
+ include Aws::Structure
2116
+ end
2117
+
2118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutRetentionPolicyResponse AWS API Documentation
2119
+ #
2120
+ class PutRetentionPolicyResponse < Aws::EmptyStructure; end
2121
+
1963
2122
  # @note When making an API call, you may pass RegisterToWorkMailRequest
1964
2123
  # data as a hash:
1965
2124
  #
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.21.0
4
+ version: 1.26.1
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-12 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.71.0
22
+ version: 3.99.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.71.0
32
+ version: 3.99.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.5.2.3
84
+ rubygems_version: 2.7.6.2
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: AWS SDK for Ruby - Amazon WorkMail