aws-sdk-directoryservice 1.0.0.rc1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 49ecaddcd115b17ccab56609212b64c08f5df063
4
+ data.tar.gz: 86a86ab059a770dc34db80806afaeec90fc8e525
5
+ SHA512:
6
+ metadata.gz: 00bd83d343f6397ce14ed06156c0e17b01d2f6d2601b2ee59349158a4ca3df6625d4fe903e81360043f980ba4b2888ceee644a587bba26ef149f676480544448
7
+ data.tar.gz: 8f78b19e1b2c4bf4497fb32f1664be268601271238735adb2f60088a3d7da6b30039fbfff234eb44ac3136421e38a134cc3417201779a521e4a075856f90e990
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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-directoryservice/types'
12
+ require_relative 'aws-sdk-directoryservice/client_api'
13
+ require_relative 'aws-sdk-directoryservice/client'
14
+ require_relative 'aws-sdk-directoryservice/errors'
15
+ require_relative 'aws-sdk-directoryservice/resource'
16
+ require_relative 'aws-sdk-directoryservice/customizations'
17
+
18
+ # This module provides support for AWS Directory Service. This module is available in the
19
+ # `aws-sdk-directoryservice` 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 AWS Directory Service all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::DirectoryService::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::DirectoryService
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,1531 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:directoryservice)
25
+
26
+ module Aws
27
+ module DirectoryService
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :directoryservice
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::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # If the DNS server for your on-premises domain uses a publicly
143
+ # addressable IP address, you must add a CIDR address block to correctly
144
+ # route traffic to and from your Microsoft AD on Amazon Web Services.
145
+ # *AddIpRoutes* adds this address block. You can also use *AddIpRoutes*
146
+ # to facilitate routing traffic that uses public IP ranges from your
147
+ # Microsoft AD on AWS to a peer VPC.
148
+ #
149
+ # Before you call *AddIpRoutes*, ensure that all of the required
150
+ # permissions have been explicitly granted through a policy. For details
151
+ # about what permissions are required to run the *AddIpRoutes*
152
+ # operation, see [AWS Directory Service API Permissions: Actions,
153
+ # Resources, and Conditions Reference][1].
154
+ #
155
+ #
156
+ #
157
+ # [1]: http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html
158
+ # @option params [required, String] :directory_id
159
+ # Identifier (ID) of the directory to which to add the address block.
160
+ # @option params [required, Array<Types::IpRoute>] :ip_routes
161
+ # IP address blocks, using CIDR format, of the traffic to route. This is
162
+ # often the IP address block of the DNS server used for your on-premises
163
+ # domain.
164
+ # @option params [Boolean] :update_security_group_for_directory_controllers
165
+ # If set to true, updates the inbound and outbound rules of the security
166
+ # group that has the description: "AWS created security group for
167
+ # *directory ID* directory controllers." Following are the new rules:
168
+ #
169
+ # Inbound:
170
+ #
171
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0
172
+ #
173
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0
174
+ #
175
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0
176
+ #
177
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0
178
+ #
179
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0
180
+ #
181
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0
182
+ #
183
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0
184
+ #
185
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0
186
+ #
187
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0
188
+ #
189
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0
190
+ #
191
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0
192
+ #
193
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source:
194
+ # 0.0.0.0/0
195
+ #
196
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source:
197
+ # 0.0.0.0/0
198
+ #
199
+ # * Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0
200
+ #
201
+ # * Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0
202
+ #
203
+ # * Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0
204
+ #
205
+ # * Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0
206
+ #
207
+ #
208
+ #
209
+ # Outbound:
210
+ #
211
+ # * Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0
212
+ #
213
+ # ^
214
+ #
215
+ # These security rules impact an internal network interface that is not
216
+ # exposed publicly.
217
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
218
+ #
219
+ # @example Request syntax with placeholder values
220
+ # resp = client.add_ip_routes({
221
+ # directory_id: "DirectoryId", # required
222
+ # ip_routes: [ # required
223
+ # {
224
+ # cidr_ip: "CidrIp",
225
+ # description: "Description",
226
+ # },
227
+ # ],
228
+ # update_security_group_for_directory_controllers: false,
229
+ # })
230
+ # @overload add_ip_routes(params = {})
231
+ # @param [Hash] params ({})
232
+ def add_ip_routes(params = {}, options = {})
233
+ req = build_request(:add_ip_routes, params)
234
+ req.send_request(options)
235
+ end
236
+
237
+ # Adds or overwrites one or more tags for the specified Amazon Directory
238
+ # Services directory. Each directory can have a maximum of 50 tags. Each
239
+ # tag consists of a key and optional value. Tag keys must be unique to
240
+ # each resource.
241
+ # @option params [required, String] :resource_id
242
+ # Identifier (ID) for the directory to which to add the tag.
243
+ # @option params [required, Array<Types::Tag>] :tags
244
+ # The tags to be assigned to the Amazon Directory Services directory.
245
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
246
+ #
247
+ # @example Request syntax with placeholder values
248
+ # resp = client.add_tags_to_resource({
249
+ # resource_id: "ResourceId", # required
250
+ # tags: [ # required
251
+ # {
252
+ # key: "TagKey", # required
253
+ # value: "TagValue", # required
254
+ # },
255
+ # ],
256
+ # })
257
+ # @overload add_tags_to_resource(params = {})
258
+ # @param [Hash] params ({})
259
+ def add_tags_to_resource(params = {}, options = {})
260
+ req = build_request(:add_tags_to_resource, params)
261
+ req.send_request(options)
262
+ end
263
+
264
+ # Cancels an in-progress schema extension to a Microsoft AD directory.
265
+ # Once a schema extension has started replicating to all domain
266
+ # controllers, the task can no longer be canceled. A schema extension
267
+ # can be canceled during any of the following states; `Initializing`,
268
+ # `CreatingSnapshot`, and `UpdatingSchema`.
269
+ # @option params [required, String] :directory_id
270
+ # The identifier of the directory whose schema extension will be
271
+ # canceled.
272
+ # @option params [required, String] :schema_extension_id
273
+ # The identifier of the schema extension that will be canceled.
274
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
275
+ #
276
+ # @example Request syntax with placeholder values
277
+ # resp = client.cancel_schema_extension({
278
+ # directory_id: "DirectoryId", # required
279
+ # schema_extension_id: "SchemaExtensionId", # required
280
+ # })
281
+ # @overload cancel_schema_extension(params = {})
282
+ # @param [Hash] params ({})
283
+ def cancel_schema_extension(params = {}, options = {})
284
+ req = build_request(:cancel_schema_extension, params)
285
+ req.send_request(options)
286
+ end
287
+
288
+ # Creates an AD Connector to connect to an on-premises directory.
289
+ #
290
+ # Before you call *ConnectDirectory*, ensure that all of the required
291
+ # permissions have been explicitly granted through a policy. For details
292
+ # about what permissions are required to run the *ConnectDirectory*
293
+ # operation, see [AWS Directory Service API Permissions: Actions,
294
+ # Resources, and Conditions Reference][1].
295
+ #
296
+ #
297
+ #
298
+ # [1]: http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html
299
+ # @option params [required, String] :name
300
+ # The fully-qualified name of the on-premises directory, such as
301
+ # `corp.example.com`.
302
+ # @option params [String] :short_name
303
+ # The NetBIOS name of the on-premises directory, such as `CORP`.
304
+ # @option params [required, String] :password
305
+ # The password for the on-premises user account.
306
+ # @option params [String] :description
307
+ # A textual description for the directory.
308
+ # @option params [required, String] :size
309
+ # The size of the directory.
310
+ # @option params [required, Types::DirectoryConnectSettings] :connect_settings
311
+ # A DirectoryConnectSettings object that contains additional information
312
+ # for the operation.
313
+ # @return [Types::ConnectDirectoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
314
+ #
315
+ # * {Types::ConnectDirectoryResult#directory_id #DirectoryId} => String
316
+ #
317
+ # @example Request syntax with placeholder values
318
+ # resp = client.connect_directory({
319
+ # name: "DirectoryName", # required
320
+ # short_name: "DirectoryShortName",
321
+ # password: "ConnectPassword", # required
322
+ # description: "Description",
323
+ # size: "Small", # required, accepts Small, Large
324
+ # connect_settings: { # required
325
+ # vpc_id: "VpcId", # required
326
+ # subnet_ids: ["SubnetId"], # required
327
+ # customer_dns_ips: ["IpAddr"], # required
328
+ # customer_user_name: "UserName", # required
329
+ # },
330
+ # })
331
+ #
332
+ # @example Response structure
333
+ # resp.directory_id #=> String
334
+ # @overload connect_directory(params = {})
335
+ # @param [Hash] params ({})
336
+ def connect_directory(params = {}, options = {})
337
+ req = build_request(:connect_directory, params)
338
+ req.send_request(options)
339
+ end
340
+
341
+ # Creates an alias for a directory and assigns the alias to the
342
+ # directory. The alias is used to construct the access URL for the
343
+ # directory, such as `http://<alias>.awsapps.com`.
344
+ #
345
+ # After an alias has been created, it cannot be deleted or reused, so
346
+ # this operation should only be used when absolutely necessary.
347
+ # @option params [required, String] :directory_id
348
+ # The identifier of the directory for which to create the alias.
349
+ # @option params [required, String] :alias
350
+ # The requested alias.
351
+ #
352
+ # The alias must be unique amongst all aliases in AWS. This operation
353
+ # throws an `EntityAlreadyExistsException` error if the alias already
354
+ # exists.
355
+ # @return [Types::CreateAliasResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
356
+ #
357
+ # * {Types::CreateAliasResult#directory_id #DirectoryId} => String
358
+ # * {Types::CreateAliasResult#alias #Alias} => String
359
+ #
360
+ # @example Request syntax with placeholder values
361
+ # resp = client.create_alias({
362
+ # directory_id: "DirectoryId", # required
363
+ # alias: "AliasName", # required
364
+ # })
365
+ #
366
+ # @example Response structure
367
+ # resp.directory_id #=> String
368
+ # resp.alias #=> String
369
+ # @overload create_alias(params = {})
370
+ # @param [Hash] params ({})
371
+ def create_alias(params = {}, options = {})
372
+ req = build_request(:create_alias, params)
373
+ req.send_request(options)
374
+ end
375
+
376
+ # Creates a computer account in the specified directory, and joins the
377
+ # computer to the directory.
378
+ # @option params [required, String] :directory_id
379
+ # The identifier of the directory in which to create the computer
380
+ # account.
381
+ # @option params [required, String] :computer_name
382
+ # The name of the computer account.
383
+ # @option params [required, String] :password
384
+ # A one-time password that is used to join the computer to the
385
+ # directory. You should generate a random, strong password to use for
386
+ # this parameter.
387
+ # @option params [String] :organizational_unit_distinguished_name
388
+ # The fully-qualified distinguished name of the organizational unit to
389
+ # place the computer account in.
390
+ # @option params [Array<Types::Attribute>] :computer_attributes
391
+ # An array of Attribute objects that contain any LDAP attributes to
392
+ # apply to the computer account.
393
+ # @return [Types::CreateComputerResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
394
+ #
395
+ # * {Types::CreateComputerResult#computer #Computer} => Types::Computer
396
+ #
397
+ # @example Request syntax with placeholder values
398
+ # resp = client.create_computer({
399
+ # directory_id: "DirectoryId", # required
400
+ # computer_name: "ComputerName", # required
401
+ # password: "ComputerPassword", # required
402
+ # organizational_unit_distinguished_name: "OrganizationalUnitDN",
403
+ # computer_attributes: [
404
+ # {
405
+ # name: "AttributeName",
406
+ # value: "AttributeValue",
407
+ # },
408
+ # ],
409
+ # })
410
+ #
411
+ # @example Response structure
412
+ # resp.computer.computer_id #=> String
413
+ # resp.computer.computer_name #=> String
414
+ # resp.computer.computer_attributes #=> Array
415
+ # resp.computer.computer_attributes[0].name #=> String
416
+ # resp.computer.computer_attributes[0].value #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
417
+ # @overload create_computer(params = {})
418
+ # @param [Hash] params ({})
419
+ def create_computer(params = {}, options = {})
420
+ req = build_request(:create_computer, params)
421
+ req.send_request(options)
422
+ end
423
+
424
+ # Creates a conditional forwarder associated with your AWS directory.
425
+ # Conditional forwarders are required in order to set up a trust
426
+ # relationship with another domain. The conditional forwarder points to
427
+ # the trusted domain.
428
+ # @option params [required, String] :directory_id
429
+ # The directory ID of the AWS directory for which you are creating the
430
+ # conditional forwarder.
431
+ # @option params [required, String] :remote_domain_name
432
+ # The fully qualified domain name (FQDN) of the remote domain with which
433
+ # you will set up a trust relationship.
434
+ # @option params [required, Array<String>] :dns_ip_addrs
435
+ # The IP addresses of the remote DNS server associated with
436
+ # RemoteDomainName.
437
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
438
+ #
439
+ # @example Request syntax with placeholder values
440
+ # resp = client.create_conditional_forwarder({
441
+ # directory_id: "DirectoryId", # required
442
+ # remote_domain_name: "RemoteDomainName", # required
443
+ # dns_ip_addrs: ["IpAddr"], # required
444
+ # })
445
+ # @overload create_conditional_forwarder(params = {})
446
+ # @param [Hash] params ({})
447
+ def create_conditional_forwarder(params = {}, options = {})
448
+ req = build_request(:create_conditional_forwarder, params)
449
+ req.send_request(options)
450
+ end
451
+
452
+ # Creates a Simple AD directory.
453
+ #
454
+ # Before you call *CreateDirectory*, ensure that all of the required
455
+ # permissions have been explicitly granted through a policy. For details
456
+ # about what permissions are required to run the *CreateDirectory*
457
+ # operation, see [AWS Directory Service API Permissions: Actions,
458
+ # Resources, and Conditions Reference][1].
459
+ #
460
+ #
461
+ #
462
+ # [1]: http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html
463
+ # @option params [required, String] :name
464
+ # The fully qualified name for the directory, such as
465
+ # `corp.example.com`.
466
+ # @option params [String] :short_name
467
+ # The short name of the directory, such as `CORP`.
468
+ # @option params [required, String] :password
469
+ # The password for the directory administrator. The directory creation
470
+ # process creates a directory administrator account with the username
471
+ # `Administrator` and this password.
472
+ # @option params [String] :description
473
+ # A textual description for the directory.
474
+ # @option params [required, String] :size
475
+ # The size of the directory.
476
+ # @option params [Types::DirectoryVpcSettings] :vpc_settings
477
+ # A DirectoryVpcSettings object that contains additional information for
478
+ # the operation.
479
+ # @return [Types::CreateDirectoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
480
+ #
481
+ # * {Types::CreateDirectoryResult#directory_id #DirectoryId} => String
482
+ #
483
+ # @example Request syntax with placeholder values
484
+ # resp = client.create_directory({
485
+ # name: "DirectoryName", # required
486
+ # short_name: "DirectoryShortName",
487
+ # password: "Password", # required
488
+ # description: "Description",
489
+ # size: "Small", # required, accepts Small, Large
490
+ # vpc_settings: {
491
+ # vpc_id: "VpcId", # required
492
+ # subnet_ids: ["SubnetId"], # required
493
+ # },
494
+ # })
495
+ #
496
+ # @example Response structure
497
+ # resp.directory_id #=> String
498
+ # @overload create_directory(params = {})
499
+ # @param [Hash] params ({})
500
+ def create_directory(params = {}, options = {})
501
+ req = build_request(:create_directory, params)
502
+ req.send_request(options)
503
+ end
504
+
505
+ # Creates a Microsoft AD in the AWS cloud.
506
+ #
507
+ # Before you call *CreateMicrosoftAD*, ensure that all of the required
508
+ # permissions have been explicitly granted through a policy. For details
509
+ # about what permissions are required to run the *CreateMicrosoftAD*
510
+ # operation, see [AWS Directory Service API Permissions: Actions,
511
+ # Resources, and Conditions Reference][1].
512
+ #
513
+ #
514
+ #
515
+ # [1]: http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html
516
+ # @option params [required, String] :name
517
+ # The fully qualified domain name for the directory, such as
518
+ # `corp.example.com`. This name will resolve inside your VPC only. It
519
+ # does not need to be publicly resolvable.
520
+ # @option params [String] :short_name
521
+ # The NetBIOS name for your domain. A short identifier for your domain,
522
+ # such as `CORP`. If you don't specify a NetBIOS name, it will default
523
+ # to the first part of your directory DNS. For example, `CORP` for the
524
+ # directory DNS `corp.example.com`.
525
+ # @option params [required, String] :password
526
+ # The password for the default administrative user named `Admin`.
527
+ # @option params [String] :description
528
+ # A textual description for the directory. This label will appear on the
529
+ # AWS console `Directory Details` page after the directory is created.
530
+ # @option params [required, Types::DirectoryVpcSettings] :vpc_settings
531
+ # Contains VPC information for the CreateDirectory or CreateMicrosoftAD
532
+ # operation.
533
+ # @return [Types::CreateMicrosoftADResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
534
+ #
535
+ # * {Types::CreateMicrosoftADResult#directory_id #DirectoryId} => String
536
+ #
537
+ # @example Request syntax with placeholder values
538
+ # resp = client.create_microsoft_ad({
539
+ # name: "DirectoryName", # required
540
+ # short_name: "DirectoryShortName",
541
+ # password: "Password", # required
542
+ # description: "Description",
543
+ # vpc_settings: { # required
544
+ # vpc_id: "VpcId", # required
545
+ # subnet_ids: ["SubnetId"], # required
546
+ # },
547
+ # })
548
+ #
549
+ # @example Response structure
550
+ # resp.directory_id #=> String
551
+ # @overload create_microsoft_ad(params = {})
552
+ # @param [Hash] params ({})
553
+ def create_microsoft_ad(params = {}, options = {})
554
+ req = build_request(:create_microsoft_ad, params)
555
+ req.send_request(options)
556
+ end
557
+
558
+ # Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS
559
+ # cloud.
560
+ #
561
+ # <note markdown="1"> You cannot take snapshots of AD Connector directories.
562
+ #
563
+ # </note>
564
+ # @option params [required, String] :directory_id
565
+ # The identifier of the directory of which to take a snapshot.
566
+ # @option params [String] :name
567
+ # The descriptive name to apply to the snapshot.
568
+ # @return [Types::CreateSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
569
+ #
570
+ # * {Types::CreateSnapshotResult#snapshot_id #SnapshotId} => String
571
+ #
572
+ # @example Request syntax with placeholder values
573
+ # resp = client.create_snapshot({
574
+ # directory_id: "DirectoryId", # required
575
+ # name: "SnapshotName",
576
+ # })
577
+ #
578
+ # @example Response structure
579
+ # resp.snapshot_id #=> String
580
+ # @overload create_snapshot(params = {})
581
+ # @param [Hash] params ({})
582
+ def create_snapshot(params = {}, options = {})
583
+ req = build_request(:create_snapshot, params)
584
+ req.send_request(options)
585
+ end
586
+
587
+ # AWS Directory Service for Microsoft Active Directory allows you to
588
+ # configure trust relationships. For example, you can establish a trust
589
+ # between your Microsoft AD in the AWS cloud, and your existing
590
+ # on-premises Microsoft Active Directory. This would allow you to
591
+ # provide users and groups access to resources in either domain, with a
592
+ # single set of credentials.
593
+ #
594
+ # This action initiates the creation of the AWS side of a trust
595
+ # relationship between a Microsoft AD in the AWS cloud and an external
596
+ # domain.
597
+ # @option params [required, String] :directory_id
598
+ # The Directory ID of the Microsoft AD in the AWS cloud for which to
599
+ # establish the trust relationship.
600
+ # @option params [required, String] :remote_domain_name
601
+ # The Fully Qualified Domain Name (FQDN) of the external domain for
602
+ # which to create the trust relationship.
603
+ # @option params [required, String] :trust_password
604
+ # The trust password. The must be the same password that was used when
605
+ # creating the trust relationship on the external domain.
606
+ # @option params [required, String] :trust_direction
607
+ # The direction of the trust relationship.
608
+ # @option params [String] :trust_type
609
+ # The trust relationship type.
610
+ # @option params [Array<String>] :conditional_forwarder_ip_addrs
611
+ # The IP addresses of the remote DNS server associated with
612
+ # RemoteDomainName.
613
+ # @return [Types::CreateTrustResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
614
+ #
615
+ # * {Types::CreateTrustResult#trust_id #TrustId} => String
616
+ #
617
+ # @example Request syntax with placeholder values
618
+ # resp = client.create_trust({
619
+ # directory_id: "DirectoryId", # required
620
+ # remote_domain_name: "RemoteDomainName", # required
621
+ # trust_password: "TrustPassword", # required
622
+ # trust_direction: "One-Way: Outgoing", # required, accepts One-Way: Outgoing, One-Way: Incoming, Two-Way
623
+ # trust_type: "Forest", # accepts Forest
624
+ # conditional_forwarder_ip_addrs: ["IpAddr"],
625
+ # })
626
+ #
627
+ # @example Response structure
628
+ # resp.trust_id #=> String
629
+ # @overload create_trust(params = {})
630
+ # @param [Hash] params ({})
631
+ def create_trust(params = {}, options = {})
632
+ req = build_request(:create_trust, params)
633
+ req.send_request(options)
634
+ end
635
+
636
+ # Deletes a conditional forwarder that has been set up for your AWS
637
+ # directory.
638
+ # @option params [required, String] :directory_id
639
+ # The directory ID for which you are deleting the conditional forwarder.
640
+ # @option params [required, String] :remote_domain_name
641
+ # The fully qualified domain name (FQDN) of the remote domain with which
642
+ # you are deleting the conditional forwarder.
643
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
644
+ #
645
+ # @example Request syntax with placeholder values
646
+ # resp = client.delete_conditional_forwarder({
647
+ # directory_id: "DirectoryId", # required
648
+ # remote_domain_name: "RemoteDomainName", # required
649
+ # })
650
+ # @overload delete_conditional_forwarder(params = {})
651
+ # @param [Hash] params ({})
652
+ def delete_conditional_forwarder(params = {}, options = {})
653
+ req = build_request(:delete_conditional_forwarder, params)
654
+ req.send_request(options)
655
+ end
656
+
657
+ # Deletes an AWS Directory Service directory.
658
+ #
659
+ # Before you call *DeleteDirectory*, ensure that all of the required
660
+ # permissions have been explicitly granted through a policy. For details
661
+ # about what permissions are required to run the *DeleteDirectory*
662
+ # operation, see [AWS Directory Service API Permissions: Actions,
663
+ # Resources, and Conditions Reference][1].
664
+ #
665
+ #
666
+ #
667
+ # [1]: http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html
668
+ # @option params [required, String] :directory_id
669
+ # The identifier of the directory to delete.
670
+ # @return [Types::DeleteDirectoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
671
+ #
672
+ # * {Types::DeleteDirectoryResult#directory_id #DirectoryId} => String
673
+ #
674
+ # @example Request syntax with placeholder values
675
+ # resp = client.delete_directory({
676
+ # directory_id: "DirectoryId", # required
677
+ # })
678
+ #
679
+ # @example Response structure
680
+ # resp.directory_id #=> String
681
+ # @overload delete_directory(params = {})
682
+ # @param [Hash] params ({})
683
+ def delete_directory(params = {}, options = {})
684
+ req = build_request(:delete_directory, params)
685
+ req.send_request(options)
686
+ end
687
+
688
+ # Deletes a directory snapshot.
689
+ # @option params [required, String] :snapshot_id
690
+ # The identifier of the directory snapshot to be deleted.
691
+ # @return [Types::DeleteSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
692
+ #
693
+ # * {Types::DeleteSnapshotResult#snapshot_id #SnapshotId} => String
694
+ #
695
+ # @example Request syntax with placeholder values
696
+ # resp = client.delete_snapshot({
697
+ # snapshot_id: "SnapshotId", # required
698
+ # })
699
+ #
700
+ # @example Response structure
701
+ # resp.snapshot_id #=> String
702
+ # @overload delete_snapshot(params = {})
703
+ # @param [Hash] params ({})
704
+ def delete_snapshot(params = {}, options = {})
705
+ req = build_request(:delete_snapshot, params)
706
+ req.send_request(options)
707
+ end
708
+
709
+ # Deletes an existing trust relationship between your Microsoft AD in
710
+ # the AWS cloud and an external domain.
711
+ # @option params [required, String] :trust_id
712
+ # The Trust ID of the trust relationship to be deleted.
713
+ # @option params [Boolean] :delete_associated_conditional_forwarder
714
+ # Delete a conditional forwarder as part of a DeleteTrustRequest.
715
+ # @return [Types::DeleteTrustResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
716
+ #
717
+ # * {Types::DeleteTrustResult#trust_id #TrustId} => String
718
+ #
719
+ # @example Request syntax with placeholder values
720
+ # resp = client.delete_trust({
721
+ # trust_id: "TrustId", # required
722
+ # delete_associated_conditional_forwarder: false,
723
+ # })
724
+ #
725
+ # @example Response structure
726
+ # resp.trust_id #=> String
727
+ # @overload delete_trust(params = {})
728
+ # @param [Hash] params ({})
729
+ def delete_trust(params = {}, options = {})
730
+ req = build_request(:delete_trust, params)
731
+ req.send_request(options)
732
+ end
733
+
734
+ # Removes the specified directory as a publisher to the specified SNS
735
+ # topic.
736
+ # @option params [required, String] :directory_id
737
+ # The Directory ID to remove as a publisher. This directory will no
738
+ # longer send messages to the specified SNS topic.
739
+ # @option params [required, String] :topic_name
740
+ # The name of the SNS topic from which to remove the directory as a
741
+ # publisher.
742
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
743
+ #
744
+ # @example Request syntax with placeholder values
745
+ # resp = client.deregister_event_topic({
746
+ # directory_id: "DirectoryId", # required
747
+ # topic_name: "TopicName", # required
748
+ # })
749
+ # @overload deregister_event_topic(params = {})
750
+ # @param [Hash] params ({})
751
+ def deregister_event_topic(params = {}, options = {})
752
+ req = build_request(:deregister_event_topic, params)
753
+ req.send_request(options)
754
+ end
755
+
756
+ # Obtains information about the conditional forwarders for this account.
757
+ #
758
+ # If no input parameters are provided for RemoteDomainNames, this
759
+ # request describes all conditional forwarders for the specified
760
+ # directory ID.
761
+ # @option params [required, String] :directory_id
762
+ # The directory ID for which to get the list of associated conditional
763
+ # forwarders.
764
+ # @option params [Array<String>] :remote_domain_names
765
+ # The fully qualified domain names (FQDN) of the remote domains for
766
+ # which to get the list of associated conditional forwarders. If this
767
+ # member is null, all conditional forwarders are returned.
768
+ # @return [Types::DescribeConditionalForwardersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
769
+ #
770
+ # * {Types::DescribeConditionalForwardersResult#conditional_forwarders #ConditionalForwarders} => Array&lt;Types::ConditionalForwarder&gt;
771
+ #
772
+ # @example Request syntax with placeholder values
773
+ # resp = client.describe_conditional_forwarders({
774
+ # directory_id: "DirectoryId", # required
775
+ # remote_domain_names: ["RemoteDomainName"],
776
+ # })
777
+ #
778
+ # @example Response structure
779
+ # resp.conditional_forwarders #=> Array
780
+ # resp.conditional_forwarders[0].remote_domain_name #=> String
781
+ # resp.conditional_forwarders[0].dns_ip_addrs #=> Array
782
+ # resp.conditional_forwarders[0].dns_ip_addrs[0] #=> String
783
+ # resp.conditional_forwarders[0].replication_scope #=> String, one of "Domain"
784
+ # @overload describe_conditional_forwarders(params = {})
785
+ # @param [Hash] params ({})
786
+ def describe_conditional_forwarders(params = {}, options = {})
787
+ req = build_request(:describe_conditional_forwarders, params)
788
+ req.send_request(options)
789
+ end
790
+
791
+ # Obtains information about the directories that belong to this account.
792
+ #
793
+ # You can retrieve information about specific directories by passing the
794
+ # directory identifiers in the *DirectoryIds* parameter. Otherwise, all
795
+ # directories that belong to the current account are returned.
796
+ #
797
+ # This operation supports pagination with the use of the *NextToken*
798
+ # request and response parameters. If more results are available, the
799
+ # *DescribeDirectoriesResult.NextToken* member contains a token that you
800
+ # pass in the next call to DescribeDirectories to retrieve the next set
801
+ # of items.
802
+ #
803
+ # You can also specify a maximum number of return results with the
804
+ # *Limit* parameter.
805
+ # @option params [Array<String>] :directory_ids
806
+ # A list of identifiers of the directories for which to obtain the
807
+ # information. If this member is null, all directories that belong to
808
+ # the current account are returned.
809
+ #
810
+ # An empty list results in an `InvalidParameterException` being thrown.
811
+ # @option params [String] :next_token
812
+ # The *DescribeDirectoriesResult.NextToken* value from a previous call
813
+ # to DescribeDirectories. Pass null if this is the first call.
814
+ # @option params [Integer] :limit
815
+ # The maximum number of items to return. If this value is zero, the
816
+ # maximum number of items is specified by the limitations of the
817
+ # operation.
818
+ # @return [Types::DescribeDirectoriesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
819
+ #
820
+ # * {Types::DescribeDirectoriesResult#directory_descriptions #DirectoryDescriptions} => Array&lt;Types::DirectoryDescription&gt;
821
+ # * {Types::DescribeDirectoriesResult#next_token #NextToken} => String
822
+ #
823
+ # @example Request syntax with placeholder values
824
+ # resp = client.describe_directories({
825
+ # directory_ids: ["DirectoryId"],
826
+ # next_token: "NextToken",
827
+ # limit: 1,
828
+ # })
829
+ #
830
+ # @example Response structure
831
+ # resp.directory_descriptions #=> Array
832
+ # resp.directory_descriptions[0].directory_id #=> String
833
+ # resp.directory_descriptions[0].name #=> String
834
+ # resp.directory_descriptions[0].short_name #=> String
835
+ # resp.directory_descriptions[0].size #=> String, one of "Small", "Large"
836
+ # resp.directory_descriptions[0].alias #=> String
837
+ # resp.directory_descriptions[0].access_url #=> String
838
+ # resp.directory_descriptions[0].description #=> String
839
+ # resp.directory_descriptions[0].dns_ip_addrs #=> Array
840
+ # resp.directory_descriptions[0].dns_ip_addrs[0] #=> String
841
+ # resp.directory_descriptions[0].stage #=> String, one of "Requested", "Creating", "Created", "Active", "Inoperable", "Impaired", "Restoring", "RestoreFailed", "Deleting", "Deleted", "Failed"
842
+ # resp.directory_descriptions[0].launch_time #=> Time
843
+ # resp.directory_descriptions[0].stage_last_updated_date_time #=> Time
844
+ # resp.directory_descriptions[0].type #=> String, one of "SimpleAD", "ADConnector", "MicrosoftAD"
845
+ # resp.directory_descriptions[0].vpc_settings.vpc_id #=> String
846
+ # resp.directory_descriptions[0].vpc_settings.subnet_ids #=> Array
847
+ # resp.directory_descriptions[0].vpc_settings.subnet_ids[0] #=> String
848
+ # resp.directory_descriptions[0].vpc_settings.security_group_id #=> String
849
+ # resp.directory_descriptions[0].vpc_settings.availability_zones #=> Array
850
+ # resp.directory_descriptions[0].vpc_settings.availability_zones[0] #=> String
851
+ # resp.directory_descriptions[0].connect_settings.vpc_id #=> String
852
+ # resp.directory_descriptions[0].connect_settings.subnet_ids #=> Array
853
+ # resp.directory_descriptions[0].connect_settings.subnet_ids[0] #=> String
854
+ # resp.directory_descriptions[0].connect_settings.customer_user_name #=> String
855
+ # resp.directory_descriptions[0].connect_settings.security_group_id #=> String
856
+ # resp.directory_descriptions[0].connect_settings.availability_zones #=> Array
857
+ # resp.directory_descriptions[0].connect_settings.availability_zones[0] #=> String
858
+ # resp.directory_descriptions[0].connect_settings.connect_ips #=> Array
859
+ # resp.directory_descriptions[0].connect_settings.connect_ips[0] #=> String
860
+ # resp.directory_descriptions[0].radius_settings.radius_servers #=> Array
861
+ # resp.directory_descriptions[0].radius_settings.radius_servers[0] #=> String
862
+ # resp.directory_descriptions[0].radius_settings.radius_port #=> Integer
863
+ # resp.directory_descriptions[0].radius_settings.radius_timeout #=> Integer
864
+ # resp.directory_descriptions[0].radius_settings.radius_retries #=> Integer
865
+ # resp.directory_descriptions[0].radius_settings.shared_secret #=> String
866
+ # resp.directory_descriptions[0].radius_settings.authentication_protocol #=> String, one of "PAP", "CHAP", "MS-CHAPv1", "MS-CHAPv2"
867
+ # resp.directory_descriptions[0].radius_settings.display_label #=> String
868
+ # resp.directory_descriptions[0].radius_settings.use_same_username #=> Boolean
869
+ # resp.directory_descriptions[0].radius_status #=> String, one of "Creating", "Completed", "Failed"
870
+ # resp.directory_descriptions[0].stage_reason #=> String
871
+ # resp.directory_descriptions[0].sso_enabled #=> Boolean
872
+ # resp.next_token #=> String
873
+ # @overload describe_directories(params = {})
874
+ # @param [Hash] params ({})
875
+ def describe_directories(params = {}, options = {})
876
+ req = build_request(:describe_directories, params)
877
+ req.send_request(options)
878
+ end
879
+
880
+ # Obtains information about which SNS topics receive status messages
881
+ # from the specified directory.
882
+ #
883
+ # If no input parameters are provided, such as DirectoryId or TopicName,
884
+ # this request describes all of the associations in the account.
885
+ # @option params [String] :directory_id
886
+ # The Directory ID for which to get the list of associated SNS topics.
887
+ # If this member is null, associations for all Directory IDs are
888
+ # returned.
889
+ # @option params [Array<String>] :topic_names
890
+ # A list of SNS topic names for which to obtain the information. If this
891
+ # member is null, all associations for the specified Directory ID are
892
+ # returned.
893
+ #
894
+ # An empty list results in an `InvalidParameterException` being thrown.
895
+ # @return [Types::DescribeEventTopicsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
896
+ #
897
+ # * {Types::DescribeEventTopicsResult#event_topics #EventTopics} => Array&lt;Types::EventTopic&gt;
898
+ #
899
+ # @example Request syntax with placeholder values
900
+ # resp = client.describe_event_topics({
901
+ # directory_id: "DirectoryId",
902
+ # topic_names: ["TopicName"],
903
+ # })
904
+ #
905
+ # @example Response structure
906
+ # resp.event_topics #=> Array
907
+ # resp.event_topics[0].directory_id #=> String
908
+ # resp.event_topics[0].topic_name #=> String
909
+ # resp.event_topics[0].topic_arn #=> String
910
+ # resp.event_topics[0].created_date_time #=> Time
911
+ # resp.event_topics[0].status #=> String, one of "Registered", "Topic not found", "Failed", "Deleted"
912
+ # @overload describe_event_topics(params = {})
913
+ # @param [Hash] params ({})
914
+ def describe_event_topics(params = {}, options = {})
915
+ req = build_request(:describe_event_topics, params)
916
+ req.send_request(options)
917
+ end
918
+
919
+ # Obtains information about the directory snapshots that belong to this
920
+ # account.
921
+ #
922
+ # This operation supports pagination with the use of the *NextToken*
923
+ # request and response parameters. If more results are available, the
924
+ # *DescribeSnapshots.NextToken* member contains a token that you pass in
925
+ # the next call to DescribeSnapshots to retrieve the next set of items.
926
+ #
927
+ # You can also specify a maximum number of return results with the
928
+ # *Limit* parameter.
929
+ # @option params [String] :directory_id
930
+ # The identifier of the directory for which to retrieve snapshot
931
+ # information.
932
+ # @option params [Array<String>] :snapshot_ids
933
+ # A list of identifiers of the snapshots to obtain the information for.
934
+ # If this member is null or empty, all snapshots are returned using the
935
+ # *Limit* and *NextToken* members.
936
+ # @option params [String] :next_token
937
+ # The *DescribeSnapshotsResult.NextToken* value from a previous call to
938
+ # DescribeSnapshots. Pass null if this is the first call.
939
+ # @option params [Integer] :limit
940
+ # The maximum number of objects to return.
941
+ # @return [Types::DescribeSnapshotsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
942
+ #
943
+ # * {Types::DescribeSnapshotsResult#snapshots #Snapshots} => Array&lt;Types::Snapshot&gt;
944
+ # * {Types::DescribeSnapshotsResult#next_token #NextToken} => String
945
+ #
946
+ # @example Request syntax with placeholder values
947
+ # resp = client.describe_snapshots({
948
+ # directory_id: "DirectoryId",
949
+ # snapshot_ids: ["SnapshotId"],
950
+ # next_token: "NextToken",
951
+ # limit: 1,
952
+ # })
953
+ #
954
+ # @example Response structure
955
+ # resp.snapshots #=> Array
956
+ # resp.snapshots[0].directory_id #=> String
957
+ # resp.snapshots[0].snapshot_id #=> String
958
+ # resp.snapshots[0].type #=> String, one of "Auto", "Manual"
959
+ # resp.snapshots[0].name #=> String
960
+ # resp.snapshots[0].status #=> String, one of "Creating", "Completed", "Failed"
961
+ # resp.snapshots[0].start_time #=> Time
962
+ # resp.next_token #=> String
963
+ # @overload describe_snapshots(params = {})
964
+ # @param [Hash] params ({})
965
+ def describe_snapshots(params = {}, options = {})
966
+ req = build_request(:describe_snapshots, params)
967
+ req.send_request(options)
968
+ end
969
+
970
+ # Obtains information about the trust relationships for this account.
971
+ #
972
+ # If no input parameters are provided, such as DirectoryId or TrustIds,
973
+ # this request describes all the trust relationships belonging to the
974
+ # account.
975
+ # @option params [String] :directory_id
976
+ # The Directory ID of the AWS directory that is a part of the requested
977
+ # trust relationship.
978
+ # @option params [Array<String>] :trust_ids
979
+ # A list of identifiers of the trust relationships for which to obtain
980
+ # the information. If this member is null, all trust relationships that
981
+ # belong to the current account are returned.
982
+ #
983
+ # An empty list results in an `InvalidParameterException` being thrown.
984
+ # @option params [String] :next_token
985
+ # The *DescribeTrustsResult.NextToken* value from a previous call to
986
+ # DescribeTrusts. Pass null if this is the first call.
987
+ # @option params [Integer] :limit
988
+ # The maximum number of objects to return.
989
+ # @return [Types::DescribeTrustsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
990
+ #
991
+ # * {Types::DescribeTrustsResult#trusts #Trusts} => Array&lt;Types::Trust&gt;
992
+ # * {Types::DescribeTrustsResult#next_token #NextToken} => String
993
+ #
994
+ # @example Request syntax with placeholder values
995
+ # resp = client.describe_trusts({
996
+ # directory_id: "DirectoryId",
997
+ # trust_ids: ["TrustId"],
998
+ # next_token: "NextToken",
999
+ # limit: 1,
1000
+ # })
1001
+ #
1002
+ # @example Response structure
1003
+ # resp.trusts #=> Array
1004
+ # resp.trusts[0].directory_id #=> String
1005
+ # resp.trusts[0].trust_id #=> String
1006
+ # resp.trusts[0].remote_domain_name #=> String
1007
+ # resp.trusts[0].trust_type #=> String, one of "Forest"
1008
+ # resp.trusts[0].trust_direction #=> String, one of "One-Way: Outgoing", "One-Way: Incoming", "Two-Way"
1009
+ # resp.trusts[0].trust_state #=> String, one of "Creating", "Created", "Verifying", "VerifyFailed", "Verified", "Deleting", "Deleted", "Failed"
1010
+ # resp.trusts[0].created_date_time #=> Time
1011
+ # resp.trusts[0].last_updated_date_time #=> Time
1012
+ # resp.trusts[0].state_last_updated_date_time #=> Time
1013
+ # resp.trusts[0].trust_state_reason #=> String
1014
+ # resp.next_token #=> String
1015
+ # @overload describe_trusts(params = {})
1016
+ # @param [Hash] params ({})
1017
+ def describe_trusts(params = {}, options = {})
1018
+ req = build_request(:describe_trusts, params)
1019
+ req.send_request(options)
1020
+ end
1021
+
1022
+ # Disables multi-factor authentication (MFA) with the Remote
1023
+ # Authentication Dial In User Service (RADIUS) server for an AD
1024
+ # Connector directory.
1025
+ # @option params [required, String] :directory_id
1026
+ # The identifier of the directory for which to disable MFA.
1027
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1028
+ #
1029
+ # @example Request syntax with placeholder values
1030
+ # resp = client.disable_radius({
1031
+ # directory_id: "DirectoryId", # required
1032
+ # })
1033
+ # @overload disable_radius(params = {})
1034
+ # @param [Hash] params ({})
1035
+ def disable_radius(params = {}, options = {})
1036
+ req = build_request(:disable_radius, params)
1037
+ req.send_request(options)
1038
+ end
1039
+
1040
+ # Disables single-sign on for a directory.
1041
+ # @option params [required, String] :directory_id
1042
+ # The identifier of the directory for which to disable single-sign on.
1043
+ # @option params [String] :user_name
1044
+ # The username of an alternate account to use to disable single-sign on.
1045
+ # This is only used for AD Connector directories. This account must have
1046
+ # privileges to remove a service principal name.
1047
+ #
1048
+ # If the AD Connector service account does not have privileges to remove
1049
+ # a service principal name, you can specify an alternate account with
1050
+ # the *UserName* and *Password* parameters. These credentials are only
1051
+ # used to disable single sign-on and are not stored by the service. The
1052
+ # AD Connector service account is not changed.
1053
+ # @option params [String] :password
1054
+ # The password of an alternate account to use to disable single-sign on.
1055
+ # This is only used for AD Connector directories. For more information,
1056
+ # see the *UserName* parameter.
1057
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1058
+ #
1059
+ # @example Request syntax with placeholder values
1060
+ # resp = client.disable_sso({
1061
+ # directory_id: "DirectoryId", # required
1062
+ # user_name: "UserName",
1063
+ # password: "ConnectPassword",
1064
+ # })
1065
+ # @overload disable_sso(params = {})
1066
+ # @param [Hash] params ({})
1067
+ def disable_sso(params = {}, options = {})
1068
+ req = build_request(:disable_sso, params)
1069
+ req.send_request(options)
1070
+ end
1071
+
1072
+ # Enables multi-factor authentication (MFA) with the Remote
1073
+ # Authentication Dial In User Service (RADIUS) server for an AD
1074
+ # Connector directory.
1075
+ # @option params [required, String] :directory_id
1076
+ # The identifier of the directory for which to enable MFA.
1077
+ # @option params [required, Types::RadiusSettings] :radius_settings
1078
+ # A RadiusSettings object that contains information about the RADIUS
1079
+ # server.
1080
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1081
+ #
1082
+ # @example Request syntax with placeholder values
1083
+ # resp = client.enable_radius({
1084
+ # directory_id: "DirectoryId", # required
1085
+ # radius_settings: { # required
1086
+ # radius_servers: ["Server"],
1087
+ # radius_port: 1,
1088
+ # radius_timeout: 1,
1089
+ # radius_retries: 1,
1090
+ # shared_secret: "RadiusSharedSecret",
1091
+ # authentication_protocol: "PAP", # accepts PAP, CHAP, MS-CHAPv1, MS-CHAPv2
1092
+ # display_label: "RadiusDisplayLabel",
1093
+ # use_same_username: false,
1094
+ # },
1095
+ # })
1096
+ # @overload enable_radius(params = {})
1097
+ # @param [Hash] params ({})
1098
+ def enable_radius(params = {}, options = {})
1099
+ req = build_request(:enable_radius, params)
1100
+ req.send_request(options)
1101
+ end
1102
+
1103
+ # Enables single-sign on for a directory.
1104
+ # @option params [required, String] :directory_id
1105
+ # The identifier of the directory for which to enable single-sign on.
1106
+ # @option params [String] :user_name
1107
+ # The username of an alternate account to use to enable single-sign on.
1108
+ # This is only used for AD Connector directories. This account must have
1109
+ # privileges to add a service principal name.
1110
+ #
1111
+ # If the AD Connector service account does not have privileges to add a
1112
+ # service principal name, you can specify an alternate account with the
1113
+ # *UserName* and *Password* parameters. These credentials are only used
1114
+ # to enable single sign-on and are not stored by the service. The AD
1115
+ # Connector service account is not changed.
1116
+ # @option params [String] :password
1117
+ # The password of an alternate account to use to enable single-sign on.
1118
+ # This is only used for AD Connector directories. For more information,
1119
+ # see the *UserName* parameter.
1120
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1121
+ #
1122
+ # @example Request syntax with placeholder values
1123
+ # resp = client.enable_sso({
1124
+ # directory_id: "DirectoryId", # required
1125
+ # user_name: "UserName",
1126
+ # password: "ConnectPassword",
1127
+ # })
1128
+ # @overload enable_sso(params = {})
1129
+ # @param [Hash] params ({})
1130
+ def enable_sso(params = {}, options = {})
1131
+ req = build_request(:enable_sso, params)
1132
+ req.send_request(options)
1133
+ end
1134
+
1135
+ # Obtains directory limit information for the current region.
1136
+ # @return [Types::GetDirectoryLimitsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1137
+ #
1138
+ # * {Types::GetDirectoryLimitsResult#directory_limits #DirectoryLimits} => Types::DirectoryLimits
1139
+ #
1140
+ # @example Request syntax with placeholder values
1141
+ # resp = client.get_directory_limits()
1142
+ #
1143
+ # @example Response structure
1144
+ # resp.directory_limits.cloud_only_directories_limit #=> Integer
1145
+ # resp.directory_limits.cloud_only_directories_current_count #=> Integer
1146
+ # resp.directory_limits.cloud_only_directories_limit_reached #=> Boolean
1147
+ # resp.directory_limits.cloud_only_microsoft_ad_limit #=> Integer
1148
+ # resp.directory_limits.cloud_only_microsoft_ad_current_count #=> Integer
1149
+ # resp.directory_limits.cloud_only_microsoft_ad_limit_reached #=> Boolean
1150
+ # resp.directory_limits.connected_directories_limit #=> Integer
1151
+ # resp.directory_limits.connected_directories_current_count #=> Integer
1152
+ # resp.directory_limits.connected_directories_limit_reached #=> Boolean
1153
+ # @overload get_directory_limits(params = {})
1154
+ # @param [Hash] params ({})
1155
+ def get_directory_limits(params = {}, options = {})
1156
+ req = build_request(:get_directory_limits, params)
1157
+ req.send_request(options)
1158
+ end
1159
+
1160
+ # Obtains the manual snapshot limits for a directory.
1161
+ # @option params [required, String] :directory_id
1162
+ # Contains the identifier of the directory to obtain the limits for.
1163
+ # @return [Types::GetSnapshotLimitsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1164
+ #
1165
+ # * {Types::GetSnapshotLimitsResult#snapshot_limits #SnapshotLimits} => Types::SnapshotLimits
1166
+ #
1167
+ # @example Request syntax with placeholder values
1168
+ # resp = client.get_snapshot_limits({
1169
+ # directory_id: "DirectoryId", # required
1170
+ # })
1171
+ #
1172
+ # @example Response structure
1173
+ # resp.snapshot_limits.manual_snapshots_limit #=> Integer
1174
+ # resp.snapshot_limits.manual_snapshots_current_count #=> Integer
1175
+ # resp.snapshot_limits.manual_snapshots_limit_reached #=> Boolean
1176
+ # @overload get_snapshot_limits(params = {})
1177
+ # @param [Hash] params ({})
1178
+ def get_snapshot_limits(params = {}, options = {})
1179
+ req = build_request(:get_snapshot_limits, params)
1180
+ req.send_request(options)
1181
+ end
1182
+
1183
+ # Lists the address blocks that you have added to a directory.
1184
+ # @option params [required, String] :directory_id
1185
+ # Identifier (ID) of the directory for which you want to retrieve the IP
1186
+ # addresses.
1187
+ # @option params [String] :next_token
1188
+ # The *ListIpRoutes.NextToken* value from a previous call to
1189
+ # ListIpRoutes. Pass null if this is the first call.
1190
+ # @option params [Integer] :limit
1191
+ # Maximum number of items to return. If this value is zero, the maximum
1192
+ # number of items is specified by the limitations of the operation.
1193
+ # @return [Types::ListIpRoutesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1194
+ #
1195
+ # * {Types::ListIpRoutesResult#ip_routes_info #IpRoutesInfo} => Array&lt;Types::IpRouteInfo&gt;
1196
+ # * {Types::ListIpRoutesResult#next_token #NextToken} => String
1197
+ #
1198
+ # @example Request syntax with placeholder values
1199
+ # resp = client.list_ip_routes({
1200
+ # directory_id: "DirectoryId", # required
1201
+ # next_token: "NextToken",
1202
+ # limit: 1,
1203
+ # })
1204
+ #
1205
+ # @example Response structure
1206
+ # resp.ip_routes_info #=> Array
1207
+ # resp.ip_routes_info[0].directory_id #=> String
1208
+ # resp.ip_routes_info[0].cidr_ip #=> String
1209
+ # resp.ip_routes_info[0].ip_route_status_msg #=> String, one of "Adding", "Added", "Removing", "Removed", "AddFailed", "RemoveFailed"
1210
+ # resp.ip_routes_info[0].added_date_time #=> Time
1211
+ # resp.ip_routes_info[0].ip_route_status_reason #=> String
1212
+ # resp.ip_routes_info[0].description #=> String
1213
+ # resp.next_token #=> String
1214
+ # @overload list_ip_routes(params = {})
1215
+ # @param [Hash] params ({})
1216
+ def list_ip_routes(params = {}, options = {})
1217
+ req = build_request(:list_ip_routes, params)
1218
+ req.send_request(options)
1219
+ end
1220
+
1221
+ # Lists all schema extensions applied to a Microsoft AD Directory.
1222
+ # @option params [required, String] :directory_id
1223
+ # The identifier of the directory from which to retrieve the schema
1224
+ # extension information.
1225
+ # @option params [String] :next_token
1226
+ # The `ListSchemaExtensions.NextToken` value from a previous call to
1227
+ # `ListSchemaExtensions`. Pass null if this is the first call.
1228
+ # @option params [Integer] :limit
1229
+ # The maximum number of items to return.
1230
+ # @return [Types::ListSchemaExtensionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1231
+ #
1232
+ # * {Types::ListSchemaExtensionsResult#schema_extensions_info #SchemaExtensionsInfo} => Array&lt;Types::SchemaExtensionInfo&gt;
1233
+ # * {Types::ListSchemaExtensionsResult#next_token #NextToken} => String
1234
+ #
1235
+ # @example Request syntax with placeholder values
1236
+ # resp = client.list_schema_extensions({
1237
+ # directory_id: "DirectoryId", # required
1238
+ # next_token: "NextToken",
1239
+ # limit: 1,
1240
+ # })
1241
+ #
1242
+ # @example Response structure
1243
+ # resp.schema_extensions_info #=> Array
1244
+ # resp.schema_extensions_info[0].directory_id #=> String
1245
+ # resp.schema_extensions_info[0].schema_extension_id #=> String
1246
+ # resp.schema_extensions_info[0].description #=> String
1247
+ # resp.schema_extensions_info[0].schema_extension_status #=> String, one of "Initializing", "CreatingSnapshot", "UpdatingSchema", "Replicating", "CancelInProgress", "RollbackInProgress", "Cancelled", "Failed", "Completed"
1248
+ # resp.schema_extensions_info[0].schema_extension_status_reason #=> String
1249
+ # resp.schema_extensions_info[0].start_date_time #=> Time
1250
+ # resp.schema_extensions_info[0].end_date_time #=> Time
1251
+ # resp.next_token #=> String
1252
+ # @overload list_schema_extensions(params = {})
1253
+ # @param [Hash] params ({})
1254
+ def list_schema_extensions(params = {}, options = {})
1255
+ req = build_request(:list_schema_extensions, params)
1256
+ req.send_request(options)
1257
+ end
1258
+
1259
+ # Lists all tags on an Amazon Directory Services directory.
1260
+ # @option params [required, String] :resource_id
1261
+ # Identifier (ID) of the directory for which you want to retrieve tags.
1262
+ # @option params [String] :next_token
1263
+ # Reserved for future use.
1264
+ # @option params [Integer] :limit
1265
+ # Reserved for future use.
1266
+ # @return [Types::ListTagsForResourceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1267
+ #
1268
+ # * {Types::ListTagsForResourceResult#tags #Tags} => Array&lt;Types::Tag&gt;
1269
+ # * {Types::ListTagsForResourceResult#next_token #NextToken} => String
1270
+ #
1271
+ # @example Request syntax with placeholder values
1272
+ # resp = client.list_tags_for_resource({
1273
+ # resource_id: "ResourceId", # required
1274
+ # next_token: "NextToken",
1275
+ # limit: 1,
1276
+ # })
1277
+ #
1278
+ # @example Response structure
1279
+ # resp.tags #=> Array
1280
+ # resp.tags[0].key #=> String
1281
+ # resp.tags[0].value #=> String
1282
+ # resp.next_token #=> String
1283
+ # @overload list_tags_for_resource(params = {})
1284
+ # @param [Hash] params ({})
1285
+ def list_tags_for_resource(params = {}, options = {})
1286
+ req = build_request(:list_tags_for_resource, params)
1287
+ req.send_request(options)
1288
+ end
1289
+
1290
+ # Associates a directory with an SNS topic. This establishes the
1291
+ # directory as a publisher to the specified SNS topic. You can then
1292
+ # receive email or text (SMS) messages when the status of your directory
1293
+ # changes. You get notified if your directory goes from an Active status
1294
+ # to an Impaired or Inoperable status. You also receive a notification
1295
+ # when the directory returns to an Active status.
1296
+ # @option params [required, String] :directory_id
1297
+ # The Directory ID that will publish status messages to the SNS topic.
1298
+ # @option params [required, String] :topic_name
1299
+ # The SNS topic name to which the directory will publish status
1300
+ # messages. This SNS topic must be in the same region as the specified
1301
+ # Directory ID.
1302
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1303
+ #
1304
+ # @example Request syntax with placeholder values
1305
+ # resp = client.register_event_topic({
1306
+ # directory_id: "DirectoryId", # required
1307
+ # topic_name: "TopicName", # required
1308
+ # })
1309
+ # @overload register_event_topic(params = {})
1310
+ # @param [Hash] params ({})
1311
+ def register_event_topic(params = {}, options = {})
1312
+ req = build_request(:register_event_topic, params)
1313
+ req.send_request(options)
1314
+ end
1315
+
1316
+ # Removes IP address blocks from a directory.
1317
+ # @option params [required, String] :directory_id
1318
+ # Identifier (ID) of the directory from which you want to remove the IP
1319
+ # addresses.
1320
+ # @option params [required, Array<String>] :cidr_ips
1321
+ # IP address blocks that you want to remove.
1322
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1323
+ #
1324
+ # @example Request syntax with placeholder values
1325
+ # resp = client.remove_ip_routes({
1326
+ # directory_id: "DirectoryId", # required
1327
+ # cidr_ips: ["CidrIp"], # required
1328
+ # })
1329
+ # @overload remove_ip_routes(params = {})
1330
+ # @param [Hash] params ({})
1331
+ def remove_ip_routes(params = {}, options = {})
1332
+ req = build_request(:remove_ip_routes, params)
1333
+ req.send_request(options)
1334
+ end
1335
+
1336
+ # Removes tags from an Amazon Directory Services directory.
1337
+ # @option params [required, String] :resource_id
1338
+ # Identifier (ID) of the directory from which to remove the tag.
1339
+ # @option params [required, Array<String>] :tag_keys
1340
+ # The tag key (name) of the tag to be removed.
1341
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1342
+ #
1343
+ # @example Request syntax with placeholder values
1344
+ # resp = client.remove_tags_from_resource({
1345
+ # resource_id: "ResourceId", # required
1346
+ # tag_keys: ["TagKey"], # required
1347
+ # })
1348
+ # @overload remove_tags_from_resource(params = {})
1349
+ # @param [Hash] params ({})
1350
+ def remove_tags_from_resource(params = {}, options = {})
1351
+ req = build_request(:remove_tags_from_resource, params)
1352
+ req.send_request(options)
1353
+ end
1354
+
1355
+ # Restores a directory using an existing directory snapshot.
1356
+ #
1357
+ # When you restore a directory from a snapshot, any changes made to the
1358
+ # directory after the snapshot date are overwritten.
1359
+ #
1360
+ # This action returns as soon as the restore operation is initiated. You
1361
+ # can monitor the progress of the restore operation by calling the
1362
+ # DescribeDirectories operation with the directory identifier. When the
1363
+ # **DirectoryDescription.Stage** value changes to `Active`, the restore
1364
+ # operation is complete.
1365
+ # @option params [required, String] :snapshot_id
1366
+ # The identifier of the snapshot to restore from.
1367
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1368
+ #
1369
+ # @example Request syntax with placeholder values
1370
+ # resp = client.restore_from_snapshot({
1371
+ # snapshot_id: "SnapshotId", # required
1372
+ # })
1373
+ # @overload restore_from_snapshot(params = {})
1374
+ # @param [Hash] params ({})
1375
+ def restore_from_snapshot(params = {}, options = {})
1376
+ req = build_request(:restore_from_snapshot, params)
1377
+ req.send_request(options)
1378
+ end
1379
+
1380
+ # Applies a schema extension to a Microsoft AD directory.
1381
+ # @option params [required, String] :directory_id
1382
+ # The identifier of the directory for which the schema extension will be
1383
+ # applied to.
1384
+ # @option params [required, Boolean] :create_snapshot_before_schema_extension
1385
+ # If true, creates a snapshot of the directory before applying the
1386
+ # schema extension.
1387
+ # @option params [required, String] :ldif_content
1388
+ # The LDIF file represented as a string. The file size can be no larger
1389
+ # than 1MB.
1390
+ # @option params [required, String] :description
1391
+ # A description of the schema extension.
1392
+ # @return [Types::StartSchemaExtensionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1393
+ #
1394
+ # * {Types::StartSchemaExtensionResult#schema_extension_id #SchemaExtensionId} => String
1395
+ #
1396
+ # @example Request syntax with placeholder values
1397
+ # resp = client.start_schema_extension({
1398
+ # directory_id: "DirectoryId", # required
1399
+ # create_snapshot_before_schema_extension: false, # required
1400
+ # ldif_content: "LdifContent", # required
1401
+ # description: "Description", # required
1402
+ # })
1403
+ #
1404
+ # @example Response structure
1405
+ # resp.schema_extension_id #=> String
1406
+ # @overload start_schema_extension(params = {})
1407
+ # @param [Hash] params ({})
1408
+ def start_schema_extension(params = {}, options = {})
1409
+ req = build_request(:start_schema_extension, params)
1410
+ req.send_request(options)
1411
+ end
1412
+
1413
+ # Updates a conditional forwarder that has been set up for your AWS
1414
+ # directory.
1415
+ # @option params [required, String] :directory_id
1416
+ # The directory ID of the AWS directory for which to update the
1417
+ # conditional forwarder.
1418
+ # @option params [required, String] :remote_domain_name
1419
+ # The fully qualified domain name (FQDN) of the remote domain with which
1420
+ # you will set up a trust relationship.
1421
+ # @option params [required, Array<String>] :dns_ip_addrs
1422
+ # The updated IP addresses of the remote DNS server associated with the
1423
+ # conditional forwarder.
1424
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1425
+ #
1426
+ # @example Request syntax with placeholder values
1427
+ # resp = client.update_conditional_forwarder({
1428
+ # directory_id: "DirectoryId", # required
1429
+ # remote_domain_name: "RemoteDomainName", # required
1430
+ # dns_ip_addrs: ["IpAddr"], # required
1431
+ # })
1432
+ # @overload update_conditional_forwarder(params = {})
1433
+ # @param [Hash] params ({})
1434
+ def update_conditional_forwarder(params = {}, options = {})
1435
+ req = build_request(:update_conditional_forwarder, params)
1436
+ req.send_request(options)
1437
+ end
1438
+
1439
+ # Updates the Remote Authentication Dial In User Service (RADIUS) server
1440
+ # information for an AD Connector directory.
1441
+ # @option params [required, String] :directory_id
1442
+ # The identifier of the directory for which to update the RADIUS server
1443
+ # information.
1444
+ # @option params [required, Types::RadiusSettings] :radius_settings
1445
+ # A RadiusSettings object that contains information about the RADIUS
1446
+ # server.
1447
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1448
+ #
1449
+ # @example Request syntax with placeholder values
1450
+ # resp = client.update_radius({
1451
+ # directory_id: "DirectoryId", # required
1452
+ # radius_settings: { # required
1453
+ # radius_servers: ["Server"],
1454
+ # radius_port: 1,
1455
+ # radius_timeout: 1,
1456
+ # radius_retries: 1,
1457
+ # shared_secret: "RadiusSharedSecret",
1458
+ # authentication_protocol: "PAP", # accepts PAP, CHAP, MS-CHAPv1, MS-CHAPv2
1459
+ # display_label: "RadiusDisplayLabel",
1460
+ # use_same_username: false,
1461
+ # },
1462
+ # })
1463
+ # @overload update_radius(params = {})
1464
+ # @param [Hash] params ({})
1465
+ def update_radius(params = {}, options = {})
1466
+ req = build_request(:update_radius, params)
1467
+ req.send_request(options)
1468
+ end
1469
+
1470
+ # AWS Directory Service for Microsoft Active Directory allows you to
1471
+ # configure and verify trust relationships.
1472
+ #
1473
+ # This action verifies a trust relationship between your Microsoft AD in
1474
+ # the AWS cloud and an external domain.
1475
+ # @option params [required, String] :trust_id
1476
+ # The unique Trust ID of the trust relationship to verify.
1477
+ # @return [Types::VerifyTrustResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1478
+ #
1479
+ # * {Types::VerifyTrustResult#trust_id #TrustId} => String
1480
+ #
1481
+ # @example Request syntax with placeholder values
1482
+ # resp = client.verify_trust({
1483
+ # trust_id: "TrustId", # required
1484
+ # })
1485
+ #
1486
+ # @example Response structure
1487
+ # resp.trust_id #=> String
1488
+ # @overload verify_trust(params = {})
1489
+ # @param [Hash] params ({})
1490
+ def verify_trust(params = {}, options = {})
1491
+ req = build_request(:verify_trust, params)
1492
+ req.send_request(options)
1493
+ end
1494
+
1495
+ # @!endgroup
1496
+
1497
+ # @param params ({})
1498
+ # @api private
1499
+ def build_request(operation_name, params = {})
1500
+ handlers = @handlers.for(operation_name)
1501
+ context = Seahorse::Client::RequestContext.new(
1502
+ operation_name: operation_name,
1503
+ operation: config.api.operation(operation_name),
1504
+ client: self,
1505
+ params: params,
1506
+ config: config)
1507
+ context[:gem_name] = 'aws-sdk-directoryservice'
1508
+ context[:gem_version] = '1.0.0.rc1'
1509
+ Seahorse::Client::Request.new(handlers, context)
1510
+ end
1511
+
1512
+ # @api private
1513
+ # @deprecated
1514
+ def waiter_names
1515
+ []
1516
+ end
1517
+
1518
+ class << self
1519
+
1520
+ # @api private
1521
+ attr_reader :identifier
1522
+
1523
+ # @api private
1524
+ def errors_module
1525
+ Errors
1526
+ end
1527
+
1528
+ end
1529
+ end
1530
+ end
1531
+ end