aws-sdk-workmail 1.47.0 → 1.50.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  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