aws-sdk-directoryservice 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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