aws-sdk-workmail 1.47.0 → 1.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d0067a67a93f9ee04eebc1b2593015314d1c843d13886c3be5559734fb4143c
4
- data.tar.gz: 7d39d5fe7f45325812d02e16ec5a7a0dd71b95315cce976645cca21bb7bf0556
3
+ metadata.gz: 851b38b8d8b95ba2fbe962ec92b0869006b94f4c2478f275c42daab89da7d65c
4
+ data.tar.gz: ace2ffde34371f29c3660a6a4ea77734c62f5cbf26cfbf12a8c43899f23b97eb
5
5
  SHA512:
6
- metadata.gz: '02482e81b5a2b2a505416ca346f47a5dd3bd55f2ebeffe96131814f144b9ac4051094db6af9910be1be21768e92dea37567cbbabb48d58b573d9c830c60eefaa'
7
- data.tar.gz: c5bbcd415e202c5481a8095001ef21464fe8caaba981f8f58061952e5faca3f7637e6a99eaf4e3c6601427b57c21bc7ef03e917cc61cf4c043802b7ec5dbd1b4
6
+ metadata.gz: dfbc84684e19dd4ef2fb1cbb8d89ddea2599f4c128a3718857d0a9fb5edcc683c71219a31084934d774875fc417f61f7ae5198b5b724e1df1495a5ac90b57207
7
+ data.tar.gz: 61bb534698e1d026cbc9b886a2b8a5c9e75ff0eab525bea641765930cf2f5f4bbc8c2aceb2e74543ed84f6bd550fd71931d0a21ca90774add76b758546708346
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.50.0 (2022-06-30)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for managing user availability configurations in Amazon WorkMail.
8
+
9
+ 1.49.0 (2022-02-24)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.48.0 (2022-02-03)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
4
19
  1.47.0 (2021-12-21)
5
20
  ------------------
6
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.47.0
1
+ 1.50.0
@@ -27,7 +27,9 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
30
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
31
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
32
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
33
35
 
@@ -74,7 +76,9 @@ module Aws::WorkMail
74
76
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
75
77
  add_plugin(Aws::Plugins::TransferEncoding)
76
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
77
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
78
82
  add_plugin(Aws::Plugins::SignatureV4)
79
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
80
84
 
@@ -486,6 +490,60 @@ module Aws::WorkMail
486
490
  req.send_request(options)
487
491
  end
488
492
 
493
+ # Creates an `AvailabilityConfiguration` for the given WorkMail
494
+ # organization and domain.
495
+ #
496
+ # @option params [String] :client_token
497
+ # An idempotent token that ensures that an API request is executed only
498
+ # once.
499
+ #
500
+ # **A suitable default value is auto-generated.** You should normally
501
+ # not need to pass this option.**
502
+ #
503
+ # @option params [required, String] :organization_id
504
+ # The Amazon WorkMail organization for which the
505
+ # `AvailabilityConfiguration` will be created.
506
+ #
507
+ # @option params [required, String] :domain_name
508
+ # The domain to which the provider applies.
509
+ #
510
+ # @option params [Types::EwsAvailabilityProvider] :ews_provider
511
+ # Exchange Web Services (EWS) availability provider definition. The
512
+ # request must contain exactly one provider definition, either
513
+ # `EwsProvider` or `LambdaProvider`.
514
+ #
515
+ # @option params [Types::LambdaAvailabilityProvider] :lambda_provider
516
+ # Lambda availability provider definition. The request must contain
517
+ # exactly one provider definition, either `EwsProvider` or
518
+ # `LambdaProvider`.
519
+ #
520
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
521
+ #
522
+ # @example Request syntax with placeholder values
523
+ #
524
+ # resp = client.create_availability_configuration({
525
+ # client_token: "IdempotencyClientToken",
526
+ # organization_id: "OrganizationId", # required
527
+ # domain_name: "DomainName", # required
528
+ # ews_provider: {
529
+ # ews_endpoint: "Url", # required
530
+ # ews_username: "ExternalUserName", # required
531
+ # ews_password: "Password", # required
532
+ # },
533
+ # lambda_provider: {
534
+ # lambda_arn: "LambdaArn", # required
535
+ # },
536
+ # })
537
+ #
538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateAvailabilityConfiguration AWS API Documentation
539
+ #
540
+ # @overload create_availability_configuration(params = {})
541
+ # @param [Hash] params ({})
542
+ def create_availability_configuration(params = {}, options = {})
543
+ req = build_request(:create_availability_configuration, params)
544
+ req.send_request(options)
545
+ end
546
+
489
547
  # Creates a group that can be used in Amazon WorkMail by calling the
490
548
  # RegisterToWorkMail operation.
491
549
  #
@@ -835,6 +893,34 @@ module Aws::WorkMail
835
893
  req.send_request(options)
836
894
  end
837
895
 
896
+ # Deletes the `AvailabilityConfiguration` for the given WorkMail
897
+ # organization and domain.
898
+ #
899
+ # @option params [required, String] :organization_id
900
+ # The Amazon WorkMail organization for which the
901
+ # `AvailabilityConfiguration` will be deleted.
902
+ #
903
+ # @option params [required, String] :domain_name
904
+ # The domain for which the `AvailabilityConfiguration` will be deleted.
905
+ #
906
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
907
+ #
908
+ # @example Request syntax with placeholder values
909
+ #
910
+ # resp = client.delete_availability_configuration({
911
+ # organization_id: "OrganizationId", # required
912
+ # domain_name: "DomainName", # required
913
+ # })
914
+ #
915
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAvailabilityConfiguration AWS API Documentation
916
+ #
917
+ # @overload delete_availability_configuration(params = {})
918
+ # @param [Hash] params ({})
919
+ def delete_availability_configuration(params = {}, options = {})
920
+ req = build_request(:delete_availability_configuration, params)
921
+ req.send_request(options)
922
+ end
923
+
838
924
  # Deletes the email monitoring configuration for a specified
839
925
  # organization.
840
926
  #
@@ -1915,6 +2001,56 @@ module Aws::WorkMail
1915
2001
  req.send_request(options)
1916
2002
  end
1917
2003
 
2004
+ # List all the `AvailabilityConfiguration`'s for the given WorkMail
2005
+ # organization.
2006
+ #
2007
+ # @option params [required, String] :organization_id
2008
+ # The Amazon WorkMail organization for which the
2009
+ # `AvailabilityConfiguration`'s will be listed.
2010
+ #
2011
+ # @option params [Integer] :max_results
2012
+ # The maximum number of results to return in a single call.
2013
+ #
2014
+ # @option params [String] :next_token
2015
+ # The token to use to retrieve the next page of results. The first call
2016
+ # does not require a token.
2017
+ #
2018
+ # @return [Types::ListAvailabilityConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2019
+ #
2020
+ # * {Types::ListAvailabilityConfigurationsResponse#availability_configurations #availability_configurations} => Array<Types::AvailabilityConfiguration>
2021
+ # * {Types::ListAvailabilityConfigurationsResponse#next_token #next_token} => String
2022
+ #
2023
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2024
+ #
2025
+ # @example Request syntax with placeholder values
2026
+ #
2027
+ # resp = client.list_availability_configurations({
2028
+ # organization_id: "OrganizationId", # required
2029
+ # max_results: 1,
2030
+ # next_token: "NextToken",
2031
+ # })
2032
+ #
2033
+ # @example Response structure
2034
+ #
2035
+ # resp.availability_configurations #=> Array
2036
+ # resp.availability_configurations[0].domain_name #=> String
2037
+ # resp.availability_configurations[0].provider_type #=> String, one of "EWS", "LAMBDA"
2038
+ # resp.availability_configurations[0].ews_provider.ews_endpoint #=> String
2039
+ # resp.availability_configurations[0].ews_provider.ews_username #=> String
2040
+ # resp.availability_configurations[0].lambda_provider.lambda_arn #=> String
2041
+ # resp.availability_configurations[0].date_created #=> Time
2042
+ # resp.availability_configurations[0].date_modified #=> Time
2043
+ # resp.next_token #=> String
2044
+ #
2045
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAvailabilityConfigurations AWS API Documentation
2046
+ #
2047
+ # @overload list_availability_configurations(params = {})
2048
+ # @param [Hash] params ({})
2049
+ def list_availability_configurations(params = {}, options = {})
2050
+ req = build_request(:list_availability_configurations, params)
2051
+ req.send_request(options)
2052
+ end
2053
+
1918
2054
  # Returns an overview of the members of a group. Users and groups can be
1919
2055
  # members of a group.
1920
2056
  #
@@ -2971,6 +3107,70 @@ module Aws::WorkMail
2971
3107
  req.send_request(options)
2972
3108
  end
2973
3109
 
3110
+ # Performs a test on an availability provider to ensure that access is
3111
+ # allowed. For EWS, it verifies the provided credentials can be used to
3112
+ # successfully log in. For Lambda, it verifies that the Lambda function
3113
+ # can be invoked and that the resource access policy was configured to
3114
+ # deny anonymous access. An anonymous invocation is one done without
3115
+ # providing either a `SourceArn` or `SourceAccount` header.
3116
+ #
3117
+ # <note markdown="1"> The request must contain either one provider definition (`EwsProvider`
3118
+ # or `LambdaProvider`) or the `DomainName` parameter. If the
3119
+ # `DomainName` parameter is provided, the configuration stored under the
3120
+ # `DomainName` will be tested.
3121
+ #
3122
+ # </note>
3123
+ #
3124
+ # @option params [required, String] :organization_id
3125
+ # The Amazon WorkMail organization where the availability provider will
3126
+ # be tested.
3127
+ #
3128
+ # @option params [String] :domain_name
3129
+ # The domain to which the provider applies. If this field is provided, a
3130
+ # stored availability provider associated to this domain name will be
3131
+ # tested.
3132
+ #
3133
+ # @option params [Types::EwsAvailabilityProvider] :ews_provider
3134
+ # Describes an EWS based availability provider. This is only used as
3135
+ # input to the service.
3136
+ #
3137
+ # @option params [Types::LambdaAvailabilityProvider] :lambda_provider
3138
+ # Describes a Lambda based availability provider.
3139
+ #
3140
+ # @return [Types::TestAvailabilityConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3141
+ #
3142
+ # * {Types::TestAvailabilityConfigurationResponse#test_passed #test_passed} => Boolean
3143
+ # * {Types::TestAvailabilityConfigurationResponse#failure_reason #failure_reason} => String
3144
+ #
3145
+ # @example Request syntax with placeholder values
3146
+ #
3147
+ # resp = client.test_availability_configuration({
3148
+ # organization_id: "OrganizationId", # required
3149
+ # domain_name: "DomainName",
3150
+ # ews_provider: {
3151
+ # ews_endpoint: "Url", # required
3152
+ # ews_username: "ExternalUserName", # required
3153
+ # ews_password: "Password", # required
3154
+ # },
3155
+ # lambda_provider: {
3156
+ # lambda_arn: "LambdaArn", # required
3157
+ # },
3158
+ # })
3159
+ #
3160
+ # @example Response structure
3161
+ #
3162
+ # resp.test_passed #=> Boolean
3163
+ # resp.failure_reason #=> String
3164
+ #
3165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/TestAvailabilityConfiguration AWS API Documentation
3166
+ #
3167
+ # @overload test_availability_configuration(params = {})
3168
+ # @param [Hash] params ({})
3169
+ def test_availability_configuration(params = {}, options = {})
3170
+ req = build_request(:test_availability_configuration, params)
3171
+ req.send_request(options)
3172
+ end
3173
+
2974
3174
  # Untags the specified tags from the specified Amazon WorkMail
2975
3175
  # organization resource.
2976
3176
  #
@@ -2998,6 +3198,55 @@ module Aws::WorkMail
2998
3198
  req.send_request(options)
2999
3199
  end
3000
3200
 
3201
+ # Updates an existing `AvailabilityConfiguration` for the given WorkMail
3202
+ # organization and domain.
3203
+ #
3204
+ # @option params [required, String] :organization_id
3205
+ # The Amazon WorkMail organization for which the
3206
+ # `AvailabilityConfiguration` will be updated.
3207
+ #
3208
+ # @option params [required, String] :domain_name
3209
+ # The domain to which the provider applies the availability
3210
+ # configuration.
3211
+ #
3212
+ # @option params [Types::EwsAvailabilityProvider] :ews_provider
3213
+ # The EWS availability provider definition. The request must contain
3214
+ # exactly one provider definition, either `EwsProvider` or
3215
+ # `LambdaProvider`. The previously stored provider will be overridden by
3216
+ # the one provided.
3217
+ #
3218
+ # @option params [Types::LambdaAvailabilityProvider] :lambda_provider
3219
+ # The Lambda availability provider definition. The request must contain
3220
+ # exactly one provider definition, either `EwsProvider` or
3221
+ # `LambdaProvider`. The previously stored provider will be overridden by
3222
+ # the one provided.
3223
+ #
3224
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3225
+ #
3226
+ # @example Request syntax with placeholder values
3227
+ #
3228
+ # resp = client.update_availability_configuration({
3229
+ # organization_id: "OrganizationId", # required
3230
+ # domain_name: "DomainName", # required
3231
+ # ews_provider: {
3232
+ # ews_endpoint: "Url", # required
3233
+ # ews_username: "ExternalUserName", # required
3234
+ # ews_password: "Password", # required
3235
+ # },
3236
+ # lambda_provider: {
3237
+ # lambda_arn: "LambdaArn", # required
3238
+ # },
3239
+ # })
3240
+ #
3241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateAvailabilityConfiguration AWS API Documentation
3242
+ #
3243
+ # @overload update_availability_configuration(params = {})
3244
+ # @param [Hash] params ({})
3245
+ def update_availability_configuration(params = {}, options = {})
3246
+ req = build_request(:update_availability_configuration, params)
3247
+ req.send_request(options)
3248
+ end
3249
+
3001
3250
  # Updates the default mail domain for an organization. The default mail
3002
3251
  # domain is used by the WorkMail AWS Console to suggest an email address
3003
3252
  # when enabling a mail user. You can only have one default domain.
@@ -3222,7 +3471,7 @@ module Aws::WorkMail
3222
3471
  params: params,
3223
3472
  config: config)
3224
3473
  context[:gem_name] = 'aws-sdk-workmail'
3225
- context[:gem_version] = '1.47.0'
3474
+ context[:gem_version] = '1.50.0'
3226
3475
  Seahorse::Client::Request.new(handlers, context)
3227
3476
  end
3228
3477
 
@@ -27,6 +27,9 @@ module Aws::WorkMail
27
27
  AssociateDelegateToResourceResponse = Shapes::StructureShape.new(name: 'AssociateDelegateToResourceResponse')
28
28
  AssociateMemberToGroupRequest = Shapes::StructureShape.new(name: 'AssociateMemberToGroupRequest')
29
29
  AssociateMemberToGroupResponse = Shapes::StructureShape.new(name: 'AssociateMemberToGroupResponse')
30
+ AvailabilityConfiguration = Shapes::StructureShape.new(name: 'AvailabilityConfiguration')
31
+ AvailabilityConfigurationList = Shapes::ListShape.new(name: 'AvailabilityConfigurationList')
32
+ AvailabilityProviderType = Shapes::StringShape.new(name: 'AvailabilityProviderType')
30
33
  BookingOptions = Shapes::StructureShape.new(name: 'BookingOptions')
31
34
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
32
35
  BooleanObject = Shapes::BooleanShape.new(name: 'BooleanObject')
@@ -34,6 +37,8 @@ module Aws::WorkMail
34
37
  CancelMailboxExportJobResponse = Shapes::StructureShape.new(name: 'CancelMailboxExportJobResponse')
35
38
  CreateAliasRequest = Shapes::StructureShape.new(name: 'CreateAliasRequest')
36
39
  CreateAliasResponse = Shapes::StructureShape.new(name: 'CreateAliasResponse')
40
+ CreateAvailabilityConfigurationRequest = Shapes::StructureShape.new(name: 'CreateAvailabilityConfigurationRequest')
41
+ CreateAvailabilityConfigurationResponse = Shapes::StructureShape.new(name: 'CreateAvailabilityConfigurationResponse')
37
42
  CreateGroupRequest = Shapes::StructureShape.new(name: 'CreateGroupRequest')
38
43
  CreateGroupResponse = Shapes::StructureShape.new(name: 'CreateGroupResponse')
39
44
  CreateMobileDeviceAccessRuleRequest = Shapes::StructureShape.new(name: 'CreateMobileDeviceAccessRuleRequest')
@@ -49,6 +54,8 @@ module Aws::WorkMail
49
54
  DeleteAccessControlRuleResponse = Shapes::StructureShape.new(name: 'DeleteAccessControlRuleResponse')
50
55
  DeleteAliasRequest = Shapes::StructureShape.new(name: 'DeleteAliasRequest')
51
56
  DeleteAliasResponse = Shapes::StructureShape.new(name: 'DeleteAliasResponse')
57
+ DeleteAvailabilityConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteAvailabilityConfigurationRequest')
58
+ DeleteAvailabilityConfigurationResponse = Shapes::StructureShape.new(name: 'DeleteAvailabilityConfigurationResponse')
52
59
  DeleteEmailMonitoringConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteEmailMonitoringConfigurationRequest')
53
60
  DeleteEmailMonitoringConfigurationResponse = Shapes::StructureShape.new(name: 'DeleteEmailMonitoringConfigurationResponse')
54
61
  DeleteGroupRequest = Shapes::StructureShape.new(name: 'DeleteGroupRequest')
@@ -116,6 +123,8 @@ module Aws::WorkMail
116
123
  EntityNotFoundException = Shapes::StructureShape.new(name: 'EntityNotFoundException')
117
124
  EntityState = Shapes::StringShape.new(name: 'EntityState')
118
125
  EntityStateException = Shapes::StructureShape.new(name: 'EntityStateException')
126
+ EwsAvailabilityProvider = Shapes::StructureShape.new(name: 'EwsAvailabilityProvider')
127
+ ExternalUserName = Shapes::StringShape.new(name: 'ExternalUserName')
119
128
  FolderConfiguration = Shapes::StructureShape.new(name: 'FolderConfiguration')
120
129
  FolderConfigurations = Shapes::ListShape.new(name: 'FolderConfigurations')
121
130
  FolderName = Shapes::StringShape.new(name: 'FolderName')
@@ -145,11 +154,15 @@ module Aws::WorkMail
145
154
  IpRangeList = Shapes::ListShape.new(name: 'IpRangeList')
146
155
  Jobs = Shapes::ListShape.new(name: 'Jobs')
147
156
  KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
157
+ LambdaArn = Shapes::StringShape.new(name: 'LambdaArn')
158
+ LambdaAvailabilityProvider = Shapes::StructureShape.new(name: 'LambdaAvailabilityProvider')
148
159
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
149
160
  ListAccessControlRulesRequest = Shapes::StructureShape.new(name: 'ListAccessControlRulesRequest')
150
161
  ListAccessControlRulesResponse = Shapes::StructureShape.new(name: 'ListAccessControlRulesResponse')
151
162
  ListAliasesRequest = Shapes::StructureShape.new(name: 'ListAliasesRequest')
152
163
  ListAliasesResponse = Shapes::StructureShape.new(name: 'ListAliasesResponse')
164
+ ListAvailabilityConfigurationsRequest = Shapes::StructureShape.new(name: 'ListAvailabilityConfigurationsRequest')
165
+ ListAvailabilityConfigurationsResponse = Shapes::StructureShape.new(name: 'ListAvailabilityConfigurationsResponse')
153
166
  ListGroupMembersRequest = Shapes::StructureShape.new(name: 'ListGroupMembersRequest')
154
167
  ListGroupMembersResponse = Shapes::StructureShape.new(name: 'ListGroupMembersResponse')
155
168
  ListGroupsRequest = Shapes::StructureShape.new(name: 'ListGroupsRequest')
@@ -227,6 +240,7 @@ module Aws::WorkMail
227
240
  PutMobileDeviceAccessOverrideResponse = Shapes::StructureShape.new(name: 'PutMobileDeviceAccessOverrideResponse')
228
241
  PutRetentionPolicyRequest = Shapes::StructureShape.new(name: 'PutRetentionPolicyRequest')
229
242
  PutRetentionPolicyResponse = Shapes::StructureShape.new(name: 'PutRetentionPolicyResponse')
243
+ RedactedEwsAvailabilityProvider = Shapes::StructureShape.new(name: 'RedactedEwsAvailabilityProvider')
230
244
  RegisterMailDomainRequest = Shapes::StructureShape.new(name: 'RegisterMailDomainRequest')
231
245
  RegisterMailDomainResponse = Shapes::StructureShape.new(name: 'RegisterMailDomainResponse')
232
246
  RegisterToWorkMailRequest = Shapes::StructureShape.new(name: 'RegisterToWorkMailRequest')
@@ -257,11 +271,15 @@ module Aws::WorkMail
257
271
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
258
272
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
259
273
  TagValue = Shapes::StringShape.new(name: 'TagValue')
274
+ TestAvailabilityConfigurationRequest = Shapes::StructureShape.new(name: 'TestAvailabilityConfigurationRequest')
275
+ TestAvailabilityConfigurationResponse = Shapes::StructureShape.new(name: 'TestAvailabilityConfigurationResponse')
260
276
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
261
277
  TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
262
278
  UnsupportedOperationException = Shapes::StructureShape.new(name: 'UnsupportedOperationException')
263
279
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
264
280
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
281
+ UpdateAvailabilityConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateAvailabilityConfigurationRequest')
282
+ UpdateAvailabilityConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateAvailabilityConfigurationResponse')
265
283
  UpdateDefaultMailDomainRequest = Shapes::StructureShape.new(name: 'UpdateDefaultMailDomainRequest')
266
284
  UpdateDefaultMailDomainResponse = Shapes::StructureShape.new(name: 'UpdateDefaultMailDomainResponse')
267
285
  UpdateMailboxQuotaRequest = Shapes::StructureShape.new(name: 'UpdateMailboxQuotaRequest')
@@ -272,6 +290,7 @@ module Aws::WorkMail
272
290
  UpdatePrimaryEmailAddressResponse = Shapes::StructureShape.new(name: 'UpdatePrimaryEmailAddressResponse')
273
291
  UpdateResourceRequest = Shapes::StructureShape.new(name: 'UpdateResourceRequest')
274
292
  UpdateResourceResponse = Shapes::StructureShape.new(name: 'UpdateResourceResponse')
293
+ Url = Shapes::StringShape.new(name: 'Url')
275
294
  User = Shapes::StructureShape.new(name: 'User')
276
295
  UserIdList = Shapes::ListShape.new(name: 'UserIdList')
277
296
  UserName = Shapes::StringShape.new(name: 'UserName')
@@ -315,6 +334,16 @@ module Aws::WorkMail
315
334
 
316
335
  AssociateMemberToGroupResponse.struct_class = Types::AssociateMemberToGroupResponse
317
336
 
337
+ AvailabilityConfiguration.add_member(:domain_name, Shapes::ShapeRef.new(shape: DomainName, location_name: "DomainName"))
338
+ AvailabilityConfiguration.add_member(:provider_type, Shapes::ShapeRef.new(shape: AvailabilityProviderType, location_name: "ProviderType"))
339
+ AvailabilityConfiguration.add_member(:ews_provider, Shapes::ShapeRef.new(shape: RedactedEwsAvailabilityProvider, location_name: "EwsProvider"))
340
+ AvailabilityConfiguration.add_member(:lambda_provider, Shapes::ShapeRef.new(shape: LambdaAvailabilityProvider, location_name: "LambdaProvider"))
341
+ AvailabilityConfiguration.add_member(:date_created, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DateCreated"))
342
+ AvailabilityConfiguration.add_member(:date_modified, Shapes::ShapeRef.new(shape: Timestamp, location_name: "DateModified"))
343
+ AvailabilityConfiguration.struct_class = Types::AvailabilityConfiguration
344
+
345
+ AvailabilityConfigurationList.member = Shapes::ShapeRef.new(shape: AvailabilityConfiguration)
346
+
318
347
  BookingOptions.add_member(:auto_accept_requests, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoAcceptRequests"))
319
348
  BookingOptions.add_member(:auto_decline_recurring_requests, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoDeclineRecurringRequests"))
320
349
  BookingOptions.add_member(:auto_decline_conflicting_requests, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutoDeclineConflictingRequests"))
@@ -334,6 +363,15 @@ module Aws::WorkMail
334
363
 
335
364
  CreateAliasResponse.struct_class = Types::CreateAliasResponse
336
365
 
366
+ CreateAvailabilityConfigurationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: IdempotencyClientToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
367
+ CreateAvailabilityConfigurationRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
368
+ CreateAvailabilityConfigurationRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: DomainName, required: true, location_name: "DomainName"))
369
+ CreateAvailabilityConfigurationRequest.add_member(:ews_provider, Shapes::ShapeRef.new(shape: EwsAvailabilityProvider, location_name: "EwsProvider"))
370
+ CreateAvailabilityConfigurationRequest.add_member(:lambda_provider, Shapes::ShapeRef.new(shape: LambdaAvailabilityProvider, location_name: "LambdaProvider"))
371
+ CreateAvailabilityConfigurationRequest.struct_class = Types::CreateAvailabilityConfigurationRequest
372
+
373
+ CreateAvailabilityConfigurationResponse.struct_class = Types::CreateAvailabilityConfigurationResponse
374
+
337
375
  CreateGroupRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
338
376
  CreateGroupRequest.add_member(:name, Shapes::ShapeRef.new(shape: GroupName, required: true, location_name: "Name"))
339
377
  CreateGroupRequest.struct_class = Types::CreateGroupRequest
@@ -404,6 +442,12 @@ module Aws::WorkMail
404
442
 
405
443
  DeleteAliasResponse.struct_class = Types::DeleteAliasResponse
406
444
 
445
+ DeleteAvailabilityConfigurationRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
446
+ DeleteAvailabilityConfigurationRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: DomainName, required: true, location_name: "DomainName"))
447
+ DeleteAvailabilityConfigurationRequest.struct_class = Types::DeleteAvailabilityConfigurationRequest
448
+
449
+ DeleteAvailabilityConfigurationResponse.struct_class = Types::DeleteAvailabilityConfigurationResponse
450
+
407
451
  DeleteEmailMonitoringConfigurationRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
408
452
  DeleteEmailMonitoringConfigurationRequest.struct_class = Types::DeleteEmailMonitoringConfigurationRequest
409
453
 
@@ -615,6 +659,11 @@ module Aws::WorkMail
615
659
  EntityStateException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
616
660
  EntityStateException.struct_class = Types::EntityStateException
617
661
 
662
+ EwsAvailabilityProvider.add_member(:ews_endpoint, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "EwsEndpoint"))
663
+ EwsAvailabilityProvider.add_member(:ews_username, Shapes::ShapeRef.new(shape: ExternalUserName, required: true, location_name: "EwsUsername"))
664
+ EwsAvailabilityProvider.add_member(:ews_password, Shapes::ShapeRef.new(shape: Password, required: true, location_name: "EwsPassword"))
665
+ EwsAvailabilityProvider.struct_class = Types::EwsAvailabilityProvider
666
+
618
667
  FolderConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: FolderName, required: true, location_name: "Name"))
619
668
  FolderConfiguration.add_member(:action, Shapes::ShapeRef.new(shape: RetentionAction, required: true, location_name: "Action"))
620
669
  FolderConfiguration.add_member(:period, Shapes::ShapeRef.new(shape: RetentionPeriod, location_name: "Period"))
@@ -710,6 +759,9 @@ module Aws::WorkMail
710
759
 
711
760
  Jobs.member = Shapes::ShapeRef.new(shape: MailboxExportJob)
712
761
 
762
+ LambdaAvailabilityProvider.add_member(:lambda_arn, Shapes::ShapeRef.new(shape: LambdaArn, required: true, location_name: "LambdaArn"))
763
+ LambdaAvailabilityProvider.struct_class = Types::LambdaAvailabilityProvider
764
+
713
765
  LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
714
766
  LimitExceededException.struct_class = Types::LimitExceededException
715
767
 
@@ -729,6 +781,15 @@ module Aws::WorkMail
729
781
  ListAliasesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
730
782
  ListAliasesResponse.struct_class = Types::ListAliasesResponse
731
783
 
784
+ ListAvailabilityConfigurationsRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
785
+ ListAvailabilityConfigurationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
786
+ ListAvailabilityConfigurationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
787
+ ListAvailabilityConfigurationsRequest.struct_class = Types::ListAvailabilityConfigurationsRequest
788
+
789
+ ListAvailabilityConfigurationsResponse.add_member(:availability_configurations, Shapes::ShapeRef.new(shape: AvailabilityConfigurationList, location_name: "AvailabilityConfigurations"))
790
+ ListAvailabilityConfigurationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
791
+ ListAvailabilityConfigurationsResponse.struct_class = Types::ListAvailabilityConfigurationsResponse
792
+
732
793
  ListGroupMembersRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
733
794
  ListGroupMembersRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: WorkMailIdentifier, required: true, location_name: "GroupId"))
734
795
  ListGroupMembersRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -985,6 +1046,10 @@ module Aws::WorkMail
985
1046
 
986
1047
  PutRetentionPolicyResponse.struct_class = Types::PutRetentionPolicyResponse
987
1048
 
1049
+ RedactedEwsAvailabilityProvider.add_member(:ews_endpoint, Shapes::ShapeRef.new(shape: Url, location_name: "EwsEndpoint"))
1050
+ RedactedEwsAvailabilityProvider.add_member(:ews_username, Shapes::ShapeRef.new(shape: ExternalUserName, location_name: "EwsUsername"))
1051
+ RedactedEwsAvailabilityProvider.struct_class = Types::RedactedEwsAvailabilityProvider
1052
+
988
1053
  RegisterMailDomainRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: IdempotencyClientToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
989
1054
  RegisterMailDomainRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
990
1055
  RegisterMailDomainRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: WorkMailDomainName, required: true, location_name: "DomainName"))
@@ -1052,6 +1117,16 @@ module Aws::WorkMail
1052
1117
 
1053
1118
  TagResourceResponse.struct_class = Types::TagResourceResponse
1054
1119
 
1120
+ TestAvailabilityConfigurationRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
1121
+ TestAvailabilityConfigurationRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: DomainName, location_name: "DomainName"))
1122
+ TestAvailabilityConfigurationRequest.add_member(:ews_provider, Shapes::ShapeRef.new(shape: EwsAvailabilityProvider, location_name: "EwsProvider"))
1123
+ TestAvailabilityConfigurationRequest.add_member(:lambda_provider, Shapes::ShapeRef.new(shape: LambdaAvailabilityProvider, location_name: "LambdaProvider"))
1124
+ TestAvailabilityConfigurationRequest.struct_class = Types::TestAvailabilityConfigurationRequest
1125
+
1126
+ TestAvailabilityConfigurationResponse.add_member(:test_passed, Shapes::ShapeRef.new(shape: Boolean, location_name: "TestPassed"))
1127
+ TestAvailabilityConfigurationResponse.add_member(:failure_reason, Shapes::ShapeRef.new(shape: String, location_name: "FailureReason"))
1128
+ TestAvailabilityConfigurationResponse.struct_class = Types::TestAvailabilityConfigurationResponse
1129
+
1055
1130
  TooManyTagsException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
1056
1131
  TooManyTagsException.struct_class = Types::TooManyTagsException
1057
1132
 
@@ -1064,6 +1139,14 @@ module Aws::WorkMail
1064
1139
 
1065
1140
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
1066
1141
 
1142
+ UpdateAvailabilityConfigurationRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
1143
+ UpdateAvailabilityConfigurationRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: DomainName, required: true, location_name: "DomainName"))
1144
+ UpdateAvailabilityConfigurationRequest.add_member(:ews_provider, Shapes::ShapeRef.new(shape: EwsAvailabilityProvider, location_name: "EwsProvider"))
1145
+ UpdateAvailabilityConfigurationRequest.add_member(:lambda_provider, Shapes::ShapeRef.new(shape: LambdaAvailabilityProvider, location_name: "LambdaProvider"))
1146
+ UpdateAvailabilityConfigurationRequest.struct_class = Types::UpdateAvailabilityConfigurationRequest
1147
+
1148
+ UpdateAvailabilityConfigurationResponse.struct_class = Types::UpdateAvailabilityConfigurationResponse
1149
+
1067
1150
  UpdateDefaultMailDomainRequest.add_member(:organization_id, Shapes::ShapeRef.new(shape: OrganizationId, required: true, location_name: "OrganizationId"))
1068
1151
  UpdateDefaultMailDomainRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: WorkMailDomainName, required: true, location_name: "DomainName"))
1069
1152
  UpdateDefaultMailDomainRequest.struct_class = Types::UpdateDefaultMailDomainRequest
@@ -1199,6 +1282,19 @@ module Aws::WorkMail
1199
1282
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1200
1283
  end)
1201
1284
 
1285
+ api.add_operation(:create_availability_configuration, Seahorse::Model::Operation.new.tap do |o|
1286
+ o.name = "CreateAvailabilityConfiguration"
1287
+ o.http_method = "POST"
1288
+ o.http_request_uri = "/"
1289
+ o.input = Shapes::ShapeRef.new(shape: CreateAvailabilityConfigurationRequest)
1290
+ o.output = Shapes::ShapeRef.new(shape: CreateAvailabilityConfigurationResponse)
1291
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1292
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1293
+ o.errors << Shapes::ShapeRef.new(shape: NameAvailabilityException)
1294
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1295
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1296
+ end)
1297
+
1202
1298
  api.add_operation(:create_group, Seahorse::Model::Operation.new.tap do |o|
1203
1299
  o.name = "CreateGroup"
1204
1300
  o.http_method = "POST"
@@ -1295,6 +1391,16 @@ module Aws::WorkMail
1295
1391
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1296
1392
  end)
1297
1393
 
1394
+ api.add_operation(:delete_availability_configuration, Seahorse::Model::Operation.new.tap do |o|
1395
+ o.name = "DeleteAvailabilityConfiguration"
1396
+ o.http_method = "POST"
1397
+ o.http_request_uri = "/"
1398
+ o.input = Shapes::ShapeRef.new(shape: DeleteAvailabilityConfigurationRequest)
1399
+ o.output = Shapes::ShapeRef.new(shape: DeleteAvailabilityConfigurationResponse)
1400
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1401
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1402
+ end)
1403
+
1298
1404
  api.add_operation(:delete_email_monitoring_configuration, Seahorse::Model::Operation.new.tap do |o|
1299
1405
  o.name = "DeleteEmailMonitoringConfiguration"
1300
1406
  o.http_method = "POST"
@@ -1641,6 +1747,22 @@ module Aws::WorkMail
1641
1747
  )
1642
1748
  end)
1643
1749
 
1750
+ api.add_operation(:list_availability_configurations, Seahorse::Model::Operation.new.tap do |o|
1751
+ o.name = "ListAvailabilityConfigurations"
1752
+ o.http_method = "POST"
1753
+ o.http_request_uri = "/"
1754
+ o.input = Shapes::ShapeRef.new(shape: ListAvailabilityConfigurationsRequest)
1755
+ o.output = Shapes::ShapeRef.new(shape: ListAvailabilityConfigurationsResponse)
1756
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
1757
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1758
+ o[:pager] = Aws::Pager.new(
1759
+ limit_key: "max_results",
1760
+ tokens: {
1761
+ "next_token" => "next_token"
1762
+ }
1763
+ )
1764
+ end)
1765
+
1644
1766
  api.add_operation(:list_group_members, Seahorse::Model::Operation.new.tap do |o|
1645
1767
  o.name = "ListGroupMembers"
1646
1768
  o.http_method = "POST"
@@ -1982,6 +2104,18 @@ module Aws::WorkMail
1982
2104
  o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
1983
2105
  end)
1984
2106
 
2107
+ api.add_operation(:test_availability_configuration, Seahorse::Model::Operation.new.tap do |o|
2108
+ o.name = "TestAvailabilityConfiguration"
2109
+ o.http_method = "POST"
2110
+ o.http_request_uri = "/"
2111
+ o.input = Shapes::ShapeRef.new(shape: TestAvailabilityConfigurationRequest)
2112
+ o.output = Shapes::ShapeRef.new(shape: TestAvailabilityConfigurationResponse)
2113
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
2114
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
2115
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2116
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2117
+ end)
2118
+
1985
2119
  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
1986
2120
  o.name = "UntagResource"
1987
2121
  o.http_method = "POST"
@@ -1991,6 +2125,18 @@ module Aws::WorkMail
1991
2125
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1992
2126
  end)
1993
2127
 
2128
+ api.add_operation(:update_availability_configuration, Seahorse::Model::Operation.new.tap do |o|
2129
+ o.name = "UpdateAvailabilityConfiguration"
2130
+ o.http_method = "POST"
2131
+ o.http_request_uri = "/"
2132
+ o.input = Shapes::ShapeRef.new(shape: UpdateAvailabilityConfigurationRequest)
2133
+ o.output = Shapes::ShapeRef.new(shape: UpdateAvailabilityConfigurationResponse)
2134
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationNotFoundException)
2135
+ o.errors << Shapes::ShapeRef.new(shape: OrganizationStateException)
2136
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2137
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2138
+ end)
2139
+
1994
2140
  api.add_operation(:update_default_mail_domain, Seahorse::Model::Operation.new.tap do |o|
1995
2141
  o.name = "UpdateDefaultMailDomain"
1996
2142
  o.http_method = "POST"
@@ -148,6 +148,50 @@ module Aws::WorkMail
148
148
  #
149
149
  class AssociateMemberToGroupResponse < Aws::EmptyStructure; end
150
150
 
151
+ # List all the `AvailabilityConfiguration`'s for the given WorkMail
152
+ # organization.
153
+ #
154
+ # @!attribute [rw] domain_name
155
+ # Displays the domain to which the provider applies.
156
+ # @return [String]
157
+ #
158
+ # @!attribute [rw] provider_type
159
+ # Displays the provider type that applies to this domain.
160
+ # @return [String]
161
+ #
162
+ # @!attribute [rw] ews_provider
163
+ # If `ProviderType` is `EWS`, then this field contains
164
+ # `RedactedEwsAvailabilityProvider`. Otherwise, it is not requried.
165
+ # @return [Types::RedactedEwsAvailabilityProvider]
166
+ #
167
+ # @!attribute [rw] lambda_provider
168
+ # If ProviderType is `LAMBDA` then this field contains
169
+ # `LambdaAvailabilityProvider`. Otherwise, it is not required.
170
+ # @return [Types::LambdaAvailabilityProvider]
171
+ #
172
+ # @!attribute [rw] date_created
173
+ # The date and time at which the availability configuration was
174
+ # created.
175
+ # @return [Time]
176
+ #
177
+ # @!attribute [rw] date_modified
178
+ # The date and time at which the availability configuration was last
179
+ # modified.
180
+ # @return [Time]
181
+ #
182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AvailabilityConfiguration AWS API Documentation
183
+ #
184
+ class AvailabilityConfiguration < Struct.new(
185
+ :domain_name,
186
+ :provider_type,
187
+ :ews_provider,
188
+ :lambda_provider,
189
+ :date_created,
190
+ :date_modified)
191
+ SENSITIVE = []
192
+ include Aws::Structure
193
+ end
194
+
151
195
  # At least one delegate must be associated to the resource to disable
152
196
  # automatic replies from the resource.
153
197
  #
@@ -258,6 +302,68 @@ module Aws::WorkMail
258
302
  #
259
303
  class CreateAliasResponse < Aws::EmptyStructure; end
260
304
 
305
+ # @note When making an API call, you may pass CreateAvailabilityConfigurationRequest
306
+ # data as a hash:
307
+ #
308
+ # {
309
+ # client_token: "IdempotencyClientToken",
310
+ # organization_id: "OrganizationId", # required
311
+ # domain_name: "DomainName", # required
312
+ # ews_provider: {
313
+ # ews_endpoint: "Url", # required
314
+ # ews_username: "ExternalUserName", # required
315
+ # ews_password: "Password", # required
316
+ # },
317
+ # lambda_provider: {
318
+ # lambda_arn: "LambdaArn", # required
319
+ # },
320
+ # }
321
+ #
322
+ # @!attribute [rw] client_token
323
+ # An idempotent token that ensures that an API request is executed
324
+ # only once.
325
+ #
326
+ # **A suitable default value is auto-generated.** You should normally
327
+ # not need to pass this option.
328
+ # @return [String]
329
+ #
330
+ # @!attribute [rw] organization_id
331
+ # The Amazon WorkMail organization for which the
332
+ # `AvailabilityConfiguration` will be created.
333
+ # @return [String]
334
+ #
335
+ # @!attribute [rw] domain_name
336
+ # The domain to which the provider applies.
337
+ # @return [String]
338
+ #
339
+ # @!attribute [rw] ews_provider
340
+ # Exchange Web Services (EWS) availability provider definition. The
341
+ # request must contain exactly one provider definition, either
342
+ # `EwsProvider` or `LambdaProvider`.
343
+ # @return [Types::EwsAvailabilityProvider]
344
+ #
345
+ # @!attribute [rw] lambda_provider
346
+ # Lambda availability provider definition. The request must contain
347
+ # exactly one provider definition, either `EwsProvider` or
348
+ # `LambdaProvider`.
349
+ # @return [Types::LambdaAvailabilityProvider]
350
+ #
351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateAvailabilityConfigurationRequest AWS API Documentation
352
+ #
353
+ class CreateAvailabilityConfigurationRequest < Struct.new(
354
+ :client_token,
355
+ :organization_id,
356
+ :domain_name,
357
+ :ews_provider,
358
+ :lambda_provider)
359
+ SENSITIVE = []
360
+ include Aws::Structure
361
+ end
362
+
363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateAvailabilityConfigurationResponse AWS API Documentation
364
+ #
365
+ class CreateAvailabilityConfigurationResponse < Aws::EmptyStructure; end
366
+
261
367
  # @note When making an API call, you may pass CreateGroupRequest
262
368
  # data as a hash:
263
369
  #
@@ -662,6 +768,37 @@ module Aws::WorkMail
662
768
  #
663
769
  class DeleteAliasResponse < Aws::EmptyStructure; end
664
770
 
771
+ # @note When making an API call, you may pass DeleteAvailabilityConfigurationRequest
772
+ # data as a hash:
773
+ #
774
+ # {
775
+ # organization_id: "OrganizationId", # required
776
+ # domain_name: "DomainName", # required
777
+ # }
778
+ #
779
+ # @!attribute [rw] organization_id
780
+ # The Amazon WorkMail organization for which the
781
+ # `AvailabilityConfiguration` will be deleted.
782
+ # @return [String]
783
+ #
784
+ # @!attribute [rw] domain_name
785
+ # The domain for which the `AvailabilityConfiguration` will be
786
+ # deleted.
787
+ # @return [String]
788
+ #
789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAvailabilityConfigurationRequest AWS API Documentation
790
+ #
791
+ class DeleteAvailabilityConfigurationRequest < Struct.new(
792
+ :organization_id,
793
+ :domain_name)
794
+ SENSITIVE = []
795
+ include Aws::Structure
796
+ end
797
+
798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAvailabilityConfigurationResponse AWS API Documentation
799
+ #
800
+ class DeleteAvailabilityConfigurationResponse < Aws::EmptyStructure; end
801
+
665
802
  # @note When making an API call, you may pass DeleteEmailMonitoringConfigurationRequest
666
803
  # data as a hash:
667
804
  #
@@ -1722,6 +1859,40 @@ module Aws::WorkMail
1722
1859
  include Aws::Structure
1723
1860
  end
1724
1861
 
1862
+ # Describes an EWS based availability provider. This is only used as
1863
+ # input to the service.
1864
+ #
1865
+ # @note When making an API call, you may pass EwsAvailabilityProvider
1866
+ # data as a hash:
1867
+ #
1868
+ # {
1869
+ # ews_endpoint: "Url", # required
1870
+ # ews_username: "ExternalUserName", # required
1871
+ # ews_password: "Password", # required
1872
+ # }
1873
+ #
1874
+ # @!attribute [rw] ews_endpoint
1875
+ # The endpoint of the remote EWS server.
1876
+ # @return [String]
1877
+ #
1878
+ # @!attribute [rw] ews_username
1879
+ # The username used to authenticate the remote EWS server.
1880
+ # @return [String]
1881
+ #
1882
+ # @!attribute [rw] ews_password
1883
+ # The password used to authenticate the remote EWS server.
1884
+ # @return [String]
1885
+ #
1886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/EwsAvailabilityProvider AWS API Documentation
1887
+ #
1888
+ class EwsAvailabilityProvider < Struct.new(
1889
+ :ews_endpoint,
1890
+ :ews_username,
1891
+ :ews_password)
1892
+ SENSITIVE = [:ews_password]
1893
+ include Aws::Structure
1894
+ end
1895
+
1725
1896
  # The configuration applied to an organization's folders by its
1726
1897
  # retention policy.
1727
1898
  #
@@ -2210,6 +2381,28 @@ module Aws::WorkMail
2210
2381
  include Aws::Structure
2211
2382
  end
2212
2383
 
2384
+ # Describes a Lambda based availability provider.
2385
+ #
2386
+ # @note When making an API call, you may pass LambdaAvailabilityProvider
2387
+ # data as a hash:
2388
+ #
2389
+ # {
2390
+ # lambda_arn: "LambdaArn", # required
2391
+ # }
2392
+ #
2393
+ # @!attribute [rw] lambda_arn
2394
+ # The Amazon Resource Name (ARN) of the Lambda that acts as the
2395
+ # availability provider.
2396
+ # @return [String]
2397
+ #
2398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/LambdaAvailabilityProvider AWS API Documentation
2399
+ #
2400
+ class LambdaAvailabilityProvider < Struct.new(
2401
+ :lambda_arn)
2402
+ SENSITIVE = []
2403
+ include Aws::Structure
2404
+ end
2405
+
2213
2406
  # The request exceeds the limit of the resource.
2214
2407
  #
2215
2408
  # @!attribute [rw] message
@@ -2310,6 +2503,58 @@ module Aws::WorkMail
2310
2503
  include Aws::Structure
2311
2504
  end
2312
2505
 
2506
+ # @note When making an API call, you may pass ListAvailabilityConfigurationsRequest
2507
+ # data as a hash:
2508
+ #
2509
+ # {
2510
+ # organization_id: "OrganizationId", # required
2511
+ # max_results: 1,
2512
+ # next_token: "NextToken",
2513
+ # }
2514
+ #
2515
+ # @!attribute [rw] organization_id
2516
+ # The Amazon WorkMail organization for which the
2517
+ # `AvailabilityConfiguration`'s will be listed.
2518
+ # @return [String]
2519
+ #
2520
+ # @!attribute [rw] max_results
2521
+ # The maximum number of results to return in a single call.
2522
+ # @return [Integer]
2523
+ #
2524
+ # @!attribute [rw] next_token
2525
+ # The token to use to retrieve the next page of results. The first
2526
+ # call does not require a token.
2527
+ # @return [String]
2528
+ #
2529
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAvailabilityConfigurationsRequest AWS API Documentation
2530
+ #
2531
+ class ListAvailabilityConfigurationsRequest < Struct.new(
2532
+ :organization_id,
2533
+ :max_results,
2534
+ :next_token)
2535
+ SENSITIVE = []
2536
+ include Aws::Structure
2537
+ end
2538
+
2539
+ # @!attribute [rw] availability_configurations
2540
+ # The list of `AvailabilityConfiguration`'s that exist for the
2541
+ # specified Amazon WorkMail organization.
2542
+ # @return [Array<Types::AvailabilityConfiguration>]
2543
+ #
2544
+ # @!attribute [rw] next_token
2545
+ # The token to use to retrieve the next page of results. The value is
2546
+ # `null` when there are no further results to return.
2547
+ # @return [String]
2548
+ #
2549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAvailabilityConfigurationsResponse AWS API Documentation
2550
+ #
2551
+ class ListAvailabilityConfigurationsResponse < Struct.new(
2552
+ :availability_configurations,
2553
+ :next_token)
2554
+ SENSITIVE = []
2555
+ include Aws::Structure
2556
+ end
2557
+
2313
2558
  # @note When making an API call, you may pass ListGroupMembersRequest
2314
2559
  # data as a hash:
2315
2560
  #
@@ -3635,6 +3880,26 @@ module Aws::WorkMail
3635
3880
  #
3636
3881
  class PutRetentionPolicyResponse < Aws::EmptyStructure; end
3637
3882
 
3883
+ # Describes an EWS based availability provider when returned from the
3884
+ # service. It does not contain the password of the endpoint.
3885
+ #
3886
+ # @!attribute [rw] ews_endpoint
3887
+ # The endpoint of the remote EWS server.
3888
+ # @return [String]
3889
+ #
3890
+ # @!attribute [rw] ews_username
3891
+ # The username used to authenticate the remote EWS server.
3892
+ # @return [String]
3893
+ #
3894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/RedactedEwsAvailabilityProvider AWS API Documentation
3895
+ #
3896
+ class RedactedEwsAvailabilityProvider < Struct.new(
3897
+ :ews_endpoint,
3898
+ :ews_username)
3899
+ SENSITIVE = []
3900
+ include Aws::Structure
3901
+ end
3902
+
3638
3903
  # @note When making an API call, you may pass RegisterMailDomainRequest
3639
3904
  # data as a hash:
3640
3905
  #
@@ -3958,6 +4223,71 @@ module Aws::WorkMail
3958
4223
  #
3959
4224
  class TagResourceResponse < Aws::EmptyStructure; end
3960
4225
 
4226
+ # @note When making an API call, you may pass TestAvailabilityConfigurationRequest
4227
+ # data as a hash:
4228
+ #
4229
+ # {
4230
+ # organization_id: "OrganizationId", # required
4231
+ # domain_name: "DomainName",
4232
+ # ews_provider: {
4233
+ # ews_endpoint: "Url", # required
4234
+ # ews_username: "ExternalUserName", # required
4235
+ # ews_password: "Password", # required
4236
+ # },
4237
+ # lambda_provider: {
4238
+ # lambda_arn: "LambdaArn", # required
4239
+ # },
4240
+ # }
4241
+ #
4242
+ # @!attribute [rw] organization_id
4243
+ # The Amazon WorkMail organization where the availability provider
4244
+ # will be tested.
4245
+ # @return [String]
4246
+ #
4247
+ # @!attribute [rw] domain_name
4248
+ # The domain to which the provider applies. If this field is provided,
4249
+ # a stored availability provider associated to this domain name will
4250
+ # be tested.
4251
+ # @return [String]
4252
+ #
4253
+ # @!attribute [rw] ews_provider
4254
+ # Describes an EWS based availability provider. This is only used as
4255
+ # input to the service.
4256
+ # @return [Types::EwsAvailabilityProvider]
4257
+ #
4258
+ # @!attribute [rw] lambda_provider
4259
+ # Describes a Lambda based availability provider.
4260
+ # @return [Types::LambdaAvailabilityProvider]
4261
+ #
4262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/TestAvailabilityConfigurationRequest AWS API Documentation
4263
+ #
4264
+ class TestAvailabilityConfigurationRequest < Struct.new(
4265
+ :organization_id,
4266
+ :domain_name,
4267
+ :ews_provider,
4268
+ :lambda_provider)
4269
+ SENSITIVE = []
4270
+ include Aws::Structure
4271
+ end
4272
+
4273
+ # @!attribute [rw] test_passed
4274
+ # Boolean indicating whether the test passed or failed.
4275
+ # @return [Boolean]
4276
+ #
4277
+ # @!attribute [rw] failure_reason
4278
+ # String containing the reason for a failed test if `TestPassed` is
4279
+ # false.
4280
+ # @return [String]
4281
+ #
4282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/TestAvailabilityConfigurationResponse AWS API Documentation
4283
+ #
4284
+ class TestAvailabilityConfigurationResponse < Struct.new(
4285
+ :test_passed,
4286
+ :failure_reason)
4287
+ SENSITIVE = []
4288
+ include Aws::Structure
4289
+ end
4290
+
3961
4291
  # The resource can have up to 50 user-applied tags.
3962
4292
  #
3963
4293
  # @!attribute [rw] message
@@ -4013,6 +4343,61 @@ module Aws::WorkMail
4013
4343
  #
4014
4344
  class UntagResourceResponse < Aws::EmptyStructure; end
4015
4345
 
4346
+ # @note When making an API call, you may pass UpdateAvailabilityConfigurationRequest
4347
+ # data as a hash:
4348
+ #
4349
+ # {
4350
+ # organization_id: "OrganizationId", # required
4351
+ # domain_name: "DomainName", # required
4352
+ # ews_provider: {
4353
+ # ews_endpoint: "Url", # required
4354
+ # ews_username: "ExternalUserName", # required
4355
+ # ews_password: "Password", # required
4356
+ # },
4357
+ # lambda_provider: {
4358
+ # lambda_arn: "LambdaArn", # required
4359
+ # },
4360
+ # }
4361
+ #
4362
+ # @!attribute [rw] organization_id
4363
+ # The Amazon WorkMail organization for which the
4364
+ # `AvailabilityConfiguration` will be updated.
4365
+ # @return [String]
4366
+ #
4367
+ # @!attribute [rw] domain_name
4368
+ # The domain to which the provider applies the availability
4369
+ # configuration.
4370
+ # @return [String]
4371
+ #
4372
+ # @!attribute [rw] ews_provider
4373
+ # The EWS availability provider definition. The request must contain
4374
+ # exactly one provider definition, either `EwsProvider` or
4375
+ # `LambdaProvider`. The previously stored provider will be overridden
4376
+ # by the one provided.
4377
+ # @return [Types::EwsAvailabilityProvider]
4378
+ #
4379
+ # @!attribute [rw] lambda_provider
4380
+ # The Lambda availability provider definition. The request must
4381
+ # contain exactly one provider definition, either `EwsProvider` or
4382
+ # `LambdaProvider`. The previously stored provider will be overridden
4383
+ # by the one provided.
4384
+ # @return [Types::LambdaAvailabilityProvider]
4385
+ #
4386
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateAvailabilityConfigurationRequest AWS API Documentation
4387
+ #
4388
+ class UpdateAvailabilityConfigurationRequest < Struct.new(
4389
+ :organization_id,
4390
+ :domain_name,
4391
+ :ews_provider,
4392
+ :lambda_provider)
4393
+ SENSITIVE = []
4394
+ include Aws::Structure
4395
+ end
4396
+
4397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateAvailabilityConfigurationResponse AWS API Documentation
4398
+ #
4399
+ class UpdateAvailabilityConfigurationResponse < Aws::EmptyStructure; end
4400
+
4016
4401
  # @note When making an API call, you may pass UpdateDefaultMailDomainRequest
4017
4402
  # data as a hash:
4018
4403
  #
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-workmail/customizations'
48
48
  # @!group service
49
49
  module Aws::WorkMail
50
50
 
51
- GEM_VERSION = '1.47.0'
51
+ GEM_VERSION = '1.50.0'
52
52
 
53
53
  end
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.47.0
4
+ version: 1.50.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: 2021-12-21 00:00:00.000000000 Z
11
+ date: 2022-06-30 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.125.0
22
+ version: 3.127.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.125.0
32
+ version: 3.127.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement