aws-sdk-workmail 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d591c813c21a28846c7febd101d49f0b63491496
4
+ data.tar.gz: db0085e2f5339dc64d74a7e6bbaac501d82eeabb
5
+ SHA512:
6
+ metadata.gz: 7dffedd2e15b0a3d98b9eebcc7edfc5ac5c3c2dc7e69407ad5e87f2f1558c14fb4230ec5511499911dc92b7ee0619101f0884f71200d8f15f633f084353df733
7
+ data.tar.gz: b25c42ddfbce2c71af968f5e35f069d2db98ed34b3303530ab63ed863fb4fbc9bdc6125c33e8f0526d17ec9057564abf344710f8fa565786777e21647582cb13
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-workmail/types'
12
+ require_relative 'aws-sdk-workmail/client_api'
13
+ require_relative 'aws-sdk-workmail/client'
14
+ require_relative 'aws-sdk-workmail/errors'
15
+ require_relative 'aws-sdk-workmail/resource'
16
+ require_relative 'aws-sdk-workmail/customizations'
17
+
18
+ # This module provides support for Amazon WorkMail. This module is available in the
19
+ # `aws-sdk-workmail` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon WorkMail all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::WorkMail::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::WorkMail
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1245 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/signature_v4.rb'
23
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:workmail)
26
+
27
+ module Aws::WorkMail
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :workmail
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
52
+
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Integer] :retry_limit (3)
119
+ # The maximum number of times to retry failed requests. Only
120
+ # ~ 500 level server errors and certain ~ 400 level client errors
121
+ # are retried. Generally, these are throttling errors, data
122
+ # checksum errors, networking errors, timeout errors and auth
123
+ # errors from expired credentials.
124
+ #
125
+ # @option options [String] :secret_access_key
126
+ #
127
+ # @option options [String] :session_token
128
+ #
129
+ # @option options [Boolean] :simple_json (false)
130
+ # Disables request parameter conversion, validation, and formatting.
131
+ # Also disable response data type conversions. This option is useful
132
+ # when you want to ensure the highest level of performance by
133
+ # avoiding overhead of walking request parameters and response data
134
+ # structures.
135
+ #
136
+ # When `:simple_json` is enabled, the request parameters hash must
137
+ # be formatted exactly as the DynamoDB API expects.
138
+ #
139
+ # @option options [Boolean] :stub_responses (false)
140
+ # Causes the client to return stubbed responses. By default
141
+ # fake responses are generated and returned. You can specify
142
+ # the response data to return or errors to raise by calling
143
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
144
+ #
145
+ # ** Please note ** When response stubbing is enabled, no HTTP
146
+ # requests are made, and retries are disabled.
147
+ #
148
+ # @option options [Boolean] :validate_params (true)
149
+ # When `true`, request parameters are validated before
150
+ # sending the request.
151
+ #
152
+ def initialize(*args)
153
+ super
154
+ end
155
+
156
+ # @!group API Operations
157
+
158
+ # Adds a member to the resource's set of delegates.
159
+ #
160
+ # @option params [required, String] :organization_id
161
+ # The organization under which the resource exists.
162
+ #
163
+ # @option params [required, String] :resource_id
164
+ # The resource for which members are associated.
165
+ #
166
+ # @option params [required, String] :entity_id
167
+ # The member (user or group) to associate to the resource.
168
+ #
169
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
170
+ #
171
+ # @example Request syntax with placeholder values
172
+ #
173
+ # resp = client.associate_delegate_to_resource({
174
+ # organization_id: "OrganizationId", # required
175
+ # resource_id: "ResourceId", # required
176
+ # entity_id: "WorkMailIdentifier", # required
177
+ # })
178
+ #
179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssociateDelegateToResource AWS API Documentation
180
+ #
181
+ # @overload associate_delegate_to_resource(params = {})
182
+ # @param [Hash] params ({})
183
+ def associate_delegate_to_resource(params = {}, options = {})
184
+ req = build_request(:associate_delegate_to_resource, params)
185
+ req.send_request(options)
186
+ end
187
+
188
+ # Adds a member to the group's set.
189
+ #
190
+ # @option params [required, String] :organization_id
191
+ # The organization under which the group exists.
192
+ #
193
+ # @option params [required, String] :group_id
194
+ # The group for which the member is associated.
195
+ #
196
+ # @option params [required, String] :member_id
197
+ # The member to associate to the group.
198
+ #
199
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
200
+ #
201
+ # @example Request syntax with placeholder values
202
+ #
203
+ # resp = client.associate_member_to_group({
204
+ # organization_id: "OrganizationId", # required
205
+ # group_id: "WorkMailIdentifier", # required
206
+ # member_id: "WorkMailIdentifier", # required
207
+ # })
208
+ #
209
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/AssociateMemberToGroup AWS API Documentation
210
+ #
211
+ # @overload associate_member_to_group(params = {})
212
+ # @param [Hash] params ({})
213
+ def associate_member_to_group(params = {}, options = {})
214
+ req = build_request(:associate_member_to_group, params)
215
+ req.send_request(options)
216
+ end
217
+
218
+ # Adds an alias to the set of a given member of Amazon WorkMail.
219
+ #
220
+ # @option params [required, String] :organization_id
221
+ # The organization under which the member exists.
222
+ #
223
+ # @option params [required, String] :entity_id
224
+ # The alias is added to this Amazon WorkMail entity.
225
+ #
226
+ # @option params [required, String] :alias
227
+ # The alias to add to the user.
228
+ #
229
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
230
+ #
231
+ # @example Request syntax with placeholder values
232
+ #
233
+ # resp = client.create_alias({
234
+ # organization_id: "OrganizationId", # required
235
+ # entity_id: "WorkMailIdentifier", # required
236
+ # alias: "EmailAddress", # required
237
+ # })
238
+ #
239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateAlias AWS API Documentation
240
+ #
241
+ # @overload create_alias(params = {})
242
+ # @param [Hash] params ({})
243
+ def create_alias(params = {}, options = {})
244
+ req = build_request(:create_alias, params)
245
+ req.send_request(options)
246
+ end
247
+
248
+ # Creates a group that can be used in Amazon WorkMail by calling the
249
+ # RegisterToWorkMail operation.
250
+ #
251
+ # @option params [required, String] :organization_id
252
+ # The organization under which the group is to be created.
253
+ #
254
+ # @option params [required, String] :name
255
+ # The name of the group.
256
+ #
257
+ # @return [Types::CreateGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
258
+ #
259
+ # * {Types::CreateGroupResponse#group_id #group_id} => String
260
+ #
261
+ # @example Request syntax with placeholder values
262
+ #
263
+ # resp = client.create_group({
264
+ # organization_id: "OrganizationId", # required
265
+ # name: "GroupName", # required
266
+ # })
267
+ #
268
+ # @example Response structure
269
+ #
270
+ # resp.group_id #=> String
271
+ #
272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateGroup AWS API Documentation
273
+ #
274
+ # @overload create_group(params = {})
275
+ # @param [Hash] params ({})
276
+ def create_group(params = {}, options = {})
277
+ req = build_request(:create_group, params)
278
+ req.send_request(options)
279
+ end
280
+
281
+ # Creates a new Amazon WorkMail resource. The available types are
282
+ # equipment and room.
283
+ #
284
+ # @option params [required, String] :organization_id
285
+ # The identifier associated with the organization for which the resource
286
+ # is created.
287
+ #
288
+ # @option params [required, String] :name
289
+ # The name of the created resource.
290
+ #
291
+ # @option params [required, String] :type
292
+ # The type of the created resource.
293
+ #
294
+ # @return [Types::CreateResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
295
+ #
296
+ # * {Types::CreateResourceResponse#resource_id #resource_id} => String
297
+ #
298
+ # @example Request syntax with placeholder values
299
+ #
300
+ # resp = client.create_resource({
301
+ # organization_id: "OrganizationId", # required
302
+ # name: "ResourceName", # required
303
+ # type: "ROOM", # required, accepts ROOM, EQUIPMENT
304
+ # })
305
+ #
306
+ # @example Response structure
307
+ #
308
+ # resp.resource_id #=> String
309
+ #
310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateResource AWS API Documentation
311
+ #
312
+ # @overload create_resource(params = {})
313
+ # @param [Hash] params ({})
314
+ def create_resource(params = {}, options = {})
315
+ req = build_request(:create_resource, params)
316
+ req.send_request(options)
317
+ end
318
+
319
+ # Creates a user who can be used in Amazon WorkMail by calling the
320
+ # RegisterToWorkMail operation.
321
+ #
322
+ # @option params [required, String] :organization_id
323
+ # The identifier of the organization for which the user is created.
324
+ #
325
+ # @option params [required, String] :name
326
+ # The name for the user to be created.
327
+ #
328
+ # @option params [required, String] :display_name
329
+ # The display name for the user to be created.
330
+ #
331
+ # @option params [required, String] :password
332
+ # The password for the user to be created.
333
+ #
334
+ # @return [Types::CreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
335
+ #
336
+ # * {Types::CreateUserResponse#user_id #user_id} => String
337
+ #
338
+ # @example Request syntax with placeholder values
339
+ #
340
+ # resp = client.create_user({
341
+ # organization_id: "OrganizationId", # required
342
+ # name: "UserName", # required
343
+ # display_name: "String", # required
344
+ # password: "Password", # required
345
+ # })
346
+ #
347
+ # @example Response structure
348
+ #
349
+ # resp.user_id #=> String
350
+ #
351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/CreateUser AWS API Documentation
352
+ #
353
+ # @overload create_user(params = {})
354
+ # @param [Hash] params ({})
355
+ def create_user(params = {}, options = {})
356
+ req = build_request(:create_user, params)
357
+ req.send_request(options)
358
+ end
359
+
360
+ # Remove the alias from a set of aliases for a given user.
361
+ #
362
+ # @option params [required, String] :organization_id
363
+ # The identifier for the organization under which the user exists.
364
+ #
365
+ # @option params [required, String] :entity_id
366
+ # The identifier for the Amazon WorkMail entity to have the aliases
367
+ # removed.
368
+ #
369
+ # @option params [required, String] :alias
370
+ # The aliases to be removed from the user's set of aliases. Duplicate
371
+ # entries in the list are collapsed into single entries (the list is
372
+ # transformed into a set).
373
+ #
374
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
375
+ #
376
+ # @example Request syntax with placeholder values
377
+ #
378
+ # resp = client.delete_alias({
379
+ # organization_id: "OrganizationId", # required
380
+ # entity_id: "WorkMailIdentifier", # required
381
+ # alias: "EmailAddress", # required
382
+ # })
383
+ #
384
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteAlias AWS API Documentation
385
+ #
386
+ # @overload delete_alias(params = {})
387
+ # @param [Hash] params ({})
388
+ def delete_alias(params = {}, options = {})
389
+ req = build_request(:delete_alias, params)
390
+ req.send_request(options)
391
+ end
392
+
393
+ # Deletes a group from Amazon WorkMail.
394
+ #
395
+ # @option params [required, String] :organization_id
396
+ # The organization that contains the group.
397
+ #
398
+ # @option params [required, String] :group_id
399
+ # The identifier of the group to be deleted.
400
+ #
401
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
402
+ #
403
+ # @example Request syntax with placeholder values
404
+ #
405
+ # resp = client.delete_group({
406
+ # organization_id: "OrganizationId", # required
407
+ # group_id: "WorkMailIdentifier", # required
408
+ # })
409
+ #
410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteGroup AWS API Documentation
411
+ #
412
+ # @overload delete_group(params = {})
413
+ # @param [Hash] params ({})
414
+ def delete_group(params = {}, options = {})
415
+ req = build_request(:delete_group, params)
416
+ req.send_request(options)
417
+ end
418
+
419
+ # Deletes the specified resource.
420
+ #
421
+ # @option params [required, String] :organization_id
422
+ # The identifier associated with the organization for which the resource
423
+ # is deleted.
424
+ #
425
+ # @option params [required, String] :resource_id
426
+ # The identifier of the resource to be deleted.
427
+ #
428
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
429
+ #
430
+ # @example Request syntax with placeholder values
431
+ #
432
+ # resp = client.delete_resource({
433
+ # organization_id: "OrganizationId", # required
434
+ # resource_id: "ResourceId", # required
435
+ # })
436
+ #
437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteResource AWS API Documentation
438
+ #
439
+ # @overload delete_resource(params = {})
440
+ # @param [Hash] params ({})
441
+ def delete_resource(params = {}, options = {})
442
+ req = build_request(:delete_resource, params)
443
+ req.send_request(options)
444
+ end
445
+
446
+ # Deletes a user from Amazon WorkMail and all subsequent systems. The
447
+ # action can't be undone. The mailbox is kept as-is for a minimum of 30
448
+ # days, without any means to restore it.
449
+ #
450
+ # @option params [required, String] :organization_id
451
+ # The organization that contains the user.
452
+ #
453
+ # @option params [required, String] :user_id
454
+ # The identifier of the user to be deleted.
455
+ #
456
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
457
+ #
458
+ # @example Request syntax with placeholder values
459
+ #
460
+ # resp = client.delete_user({
461
+ # organization_id: "OrganizationId", # required
462
+ # user_id: "WorkMailIdentifier", # required
463
+ # })
464
+ #
465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteUser AWS API Documentation
466
+ #
467
+ # @overload delete_user(params = {})
468
+ # @param [Hash] params ({})
469
+ def delete_user(params = {}, options = {})
470
+ req = build_request(:delete_user, params)
471
+ req.send_request(options)
472
+ end
473
+
474
+ # Mark a user, group, or resource as no longer used in Amazon WorkMail.
475
+ # This action disassociates the mailbox and schedules it for clean-up.
476
+ # Amazon WorkMail keeps mailboxes for 30 days before they are
477
+ # permanently removed. The functionality in the console is *Disable*.
478
+ #
479
+ # @option params [required, String] :organization_id
480
+ # The identifier for the organization under which the Amazon WorkMail
481
+ # entity exists.
482
+ #
483
+ # @option params [required, String] :entity_id
484
+ # The identifier for the entity to be updated.
485
+ #
486
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
487
+ #
488
+ # @example Request syntax with placeholder values
489
+ #
490
+ # resp = client.deregister_from_work_mail({
491
+ # organization_id: "OrganizationId", # required
492
+ # entity_id: "WorkMailIdentifier", # required
493
+ # })
494
+ #
495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeregisterFromWorkMail AWS API Documentation
496
+ #
497
+ # @overload deregister_from_work_mail(params = {})
498
+ # @param [Hash] params ({})
499
+ def deregister_from_work_mail(params = {}, options = {})
500
+ req = build_request(:deregister_from_work_mail, params)
501
+ req.send_request(options)
502
+ end
503
+
504
+ # Returns the data available for the group.
505
+ #
506
+ # @option params [required, String] :organization_id
507
+ # The identifier for the organization under which the group exists.
508
+ #
509
+ # @option params [required, String] :group_id
510
+ # The identifier for the group to be described.
511
+ #
512
+ # @return [Types::DescribeGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
513
+ #
514
+ # * {Types::DescribeGroupResponse#group_id #group_id} => String
515
+ # * {Types::DescribeGroupResponse#name #name} => String
516
+ # * {Types::DescribeGroupResponse#email #email} => String
517
+ # * {Types::DescribeGroupResponse#state #state} => String
518
+ # * {Types::DescribeGroupResponse#enabled_date #enabled_date} => Time
519
+ # * {Types::DescribeGroupResponse#disabled_date #disabled_date} => Time
520
+ #
521
+ # @example Request syntax with placeholder values
522
+ #
523
+ # resp = client.describe_group({
524
+ # organization_id: "OrganizationId", # required
525
+ # group_id: "WorkMailIdentifier", # required
526
+ # })
527
+ #
528
+ # @example Response structure
529
+ #
530
+ # resp.group_id #=> String
531
+ # resp.name #=> String
532
+ # resp.email #=> String
533
+ # resp.state #=> String, one of "ENABLED", "DISABLED", "DELETED"
534
+ # resp.enabled_date #=> Time
535
+ # resp.disabled_date #=> Time
536
+ #
537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeGroup AWS API Documentation
538
+ #
539
+ # @overload describe_group(params = {})
540
+ # @param [Hash] params ({})
541
+ def describe_group(params = {}, options = {})
542
+ req = build_request(:describe_group, params)
543
+ req.send_request(options)
544
+ end
545
+
546
+ # Provides more information regarding a given organization based on its
547
+ # identifier.
548
+ #
549
+ # @option params [required, String] :organization_id
550
+ # The identifier for the organization to be described.
551
+ #
552
+ # @return [Types::DescribeOrganizationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
553
+ #
554
+ # * {Types::DescribeOrganizationResponse#organization_id #organization_id} => String
555
+ # * {Types::DescribeOrganizationResponse#alias #alias} => String
556
+ # * {Types::DescribeOrganizationResponse#state #state} => String
557
+ # * {Types::DescribeOrganizationResponse#directory_id #directory_id} => String
558
+ # * {Types::DescribeOrganizationResponse#directory_type #directory_type} => String
559
+ # * {Types::DescribeOrganizationResponse#default_mail_domain #default_mail_domain} => String
560
+ # * {Types::DescribeOrganizationResponse#completed_date #completed_date} => Time
561
+ # * {Types::DescribeOrganizationResponse#error_message #error_message} => String
562
+ #
563
+ # @example Request syntax with placeholder values
564
+ #
565
+ # resp = client.describe_organization({
566
+ # organization_id: "OrganizationId", # required
567
+ # })
568
+ #
569
+ # @example Response structure
570
+ #
571
+ # resp.organization_id #=> String
572
+ # resp.alias #=> String
573
+ # resp.state #=> String
574
+ # resp.directory_id #=> String
575
+ # resp.directory_type #=> String
576
+ # resp.default_mail_domain #=> String
577
+ # resp.completed_date #=> Time
578
+ # resp.error_message #=> String
579
+ #
580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeOrganization AWS API Documentation
581
+ #
582
+ # @overload describe_organization(params = {})
583
+ # @param [Hash] params ({})
584
+ def describe_organization(params = {}, options = {})
585
+ req = build_request(:describe_organization, params)
586
+ req.send_request(options)
587
+ end
588
+
589
+ # Returns the data available for the resource.
590
+ #
591
+ # @option params [required, String] :organization_id
592
+ # The identifier associated with the organization for which the resource
593
+ # is described.
594
+ #
595
+ # @option params [required, String] :resource_id
596
+ # The identifier of the resource to be described.
597
+ #
598
+ # @return [Types::DescribeResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
599
+ #
600
+ # * {Types::DescribeResourceResponse#resource_id #resource_id} => String
601
+ # * {Types::DescribeResourceResponse#email #email} => String
602
+ # * {Types::DescribeResourceResponse#name #name} => String
603
+ # * {Types::DescribeResourceResponse#type #type} => String
604
+ # * {Types::DescribeResourceResponse#booking_options #booking_options} => Types::BookingOptions
605
+ # * {Types::DescribeResourceResponse#state #state} => String
606
+ # * {Types::DescribeResourceResponse#enabled_date #enabled_date} => Time
607
+ # * {Types::DescribeResourceResponse#disabled_date #disabled_date} => Time
608
+ #
609
+ # @example Request syntax with placeholder values
610
+ #
611
+ # resp = client.describe_resource({
612
+ # organization_id: "OrganizationId", # required
613
+ # resource_id: "ResourceId", # required
614
+ # })
615
+ #
616
+ # @example Response structure
617
+ #
618
+ # resp.resource_id #=> String
619
+ # resp.email #=> String
620
+ # resp.name #=> String
621
+ # resp.type #=> String, one of "ROOM", "EQUIPMENT"
622
+ # resp.booking_options.auto_accept_requests #=> Boolean
623
+ # resp.booking_options.auto_decline_recurring_requests #=> Boolean
624
+ # resp.booking_options.auto_decline_conflicting_requests #=> Boolean
625
+ # resp.state #=> String, one of "ENABLED", "DISABLED", "DELETED"
626
+ # resp.enabled_date #=> Time
627
+ # resp.disabled_date #=> Time
628
+ #
629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeResource AWS API Documentation
630
+ #
631
+ # @overload describe_resource(params = {})
632
+ # @param [Hash] params ({})
633
+ def describe_resource(params = {}, options = {})
634
+ req = build_request(:describe_resource, params)
635
+ req.send_request(options)
636
+ end
637
+
638
+ # Provides information regarding the user.
639
+ #
640
+ # @option params [required, String] :organization_id
641
+ # The identifier for the organization under which the user exists.
642
+ #
643
+ # @option params [required, String] :user_id
644
+ # The identifier for the user to be described.
645
+ #
646
+ # @return [Types::DescribeUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
647
+ #
648
+ # * {Types::DescribeUserResponse#user_id #user_id} => String
649
+ # * {Types::DescribeUserResponse#name #name} => String
650
+ # * {Types::DescribeUserResponse#email #email} => String
651
+ # * {Types::DescribeUserResponse#display_name #display_name} => String
652
+ # * {Types::DescribeUserResponse#state #state} => String
653
+ # * {Types::DescribeUserResponse#user_role #user_role} => String
654
+ # * {Types::DescribeUserResponse#enabled_date #enabled_date} => Time
655
+ # * {Types::DescribeUserResponse#disabled_date #disabled_date} => Time
656
+ #
657
+ # @example Request syntax with placeholder values
658
+ #
659
+ # resp = client.describe_user({
660
+ # organization_id: "OrganizationId", # required
661
+ # user_id: "WorkMailIdentifier", # required
662
+ # })
663
+ #
664
+ # @example Response structure
665
+ #
666
+ # resp.user_id #=> String
667
+ # resp.name #=> String
668
+ # resp.email #=> String
669
+ # resp.display_name #=> String
670
+ # resp.state #=> String, one of "ENABLED", "DISABLED", "DELETED"
671
+ # resp.user_role #=> String, one of "USER", "RESOURCE", "SYSTEM_USER"
672
+ # resp.enabled_date #=> Time
673
+ # resp.disabled_date #=> Time
674
+ #
675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DescribeUser AWS API Documentation
676
+ #
677
+ # @overload describe_user(params = {})
678
+ # @param [Hash] params ({})
679
+ def describe_user(params = {}, options = {})
680
+ req = build_request(:describe_user, params)
681
+ req.send_request(options)
682
+ end
683
+
684
+ # Removes a member from the resource's set of delegates.
685
+ #
686
+ # @option params [required, String] :organization_id
687
+ # The identifier for the organization under which the resource exists.
688
+ #
689
+ # @option params [required, String] :resource_id
690
+ # The identifier of the resource from which delegates' set members are
691
+ # removed.
692
+ #
693
+ # @option params [required, String] :entity_id
694
+ # The identifier for the member (user, group) to be removed from the
695
+ # resource's delegates.
696
+ #
697
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
698
+ #
699
+ # @example Request syntax with placeholder values
700
+ #
701
+ # resp = client.disassociate_delegate_from_resource({
702
+ # organization_id: "OrganizationId", # required
703
+ # resource_id: "ResourceId", # required
704
+ # entity_id: "WorkMailIdentifier", # required
705
+ # })
706
+ #
707
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DisassociateDelegateFromResource AWS API Documentation
708
+ #
709
+ # @overload disassociate_delegate_from_resource(params = {})
710
+ # @param [Hash] params ({})
711
+ def disassociate_delegate_from_resource(params = {}, options = {})
712
+ req = build_request(:disassociate_delegate_from_resource, params)
713
+ req.send_request(options)
714
+ end
715
+
716
+ # Removes a member from a group.
717
+ #
718
+ # @option params [required, String] :organization_id
719
+ # The identifier for the organization under which the group exists.
720
+ #
721
+ # @option params [required, String] :group_id
722
+ # The identifier for the group from which members are removed.
723
+ #
724
+ # @option params [required, String] :member_id
725
+ # The identifier for the member to be removed to the group.
726
+ #
727
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
728
+ #
729
+ # @example Request syntax with placeholder values
730
+ #
731
+ # resp = client.disassociate_member_from_group({
732
+ # organization_id: "OrganizationId", # required
733
+ # group_id: "WorkMailIdentifier", # required
734
+ # member_id: "WorkMailIdentifier", # required
735
+ # })
736
+ #
737
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DisassociateMemberFromGroup AWS API Documentation
738
+ #
739
+ # @overload disassociate_member_from_group(params = {})
740
+ # @param [Hash] params ({})
741
+ def disassociate_member_from_group(params = {}, options = {})
742
+ req = build_request(:disassociate_member_from_group, params)
743
+ req.send_request(options)
744
+ end
745
+
746
+ # Creates a paginated call to list the aliases associated with a given
747
+ # entity.
748
+ #
749
+ # @option params [required, String] :organization_id
750
+ # The identifier for the organization under which the entity exists.
751
+ #
752
+ # @option params [required, String] :entity_id
753
+ # The identifier for the entity for which to list the aliases.
754
+ #
755
+ # @option params [String] :next_token
756
+ # The token to use to retrieve the next page of results. The first call
757
+ # does not contain any tokens.
758
+ #
759
+ # @option params [Integer] :max_results
760
+ # The maximum number of results to return in a single call.
761
+ #
762
+ # @return [Types::ListAliasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
763
+ #
764
+ # * {Types::ListAliasesResponse#aliases #aliases} => Array&lt;String&gt;
765
+ # * {Types::ListAliasesResponse#next_token #next_token} => String
766
+ #
767
+ # @example Request syntax with placeholder values
768
+ #
769
+ # resp = client.list_aliases({
770
+ # organization_id: "OrganizationId", # required
771
+ # entity_id: "WorkMailIdentifier", # required
772
+ # next_token: "NextToken",
773
+ # max_results: 1,
774
+ # })
775
+ #
776
+ # @example Response structure
777
+ #
778
+ # resp.aliases #=> Array
779
+ # resp.aliases[0] #=> String
780
+ # resp.next_token #=> String
781
+ #
782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListAliases AWS API Documentation
783
+ #
784
+ # @overload list_aliases(params = {})
785
+ # @param [Hash] params ({})
786
+ def list_aliases(params = {}, options = {})
787
+ req = build_request(:list_aliases, params)
788
+ req.send_request(options)
789
+ end
790
+
791
+ # Returns an overview of the members of a group.
792
+ #
793
+ # @option params [required, String] :organization_id
794
+ # The identifier for the organization under which the group exists.
795
+ #
796
+ # @option params [required, String] :group_id
797
+ # The identifier for the group to which the members are associated.
798
+ #
799
+ # @option params [String] :next_token
800
+ # The token to use to retrieve the next page of results. The first call
801
+ # does not contain any tokens.
802
+ #
803
+ # @option params [Integer] :max_results
804
+ # The maximum number of results to return in a single call.
805
+ #
806
+ # @return [Types::ListGroupMembersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
807
+ #
808
+ # * {Types::ListGroupMembersResponse#members #members} => Array&lt;Types::Member&gt;
809
+ # * {Types::ListGroupMembersResponse#next_token #next_token} => String
810
+ #
811
+ # @example Request syntax with placeholder values
812
+ #
813
+ # resp = client.list_group_members({
814
+ # organization_id: "OrganizationId", # required
815
+ # group_id: "WorkMailIdentifier", # required
816
+ # next_token: "NextToken",
817
+ # max_results: 1,
818
+ # })
819
+ #
820
+ # @example Response structure
821
+ #
822
+ # resp.members #=> Array
823
+ # resp.members[0].id #=> String
824
+ # resp.members[0].name #=> String
825
+ # resp.members[0].type #=> String, one of "GROUP", "USER"
826
+ # resp.members[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
827
+ # resp.members[0].enabled_date #=> Time
828
+ # resp.members[0].disabled_date #=> Time
829
+ # resp.next_token #=> String
830
+ #
831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListGroupMembers AWS API Documentation
832
+ #
833
+ # @overload list_group_members(params = {})
834
+ # @param [Hash] params ({})
835
+ def list_group_members(params = {}, options = {})
836
+ req = build_request(:list_group_members, params)
837
+ req.send_request(options)
838
+ end
839
+
840
+ # Returns summaries of the organization's groups.
841
+ #
842
+ # @option params [required, String] :organization_id
843
+ # The identifier for the organization under which the groups exist.
844
+ #
845
+ # @option params [String] :next_token
846
+ # The token to use to retrieve the next page of results. The first call
847
+ # does not contain any tokens.
848
+ #
849
+ # @option params [Integer] :max_results
850
+ # The maximum number of results to return in a single call.
851
+ #
852
+ # @return [Types::ListGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
853
+ #
854
+ # * {Types::ListGroupsResponse#groups #groups} => Array&lt;Types::Group&gt;
855
+ # * {Types::ListGroupsResponse#next_token #next_token} => String
856
+ #
857
+ # @example Request syntax with placeholder values
858
+ #
859
+ # resp = client.list_groups({
860
+ # organization_id: "OrganizationId", # required
861
+ # next_token: "NextToken",
862
+ # max_results: 1,
863
+ # })
864
+ #
865
+ # @example Response structure
866
+ #
867
+ # resp.groups #=> Array
868
+ # resp.groups[0].id #=> String
869
+ # resp.groups[0].email #=> String
870
+ # resp.groups[0].name #=> String
871
+ # resp.groups[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
872
+ # resp.groups[0].enabled_date #=> Time
873
+ # resp.groups[0].disabled_date #=> Time
874
+ # resp.next_token #=> String
875
+ #
876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListGroups AWS API Documentation
877
+ #
878
+ # @overload list_groups(params = {})
879
+ # @param [Hash] params ({})
880
+ def list_groups(params = {}, options = {})
881
+ req = build_request(:list_groups, params)
882
+ req.send_request(options)
883
+ end
884
+
885
+ # Returns summaries of the customer's non-deleted organizations.
886
+ #
887
+ # @option params [String] :next_token
888
+ # The token to use to retrieve the next page of results. The first call
889
+ # does not contain any tokens.
890
+ #
891
+ # @option params [Integer] :max_results
892
+ # The maximum number of results to return in a single call.
893
+ #
894
+ # @return [Types::ListOrganizationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
895
+ #
896
+ # * {Types::ListOrganizationsResponse#organization_summaries #organization_summaries} => Array&lt;Types::OrganizationSummary&gt;
897
+ # * {Types::ListOrganizationsResponse#next_token #next_token} => String
898
+ #
899
+ # @example Request syntax with placeholder values
900
+ #
901
+ # resp = client.list_organizations({
902
+ # next_token: "NextToken",
903
+ # max_results: 1,
904
+ # })
905
+ #
906
+ # @example Response structure
907
+ #
908
+ # resp.organization_summaries #=> Array
909
+ # resp.organization_summaries[0].organization_id #=> String
910
+ # resp.organization_summaries[0].alias #=> String
911
+ # resp.organization_summaries[0].error_message #=> String
912
+ # resp.organization_summaries[0].state #=> String
913
+ # resp.next_token #=> String
914
+ #
915
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListOrganizations AWS API Documentation
916
+ #
917
+ # @overload list_organizations(params = {})
918
+ # @param [Hash] params ({})
919
+ def list_organizations(params = {}, options = {})
920
+ req = build_request(:list_organizations, params)
921
+ req.send_request(options)
922
+ end
923
+
924
+ # Lists the delegates associated with a resource. Users and groups can
925
+ # be resource delegates and answer requests on behalf of the resource.
926
+ #
927
+ # @option params [required, String] :organization_id
928
+ # The identifier for the organization that contains the resource for
929
+ # which delegates are listed.
930
+ #
931
+ # @option params [required, String] :resource_id
932
+ # The identifier for the resource whose delegates are listed.
933
+ #
934
+ # @option params [String] :next_token
935
+ # The token used to paginate through the delegates associated with a
936
+ # resource.
937
+ #
938
+ # @option params [Integer] :max_results
939
+ # The number of maximum results in a page.
940
+ #
941
+ # @return [Types::ListResourceDelegatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
942
+ #
943
+ # * {Types::ListResourceDelegatesResponse#delegates #delegates} => Array&lt;Types::Delegate&gt;
944
+ # * {Types::ListResourceDelegatesResponse#next_token #next_token} => String
945
+ #
946
+ # @example Request syntax with placeholder values
947
+ #
948
+ # resp = client.list_resource_delegates({
949
+ # organization_id: "OrganizationId", # required
950
+ # resource_id: "WorkMailIdentifier", # required
951
+ # next_token: "NextToken",
952
+ # max_results: 1,
953
+ # })
954
+ #
955
+ # @example Response structure
956
+ #
957
+ # resp.delegates #=> Array
958
+ # resp.delegates[0].id #=> String
959
+ # resp.delegates[0].type #=> String, one of "GROUP", "USER"
960
+ # resp.next_token #=> String
961
+ #
962
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListResourceDelegates AWS API Documentation
963
+ #
964
+ # @overload list_resource_delegates(params = {})
965
+ # @param [Hash] params ({})
966
+ def list_resource_delegates(params = {}, options = {})
967
+ req = build_request(:list_resource_delegates, params)
968
+ req.send_request(options)
969
+ end
970
+
971
+ # Returns summaries of the organization's resources.
972
+ #
973
+ # @option params [required, String] :organization_id
974
+ # The identifier for the organization under which the resources exist.
975
+ #
976
+ # @option params [String] :next_token
977
+ # The token to use to retrieve the next page of results. The first call
978
+ # does not contain any tokens.
979
+ #
980
+ # @option params [Integer] :max_results
981
+ # The maximum number of results to return in a single call.
982
+ #
983
+ # @return [Types::ListResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
984
+ #
985
+ # * {Types::ListResourcesResponse#resources #resources} => Array&lt;Types::Resource&gt;
986
+ # * {Types::ListResourcesResponse#next_token #next_token} => String
987
+ #
988
+ # @example Request syntax with placeholder values
989
+ #
990
+ # resp = client.list_resources({
991
+ # organization_id: "OrganizationId", # required
992
+ # next_token: "NextToken",
993
+ # max_results: 1,
994
+ # })
995
+ #
996
+ # @example Response structure
997
+ #
998
+ # resp.resources #=> Array
999
+ # resp.resources[0].id #=> String
1000
+ # resp.resources[0].email #=> String
1001
+ # resp.resources[0].name #=> String
1002
+ # resp.resources[0].type #=> String, one of "ROOM", "EQUIPMENT"
1003
+ # resp.resources[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
1004
+ # resp.resources[0].enabled_date #=> Time
1005
+ # resp.resources[0].disabled_date #=> Time
1006
+ # resp.next_token #=> String
1007
+ #
1008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListResources AWS API Documentation
1009
+ #
1010
+ # @overload list_resources(params = {})
1011
+ # @param [Hash] params ({})
1012
+ def list_resources(params = {}, options = {})
1013
+ req = build_request(:list_resources, params)
1014
+ req.send_request(options)
1015
+ end
1016
+
1017
+ # Returns summaries of the organization's users.
1018
+ #
1019
+ # @option params [required, String] :organization_id
1020
+ # The identifier for the organization under which the users exist.
1021
+ #
1022
+ # @option params [String] :next_token
1023
+ # TBD
1024
+ #
1025
+ # @option params [Integer] :max_results
1026
+ # The maximum number of results to return in a single call.
1027
+ #
1028
+ # @return [Types::ListUsersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1029
+ #
1030
+ # * {Types::ListUsersResponse#users #users} => Array&lt;Types::User&gt;
1031
+ # * {Types::ListUsersResponse#next_token #next_token} => String
1032
+ #
1033
+ # @example Request syntax with placeholder values
1034
+ #
1035
+ # resp = client.list_users({
1036
+ # organization_id: "OrganizationId", # required
1037
+ # next_token: "NextToken",
1038
+ # max_results: 1,
1039
+ # })
1040
+ #
1041
+ # @example Response structure
1042
+ #
1043
+ # resp.users #=> Array
1044
+ # resp.users[0].id #=> String
1045
+ # resp.users[0].email #=> String
1046
+ # resp.users[0].name #=> String
1047
+ # resp.users[0].display_name #=> String
1048
+ # resp.users[0].state #=> String, one of "ENABLED", "DISABLED", "DELETED"
1049
+ # resp.users[0].user_role #=> String, one of "USER", "RESOURCE", "SYSTEM_USER"
1050
+ # resp.users[0].enabled_date #=> Time
1051
+ # resp.users[0].disabled_date #=> Time
1052
+ # resp.next_token #=> String
1053
+ #
1054
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ListUsers AWS API Documentation
1055
+ #
1056
+ # @overload list_users(params = {})
1057
+ # @param [Hash] params ({})
1058
+ def list_users(params = {}, options = {})
1059
+ req = build_request(:list_users, params)
1060
+ req.send_request(options)
1061
+ end
1062
+
1063
+ # Registers an existing and disabled user, group, or resource/entity for
1064
+ # Amazon WorkMail use by associating a mailbox and calendaring
1065
+ # capabilities. It performs no change if the entity is enabled and fails
1066
+ # if the entity is deleted. This operation results in the accumulation
1067
+ # of costs. For more information, see [Pricing][1]. The equivalent
1068
+ # console functionality for this operation is *Enable*. Users can either
1069
+ # be created by calling the CreateUser API or they can be synchronized
1070
+ # from your directory. For more information, see DeregisterFromWorkMail.
1071
+ #
1072
+ #
1073
+ #
1074
+ # [1]: http://aws.amazon.com/workmail/pricing
1075
+ #
1076
+ # @option params [required, String] :organization_id
1077
+ # The identifier for the organization under which the Amazon WorkMail
1078
+ # entity exists.
1079
+ #
1080
+ # @option params [required, String] :entity_id
1081
+ # The identifier for the entity to be updated.
1082
+ #
1083
+ # @option params [required, String] :email
1084
+ # The email for the entity to be updated.
1085
+ #
1086
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1087
+ #
1088
+ # @example Request syntax with placeholder values
1089
+ #
1090
+ # resp = client.register_to_work_mail({
1091
+ # organization_id: "OrganizationId", # required
1092
+ # entity_id: "WorkMailIdentifier", # required
1093
+ # email: "EmailAddress", # required
1094
+ # })
1095
+ #
1096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/RegisterToWorkMail AWS API Documentation
1097
+ #
1098
+ # @overload register_to_work_mail(params = {})
1099
+ # @param [Hash] params ({})
1100
+ def register_to_work_mail(params = {}, options = {})
1101
+ req = build_request(:register_to_work_mail, params)
1102
+ req.send_request(options)
1103
+ end
1104
+
1105
+ # Allows the administrator to reset the password for a user.
1106
+ #
1107
+ # @option params [required, String] :organization_id
1108
+ # The identifier of the organization that contains the user for which
1109
+ # the password is reset.
1110
+ #
1111
+ # @option params [required, String] :user_id
1112
+ # The identifier of the user for whom the password is reset.
1113
+ #
1114
+ # @option params [required, String] :password
1115
+ # The new password for the user.
1116
+ #
1117
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1118
+ #
1119
+ # @example Request syntax with placeholder values
1120
+ #
1121
+ # resp = client.reset_password({
1122
+ # organization_id: "OrganizationId", # required
1123
+ # user_id: "WorkMailIdentifier", # required
1124
+ # password: "Password", # required
1125
+ # })
1126
+ #
1127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/ResetPassword AWS API Documentation
1128
+ #
1129
+ # @overload reset_password(params = {})
1130
+ # @param [Hash] params ({})
1131
+ def reset_password(params = {}, options = {})
1132
+ req = build_request(:reset_password, params)
1133
+ req.send_request(options)
1134
+ end
1135
+
1136
+ # Updates the primary email for an entity. The current email is moved
1137
+ # into the list of aliases (or swapped between an existing alias and the
1138
+ # current primary email) and the email provided in the input is promoted
1139
+ # as the primary.
1140
+ #
1141
+ # @option params [required, String] :organization_id
1142
+ # The organization that contains the entity to update.
1143
+ #
1144
+ # @option params [required, String] :entity_id
1145
+ # The entity to update (user, group, or resource).
1146
+ #
1147
+ # @option params [required, String] :email
1148
+ # The value of the email to be updated as primary.
1149
+ #
1150
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1151
+ #
1152
+ # @example Request syntax with placeholder values
1153
+ #
1154
+ # resp = client.update_primary_email_address({
1155
+ # organization_id: "OrganizationId", # required
1156
+ # entity_id: "WorkMailIdentifier", # required
1157
+ # email: "EmailAddress", # required
1158
+ # })
1159
+ #
1160
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdatePrimaryEmailAddress AWS API Documentation
1161
+ #
1162
+ # @overload update_primary_email_address(params = {})
1163
+ # @param [Hash] params ({})
1164
+ def update_primary_email_address(params = {}, options = {})
1165
+ req = build_request(:update_primary_email_address, params)
1166
+ req.send_request(options)
1167
+ end
1168
+
1169
+ # Updates data for the resource. It must be preceded by a describe call
1170
+ # in order to have the latest information. The dataset in the request
1171
+ # should be the one expected when performing another describe call.
1172
+ #
1173
+ # @option params [required, String] :organization_id
1174
+ # The identifier associated with the organization for which the resource
1175
+ # is updated.
1176
+ #
1177
+ # @option params [required, String] :resource_id
1178
+ # The identifier of the resource to be updated.
1179
+ #
1180
+ # @option params [String] :name
1181
+ # The name of the resource to be updated.
1182
+ #
1183
+ # @option params [Types::BookingOptions] :booking_options
1184
+ # The resource's booking options to be updated.
1185
+ #
1186
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1187
+ #
1188
+ # @example Request syntax with placeholder values
1189
+ #
1190
+ # resp = client.update_resource({
1191
+ # organization_id: "OrganizationId", # required
1192
+ # resource_id: "ResourceId", # required
1193
+ # name: "ResourceName",
1194
+ # booking_options: {
1195
+ # auto_accept_requests: false,
1196
+ # auto_decline_recurring_requests: false,
1197
+ # auto_decline_conflicting_requests: false,
1198
+ # },
1199
+ # })
1200
+ #
1201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/UpdateResource AWS API Documentation
1202
+ #
1203
+ # @overload update_resource(params = {})
1204
+ # @param [Hash] params ({})
1205
+ def update_resource(params = {}, options = {})
1206
+ req = build_request(:update_resource, params)
1207
+ req.send_request(options)
1208
+ end
1209
+
1210
+ # @!endgroup
1211
+
1212
+ # @param params ({})
1213
+ # @api private
1214
+ def build_request(operation_name, params = {})
1215
+ handlers = @handlers.for(operation_name)
1216
+ context = Seahorse::Client::RequestContext.new(
1217
+ operation_name: operation_name,
1218
+ operation: config.api.operation(operation_name),
1219
+ client: self,
1220
+ params: params,
1221
+ config: config)
1222
+ context[:gem_name] = 'aws-sdk-workmail'
1223
+ context[:gem_version] = '1.0.0'
1224
+ Seahorse::Client::Request.new(handlers, context)
1225
+ end
1226
+
1227
+ # @api private
1228
+ # @deprecated
1229
+ def waiter_names
1230
+ []
1231
+ end
1232
+
1233
+ class << self
1234
+
1235
+ # @api private
1236
+ attr_reader :identifier
1237
+
1238
+ # @api private
1239
+ def errors_module
1240
+ Errors
1241
+ end
1242
+
1243
+ end
1244
+ end
1245
+ end