aws-sdk-directoryservice 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,23 +1,14 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
- module Aws
9
- module DirectoryService
10
- module Errors
8
+ module Aws::DirectoryService
9
+ module Errors
11
10
 
12
- extend Aws::Errors::DynamicErrors
11
+ extend Aws::Errors::DynamicErrors
13
12
 
14
- # Raised when calling #load or #data on a resource class that can not be
15
- # loaded. This can happen when:
16
- #
17
- # * A resource class has identifiers, but no data attributes.
18
- # * Resource data is only available when making an API call that
19
- # enumerates all resources of that type.
20
- class ResourceNotLoadable < RuntimeError; end
21
- end
22
13
  end
23
14
  end
@@ -1,25 +1,23 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
- module Aws
9
- module DirectoryService
10
- class Resource
8
+ module Aws::DirectoryService
9
+ class Resource
11
10
 
12
- # @param options ({})
13
- # @option options [Client] :client
14
- def initialize(options = {})
15
- @client = options[:client] || Client.new(options)
16
- end
17
-
18
- # @return [Client]
19
- def client
20
- @client
21
- end
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
22
16
 
17
+ # @return [Client]
18
+ def client
19
+ @client
23
20
  end
21
+
24
22
  end
25
23
  end
@@ -1,2172 +1,2368 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
- module Aws
9
- module DirectoryService
10
- module Types
11
-
12
- # @note When making an API call, pass AddIpRoutesRequest
13
- # data as a hash:
14
- #
15
- # {
16
- # directory_id: "DirectoryId", # required
17
- # ip_routes: [ # required
18
- # {
19
- # cidr_ip: "CidrIp",
20
- # description: "Description",
21
- # },
22
- # ],
23
- # update_security_group_for_directory_controllers: false,
24
- # }
25
- # @!attribute [rw] directory_id
26
- # Identifier (ID) of the directory to which to add the address block.
27
- # @return [String]
28
- #
29
- # @!attribute [rw] ip_routes
30
- # IP address blocks, using CIDR format, of the traffic to route. This
31
- # is often the IP address block of the DNS server used for your
32
- # on-premises domain.
33
- # @return [Array<Types::IpRoute>]
34
- #
35
- # @!attribute [rw] update_security_group_for_directory_controllers
36
- # If set to true, updates the inbound and outbound rules of the
37
- # security group that has the description: "AWS created security
38
- # group for *directory ID* directory controllers." Following are the
39
- # new rules:
40
- #
41
- # Inbound:
42
- #
43
- # * Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0
44
- #
45
- # * Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source:
46
- # 0.0.0.0/0
47
- #
48
- # * Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source:
49
- # 0.0.0.0/0
50
- #
51
- # * Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source:
52
- # 0.0.0.0/0
53
- #
54
- # * Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source:
55
- # 0.0.0.0/0
56
- #
57
- # * Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source:
58
- # 0.0.0.0/0
59
- #
60
- # * Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0
61
- #
62
- # * Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source:
63
- # 0.0.0.0/0
64
- #
65
- # * Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source:
66
- # 0.0.0.0/0
67
- #
68
- # * Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source:
69
- # 0.0.0.0/0
70
- #
71
- # * Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source:
72
- # 0.0.0.0/0
73
- #
74
- # * Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source:
75
- # 0.0.0.0/0
76
- #
77
- # * Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source:
78
- # 0.0.0.0/0
79
- #
80
- # * Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0
81
- #
82
- # * Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0
83
- #
84
- # * Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0
85
- #
86
- # * Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0
87
- #
88
- #
89
- #
90
- # Outbound:
91
- #
92
- # * Type: All traffic, Protocol: All, Range: All, Destination:
93
- # 0.0.0.0/0
94
- #
95
- # ^
96
- #
97
- # These security rules impact an internal network interface that is
98
- # not exposed publicly.
99
- # @return [Boolean]
100
- class AddIpRoutesRequest < Struct.new(
101
- :directory_id,
102
- :ip_routes,
103
- :update_security_group_for_directory_controllers)
104
- include Aws::Structure
105
- end
106
-
107
- class AddIpRoutesResult < Aws::EmptyStructure; end
108
-
109
- # @note When making an API call, pass AddTagsToResourceRequest
110
- # data as a hash:
111
- #
112
- # {
113
- # resource_id: "ResourceId", # required
114
- # tags: [ # required
115
- # {
116
- # key: "TagKey", # required
117
- # value: "TagValue", # required
118
- # },
119
- # ],
120
- # }
121
- # @!attribute [rw] resource_id
122
- # Identifier (ID) for the directory to which to add the tag.
123
- # @return [String]
124
- #
125
- # @!attribute [rw] tags
126
- # The tags to be assigned to the Amazon Directory Services directory.
127
- # @return [Array<Types::Tag>]
128
- class AddTagsToResourceRequest < Struct.new(
129
- :resource_id,
130
- :tags)
131
- include Aws::Structure
132
- end
133
-
134
- class AddTagsToResourceResult < Aws::EmptyStructure; end
135
-
136
- # Represents a named directory attribute.
137
- # @note When making an API call, pass Attribute
138
- # data as a hash:
139
- #
140
- # {
141
- # name: "AttributeName",
142
- # value: "AttributeValue",
143
- # }
144
- # @!attribute [rw] name
145
- # The name of the attribute.
146
- # @return [String]
147
- #
148
- # @!attribute [rw] value
149
- # The value of the attribute.
150
- # @return [String]
151
- class Attribute < Struct.new(
152
- :name,
153
- :value)
154
- include Aws::Structure
155
- end
156
-
157
- # @note When making an API call, pass CancelSchemaExtensionRequest
158
- # data as a hash:
159
- #
160
- # {
161
- # directory_id: "DirectoryId", # required
162
- # schema_extension_id: "SchemaExtensionId", # required
163
- # }
164
- # @!attribute [rw] directory_id
165
- # The identifier of the directory whose schema extension will be
166
- # canceled.
167
- # @return [String]
168
- #
169
- # @!attribute [rw] schema_extension_id
170
- # The identifier of the schema extension that will be canceled.
171
- # @return [String]
172
- class CancelSchemaExtensionRequest < Struct.new(
173
- :directory_id,
174
- :schema_extension_id)
175
- include Aws::Structure
176
- end
177
-
178
- class CancelSchemaExtensionResult < Aws::EmptyStructure; end
179
-
180
- # Contains information about a computer account in a directory.
181
- # @!attribute [rw] computer_id
182
- # The identifier of the computer.
183
- # @return [String]
184
- #
185
- # @!attribute [rw] computer_name
186
- # The computer name.
187
- # @return [String]
188
- #
189
- # @!attribute [rw] computer_attributes
190
- # An array of Attribute objects containing the LDAP attributes that
191
- # belong to the computer account.
192
- # @return [Array<Types::Attribute>]
193
- class Computer < Struct.new(
194
- :computer_id,
195
- :computer_name,
196
- :computer_attributes)
197
- include Aws::Structure
198
- end
199
-
200
- # Points to a remote domain with which you are setting up a trust
201
- # relationship. Conditional forwarders are required in order to set up a
202
- # trust relationship with another domain.
203
- # @!attribute [rw] remote_domain_name
204
- # The fully qualified domain name (FQDN) of the remote domains pointed
205
- # to by the conditional forwarder.
206
- # @return [String]
207
- #
208
- # @!attribute [rw] dns_ip_addrs
209
- # The IP addresses of the remote DNS server associated with
210
- # RemoteDomainName. This is the IP address of the DNS server that your
211
- # conditional forwarder points to.
212
- # @return [Array<String>]
213
- #
214
- # @!attribute [rw] replication_scope
215
- # The replication scope of the conditional forwarder. The only allowed
216
- # value is `Domain`, which will replicate the conditional forwarder to
217
- # all of the domain controllers for your AWS directory.
218
- # @return [String]
219
- class ConditionalForwarder < Struct.new(
220
- :remote_domain_name,
221
- :dns_ip_addrs,
222
- :replication_scope)
223
- include Aws::Structure
224
- end
225
-
226
- # Contains the inputs for the ConnectDirectory operation.
227
- # @note When making an API call, pass ConnectDirectoryRequest
228
- # data as a hash:
229
- #
230
- # {
231
- # name: "DirectoryName", # required
232
- # short_name: "DirectoryShortName",
233
- # password: "ConnectPassword", # required
234
- # description: "Description",
235
- # size: "Small", # required, accepts Small, Large
236
- # connect_settings: { # required
237
- # vpc_id: "VpcId", # required
238
- # subnet_ids: ["SubnetId"], # required
239
- # customer_dns_ips: ["IpAddr"], # required
240
- # customer_user_name: "UserName", # required
241
- # },
242
- # }
243
- # @!attribute [rw] name
244
- # The fully-qualified name of the on-premises directory, such as
245
- # `corp.example.com`.
246
- # @return [String]
247
- #
248
- # @!attribute [rw] short_name
249
- # The NetBIOS name of the on-premises directory, such as `CORP`.
250
- # @return [String]
251
- #
252
- # @!attribute [rw] password
253
- # The password for the on-premises user account.
254
- # @return [String]
255
- #
256
- # @!attribute [rw] description
257
- # A textual description for the directory.
258
- # @return [String]
259
- #
260
- # @!attribute [rw] size
261
- # The size of the directory.
262
- # @return [String]
263
- #
264
- # @!attribute [rw] connect_settings
265
- # A DirectoryConnectSettings object that contains additional
266
- # information for the operation.
267
- # @return [Types::DirectoryConnectSettings]
268
- class ConnectDirectoryRequest < Struct.new(
269
- :name,
270
- :short_name,
271
- :password,
272
- :description,
273
- :size,
274
- :connect_settings)
275
- include Aws::Structure
276
- end
277
-
278
- # Contains the results of the ConnectDirectory operation.
279
- # @!attribute [rw] directory_id
280
- # The identifier of the new directory.
281
- # @return [String]
282
- class ConnectDirectoryResult < Struct.new(
283
- :directory_id)
284
- include Aws::Structure
285
- end
286
-
287
- # Contains the inputs for the CreateAlias operation.
288
- # @note When making an API call, pass CreateAliasRequest
289
- # data as a hash:
290
- #
291
- # {
292
- # directory_id: "DirectoryId", # required
293
- # alias: "AliasName", # required
294
- # }
295
- # @!attribute [rw] directory_id
296
- # The identifier of the directory for which to create the alias.
297
- # @return [String]
298
- #
299
- # @!attribute [rw] alias
300
- # The requested alias.
301
- #
302
- # The alias must be unique amongst all aliases in AWS. This operation
303
- # throws an `EntityAlreadyExistsException` error if the alias already
304
- # exists.
305
- # @return [String]
306
- class CreateAliasRequest < Struct.new(
307
- :directory_id,
308
- :alias)
309
- include Aws::Structure
310
- end
311
-
312
- # Contains the results of the CreateAlias operation.
313
- # @!attribute [rw] directory_id
314
- # The identifier of the directory.
315
- # @return [String]
316
- #
317
- # @!attribute [rw] alias
318
- # The alias for the directory.
319
- # @return [String]
320
- class CreateAliasResult < Struct.new(
321
- :directory_id,
322
- :alias)
323
- include Aws::Structure
324
- end
325
-
326
- # Contains the inputs for the CreateComputer operation.
327
- # @note When making an API call, pass CreateComputerRequest
328
- # data as a hash:
329
- #
330
- # {
331
- # directory_id: "DirectoryId", # required
332
- # computer_name: "ComputerName", # required
333
- # password: "ComputerPassword", # required
334
- # organizational_unit_distinguished_name: "OrganizationalUnitDN",
335
- # computer_attributes: [
336
- # {
337
- # name: "AttributeName",
338
- # value: "AttributeValue",
339
- # },
340
- # ],
341
- # }
342
- # @!attribute [rw] directory_id
343
- # The identifier of the directory in which to create the computer
344
- # account.
345
- # @return [String]
346
- #
347
- # @!attribute [rw] computer_name
348
- # The name of the computer account.
349
- # @return [String]
350
- #
351
- # @!attribute [rw] password
352
- # A one-time password that is used to join the computer to the
353
- # directory. You should generate a random, strong password to use for
354
- # this parameter.
355
- # @return [String]
356
- #
357
- # @!attribute [rw] organizational_unit_distinguished_name
358
- # The fully-qualified distinguished name of the organizational unit to
359
- # place the computer account in.
360
- # @return [String]
361
- #
362
- # @!attribute [rw] computer_attributes
363
- # An array of Attribute objects that contain any LDAP attributes to
364
- # apply to the computer account.
365
- # @return [Array<Types::Attribute>]
366
- class CreateComputerRequest < Struct.new(
367
- :directory_id,
368
- :computer_name,
369
- :password,
370
- :organizational_unit_distinguished_name,
371
- :computer_attributes)
372
- include Aws::Structure
373
- end
374
-
375
- # Contains the results for the CreateComputer operation.
376
- # @!attribute [rw] computer
377
- # A Computer object that represents the computer account.
378
- # @return [Types::Computer]
379
- class CreateComputerResult < Struct.new(
380
- :computer)
381
- include Aws::Structure
382
- end
383
-
384
- # Initiates the creation of a conditional forwarder for your AWS
385
- # Directory Service for Microsoft Active Directory. Conditional
386
- # forwarders are required in order to set up a trust relationship with
387
- # another domain.
388
- # @note When making an API call, pass CreateConditionalForwarderRequest
389
- # data as a hash:
390
- #
391
- # {
392
- # directory_id: "DirectoryId", # required
393
- # remote_domain_name: "RemoteDomainName", # required
394
- # dns_ip_addrs: ["IpAddr"], # required
395
- # }
396
- # @!attribute [rw] directory_id
397
- # The directory ID of the AWS directory for which you are creating the
398
- # conditional forwarder.
399
- # @return [String]
400
- #
401
- # @!attribute [rw] remote_domain_name
402
- # The fully qualified domain name (FQDN) of the remote domain with
403
- # which you will set up a trust relationship.
404
- # @return [String]
405
- #
406
- # @!attribute [rw] dns_ip_addrs
407
- # The IP addresses of the remote DNS server associated with
408
- # RemoteDomainName.
409
- # @return [Array<String>]
410
- class CreateConditionalForwarderRequest < Struct.new(
411
- :directory_id,
412
- :remote_domain_name,
413
- :dns_ip_addrs)
414
- include Aws::Structure
415
- end
416
-
417
- # The result of a CreateConditinalForwarder request.
418
- class CreateConditionalForwarderResult < Aws::EmptyStructure; end
419
-
420
- # Contains the inputs for the CreateDirectory operation.
421
- # @note When making an API call, pass CreateDirectoryRequest
422
- # data as a hash:
423
- #
424
- # {
425
- # name: "DirectoryName", # required
426
- # short_name: "DirectoryShortName",
427
- # password: "Password", # required
428
- # description: "Description",
429
- # size: "Small", # required, accepts Small, Large
430
- # vpc_settings: {
431
- # vpc_id: "VpcId", # required
432
- # subnet_ids: ["SubnetId"], # required
433
- # },
434
- # }
435
- # @!attribute [rw] name
436
- # The fully qualified name for the directory, such as
437
- # `corp.example.com`.
438
- # @return [String]
439
- #
440
- # @!attribute [rw] short_name
441
- # The short name of the directory, such as `CORP`.
442
- # @return [String]
443
- #
444
- # @!attribute [rw] password
445
- # The password for the directory administrator. The directory creation
446
- # process creates a directory administrator account with the username
447
- # `Administrator` and this password.
448
- # @return [String]
449
- #
450
- # @!attribute [rw] description
451
- # A textual description for the directory.
452
- # @return [String]
453
- #
454
- # @!attribute [rw] size
455
- # The size of the directory.
456
- # @return [String]
457
- #
458
- # @!attribute [rw] vpc_settings
459
- # A DirectoryVpcSettings object that contains additional information
460
- # for the operation.
461
- # @return [Types::DirectoryVpcSettings]
462
- class CreateDirectoryRequest < Struct.new(
463
- :name,
464
- :short_name,
465
- :password,
466
- :description,
467
- :size,
468
- :vpc_settings)
469
- include Aws::Structure
470
- end
471
-
472
- # Contains the results of the CreateDirectory operation.
473
- # @!attribute [rw] directory_id
474
- # The identifier of the directory that was created.
475
- # @return [String]
476
- class CreateDirectoryResult < Struct.new(
477
- :directory_id)
478
- include Aws::Structure
479
- end
480
-
481
- # Creates a Microsoft AD in the AWS cloud.
482
- # @note When making an API call, pass CreateMicrosoftADRequest
483
- # data as a hash:
484
- #
485
- # {
486
- # name: "DirectoryName", # required
487
- # short_name: "DirectoryShortName",
488
- # password: "Password", # required
489
- # description: "Description",
490
- # vpc_settings: { # required
491
- # vpc_id: "VpcId", # required
492
- # subnet_ids: ["SubnetId"], # required
493
- # },
494
- # }
495
- # @!attribute [rw] name
496
- # The fully qualified domain name for the directory, such as
497
- # `corp.example.com`. This name will resolve inside your VPC only. It
498
- # does not need to be publicly resolvable.
499
- # @return [String]
500
- #
501
- # @!attribute [rw] short_name
502
- # The NetBIOS name for your domain. A short identifier for your
503
- # domain, such as `CORP`. If you don't specify a NetBIOS name, it
504
- # will default to the first part of your directory DNS. For example,
505
- # `CORP` for the directory DNS `corp.example.com`.
506
- # @return [String]
507
- #
508
- # @!attribute [rw] password
509
- # The password for the default administrative user named `Admin`.
510
- # @return [String]
511
- #
512
- # @!attribute [rw] description
513
- # A textual description for the directory. This label will appear on
514
- # the AWS console `Directory Details` page after the directory is
515
- # created.
516
- # @return [String]
517
- #
518
- # @!attribute [rw] vpc_settings
519
- # Contains VPC information for the CreateDirectory or
520
- # CreateMicrosoftAD operation.
521
- # @return [Types::DirectoryVpcSettings]
522
- class CreateMicrosoftADRequest < Struct.new(
523
- :name,
524
- :short_name,
525
- :password,
526
- :description,
527
- :vpc_settings)
528
- include Aws::Structure
529
- end
530
-
531
- # Result of a CreateMicrosoftAD request.
532
- # @!attribute [rw] directory_id
533
- # The identifier of the directory that was created.
534
- # @return [String]
535
- class CreateMicrosoftADResult < Struct.new(
536
- :directory_id)
537
- include Aws::Structure
538
- end
539
-
540
- # Contains the inputs for the CreateSnapshot operation.
541
- # @note When making an API call, pass CreateSnapshotRequest
542
- # data as a hash:
543
- #
544
- # {
545
- # directory_id: "DirectoryId", # required
546
- # name: "SnapshotName",
547
- # }
548
- # @!attribute [rw] directory_id
549
- # The identifier of the directory of which to take a snapshot.
550
- # @return [String]
551
- #
552
- # @!attribute [rw] name
553
- # The descriptive name to apply to the snapshot.
554
- # @return [String]
555
- class CreateSnapshotRequest < Struct.new(
556
- :directory_id,
557
- :name)
558
- include Aws::Structure
559
- end
560
-
561
- # Contains the results of the CreateSnapshot operation.
562
- # @!attribute [rw] snapshot_id
563
- # The identifier of the snapshot that was created.
564
- # @return [String]
565
- class CreateSnapshotResult < Struct.new(
566
- :snapshot_id)
567
- include Aws::Structure
568
- end
569
-
570
- # AWS Directory Service for Microsoft Active Directory allows you to
571
- # configure trust relationships. For example, you can establish a trust
572
- # between your Microsoft AD in the AWS cloud, and your existing
573
- # on-premises Microsoft Active Directory. This would allow you to
574
- # provide users and groups access to resources in either domain, with a
575
- # single set of credentials.
576
- #
577
- # This action initiates the creation of the AWS side of a trust
578
- # relationship between a Microsoft AD in the AWS cloud and an external
579
- # domain.
580
- # @note When making an API call, pass CreateTrustRequest
581
- # data as a hash:
582
- #
583
- # {
584
- # directory_id: "DirectoryId", # required
585
- # remote_domain_name: "RemoteDomainName", # required
586
- # trust_password: "TrustPassword", # required
587
- # trust_direction: "One-Way: Outgoing", # required, accepts One-Way: Outgoing, One-Way: Incoming, Two-Way
588
- # trust_type: "Forest", # accepts Forest
589
- # conditional_forwarder_ip_addrs: ["IpAddr"],
590
- # }
591
- # @!attribute [rw] directory_id
592
- # The Directory ID of the Microsoft AD in the AWS cloud for which to
593
- # establish the trust relationship.
594
- # @return [String]
595
- #
596
- # @!attribute [rw] remote_domain_name
597
- # The Fully Qualified Domain Name (FQDN) of the external domain for
598
- # which to create the trust relationship.
599
- # @return [String]
600
- #
601
- # @!attribute [rw] trust_password
602
- # The trust password. The must be the same password that was used when
603
- # creating the trust relationship on the external domain.
604
- # @return [String]
605
- #
606
- # @!attribute [rw] trust_direction
607
- # The direction of the trust relationship.
608
- # @return [String]
609
- #
610
- # @!attribute [rw] trust_type
611
- # The trust relationship type.
612
- # @return [String]
613
- #
614
- # @!attribute [rw] conditional_forwarder_ip_addrs
615
- # The IP addresses of the remote DNS server associated with
616
- # RemoteDomainName.
617
- # @return [Array<String>]
618
- class CreateTrustRequest < Struct.new(
619
- :directory_id,
620
- :remote_domain_name,
621
- :trust_password,
622
- :trust_direction,
623
- :trust_type,
624
- :conditional_forwarder_ip_addrs)
625
- include Aws::Structure
626
- end
627
-
628
- # The result of a CreateTrust request.
629
- # @!attribute [rw] trust_id
630
- # A unique identifier for the trust relationship that was created.
631
- # @return [String]
632
- class CreateTrustResult < Struct.new(
633
- :trust_id)
634
- include Aws::Structure
635
- end
636
-
637
- # Deletes a conditional forwarder.
638
- # @note When making an API call, pass DeleteConditionalForwarderRequest
639
- # data as a hash:
640
- #
641
- # {
642
- # directory_id: "DirectoryId", # required
643
- # remote_domain_name: "RemoteDomainName", # required
644
- # }
645
- # @!attribute [rw] directory_id
646
- # The directory ID for which you are deleting the conditional
647
- # forwarder.
648
- # @return [String]
649
- #
650
- # @!attribute [rw] remote_domain_name
651
- # The fully qualified domain name (FQDN) of the remote domain with
652
- # which you are deleting the conditional forwarder.
653
- # @return [String]
654
- class DeleteConditionalForwarderRequest < Struct.new(
655
- :directory_id,
656
- :remote_domain_name)
657
- include Aws::Structure
658
- end
659
-
660
- # The result of a DeleteConditionalForwarder request.
661
- class DeleteConditionalForwarderResult < Aws::EmptyStructure; end
662
-
663
- # Contains the inputs for the DeleteDirectory operation.
664
- # @note When making an API call, pass DeleteDirectoryRequest
665
- # data as a hash:
666
- #
667
- # {
668
- # directory_id: "DirectoryId", # required
669
- # }
670
- # @!attribute [rw] directory_id
671
- # The identifier of the directory to delete.
672
- # @return [String]
673
- class DeleteDirectoryRequest < Struct.new(
674
- :directory_id)
675
- include Aws::Structure
676
- end
677
-
678
- # Contains the results of the DeleteDirectory operation.
679
- # @!attribute [rw] directory_id
680
- # The directory identifier.
681
- # @return [String]
682
- class DeleteDirectoryResult < Struct.new(
683
- :directory_id)
684
- include Aws::Structure
685
- end
686
-
687
- # Contains the inputs for the DeleteSnapshot operation.
688
- # @note When making an API call, pass DeleteSnapshotRequest
689
- # data as a hash:
690
- #
691
- # {
692
- # snapshot_id: "SnapshotId", # required
693
- # }
694
- # @!attribute [rw] snapshot_id
695
- # The identifier of the directory snapshot to be deleted.
696
- # @return [String]
697
- class DeleteSnapshotRequest < Struct.new(
698
- :snapshot_id)
699
- include Aws::Structure
700
- end
701
-
702
- # Contains the results of the DeleteSnapshot operation.
703
- # @!attribute [rw] snapshot_id
704
- # The identifier of the directory snapshot that was deleted.
705
- # @return [String]
706
- class DeleteSnapshotResult < Struct.new(
707
- :snapshot_id)
708
- include Aws::Structure
709
- end
710
-
711
- # Deletes the local side of an existing trust relationship between the
712
- # Microsoft AD in the AWS cloud and the external domain.
713
- # @note When making an API call, pass DeleteTrustRequest
714
- # data as a hash:
715
- #
716
- # {
717
- # trust_id: "TrustId", # required
718
- # delete_associated_conditional_forwarder: false,
719
- # }
720
- # @!attribute [rw] trust_id
721
- # The Trust ID of the trust relationship to be deleted.
722
- # @return [String]
723
- #
724
- # @!attribute [rw] delete_associated_conditional_forwarder
725
- # Delete a conditional forwarder as part of a DeleteTrustRequest.
726
- # @return [Boolean]
727
- class DeleteTrustRequest < Struct.new(
728
- :trust_id,
729
- :delete_associated_conditional_forwarder)
730
- include Aws::Structure
731
- end
732
-
733
- # The result of a DeleteTrust request.
734
- # @!attribute [rw] trust_id
735
- # The Trust ID of the trust relationship that was deleted.
736
- # @return [String]
737
- class DeleteTrustResult < Struct.new(
738
- :trust_id)
739
- include Aws::Structure
740
- end
741
-
742
- # Removes the specified directory as a publisher to the specified SNS
743
- # topic.
744
- # @note When making an API call, pass DeregisterEventTopicRequest
745
- # data as a hash:
746
- #
747
- # {
748
- # directory_id: "DirectoryId", # required
749
- # topic_name: "TopicName", # required
750
- # }
751
- # @!attribute [rw] directory_id
752
- # The Directory ID to remove as a publisher. This directory will no
753
- # longer send messages to the specified SNS topic.
754
- # @return [String]
755
- #
756
- # @!attribute [rw] topic_name
757
- # The name of the SNS topic from which to remove the directory as a
758
- # publisher.
759
- # @return [String]
760
- class DeregisterEventTopicRequest < Struct.new(
761
- :directory_id,
762
- :topic_name)
763
- include Aws::Structure
764
- end
765
-
766
- # The result of a DeregisterEventTopic request.
767
- class DeregisterEventTopicResult < Aws::EmptyStructure; end
768
-
769
- # Describes a conditional forwarder.
770
- # @note When making an API call, pass DescribeConditionalForwardersRequest
771
- # data as a hash:
772
- #
773
- # {
774
- # directory_id: "DirectoryId", # required
775
- # remote_domain_names: ["RemoteDomainName"],
776
- # }
777
- # @!attribute [rw] directory_id
778
- # The directory ID for which to get the list of associated conditional
779
- # forwarders.
780
- # @return [String]
781
- #
782
- # @!attribute [rw] remote_domain_names
783
- # The fully qualified domain names (FQDN) of the remote domains for
784
- # which to get the list of associated conditional forwarders. If this
785
- # member is null, all conditional forwarders are returned.
786
- # @return [Array<String>]
787
- class DescribeConditionalForwardersRequest < Struct.new(
788
- :directory_id,
789
- :remote_domain_names)
790
- include Aws::Structure
791
- end
792
-
793
- # The result of a DescribeConditionalForwarder request.
794
- # @!attribute [rw] conditional_forwarders
795
- # The list of conditional forwarders that have been created.
796
- # @return [Array<Types::ConditionalForwarder>]
797
- class DescribeConditionalForwardersResult < Struct.new(
798
- :conditional_forwarders)
799
- include Aws::Structure
800
- end
801
-
802
- # Contains the inputs for the DescribeDirectories operation.
803
- # @note When making an API call, pass DescribeDirectoriesRequest
804
- # data as a hash:
805
- #
806
- # {
807
- # directory_ids: ["DirectoryId"],
808
- # next_token: "NextToken",
809
- # limit: 1,
810
- # }
811
- # @!attribute [rw] directory_ids
812
- # A list of identifiers of the directories for which to obtain the
813
- # information. If this member is null, all directories that belong to
814
- # the current account are returned.
815
- #
816
- # An empty list results in an `InvalidParameterException` being
817
- # thrown.
818
- # @return [Array<String>]
819
- #
820
- # @!attribute [rw] next_token
821
- # The *DescribeDirectoriesResult.NextToken* value from a previous call
822
- # to DescribeDirectories. Pass null if this is the first call.
823
- # @return [String]
824
- #
825
- # @!attribute [rw] limit
826
- # The maximum number of items to return. If this value is zero, the
827
- # maximum number of items is specified by the limitations of the
828
- # operation.
829
- # @return [Integer]
830
- class DescribeDirectoriesRequest < Struct.new(
831
- :directory_ids,
832
- :next_token,
833
- :limit)
834
- include Aws::Structure
835
- end
836
-
837
- # Contains the results of the DescribeDirectories operation.
838
- # @!attribute [rw] directory_descriptions
839
- # The list of DirectoryDescription objects that were retrieved.
840
- #
841
- # It is possible that this list contains less than the number of items
842
- # specified in the *Limit* member of the request. This occurs if there
843
- # are less than the requested number of items left to retrieve, or if
844
- # the limitations of the operation have been exceeded.
845
- # @return [Array<Types::DirectoryDescription>]
846
- #
847
- # @!attribute [rw] next_token
848
- # If not null, more results are available. Pass this value for the
849
- # *NextToken* parameter in a subsequent call to DescribeDirectories to
850
- # retrieve the next set of items.
851
- # @return [String]
852
- class DescribeDirectoriesResult < Struct.new(
853
- :directory_descriptions,
854
- :next_token)
855
- include Aws::Structure
856
- end
857
-
858
- # Describes event topics.
859
- # @note When making an API call, pass DescribeEventTopicsRequest
860
- # data as a hash:
861
- #
862
- # {
863
- # directory_id: "DirectoryId",
864
- # topic_names: ["TopicName"],
865
- # }
866
- # @!attribute [rw] directory_id
867
- # The Directory ID for which to get the list of associated SNS topics.
868
- # If this member is null, associations for all Directory IDs are
869
- # returned.
870
- # @return [String]
871
- #
872
- # @!attribute [rw] topic_names
873
- # A list of SNS topic names for which to obtain the information. If
874
- # this member is null, all associations for the specified Directory ID
875
- # are returned.
876
- #
877
- # An empty list results in an `InvalidParameterException` being
878
- # thrown.
879
- # @return [Array<String>]
880
- class DescribeEventTopicsRequest < Struct.new(
881
- :directory_id,
882
- :topic_names)
883
- include Aws::Structure
884
- end
885
-
886
- # The result of a DescribeEventTopic request.
887
- # @!attribute [rw] event_topics
888
- # A list of SNS topic names that receive status messages from the
889
- # specified Directory ID.
890
- # @return [Array<Types::EventTopic>]
891
- class DescribeEventTopicsResult < Struct.new(
892
- :event_topics)
893
- include Aws::Structure
894
- end
895
-
896
- # Contains the inputs for the DescribeSnapshots operation.
897
- # @note When making an API call, pass DescribeSnapshotsRequest
898
- # data as a hash:
899
- #
900
- # {
901
- # directory_id: "DirectoryId",
902
- # snapshot_ids: ["SnapshotId"],
903
- # next_token: "NextToken",
904
- # limit: 1,
905
- # }
906
- # @!attribute [rw] directory_id
907
- # The identifier of the directory for which to retrieve snapshot
908
- # information.
909
- # @return [String]
910
- #
911
- # @!attribute [rw] snapshot_ids
912
- # A list of identifiers of the snapshots to obtain the information
913
- # for. If this member is null or empty, all snapshots are returned
914
- # using the *Limit* and *NextToken* members.
915
- # @return [Array<String>]
916
- #
917
- # @!attribute [rw] next_token
918
- # The *DescribeSnapshotsResult.NextToken* value from a previous call
919
- # to DescribeSnapshots. Pass null if this is the first call.
920
- # @return [String]
921
- #
922
- # @!attribute [rw] limit
923
- # The maximum number of objects to return.
924
- # @return [Integer]
925
- class DescribeSnapshotsRequest < Struct.new(
926
- :directory_id,
927
- :snapshot_ids,
928
- :next_token,
929
- :limit)
930
- include Aws::Structure
931
- end
932
-
933
- # Contains the results of the DescribeSnapshots operation.
934
- # @!attribute [rw] snapshots
935
- # The list of Snapshot objects that were retrieved.
936
- #
937
- # It is possible that this list contains less than the number of items
938
- # specified in the *Limit* member of the request. This occurs if there
939
- # are less than the requested number of items left to retrieve, or if
940
- # the limitations of the operation have been exceeded.
941
- # @return [Array<Types::Snapshot>]
942
- #
943
- # @!attribute [rw] next_token
944
- # If not null, more results are available. Pass this value in the
945
- # *NextToken* member of a subsequent call to DescribeSnapshots.
946
- # @return [String]
947
- class DescribeSnapshotsResult < Struct.new(
948
- :snapshots,
949
- :next_token)
950
- include Aws::Structure
951
- end
952
-
953
- # Describes the trust relationships for a particular Microsoft AD in the
954
- # AWS cloud. If no input parameters are are provided, such as directory
955
- # ID or trust ID, this request describes all the trust relationships.
956
- # @note When making an API call, pass DescribeTrustsRequest
957
- # data as a hash:
958
- #
959
- # {
960
- # directory_id: "DirectoryId",
961
- # trust_ids: ["TrustId"],
962
- # next_token: "NextToken",
963
- # limit: 1,
964
- # }
965
- # @!attribute [rw] directory_id
966
- # The Directory ID of the AWS directory that is a part of the
967
- # requested trust relationship.
968
- # @return [String]
969
- #
970
- # @!attribute [rw] trust_ids
971
- # A list of identifiers of the trust relationships for which to obtain
972
- # the information. If this member is null, all trust relationships
973
- # that belong to the current account are returned.
974
- #
975
- # An empty list results in an `InvalidParameterException` being
976
- # thrown.
977
- # @return [Array<String>]
978
- #
979
- # @!attribute [rw] next_token
980
- # The *DescribeTrustsResult.NextToken* value from a previous call to
981
- # DescribeTrusts. Pass null if this is the first call.
982
- # @return [String]
983
- #
984
- # @!attribute [rw] limit
985
- # The maximum number of objects to return.
986
- # @return [Integer]
987
- class DescribeTrustsRequest < Struct.new(
988
- :directory_id,
989
- :trust_ids,
990
- :next_token,
991
- :limit)
992
- include Aws::Structure
993
- end
994
-
995
- # The result of a DescribeTrust request.
996
- # @!attribute [rw] trusts
997
- # The list of Trust objects that were retrieved.
998
- #
999
- # It is possible that this list contains less than the number of items
1000
- # specified in the *Limit* member of the request. This occurs if there
1001
- # are less than the requested number of items left to retrieve, or if
1002
- # the limitations of the operation have been exceeded.
1003
- # @return [Array<Types::Trust>]
1004
- #
1005
- # @!attribute [rw] next_token
1006
- # If not null, more results are available. Pass this value for the
1007
- # *NextToken* parameter in a subsequent call to DescribeTrusts to
1008
- # retrieve the next set of items.
1009
- # @return [String]
1010
- class DescribeTrustsResult < Struct.new(
1011
- :trusts,
1012
- :next_token)
1013
- include Aws::Structure
1014
- end
1015
-
1016
- # Contains information for the ConnectDirectory operation when an AD
1017
- # Connector directory is being created.
1018
- # @note When making an API call, pass DirectoryConnectSettings
1019
- # data as a hash:
1020
- #
1021
- # {
1022
- # vpc_id: "VpcId", # required
1023
- # subnet_ids: ["SubnetId"], # required
1024
- # customer_dns_ips: ["IpAddr"], # required
1025
- # customer_user_name: "UserName", # required
1026
- # }
1027
- # @!attribute [rw] vpc_id
1028
- # The identifier of the VPC in which the AD Connector is created.
1029
- # @return [String]
1030
- #
1031
- # @!attribute [rw] subnet_ids
1032
- # A list of subnet identifiers in the VPC in which the AD Connector is
1033
- # created.
1034
- # @return [Array<String>]
1035
- #
1036
- # @!attribute [rw] customer_dns_ips
1037
- # A list of one or more IP addresses of DNS servers or domain
1038
- # controllers in the on-premises directory.
1039
- # @return [Array<String>]
1040
- #
1041
- # @!attribute [rw] customer_user_name
1042
- # The username of an account in the on-premises directory that is used
1043
- # to connect to the directory. This account must have the following
1044
- # privileges:
1045
- #
1046
- # * Read users and groups
1047
- #
1048
- # * Create computer objects
1049
- #
1050
- # * Join computers to the domain
1051
- # @return [String]
1052
- class DirectoryConnectSettings < Struct.new(
1053
- :vpc_id,
1054
- :subnet_ids,
1055
- :customer_dns_ips,
1056
- :customer_user_name)
1057
- include Aws::Structure
1058
- end
1059
-
1060
- # Contains information about an AD Connector directory.
1061
- # @!attribute [rw] vpc_id
1062
- # The identifier of the VPC that the AD Connector is in.
1063
- # @return [String]
1064
- #
1065
- # @!attribute [rw] subnet_ids
1066
- # A list of subnet identifiers in the VPC that the AD connector is in.
1067
- # @return [Array<String>]
1068
- #
1069
- # @!attribute [rw] customer_user_name
1070
- # The username of the service account in the on-premises directory.
1071
- # @return [String]
1072
- #
1073
- # @!attribute [rw] security_group_id
1074
- # The security group identifier for the AD Connector directory.
1075
- # @return [String]
1076
- #
1077
- # @!attribute [rw] availability_zones
1078
- # A list of the Availability Zones that the directory is in.
1079
- # @return [Array<String>]
1080
- #
1081
- # @!attribute [rw] connect_ips
1082
- # The IP addresses of the AD Connector servers.
1083
- # @return [Array<String>]
1084
- class DirectoryConnectSettingsDescription < Struct.new(
1085
- :vpc_id,
1086
- :subnet_ids,
1087
- :customer_user_name,
1088
- :security_group_id,
1089
- :availability_zones,
1090
- :connect_ips)
1091
- include Aws::Structure
1092
- end
1093
-
1094
- # Contains information about an AWS Directory Service directory.
1095
- # @!attribute [rw] directory_id
1096
- # The directory identifier.
1097
- # @return [String]
1098
- #
1099
- # @!attribute [rw] name
1100
- # The fully-qualified name of the directory.
1101
- # @return [String]
1102
- #
1103
- # @!attribute [rw] short_name
1104
- # The short name of the directory.
1105
- # @return [String]
1106
- #
1107
- # @!attribute [rw] size
1108
- # The directory size.
1109
- # @return [String]
1110
- #
1111
- # @!attribute [rw] alias
1112
- # The alias for the directory. If no alias has been created for the
1113
- # directory, the alias is the directory identifier, such as
1114
- # `d-XXXXXXXXXX`.
1115
- # @return [String]
1116
- #
1117
- # @!attribute [rw] access_url
1118
- # The access URL for the directory, such as
1119
- # `http://<alias>.awsapps.com`. If no alias has been created for the
1120
- # directory, `<alias>` is the directory identifier, such as
1121
- # `d-XXXXXXXXXX`.
1122
- # @return [String]
1123
- #
1124
- # @!attribute [rw] description
1125
- # The textual description for the directory.
1126
- # @return [String]
1127
- #
1128
- # @!attribute [rw] dns_ip_addrs
1129
- # The IP addresses of the DNS servers for the directory. For a Simple
1130
- # AD or Microsoft AD directory, these are the IP addresses of the
1131
- # Simple AD or Microsoft AD directory servers. For an AD Connector
1132
- # directory, these are the IP addresses of the DNS servers or domain
1133
- # controllers in the on-premises directory to which the AD Connector
1134
- # is connected.
1135
- # @return [Array<String>]
1136
- #
1137
- # @!attribute [rw] stage
1138
- # The current stage of the directory.
1139
- # @return [String]
1140
- #
1141
- # @!attribute [rw] launch_time
1142
- # Specifies when the directory was created.
1143
- # @return [Time]
1144
- #
1145
- # @!attribute [rw] stage_last_updated_date_time
1146
- # The date and time that the stage was last updated.
1147
- # @return [Time]
1148
- #
1149
- # @!attribute [rw] type
1150
- # The directory size.
1151
- # @return [String]
1152
- #
1153
- # @!attribute [rw] vpc_settings
1154
- # A DirectoryVpcSettingsDescription object that contains additional
1155
- # information about a directory. This member is only present if the
1156
- # directory is a Simple AD or Managed AD directory.
1157
- # @return [Types::DirectoryVpcSettingsDescription]
1158
- #
1159
- # @!attribute [rw] connect_settings
1160
- # A DirectoryConnectSettingsDescription object that contains
1161
- # additional information about an AD Connector directory. This member
1162
- # is only present if the directory is an AD Connector directory.
1163
- # @return [Types::DirectoryConnectSettingsDescription]
1164
- #
1165
- # @!attribute [rw] radius_settings
1166
- # A RadiusSettings object that contains information about the RADIUS
1167
- # server configured for this directory.
1168
- # @return [Types::RadiusSettings]
1169
- #
1170
- # @!attribute [rw] radius_status
1171
- # The status of the RADIUS MFA server connection.
1172
- # @return [String]
1173
- #
1174
- # @!attribute [rw] stage_reason
1175
- # Additional information about the directory stage.
1176
- # @return [String]
1177
- #
1178
- # @!attribute [rw] sso_enabled
1179
- # Indicates if single-sign on is enabled for the directory. For more
1180
- # information, see EnableSso and DisableSso.
1181
- # @return [Boolean]
1182
- class DirectoryDescription < Struct.new(
1183
- :directory_id,
1184
- :name,
1185
- :short_name,
1186
- :size,
1187
- :alias,
1188
- :access_url,
1189
- :description,
1190
- :dns_ip_addrs,
1191
- :stage,
1192
- :launch_time,
1193
- :stage_last_updated_date_time,
1194
- :type,
1195
- :vpc_settings,
1196
- :connect_settings,
1197
- :radius_settings,
1198
- :radius_status,
1199
- :stage_reason,
1200
- :sso_enabled)
1201
- include Aws::Structure
1202
- end
1203
-
1204
- # Contains directory limit information for a region.
1205
- # @!attribute [rw] cloud_only_directories_limit
1206
- # The maximum number of cloud directories allowed in the region.
1207
- # @return [Integer]
1208
- #
1209
- # @!attribute [rw] cloud_only_directories_current_count
1210
- # The current number of cloud directories in the region.
1211
- # @return [Integer]
1212
- #
1213
- # @!attribute [rw] cloud_only_directories_limit_reached
1214
- # Indicates if the cloud directory limit has been reached.
1215
- # @return [Boolean]
1216
- #
1217
- # @!attribute [rw] cloud_only_microsoft_ad_limit
1218
- # The maximum number of Microsoft AD directories allowed in the
1219
- # region.
1220
- # @return [Integer]
1221
- #
1222
- # @!attribute [rw] cloud_only_microsoft_ad_current_count
1223
- # The current number of Microsoft AD directories in the region.
1224
- # @return [Integer]
1225
- #
1226
- # @!attribute [rw] cloud_only_microsoft_ad_limit_reached
1227
- # Indicates if the Microsoft AD directory limit has been reached.
1228
- # @return [Boolean]
1229
- #
1230
- # @!attribute [rw] connected_directories_limit
1231
- # The maximum number of connected directories allowed in the region.
1232
- # @return [Integer]
1233
- #
1234
- # @!attribute [rw] connected_directories_current_count
1235
- # The current number of connected directories in the region.
1236
- # @return [Integer]
1237
- #
1238
- # @!attribute [rw] connected_directories_limit_reached
1239
- # Indicates if the connected directory limit has been reached.
1240
- # @return [Boolean]
1241
- class DirectoryLimits < Struct.new(
1242
- :cloud_only_directories_limit,
1243
- :cloud_only_directories_current_count,
1244
- :cloud_only_directories_limit_reached,
1245
- :cloud_only_microsoft_ad_limit,
1246
- :cloud_only_microsoft_ad_current_count,
1247
- :cloud_only_microsoft_ad_limit_reached,
1248
- :connected_directories_limit,
1249
- :connected_directories_current_count,
1250
- :connected_directories_limit_reached)
1251
- include Aws::Structure
1252
- end
1253
-
1254
- # Contains VPC information for the CreateDirectory or CreateMicrosoftAD
1255
- # operation.
1256
- # @note When making an API call, pass DirectoryVpcSettings
1257
- # data as a hash:
1258
- #
1259
- # {
1260
- # vpc_id: "VpcId", # required
1261
- # subnet_ids: ["SubnetId"], # required
1262
- # }
1263
- # @!attribute [rw] vpc_id
1264
- # The identifier of the VPC in which to create the directory.
1265
- # @return [String]
1266
- #
1267
- # @!attribute [rw] subnet_ids
1268
- # The identifiers of the subnets for the directory servers. The two
1269
- # subnets must be in different Availability Zones. AWS Directory
1270
- # Service creates a directory server and a DNS server in each of these
1271
- # subnets.
1272
- # @return [Array<String>]
1273
- class DirectoryVpcSettings < Struct.new(
1274
- :vpc_id,
1275
- :subnet_ids)
1276
- include Aws::Structure
1277
- end
1278
-
1279
- # Contains information about the directory.
1280
- # @!attribute [rw] vpc_id
1281
- # The identifier of the VPC that the directory is in.
1282
- # @return [String]
1283
- #
1284
- # @!attribute [rw] subnet_ids
1285
- # The identifiers of the subnets for the directory servers.
1286
- # @return [Array<String>]
1287
- #
1288
- # @!attribute [rw] security_group_id
1289
- # The security group identifier for the directory. If the directory
1290
- # was created before 8/1/2014, this is the identifier of the directory
1291
- # members security group that was created when the directory was
1292
- # created. If the directory was created after this date, this value is
1293
- # null.
1294
- # @return [String]
1295
- #
1296
- # @!attribute [rw] availability_zones
1297
- # The list of Availability Zones that the directory is in.
1298
- # @return [Array<String>]
1299
- class DirectoryVpcSettingsDescription < Struct.new(
1300
- :vpc_id,
1301
- :subnet_ids,
1302
- :security_group_id,
1303
- :availability_zones)
1304
- include Aws::Structure
1305
- end
1306
-
1307
- # Contains the inputs for the DisableRadius operation.
1308
- # @note When making an API call, pass DisableRadiusRequest
1309
- # data as a hash:
1310
- #
1311
- # {
1312
- # directory_id: "DirectoryId", # required
1313
- # }
1314
- # @!attribute [rw] directory_id
1315
- # The identifier of the directory for which to disable MFA.
1316
- # @return [String]
1317
- class DisableRadiusRequest < Struct.new(
1318
- :directory_id)
1319
- include Aws::Structure
1320
- end
1321
-
1322
- # Contains the results of the DisableRadius operation.
1323
- class DisableRadiusResult < Aws::EmptyStructure; end
1324
-
1325
- # Contains the inputs for the DisableSso operation.
1326
- # @note When making an API call, pass DisableSsoRequest
1327
- # data as a hash:
1328
- #
1329
- # {
1330
- # directory_id: "DirectoryId", # required
1331
- # user_name: "UserName",
1332
- # password: "ConnectPassword",
1333
- # }
1334
- # @!attribute [rw] directory_id
1335
- # The identifier of the directory for which to disable single-sign on.
1336
- # @return [String]
1337
- #
1338
- # @!attribute [rw] user_name
1339
- # The username of an alternate account to use to disable single-sign
1340
- # on. This is only used for AD Connector directories. This account
1341
- # must have privileges to remove a service principal name.
1342
- #
1343
- # If the AD Connector service account does not have privileges to
1344
- # remove a service principal name, you can specify an alternate
1345
- # account with the *UserName* and *Password* parameters. These
1346
- # credentials are only used to disable single sign-on and are not
1347
- # stored by the service. The AD Connector service account is not
1348
- # changed.
1349
- # @return [String]
1350
- #
1351
- # @!attribute [rw] password
1352
- # The password of an alternate account to use to disable single-sign
1353
- # on. This is only used for AD Connector directories. For more
1354
- # information, see the *UserName* parameter.
1355
- # @return [String]
1356
- class DisableSsoRequest < Struct.new(
1357
- :directory_id,
1358
- :user_name,
1359
- :password)
1360
- include Aws::Structure
1361
- end
1362
-
1363
- # Contains the results of the DisableSso operation.
1364
- class DisableSsoResult < Aws::EmptyStructure; end
1365
-
1366
- # Contains the inputs for the EnableRadius operation.
1367
- # @note When making an API call, pass EnableRadiusRequest
1368
- # data as a hash:
1369
- #
1370
- # {
1371
- # directory_id: "DirectoryId", # required
1372
- # radius_settings: { # required
1373
- # radius_servers: ["Server"],
1374
- # radius_port: 1,
1375
- # radius_timeout: 1,
1376
- # radius_retries: 1,
1377
- # shared_secret: "RadiusSharedSecret",
1378
- # authentication_protocol: "PAP", # accepts PAP, CHAP, MS-CHAPv1, MS-CHAPv2
1379
- # display_label: "RadiusDisplayLabel",
1380
- # use_same_username: false,
1381
- # },
1382
- # }
1383
- # @!attribute [rw] directory_id
1384
- # The identifier of the directory for which to enable MFA.
1385
- # @return [String]
1386
- #
1387
- # @!attribute [rw] radius_settings
1388
- # A RadiusSettings object that contains information about the RADIUS
1389
- # server.
1390
- # @return [Types::RadiusSettings]
1391
- class EnableRadiusRequest < Struct.new(
1392
- :directory_id,
1393
- :radius_settings)
1394
- include Aws::Structure
1395
- end
1396
-
1397
- # Contains the results of the EnableRadius operation.
1398
- class EnableRadiusResult < Aws::EmptyStructure; end
1399
-
1400
- # Contains the inputs for the EnableSso operation.
1401
- # @note When making an API call, pass EnableSsoRequest
1402
- # data as a hash:
1403
- #
1404
- # {
1405
- # directory_id: "DirectoryId", # required
1406
- # user_name: "UserName",
1407
- # password: "ConnectPassword",
1408
- # }
1409
- # @!attribute [rw] directory_id
1410
- # The identifier of the directory for which to enable single-sign on.
1411
- # @return [String]
1412
- #
1413
- # @!attribute [rw] user_name
1414
- # The username of an alternate account to use to enable single-sign
1415
- # on. This is only used for AD Connector directories. This account
1416
- # must have privileges to add a service principal name.
1417
- #
1418
- # If the AD Connector service account does not have privileges to add
1419
- # a service principal name, you can specify an alternate account with
1420
- # the *UserName* and *Password* parameters. These credentials are only
1421
- # used to enable single sign-on and are not stored by the service. The
1422
- # AD Connector service account is not changed.
1423
- # @return [String]
1424
- #
1425
- # @!attribute [rw] password
1426
- # The password of an alternate account to use to enable single-sign
1427
- # on. This is only used for AD Connector directories. For more
1428
- # information, see the *UserName* parameter.
1429
- # @return [String]
1430
- class EnableSsoRequest < Struct.new(
1431
- :directory_id,
1432
- :user_name,
1433
- :password)
1434
- include Aws::Structure
1435
- end
1436
-
1437
- # Contains the results of the EnableSso operation.
1438
- class EnableSsoResult < Aws::EmptyStructure; end
1439
-
1440
- # Information about SNS topic and AWS Directory Service directory
1441
- # associations.
1442
- # @!attribute [rw] directory_id
1443
- # The Directory ID of an AWS Directory Service directory that will
1444
- # publish status messages to an SNS topic.
1445
- # @return [String]
1446
- #
1447
- # @!attribute [rw] topic_name
1448
- # The name of an AWS SNS topic the receives status messages from the
1449
- # directory.
1450
- # @return [String]
1451
- #
1452
- # @!attribute [rw] topic_arn
1453
- # The SNS topic ARN (Amazon Resource Name).
1454
- # @return [String]
1455
- #
1456
- # @!attribute [rw] created_date_time
1457
- # The date and time of when you associated your directory with the SNS
1458
- # topic.
1459
- # @return [Time]
1460
- #
1461
- # @!attribute [rw] status
1462
- # The topic registration status.
1463
- # @return [String]
1464
- class EventTopic < Struct.new(
1465
- :directory_id,
1466
- :topic_name,
1467
- :topic_arn,
1468
- :created_date_time,
1469
- :status)
1470
- include Aws::Structure
1471
- end
1472
-
1473
- # Contains the inputs for the GetDirectoryLimits operation.
1474
- # @api private
1475
- class GetDirectoryLimitsRequest < Aws::EmptyStructure; end
1476
-
1477
- # Contains the results of the GetDirectoryLimits operation.
1478
- # @!attribute [rw] directory_limits
1479
- # A DirectoryLimits object that contains the directory limits for the
1480
- # current region.
1481
- # @return [Types::DirectoryLimits]
1482
- class GetDirectoryLimitsResult < Struct.new(
1483
- :directory_limits)
1484
- include Aws::Structure
1485
- end
1486
-
1487
- # Contains the inputs for the GetSnapshotLimits operation.
1488
- # @note When making an API call, pass GetSnapshotLimitsRequest
1489
- # data as a hash:
1490
- #
1491
- # {
1492
- # directory_id: "DirectoryId", # required
1493
- # }
1494
- # @!attribute [rw] directory_id
1495
- # Contains the identifier of the directory to obtain the limits for.
1496
- # @return [String]
1497
- class GetSnapshotLimitsRequest < Struct.new(
1498
- :directory_id)
1499
- include Aws::Structure
1500
- end
1501
-
1502
- # Contains the results of the GetSnapshotLimits operation.
1503
- # @!attribute [rw] snapshot_limits
1504
- # A SnapshotLimits object that contains the manual snapshot limits for
1505
- # the specified directory.
1506
- # @return [Types::SnapshotLimits]
1507
- class GetSnapshotLimitsResult < Struct.new(
1508
- :snapshot_limits)
1509
- include Aws::Structure
1510
- end
1511
-
1512
- # IP address block. This is often the address block of the DNS server
1513
- # used for your on-premises domain.
1514
- # @note When making an API call, pass IpRoute
1515
- # data as a hash:
1516
- #
1517
- # {
1518
- # cidr_ip: "CidrIp",
1519
- # description: "Description",
1520
- # }
1521
- # @!attribute [rw] cidr_ip
1522
- # IP address block using CIDR format, for example 10.0.0.0/24. This is
1523
- # often the address block of the DNS server used for your on-premises
1524
- # domain. For a single IP address use a CIDR address block with /32.
1525
- # For example 10.0.0.0/32.
1526
- # @return [String]
1527
- #
1528
- # @!attribute [rw] description
1529
- # Description of the address block.
1530
- # @return [String]
1531
- class IpRoute < Struct.new(
1532
- :cidr_ip,
1533
- :description)
1534
- include Aws::Structure
1535
- end
1536
-
1537
- # Information about one or more IP address blocks.
1538
- # @!attribute [rw] directory_id
1539
- # Identifier (ID) of the directory associated with the IP addresses.
1540
- # @return [String]
1541
- #
1542
- # @!attribute [rw] cidr_ip
1543
- # IP address block in the IpRoute.
1544
- # @return [String]
1545
- #
1546
- # @!attribute [rw] ip_route_status_msg
1547
- # The status of the IP address block.
1548
- # @return [String]
1549
- #
1550
- # @!attribute [rw] added_date_time
1551
- # The date and time the address block was added to the directory.
1552
- # @return [Time]
1553
- #
1554
- # @!attribute [rw] ip_route_status_reason
1555
- # The reason for the IpRouteStatusMsg.
1556
- # @return [String]
1557
- #
1558
- # @!attribute [rw] description
1559
- # Description of the IpRouteInfo.
1560
- # @return [String]
1561
- class IpRouteInfo < Struct.new(
1562
- :directory_id,
1563
- :cidr_ip,
1564
- :ip_route_status_msg,
1565
- :added_date_time,
1566
- :ip_route_status_reason,
1567
- :description)
1568
- include Aws::Structure
1569
- end
1570
-
1571
- # @note When making an API call, pass ListIpRoutesRequest
1572
- # data as a hash:
1573
- #
1574
- # {
1575
- # directory_id: "DirectoryId", # required
1576
- # next_token: "NextToken",
1577
- # limit: 1,
1578
- # }
1579
- # @!attribute [rw] directory_id
1580
- # Identifier (ID) of the directory for which you want to retrieve the
1581
- # IP addresses.
1582
- # @return [String]
1583
- #
1584
- # @!attribute [rw] next_token
1585
- # The *ListIpRoutes.NextToken* value from a previous call to
1586
- # ListIpRoutes. Pass null if this is the first call.
1587
- # @return [String]
1588
- #
1589
- # @!attribute [rw] limit
1590
- # Maximum number of items to return. If this value is zero, the
1591
- # maximum number of items is specified by the limitations of the
1592
- # operation.
1593
- # @return [Integer]
1594
- class ListIpRoutesRequest < Struct.new(
1595
- :directory_id,
1596
- :next_token,
1597
- :limit)
1598
- include Aws::Structure
1599
- end
1600
-
1601
- # @!attribute [rw] ip_routes_info
1602
- # A list of IpRoutes.
1603
- # @return [Array<Types::IpRouteInfo>]
1604
- #
1605
- # @!attribute [rw] next_token
1606
- # If not null, more results are available. Pass this value for the
1607
- # *NextToken* parameter in a subsequent call to ListIpRoutes to
1608
- # retrieve the next set of items.
1609
- # @return [String]
1610
- class ListIpRoutesResult < Struct.new(
1611
- :ip_routes_info,
1612
- :next_token)
1613
- include Aws::Structure
1614
- end
1615
-
1616
- # @note When making an API call, pass ListSchemaExtensionsRequest
1617
- # data as a hash:
1618
- #
1619
- # {
1620
- # directory_id: "DirectoryId", # required
1621
- # next_token: "NextToken",
1622
- # limit: 1,
1623
- # }
1624
- # @!attribute [rw] directory_id
1625
- # The identifier of the directory from which to retrieve the schema
1626
- # extension information.
1627
- # @return [String]
1628
- #
1629
- # @!attribute [rw] next_token
1630
- # The `ListSchemaExtensions.NextToken` value from a previous call to
1631
- # `ListSchemaExtensions`. Pass null if this is the first call.
1632
- # @return [String]
1633
- #
1634
- # @!attribute [rw] limit
1635
- # The maximum number of items to return.
1636
- # @return [Integer]
1637
- class ListSchemaExtensionsRequest < Struct.new(
1638
- :directory_id,
1639
- :next_token,
1640
- :limit)
1641
- include Aws::Structure
1642
- end
1643
-
1644
- # @!attribute [rw] schema_extensions_info
1645
- # Information about the schema extensions applied to the directory.
1646
- # @return [Array<Types::SchemaExtensionInfo>]
1647
- #
1648
- # @!attribute [rw] next_token
1649
- # If not null, more results are available. Pass this value for the
1650
- # `NextToken` parameter in a subsequent call to `ListSchemaExtensions`
1651
- # to retrieve the next set of items.
1652
- # @return [String]
1653
- class ListSchemaExtensionsResult < Struct.new(
1654
- :schema_extensions_info,
1655
- :next_token)
1656
- include Aws::Structure
1657
- end
1658
-
1659
- # @note When making an API call, pass ListTagsForResourceRequest
1660
- # data as a hash:
1661
- #
1662
- # {
1663
- # resource_id: "ResourceId", # required
1664
- # next_token: "NextToken",
1665
- # limit: 1,
1666
- # }
1667
- # @!attribute [rw] resource_id
1668
- # Identifier (ID) of the directory for which you want to retrieve
1669
- # tags.
1670
- # @return [String]
1671
- #
1672
- # @!attribute [rw] next_token
1673
- # Reserved for future use.
1674
- # @return [String]
1675
- #
1676
- # @!attribute [rw] limit
1677
- # Reserved for future use.
1678
- # @return [Integer]
1679
- class ListTagsForResourceRequest < Struct.new(
1680
- :resource_id,
1681
- :next_token,
1682
- :limit)
1683
- include Aws::Structure
1684
- end
1685
-
1686
- # @!attribute [rw] tags
1687
- # List of tags returned by the ListTagsForResource operation.
1688
- # @return [Array<Types::Tag>]
1689
- #
1690
- # @!attribute [rw] next_token
1691
- # Reserved for future use.
1692
- # @return [String]
1693
- class ListTagsForResourceResult < Struct.new(
1694
- :tags,
1695
- :next_token)
1696
- include Aws::Structure
1697
- end
1698
-
1699
- # Contains information about a Remote Authentication Dial In User
1700
- # Service (RADIUS) server.
1701
- # @note When making an API call, pass RadiusSettings
1702
- # data as a hash:
1703
- #
1704
- # {
1705
- # radius_servers: ["Server"],
1706
- # radius_port: 1,
1707
- # radius_timeout: 1,
1708
- # radius_retries: 1,
1709
- # shared_secret: "RadiusSharedSecret",
1710
- # authentication_protocol: "PAP", # accepts PAP, CHAP, MS-CHAPv1, MS-CHAPv2
1711
- # display_label: "RadiusDisplayLabel",
1712
- # use_same_username: false,
1713
- # }
1714
- # @!attribute [rw] radius_servers
1715
- # An array of strings that contains the IP addresses of the RADIUS
1716
- # server endpoints, or the IP addresses of your RADIUS server load
1717
- # balancer.
1718
- # @return [Array<String>]
1719
- #
1720
- # @!attribute [rw] radius_port
1721
- # The port that your RADIUS server is using for communications. Your
1722
- # on-premises network must allow inbound traffic over this port from
1723
- # the AWS Directory Service servers.
1724
- # @return [Integer]
1725
- #
1726
- # @!attribute [rw] radius_timeout
1727
- # The amount of time, in seconds, to wait for the RADIUS server to
1728
- # respond.
1729
- # @return [Integer]
1730
- #
1731
- # @!attribute [rw] radius_retries
1732
- # The maximum number of times that communication with the RADIUS
1733
- # server is attempted.
1734
- # @return [Integer]
1735
- #
1736
- # @!attribute [rw] shared_secret
1737
- # Not currently used.
1738
- # @return [String]
1739
- #
1740
- # @!attribute [rw] authentication_protocol
1741
- # The protocol specified for your RADIUS endpoints.
1742
- # @return [String]
1743
- #
1744
- # @!attribute [rw] display_label
1745
- # Not currently used.
1746
- # @return [String]
1747
- #
1748
- # @!attribute [rw] use_same_username
1749
- # Not currently used.
1750
- # @return [Boolean]
1751
- class RadiusSettings < Struct.new(
1752
- :radius_servers,
1753
- :radius_port,
1754
- :radius_timeout,
1755
- :radius_retries,
1756
- :shared_secret,
1757
- :authentication_protocol,
1758
- :display_label,
1759
- :use_same_username)
1760
- include Aws::Structure
1761
- end
1762
-
1763
- # Registers a new event topic.
1764
- # @note When making an API call, pass RegisterEventTopicRequest
1765
- # data as a hash:
1766
- #
1767
- # {
1768
- # directory_id: "DirectoryId", # required
1769
- # topic_name: "TopicName", # required
1770
- # }
1771
- # @!attribute [rw] directory_id
1772
- # The Directory ID that will publish status messages to the SNS topic.
1773
- # @return [String]
1774
- #
1775
- # @!attribute [rw] topic_name
1776
- # The SNS topic name to which the directory will publish status
1777
- # messages. This SNS topic must be in the same region as the specified
1778
- # Directory ID.
1779
- # @return [String]
1780
- class RegisterEventTopicRequest < Struct.new(
1781
- :directory_id,
1782
- :topic_name)
1783
- include Aws::Structure
1784
- end
1785
-
1786
- # The result of a RegisterEventTopic request.
1787
- class RegisterEventTopicResult < Aws::EmptyStructure; end
1788
-
1789
- # @note When making an API call, pass RemoveIpRoutesRequest
1790
- # data as a hash:
1791
- #
1792
- # {
1793
- # directory_id: "DirectoryId", # required
1794
- # cidr_ips: ["CidrIp"], # required
1795
- # }
1796
- # @!attribute [rw] directory_id
1797
- # Identifier (ID) of the directory from which you want to remove the
1798
- # IP addresses.
1799
- # @return [String]
1800
- #
1801
- # @!attribute [rw] cidr_ips
1802
- # IP address blocks that you want to remove.
1803
- # @return [Array<String>]
1804
- class RemoveIpRoutesRequest < Struct.new(
1805
- :directory_id,
1806
- :cidr_ips)
1807
- include Aws::Structure
1808
- end
1809
-
1810
- class RemoveIpRoutesResult < Aws::EmptyStructure; end
1811
-
1812
- # @note When making an API call, pass RemoveTagsFromResourceRequest
1813
- # data as a hash:
1814
- #
1815
- # {
1816
- # resource_id: "ResourceId", # required
1817
- # tag_keys: ["TagKey"], # required
1818
- # }
1819
- # @!attribute [rw] resource_id
1820
- # Identifier (ID) of the directory from which to remove the tag.
1821
- # @return [String]
1822
- #
1823
- # @!attribute [rw] tag_keys
1824
- # The tag key (name) of the tag to be removed.
1825
- # @return [Array<String>]
1826
- class RemoveTagsFromResourceRequest < Struct.new(
1827
- :resource_id,
1828
- :tag_keys)
1829
- include Aws::Structure
1830
- end
1831
-
1832
- class RemoveTagsFromResourceResult < Aws::EmptyStructure; end
1833
-
1834
- # An object representing the inputs for the RestoreFromSnapshot
1835
- # operation.
1836
- # @note When making an API call, pass RestoreFromSnapshotRequest
1837
- # data as a hash:
1838
- #
1839
- # {
1840
- # snapshot_id: "SnapshotId", # required
1841
- # }
1842
- # @!attribute [rw] snapshot_id
1843
- # The identifier of the snapshot to restore from.
1844
- # @return [String]
1845
- class RestoreFromSnapshotRequest < Struct.new(
1846
- :snapshot_id)
1847
- include Aws::Structure
1848
- end
1849
-
1850
- # Contains the results of the RestoreFromSnapshot operation.
1851
- class RestoreFromSnapshotResult < Aws::EmptyStructure; end
1852
-
1853
- # Information about a schema extension.
1854
- # @!attribute [rw] directory_id
1855
- # The identifier of the directory to which the schema extension is
1856
- # applied.
1857
- # @return [String]
1858
- #
1859
- # @!attribute [rw] schema_extension_id
1860
- # The identifier of the schema extension.
1861
- # @return [String]
1862
- #
1863
- # @!attribute [rw] description
1864
- # A description of the schema extension.
1865
- # @return [String]
1866
- #
1867
- # @!attribute [rw] schema_extension_status
1868
- # The current status of the schema extension.
1869
- # @return [String]
1870
- #
1871
- # @!attribute [rw] schema_extension_status_reason
1872
- # The reason for the `SchemaExtensionStatus`.
1873
- # @return [String]
1874
- #
1875
- # @!attribute [rw] start_date_time
1876
- # The date and time that the schema extension started being applied to
1877
- # the directory.
1878
- # @return [Time]
1879
- #
1880
- # @!attribute [rw] end_date_time
1881
- # The date and time that the schema extension was completed.
1882
- # @return [Time]
1883
- class SchemaExtensionInfo < Struct.new(
1884
- :directory_id,
1885
- :schema_extension_id,
1886
- :description,
1887
- :schema_extension_status,
1888
- :schema_extension_status_reason,
1889
- :start_date_time,
1890
- :end_date_time)
1891
- include Aws::Structure
1892
- end
1893
-
1894
- # Describes a directory snapshot.
1895
- # @!attribute [rw] directory_id
1896
- # The directory identifier.
1897
- # @return [String]
1898
- #
1899
- # @!attribute [rw] snapshot_id
1900
- # The snapshot identifier.
1901
- # @return [String]
1902
- #
1903
- # @!attribute [rw] type
1904
- # The snapshot type.
1905
- # @return [String]
1906
- #
1907
- # @!attribute [rw] name
1908
- # The descriptive name of the snapshot.
1909
- # @return [String]
1910
- #
1911
- # @!attribute [rw] status
1912
- # The snapshot status.
1913
- # @return [String]
1914
- #
1915
- # @!attribute [rw] start_time
1916
- # The date and time that the snapshot was taken.
1917
- # @return [Time]
1918
- class Snapshot < Struct.new(
1919
- :directory_id,
1920
- :snapshot_id,
1921
- :type,
1922
- :name,
1923
- :status,
1924
- :start_time)
1925
- include Aws::Structure
1926
- end
1927
-
1928
- # Contains manual snapshot limit information for a directory.
1929
- # @!attribute [rw] manual_snapshots_limit
1930
- # The maximum number of manual snapshots allowed.
1931
- # @return [Integer]
1932
- #
1933
- # @!attribute [rw] manual_snapshots_current_count
1934
- # The current number of manual snapshots of the directory.
1935
- # @return [Integer]
1936
- #
1937
- # @!attribute [rw] manual_snapshots_limit_reached
1938
- # Indicates if the manual snapshot limit has been reached.
1939
- # @return [Boolean]
1940
- class SnapshotLimits < Struct.new(
1941
- :manual_snapshots_limit,
1942
- :manual_snapshots_current_count,
1943
- :manual_snapshots_limit_reached)
1944
- include Aws::Structure
1945
- end
1946
-
1947
- # @note When making an API call, pass StartSchemaExtensionRequest
1948
- # data as a hash:
1949
- #
1950
- # {
1951
- # directory_id: "DirectoryId", # required
1952
- # create_snapshot_before_schema_extension: false, # required
1953
- # ldif_content: "LdifContent", # required
1954
- # description: "Description", # required
1955
- # }
1956
- # @!attribute [rw] directory_id
1957
- # The identifier of the directory for which the schema extension will
1958
- # be applied to.
1959
- # @return [String]
1960
- #
1961
- # @!attribute [rw] create_snapshot_before_schema_extension
1962
- # If true, creates a snapshot of the directory before applying the
1963
- # schema extension.
1964
- # @return [Boolean]
1965
- #
1966
- # @!attribute [rw] ldif_content
1967
- # The LDIF file represented as a string. The file size can be no
1968
- # larger than 1MB.
1969
- # @return [String]
1970
- #
1971
- # @!attribute [rw] description
1972
- # A description of the schema extension.
1973
- # @return [String]
1974
- class StartSchemaExtensionRequest < Struct.new(
1975
- :directory_id,
1976
- :create_snapshot_before_schema_extension,
1977
- :ldif_content,
1978
- :description)
1979
- include Aws::Structure
1980
- end
1981
-
1982
- # @!attribute [rw] schema_extension_id
1983
- # The identifier of the schema extension that will be applied.
1984
- # @return [String]
1985
- class StartSchemaExtensionResult < Struct.new(
1986
- :schema_extension_id)
1987
- include Aws::Structure
1988
- end
1989
-
1990
- # Metadata assigned to an Amazon Directory Services directory consisting
1991
- # of a key-value pair.
1992
- # @note When making an API call, pass Tag
1993
- # data as a hash:
1994
- #
1995
- # {
1996
- # key: "TagKey", # required
1997
- # value: "TagValue", # required
1998
- # }
1999
- # @!attribute [rw] key
2000
- # Required name of the tag. The string value can be Unicode characters
2001
- # and cannot be prefixed with "aws:". The string can contain only
2002
- # the set of Unicode letters, digits, white-space, '\_', '.',
2003
- # '/', '=', '+', '-' (Java regex:
2004
- # "^(\[\\\\p\\\{L\\}\\\\p\\\{Z\\}\\\\p\\\{N\\}\_.:/=+\\\\-\]*)$").
2005
- # @return [String]
2006
- #
2007
- # @!attribute [rw] value
2008
- # The optional value of the tag. The string value can be Unicode
2009
- # characters. The string can contain only the set of Unicode letters,
2010
- # digits, white-space, '\_', '.', '/', '=', '+', '-' (Java
2011
- # regex:
2012
- # "^(\[\\\\p\\\{L\\}\\\\p\\\{Z\\}\\\\p\\\{N\\}\_.:/=+\\\\-\]*)$").
2013
- # @return [String]
2014
- class Tag < Struct.new(
2015
- :key,
2016
- :value)
2017
- include Aws::Structure
2018
- end
2019
-
2020
- # Describes a trust relationship between an Microsoft AD in the AWS
2021
- # cloud and an external domain.
2022
- # @!attribute [rw] directory_id
2023
- # The Directory ID of the AWS directory involved in the trust
2024
- # relationship.
2025
- # @return [String]
2026
- #
2027
- # @!attribute [rw] trust_id
2028
- # The unique ID of the trust relationship.
2029
- # @return [String]
2030
- #
2031
- # @!attribute [rw] remote_domain_name
2032
- # The Fully Qualified Domain Name (FQDN) of the external domain
2033
- # involved in the trust relationship.
2034
- # @return [String]
2035
- #
2036
- # @!attribute [rw] trust_type
2037
- # The trust relationship type.
2038
- # @return [String]
2039
- #
2040
- # @!attribute [rw] trust_direction
2041
- # The trust relationship direction.
2042
- # @return [String]
2043
- #
2044
- # @!attribute [rw] trust_state
2045
- # The trust relationship state.
2046
- # @return [String]
2047
- #
2048
- # @!attribute [rw] created_date_time
2049
- # The date and time that the trust relationship was created.
2050
- # @return [Time]
2051
- #
2052
- # @!attribute [rw] last_updated_date_time
2053
- # The date and time that the trust relationship was last updated.
2054
- # @return [Time]
2055
- #
2056
- # @!attribute [rw] state_last_updated_date_time
2057
- # The date and time that the TrustState was last updated.
2058
- # @return [Time]
2059
- #
2060
- # @!attribute [rw] trust_state_reason
2061
- # The reason for the TrustState.
2062
- # @return [String]
2063
- class Trust < Struct.new(
2064
- :directory_id,
2065
- :trust_id,
2066
- :remote_domain_name,
2067
- :trust_type,
2068
- :trust_direction,
2069
- :trust_state,
2070
- :created_date_time,
2071
- :last_updated_date_time,
2072
- :state_last_updated_date_time,
2073
- :trust_state_reason)
2074
- include Aws::Structure
2075
- end
2076
-
2077
- # Updates a conditional forwarder.
2078
- # @note When making an API call, pass UpdateConditionalForwarderRequest
2079
- # data as a hash:
2080
- #
2081
- # {
2082
- # directory_id: "DirectoryId", # required
2083
- # remote_domain_name: "RemoteDomainName", # required
2084
- # dns_ip_addrs: ["IpAddr"], # required
2085
- # }
2086
- # @!attribute [rw] directory_id
2087
- # The directory ID of the AWS directory for which to update the
2088
- # conditional forwarder.
2089
- # @return [String]
2090
- #
2091
- # @!attribute [rw] remote_domain_name
2092
- # The fully qualified domain name (FQDN) of the remote domain with
2093
- # which you will set up a trust relationship.
2094
- # @return [String]
2095
- #
2096
- # @!attribute [rw] dns_ip_addrs
2097
- # The updated IP addresses of the remote DNS server associated with
2098
- # the conditional forwarder.
2099
- # @return [Array<String>]
2100
- class UpdateConditionalForwarderRequest < Struct.new(
2101
- :directory_id,
2102
- :remote_domain_name,
2103
- :dns_ip_addrs)
2104
- include Aws::Structure
2105
- end
2106
-
2107
- # The result of an UpdateConditionalForwarder request.
2108
- class UpdateConditionalForwarderResult < Aws::EmptyStructure; end
2109
-
2110
- # Contains the inputs for the UpdateRadius operation.
2111
- # @note When making an API call, pass UpdateRadiusRequest
2112
- # data as a hash:
2113
- #
2114
- # {
2115
- # directory_id: "DirectoryId", # required
2116
- # radius_settings: { # required
2117
- # radius_servers: ["Server"],
2118
- # radius_port: 1,
2119
- # radius_timeout: 1,
2120
- # radius_retries: 1,
2121
- # shared_secret: "RadiusSharedSecret",
2122
- # authentication_protocol: "PAP", # accepts PAP, CHAP, MS-CHAPv1, MS-CHAPv2
2123
- # display_label: "RadiusDisplayLabel",
2124
- # use_same_username: false,
2125
- # },
2126
- # }
2127
- # @!attribute [rw] directory_id
2128
- # The identifier of the directory for which to update the RADIUS
2129
- # server information.
2130
- # @return [String]
2131
- #
2132
- # @!attribute [rw] radius_settings
2133
- # A RadiusSettings object that contains information about the RADIUS
2134
- # server.
2135
- # @return [Types::RadiusSettings]
2136
- class UpdateRadiusRequest < Struct.new(
2137
- :directory_id,
2138
- :radius_settings)
2139
- include Aws::Structure
2140
- end
2141
-
2142
- # Contains the results of the UpdateRadius operation.
2143
- class UpdateRadiusResult < Aws::EmptyStructure; end
2144
-
2145
- # Initiates the verification of an existing trust relationship between a
2146
- # Microsoft AD in the AWS cloud and an external domain.
2147
- # @note When making an API call, pass VerifyTrustRequest
2148
- # data as a hash:
2149
- #
2150
- # {
2151
- # trust_id: "TrustId", # required
2152
- # }
2153
- # @!attribute [rw] trust_id
2154
- # The unique Trust ID of the trust relationship to verify.
2155
- # @return [String]
2156
- class VerifyTrustRequest < Struct.new(
2157
- :trust_id)
2158
- include Aws::Structure
2159
- end
2160
-
2161
- # Result of a VerifyTrust request.
2162
- # @!attribute [rw] trust_id
2163
- # The unique Trust ID of the trust relationship that was verified.
2164
- # @return [String]
2165
- class VerifyTrustResult < Struct.new(
2166
- :trust_id)
2167
- include Aws::Structure
2168
- end
8
+ module Aws::DirectoryService
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass AddIpRoutesRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # directory_id: "DirectoryId", # required
16
+ # ip_routes: [ # required
17
+ # {
18
+ # cidr_ip: "CidrIp",
19
+ # description: "Description",
20
+ # },
21
+ # ],
22
+ # update_security_group_for_directory_controllers: false,
23
+ # }
24
+ #
25
+ # @!attribute [rw] directory_id
26
+ # Identifier (ID) of the directory to which to add the address block.
27
+ # @return [String]
28
+ #
29
+ # @!attribute [rw] ip_routes
30
+ # IP address blocks, using CIDR format, of the traffic to route. This
31
+ # is often the IP address block of the DNS server used for your
32
+ # on-premises domain.
33
+ # @return [Array<Types::IpRoute>]
34
+ #
35
+ # @!attribute [rw] update_security_group_for_directory_controllers
36
+ # If set to true, updates the inbound and outbound rules of the
37
+ # security group that has the description: "AWS created security
38
+ # group for *directory ID* directory controllers." Following are the
39
+ # new rules:
40
+ #
41
+ # Inbound:
42
+ #
43
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0
44
+ #
45
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source:
46
+ # 0.0.0.0/0
47
+ #
48
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source:
49
+ # 0.0.0.0/0
50
+ #
51
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source:
52
+ # 0.0.0.0/0
53
+ #
54
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source:
55
+ # 0.0.0.0/0
56
+ #
57
+ # * Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source:
58
+ # 0.0.0.0/0
59
+ #
60
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0
61
+ #
62
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source:
63
+ # 0.0.0.0/0
64
+ #
65
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source:
66
+ # 0.0.0.0/0
67
+ #
68
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source:
69
+ # 0.0.0.0/0
70
+ #
71
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source:
72
+ # 0.0.0.0/0
73
+ #
74
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source:
75
+ # 0.0.0.0/0
76
+ #
77
+ # * Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source:
78
+ # 0.0.0.0/0
79
+ #
80
+ # * Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0
81
+ #
82
+ # * Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0
83
+ #
84
+ # * Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0
85
+ #
86
+ # * Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0
87
+ #
88
+ #
89
+ #
90
+ # Outbound:
91
+ #
92
+ # * Type: All traffic, Protocol: All, Range: All, Destination:
93
+ # 0.0.0.0/0
94
+ #
95
+ # ^
96
+ #
97
+ # These security rules impact an internal network interface that is
98
+ # not exposed publicly.
99
+ # @return [Boolean]
100
+ #
101
+ class AddIpRoutesRequest < Struct.new(
102
+ :directory_id,
103
+ :ip_routes,
104
+ :update_security_group_for_directory_controllers)
105
+ include Aws::Structure
106
+ end
107
+
108
+ class AddIpRoutesResult < Aws::EmptyStructure; end
109
+
110
+ # @note When making an API call, you may pass AddTagsToResourceRequest
111
+ # data as a hash:
112
+ #
113
+ # {
114
+ # resource_id: "ResourceId", # required
115
+ # tags: [ # required
116
+ # {
117
+ # key: "TagKey", # required
118
+ # value: "TagValue", # required
119
+ # },
120
+ # ],
121
+ # }
122
+ #
123
+ # @!attribute [rw] resource_id
124
+ # Identifier (ID) for the directory to which to add the tag.
125
+ # @return [String]
126
+ #
127
+ # @!attribute [rw] tags
128
+ # The tags to be assigned to the directory.
129
+ # @return [Array<Types::Tag>]
130
+ #
131
+ class AddTagsToResourceRequest < Struct.new(
132
+ :resource_id,
133
+ :tags)
134
+ include Aws::Structure
135
+ end
136
+
137
+ class AddTagsToResourceResult < Aws::EmptyStructure; end
138
+
139
+ # Represents a named directory attribute.
140
+ #
141
+ # @note When making an API call, you may pass Attribute
142
+ # data as a hash:
143
+ #
144
+ # {
145
+ # name: "AttributeName",
146
+ # value: "AttributeValue",
147
+ # }
148
+ #
149
+ # @!attribute [rw] name
150
+ # The name of the attribute.
151
+ # @return [String]
152
+ #
153
+ # @!attribute [rw] value
154
+ # The value of the attribute.
155
+ # @return [String]
156
+ #
157
+ class Attribute < Struct.new(
158
+ :name,
159
+ :value)
160
+ include Aws::Structure
161
+ end
162
+
163
+ # @note When making an API call, you may pass CancelSchemaExtensionRequest
164
+ # data as a hash:
165
+ #
166
+ # {
167
+ # directory_id: "DirectoryId", # required
168
+ # schema_extension_id: "SchemaExtensionId", # required
169
+ # }
170
+ #
171
+ # @!attribute [rw] directory_id
172
+ # The identifier of the directory whose schema extension will be
173
+ # canceled.
174
+ # @return [String]
175
+ #
176
+ # @!attribute [rw] schema_extension_id
177
+ # The identifier of the schema extension that will be canceled.
178
+ # @return [String]
179
+ #
180
+ class CancelSchemaExtensionRequest < Struct.new(
181
+ :directory_id,
182
+ :schema_extension_id)
183
+ include Aws::Structure
184
+ end
185
+
186
+ class CancelSchemaExtensionResult < Aws::EmptyStructure; end
187
+
188
+ # Contains information about a computer account in a directory.
189
+ #
190
+ # @!attribute [rw] computer_id
191
+ # The identifier of the computer.
192
+ # @return [String]
193
+ #
194
+ # @!attribute [rw] computer_name
195
+ # The computer name.
196
+ # @return [String]
197
+ #
198
+ # @!attribute [rw] computer_attributes
199
+ # An array of Attribute objects containing the LDAP attributes that
200
+ # belong to the computer account.
201
+ # @return [Array<Types::Attribute>]
202
+ #
203
+ class Computer < Struct.new(
204
+ :computer_id,
205
+ :computer_name,
206
+ :computer_attributes)
207
+ include Aws::Structure
208
+ end
209
+
210
+ # Points to a remote domain with which you are setting up a trust
211
+ # relationship. Conditional forwarders are required in order to set up a
212
+ # trust relationship with another domain.
213
+ #
214
+ # @!attribute [rw] remote_domain_name
215
+ # The fully qualified domain name (FQDN) of the remote domains pointed
216
+ # to by the conditional forwarder.
217
+ # @return [String]
218
+ #
219
+ # @!attribute [rw] dns_ip_addrs
220
+ # The IP addresses of the remote DNS server associated with
221
+ # RemoteDomainName. This is the IP address of the DNS server that your
222
+ # conditional forwarder points to.
223
+ # @return [Array<String>]
224
+ #
225
+ # @!attribute [rw] replication_scope
226
+ # The replication scope of the conditional forwarder. The only allowed
227
+ # value is `Domain`, which will replicate the conditional forwarder to
228
+ # all of the domain controllers for your AWS directory.
229
+ # @return [String]
230
+ #
231
+ class ConditionalForwarder < Struct.new(
232
+ :remote_domain_name,
233
+ :dns_ip_addrs,
234
+ :replication_scope)
235
+ include Aws::Structure
236
+ end
237
+
238
+ # Contains the inputs for the ConnectDirectory operation.
239
+ #
240
+ # @note When making an API call, you may pass ConnectDirectoryRequest
241
+ # data as a hash:
242
+ #
243
+ # {
244
+ # name: "DirectoryName", # required
245
+ # short_name: "DirectoryShortName",
246
+ # password: "ConnectPassword", # required
247
+ # description: "Description",
248
+ # size: "Small", # required, accepts Small, Large
249
+ # connect_settings: { # required
250
+ # vpc_id: "VpcId", # required
251
+ # subnet_ids: ["SubnetId"], # required
252
+ # customer_dns_ips: ["IpAddr"], # required
253
+ # customer_user_name: "UserName", # required
254
+ # },
255
+ # }
256
+ #
257
+ # @!attribute [rw] name
258
+ # The fully-qualified name of the on-premises directory, such as
259
+ # `corp.example.com`.
260
+ # @return [String]
261
+ #
262
+ # @!attribute [rw] short_name
263
+ # The NetBIOS name of the on-premises directory, such as `CORP`.
264
+ # @return [String]
265
+ #
266
+ # @!attribute [rw] password
267
+ # The password for the on-premises user account.
268
+ # @return [String]
269
+ #
270
+ # @!attribute [rw] description
271
+ # A textual description for the directory.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] size
275
+ # The size of the directory.
276
+ # @return [String]
277
+ #
278
+ # @!attribute [rw] connect_settings
279
+ # A DirectoryConnectSettings object that contains additional
280
+ # information for the operation.
281
+ # @return [Types::DirectoryConnectSettings]
282
+ #
283
+ class ConnectDirectoryRequest < Struct.new(
284
+ :name,
285
+ :short_name,
286
+ :password,
287
+ :description,
288
+ :size,
289
+ :connect_settings)
290
+ include Aws::Structure
291
+ end
292
+
293
+ # Contains the results of the ConnectDirectory operation.
294
+ #
295
+ # @!attribute [rw] directory_id
296
+ # The identifier of the new directory.
297
+ # @return [String]
298
+ #
299
+ class ConnectDirectoryResult < Struct.new(
300
+ :directory_id)
301
+ include Aws::Structure
302
+ end
303
+
304
+ # Contains the inputs for the CreateAlias operation.
305
+ #
306
+ # @note When making an API call, you may pass CreateAliasRequest
307
+ # data as a hash:
308
+ #
309
+ # {
310
+ # directory_id: "DirectoryId", # required
311
+ # alias: "AliasName", # required
312
+ # }
313
+ #
314
+ # @!attribute [rw] directory_id
315
+ # The identifier of the directory for which to create the alias.
316
+ # @return [String]
317
+ #
318
+ # @!attribute [rw] alias
319
+ # The requested alias.
320
+ #
321
+ # The alias must be unique amongst all aliases in AWS. This operation
322
+ # throws an `EntityAlreadyExistsException` error if the alias already
323
+ # exists.
324
+ # @return [String]
325
+ #
326
+ class CreateAliasRequest < Struct.new(
327
+ :directory_id,
328
+ :alias)
329
+ include Aws::Structure
330
+ end
331
+
332
+ # Contains the results of the CreateAlias operation.
333
+ #
334
+ # @!attribute [rw] directory_id
335
+ # The identifier of the directory.
336
+ # @return [String]
337
+ #
338
+ # @!attribute [rw] alias
339
+ # The alias for the directory.
340
+ # @return [String]
341
+ #
342
+ class CreateAliasResult < Struct.new(
343
+ :directory_id,
344
+ :alias)
345
+ include Aws::Structure
346
+ end
347
+
348
+ # Contains the inputs for the CreateComputer operation.
349
+ #
350
+ # @note When making an API call, you may pass CreateComputerRequest
351
+ # data as a hash:
352
+ #
353
+ # {
354
+ # directory_id: "DirectoryId", # required
355
+ # computer_name: "ComputerName", # required
356
+ # password: "ComputerPassword", # required
357
+ # organizational_unit_distinguished_name: "OrganizationalUnitDN",
358
+ # computer_attributes: [
359
+ # {
360
+ # name: "AttributeName",
361
+ # value: "AttributeValue",
362
+ # },
363
+ # ],
364
+ # }
365
+ #
366
+ # @!attribute [rw] directory_id
367
+ # The identifier of the directory in which to create the computer
368
+ # account.
369
+ # @return [String]
370
+ #
371
+ # @!attribute [rw] computer_name
372
+ # The name of the computer account.
373
+ # @return [String]
374
+ #
375
+ # @!attribute [rw] password
376
+ # A one-time password that is used to join the computer to the
377
+ # directory. You should generate a random, strong password to use for
378
+ # this parameter.
379
+ # @return [String]
380
+ #
381
+ # @!attribute [rw] organizational_unit_distinguished_name
382
+ # The fully-qualified distinguished name of the organizational unit to
383
+ # place the computer account in.
384
+ # @return [String]
385
+ #
386
+ # @!attribute [rw] computer_attributes
387
+ # An array of Attribute objects that contain any LDAP attributes to
388
+ # apply to the computer account.
389
+ # @return [Array<Types::Attribute>]
390
+ #
391
+ class CreateComputerRequest < Struct.new(
392
+ :directory_id,
393
+ :computer_name,
394
+ :password,
395
+ :organizational_unit_distinguished_name,
396
+ :computer_attributes)
397
+ include Aws::Structure
398
+ end
399
+
400
+ # Contains the results for the CreateComputer operation.
401
+ #
402
+ # @!attribute [rw] computer
403
+ # A Computer object that represents the computer account.
404
+ # @return [Types::Computer]
405
+ #
406
+ class CreateComputerResult < Struct.new(
407
+ :computer)
408
+ include Aws::Structure
409
+ end
410
+
411
+ # Initiates the creation of a conditional forwarder for your AWS
412
+ # Directory Service for Microsoft Active Directory. Conditional
413
+ # forwarders are required in order to set up a trust relationship with
414
+ # another domain.
415
+ #
416
+ # @note When making an API call, you may pass CreateConditionalForwarderRequest
417
+ # data as a hash:
418
+ #
419
+ # {
420
+ # directory_id: "DirectoryId", # required
421
+ # remote_domain_name: "RemoteDomainName", # required
422
+ # dns_ip_addrs: ["IpAddr"], # required
423
+ # }
424
+ #
425
+ # @!attribute [rw] directory_id
426
+ # The directory ID of the AWS directory for which you are creating the
427
+ # conditional forwarder.
428
+ # @return [String]
429
+ #
430
+ # @!attribute [rw] remote_domain_name
431
+ # The fully qualified domain name (FQDN) of the remote domain with
432
+ # which you will set up a trust relationship.
433
+ # @return [String]
434
+ #
435
+ # @!attribute [rw] dns_ip_addrs
436
+ # The IP addresses of the remote DNS server associated with
437
+ # RemoteDomainName.
438
+ # @return [Array<String>]
439
+ #
440
+ class CreateConditionalForwarderRequest < Struct.new(
441
+ :directory_id,
442
+ :remote_domain_name,
443
+ :dns_ip_addrs)
444
+ include Aws::Structure
445
+ end
446
+
447
+ # The result of a CreateConditinalForwarder request.
448
+ #
449
+ class CreateConditionalForwarderResult < Aws::EmptyStructure; end
450
+
451
+ # Contains the inputs for the CreateDirectory operation.
452
+ #
453
+ # @note When making an API call, you may pass CreateDirectoryRequest
454
+ # data as a hash:
455
+ #
456
+ # {
457
+ # name: "DirectoryName", # required
458
+ # short_name: "DirectoryShortName",
459
+ # password: "Password", # required
460
+ # description: "Description",
461
+ # size: "Small", # required, accepts Small, Large
462
+ # vpc_settings: {
463
+ # vpc_id: "VpcId", # required
464
+ # subnet_ids: ["SubnetId"], # required
465
+ # },
466
+ # }
467
+ #
468
+ # @!attribute [rw] name
469
+ # The fully qualified name for the directory, such as
470
+ # `corp.example.com`.
471
+ # @return [String]
472
+ #
473
+ # @!attribute [rw] short_name
474
+ # The short name of the directory, such as `CORP`.
475
+ # @return [String]
476
+ #
477
+ # @!attribute [rw] password
478
+ # The password for the directory administrator. The directory creation
479
+ # process creates a directory administrator account with the username
480
+ # `Administrator` and this password.
481
+ # @return [String]
482
+ #
483
+ # @!attribute [rw] description
484
+ # A textual description for the directory.
485
+ # @return [String]
486
+ #
487
+ # @!attribute [rw] size
488
+ # The size of the directory.
489
+ # @return [String]
490
+ #
491
+ # @!attribute [rw] vpc_settings
492
+ # A DirectoryVpcSettings object that contains additional information
493
+ # for the operation.
494
+ # @return [Types::DirectoryVpcSettings]
495
+ #
496
+ class CreateDirectoryRequest < Struct.new(
497
+ :name,
498
+ :short_name,
499
+ :password,
500
+ :description,
501
+ :size,
502
+ :vpc_settings)
503
+ include Aws::Structure
504
+ end
505
+
506
+ # Contains the results of the CreateDirectory operation.
507
+ #
508
+ # @!attribute [rw] directory_id
509
+ # The identifier of the directory that was created.
510
+ # @return [String]
511
+ #
512
+ class CreateDirectoryResult < Struct.new(
513
+ :directory_id)
514
+ include Aws::Structure
515
+ end
516
+
517
+ # Creates a Microsoft AD in the AWS cloud.
518
+ #
519
+ # @note When making an API call, you may pass CreateMicrosoftADRequest
520
+ # data as a hash:
521
+ #
522
+ # {
523
+ # name: "DirectoryName", # required
524
+ # short_name: "DirectoryShortName",
525
+ # password: "Password", # required
526
+ # description: "Description",
527
+ # vpc_settings: { # required
528
+ # vpc_id: "VpcId", # required
529
+ # subnet_ids: ["SubnetId"], # required
530
+ # },
531
+ # }
532
+ #
533
+ # @!attribute [rw] name
534
+ # The fully qualified domain name for the directory, such as
535
+ # `corp.example.com`. This name will resolve inside your VPC only. It
536
+ # does not need to be publicly resolvable.
537
+ # @return [String]
538
+ #
539
+ # @!attribute [rw] short_name
540
+ # The NetBIOS name for your domain. A short identifier for your
541
+ # domain, such as `CORP`. If you don't specify a NetBIOS name, it
542
+ # will default to the first part of your directory DNS. For example,
543
+ # `CORP` for the directory DNS `corp.example.com`.
544
+ # @return [String]
545
+ #
546
+ # @!attribute [rw] password
547
+ # The password for the default administrative user named `Admin`.
548
+ # @return [String]
549
+ #
550
+ # @!attribute [rw] description
551
+ # A textual description for the directory. This label will appear on
552
+ # the AWS console `Directory Details` page after the directory is
553
+ # created.
554
+ # @return [String]
555
+ #
556
+ # @!attribute [rw] vpc_settings
557
+ # Contains VPC information for the CreateDirectory or
558
+ # CreateMicrosoftAD operation.
559
+ # @return [Types::DirectoryVpcSettings]
560
+ #
561
+ class CreateMicrosoftADRequest < Struct.new(
562
+ :name,
563
+ :short_name,
564
+ :password,
565
+ :description,
566
+ :vpc_settings)
567
+ include Aws::Structure
568
+ end
569
+
570
+ # Result of a CreateMicrosoftAD request.
571
+ #
572
+ # @!attribute [rw] directory_id
573
+ # The identifier of the directory that was created.
574
+ # @return [String]
575
+ #
576
+ class CreateMicrosoftADResult < Struct.new(
577
+ :directory_id)
578
+ include Aws::Structure
579
+ end
580
+
581
+ # Contains the inputs for the CreateSnapshot operation.
582
+ #
583
+ # @note When making an API call, you may pass CreateSnapshotRequest
584
+ # data as a hash:
585
+ #
586
+ # {
587
+ # directory_id: "DirectoryId", # required
588
+ # name: "SnapshotName",
589
+ # }
590
+ #
591
+ # @!attribute [rw] directory_id
592
+ # The identifier of the directory of which to take a snapshot.
593
+ # @return [String]
594
+ #
595
+ # @!attribute [rw] name
596
+ # The descriptive name to apply to the snapshot.
597
+ # @return [String]
598
+ #
599
+ class CreateSnapshotRequest < Struct.new(
600
+ :directory_id,
601
+ :name)
602
+ include Aws::Structure
603
+ end
604
+
605
+ # Contains the results of the CreateSnapshot operation.
606
+ #
607
+ # @!attribute [rw] snapshot_id
608
+ # The identifier of the snapshot that was created.
609
+ # @return [String]
610
+ #
611
+ class CreateSnapshotResult < Struct.new(
612
+ :snapshot_id)
613
+ include Aws::Structure
614
+ end
615
+
616
+ # AWS Directory Service for Microsoft Active Directory allows you to
617
+ # configure trust relationships. For example, you can establish a trust
618
+ # between your Microsoft AD in the AWS cloud, and your existing
619
+ # on-premises Microsoft Active Directory. This would allow you to
620
+ # provide users and groups access to resources in either domain, with a
621
+ # single set of credentials.
622
+ #
623
+ # This action initiates the creation of the AWS side of a trust
624
+ # relationship between a Microsoft AD in the AWS cloud and an external
625
+ # domain.
626
+ #
627
+ # @note When making an API call, you may pass CreateTrustRequest
628
+ # data as a hash:
629
+ #
630
+ # {
631
+ # directory_id: "DirectoryId", # required
632
+ # remote_domain_name: "RemoteDomainName", # required
633
+ # trust_password: "TrustPassword", # required
634
+ # trust_direction: "One-Way: Outgoing", # required, accepts One-Way: Outgoing, One-Way: Incoming, Two-Way
635
+ # trust_type: "Forest", # accepts Forest
636
+ # conditional_forwarder_ip_addrs: ["IpAddr"],
637
+ # }
638
+ #
639
+ # @!attribute [rw] directory_id
640
+ # The Directory ID of the Microsoft AD in the AWS cloud for which to
641
+ # establish the trust relationship.
642
+ # @return [String]
643
+ #
644
+ # @!attribute [rw] remote_domain_name
645
+ # The Fully Qualified Domain Name (FQDN) of the external domain for
646
+ # which to create the trust relationship.
647
+ # @return [String]
648
+ #
649
+ # @!attribute [rw] trust_password
650
+ # The trust password. The must be the same password that was used when
651
+ # creating the trust relationship on the external domain.
652
+ # @return [String]
653
+ #
654
+ # @!attribute [rw] trust_direction
655
+ # The direction of the trust relationship.
656
+ # @return [String]
657
+ #
658
+ # @!attribute [rw] trust_type
659
+ # The trust relationship type.
660
+ # @return [String]
661
+ #
662
+ # @!attribute [rw] conditional_forwarder_ip_addrs
663
+ # The IP addresses of the remote DNS server associated with
664
+ # RemoteDomainName.
665
+ # @return [Array<String>]
666
+ #
667
+ class CreateTrustRequest < Struct.new(
668
+ :directory_id,
669
+ :remote_domain_name,
670
+ :trust_password,
671
+ :trust_direction,
672
+ :trust_type,
673
+ :conditional_forwarder_ip_addrs)
674
+ include Aws::Structure
675
+ end
676
+
677
+ # The result of a CreateTrust request.
678
+ #
679
+ # @!attribute [rw] trust_id
680
+ # A unique identifier for the trust relationship that was created.
681
+ # @return [String]
682
+ #
683
+ class CreateTrustResult < Struct.new(
684
+ :trust_id)
685
+ include Aws::Structure
686
+ end
687
+
688
+ # Deletes a conditional forwarder.
689
+ #
690
+ # @note When making an API call, you may pass DeleteConditionalForwarderRequest
691
+ # data as a hash:
692
+ #
693
+ # {
694
+ # directory_id: "DirectoryId", # required
695
+ # remote_domain_name: "RemoteDomainName", # required
696
+ # }
697
+ #
698
+ # @!attribute [rw] directory_id
699
+ # The directory ID for which you are deleting the conditional
700
+ # forwarder.
701
+ # @return [String]
702
+ #
703
+ # @!attribute [rw] remote_domain_name
704
+ # The fully qualified domain name (FQDN) of the remote domain with
705
+ # which you are deleting the conditional forwarder.
706
+ # @return [String]
707
+ #
708
+ class DeleteConditionalForwarderRequest < Struct.new(
709
+ :directory_id,
710
+ :remote_domain_name)
711
+ include Aws::Structure
712
+ end
713
+
714
+ # The result of a DeleteConditionalForwarder request.
715
+ #
716
+ class DeleteConditionalForwarderResult < Aws::EmptyStructure; end
717
+
718
+ # Contains the inputs for the DeleteDirectory operation.
719
+ #
720
+ # @note When making an API call, you may pass DeleteDirectoryRequest
721
+ # data as a hash:
722
+ #
723
+ # {
724
+ # directory_id: "DirectoryId", # required
725
+ # }
726
+ #
727
+ # @!attribute [rw] directory_id
728
+ # The identifier of the directory to delete.
729
+ # @return [String]
730
+ #
731
+ class DeleteDirectoryRequest < Struct.new(
732
+ :directory_id)
733
+ include Aws::Structure
734
+ end
735
+
736
+ # Contains the results of the DeleteDirectory operation.
737
+ #
738
+ # @!attribute [rw] directory_id
739
+ # The directory identifier.
740
+ # @return [String]
741
+ #
742
+ class DeleteDirectoryResult < Struct.new(
743
+ :directory_id)
744
+ include Aws::Structure
745
+ end
746
+
747
+ # Contains the inputs for the DeleteSnapshot operation.
748
+ #
749
+ # @note When making an API call, you may pass DeleteSnapshotRequest
750
+ # data as a hash:
751
+ #
752
+ # {
753
+ # snapshot_id: "SnapshotId", # required
754
+ # }
755
+ #
756
+ # @!attribute [rw] snapshot_id
757
+ # The identifier of the directory snapshot to be deleted.
758
+ # @return [String]
759
+ #
760
+ class DeleteSnapshotRequest < Struct.new(
761
+ :snapshot_id)
762
+ include Aws::Structure
763
+ end
764
+
765
+ # Contains the results of the DeleteSnapshot operation.
766
+ #
767
+ # @!attribute [rw] snapshot_id
768
+ # The identifier of the directory snapshot that was deleted.
769
+ # @return [String]
770
+ #
771
+ class DeleteSnapshotResult < Struct.new(
772
+ :snapshot_id)
773
+ include Aws::Structure
774
+ end
775
+
776
+ # Deletes the local side of an existing trust relationship between the
777
+ # Microsoft AD in the AWS cloud and the external domain.
778
+ #
779
+ # @note When making an API call, you may pass DeleteTrustRequest
780
+ # data as a hash:
781
+ #
782
+ # {
783
+ # trust_id: "TrustId", # required
784
+ # delete_associated_conditional_forwarder: false,
785
+ # }
786
+ #
787
+ # @!attribute [rw] trust_id
788
+ # The Trust ID of the trust relationship to be deleted.
789
+ # @return [String]
790
+ #
791
+ # @!attribute [rw] delete_associated_conditional_forwarder
792
+ # Delete a conditional forwarder as part of a DeleteTrustRequest.
793
+ # @return [Boolean]
794
+ #
795
+ class DeleteTrustRequest < Struct.new(
796
+ :trust_id,
797
+ :delete_associated_conditional_forwarder)
798
+ include Aws::Structure
799
+ end
800
+
801
+ # The result of a DeleteTrust request.
802
+ #
803
+ # @!attribute [rw] trust_id
804
+ # The Trust ID of the trust relationship that was deleted.
805
+ # @return [String]
806
+ #
807
+ class DeleteTrustResult < Struct.new(
808
+ :trust_id)
809
+ include Aws::Structure
810
+ end
811
+
812
+ # Removes the specified directory as a publisher to the specified SNS
813
+ # topic.
814
+ #
815
+ # @note When making an API call, you may pass DeregisterEventTopicRequest
816
+ # data as a hash:
817
+ #
818
+ # {
819
+ # directory_id: "DirectoryId", # required
820
+ # topic_name: "TopicName", # required
821
+ # }
822
+ #
823
+ # @!attribute [rw] directory_id
824
+ # The Directory ID to remove as a publisher. This directory will no
825
+ # longer send messages to the specified SNS topic.
826
+ # @return [String]
827
+ #
828
+ # @!attribute [rw] topic_name
829
+ # The name of the SNS topic from which to remove the directory as a
830
+ # publisher.
831
+ # @return [String]
832
+ #
833
+ class DeregisterEventTopicRequest < Struct.new(
834
+ :directory_id,
835
+ :topic_name)
836
+ include Aws::Structure
837
+ end
838
+
839
+ # The result of a DeregisterEventTopic request.
840
+ #
841
+ class DeregisterEventTopicResult < Aws::EmptyStructure; end
842
+
843
+ # Describes a conditional forwarder.
844
+ #
845
+ # @note When making an API call, you may pass DescribeConditionalForwardersRequest
846
+ # data as a hash:
847
+ #
848
+ # {
849
+ # directory_id: "DirectoryId", # required
850
+ # remote_domain_names: ["RemoteDomainName"],
851
+ # }
852
+ #
853
+ # @!attribute [rw] directory_id
854
+ # The directory ID for which to get the list of associated conditional
855
+ # forwarders.
856
+ # @return [String]
857
+ #
858
+ # @!attribute [rw] remote_domain_names
859
+ # The fully qualified domain names (FQDN) of the remote domains for
860
+ # which to get the list of associated conditional forwarders. If this
861
+ # member is null, all conditional forwarders are returned.
862
+ # @return [Array<String>]
863
+ #
864
+ class DescribeConditionalForwardersRequest < Struct.new(
865
+ :directory_id,
866
+ :remote_domain_names)
867
+ include Aws::Structure
868
+ end
869
+
870
+ # The result of a DescribeConditionalForwarder request.
871
+ #
872
+ # @!attribute [rw] conditional_forwarders
873
+ # The list of conditional forwarders that have been created.
874
+ # @return [Array<Types::ConditionalForwarder>]
875
+ #
876
+ class DescribeConditionalForwardersResult < Struct.new(
877
+ :conditional_forwarders)
878
+ include Aws::Structure
879
+ end
880
+
881
+ # Contains the inputs for the DescribeDirectories operation.
882
+ #
883
+ # @note When making an API call, you may pass DescribeDirectoriesRequest
884
+ # data as a hash:
885
+ #
886
+ # {
887
+ # directory_ids: ["DirectoryId"],
888
+ # next_token: "NextToken",
889
+ # limit: 1,
890
+ # }
891
+ #
892
+ # @!attribute [rw] directory_ids
893
+ # A list of identifiers of the directories for which to obtain the
894
+ # information. If this member is null, all directories that belong to
895
+ # the current account are returned.
896
+ #
897
+ # An empty list results in an `InvalidParameterException` being
898
+ # thrown.
899
+ # @return [Array<String>]
900
+ #
901
+ # @!attribute [rw] next_token
902
+ # The *DescribeDirectoriesResult.NextToken* value from a previous call
903
+ # to DescribeDirectories. Pass null if this is the first call.
904
+ # @return [String]
905
+ #
906
+ # @!attribute [rw] limit
907
+ # The maximum number of items to return. If this value is zero, the
908
+ # maximum number of items is specified by the limitations of the
909
+ # operation.
910
+ # @return [Integer]
911
+ #
912
+ class DescribeDirectoriesRequest < Struct.new(
913
+ :directory_ids,
914
+ :next_token,
915
+ :limit)
916
+ include Aws::Structure
917
+ end
918
+
919
+ # Contains the results of the DescribeDirectories operation.
920
+ #
921
+ # @!attribute [rw] directory_descriptions
922
+ # The list of DirectoryDescription objects that were retrieved.
923
+ #
924
+ # It is possible that this list contains less than the number of items
925
+ # specified in the *Limit* member of the request. This occurs if there
926
+ # are less than the requested number of items left to retrieve, or if
927
+ # the limitations of the operation have been exceeded.
928
+ # @return [Array<Types::DirectoryDescription>]
929
+ #
930
+ # @!attribute [rw] next_token
931
+ # If not null, more results are available. Pass this value for the
932
+ # *NextToken* parameter in a subsequent call to DescribeDirectories to
933
+ # retrieve the next set of items.
934
+ # @return [String]
935
+ #
936
+ class DescribeDirectoriesResult < Struct.new(
937
+ :directory_descriptions,
938
+ :next_token)
939
+ include Aws::Structure
940
+ end
941
+
942
+ # Describes event topics.
943
+ #
944
+ # @note When making an API call, you may pass DescribeEventTopicsRequest
945
+ # data as a hash:
946
+ #
947
+ # {
948
+ # directory_id: "DirectoryId",
949
+ # topic_names: ["TopicName"],
950
+ # }
951
+ #
952
+ # @!attribute [rw] directory_id
953
+ # The Directory ID for which to get the list of associated SNS topics.
954
+ # If this member is null, associations for all Directory IDs are
955
+ # returned.
956
+ # @return [String]
957
+ #
958
+ # @!attribute [rw] topic_names
959
+ # A list of SNS topic names for which to obtain the information. If
960
+ # this member is null, all associations for the specified Directory ID
961
+ # are returned.
962
+ #
963
+ # An empty list results in an `InvalidParameterException` being
964
+ # thrown.
965
+ # @return [Array<String>]
966
+ #
967
+ class DescribeEventTopicsRequest < Struct.new(
968
+ :directory_id,
969
+ :topic_names)
970
+ include Aws::Structure
971
+ end
972
+
973
+ # The result of a DescribeEventTopic request.
974
+ #
975
+ # @!attribute [rw] event_topics
976
+ # A list of SNS topic names that receive status messages from the
977
+ # specified Directory ID.
978
+ # @return [Array<Types::EventTopic>]
979
+ #
980
+ class DescribeEventTopicsResult < Struct.new(
981
+ :event_topics)
982
+ include Aws::Structure
983
+ end
984
+
985
+ # Contains the inputs for the DescribeSnapshots operation.
986
+ #
987
+ # @note When making an API call, you may pass DescribeSnapshotsRequest
988
+ # data as a hash:
989
+ #
990
+ # {
991
+ # directory_id: "DirectoryId",
992
+ # snapshot_ids: ["SnapshotId"],
993
+ # next_token: "NextToken",
994
+ # limit: 1,
995
+ # }
996
+ #
997
+ # @!attribute [rw] directory_id
998
+ # The identifier of the directory for which to retrieve snapshot
999
+ # information.
1000
+ # @return [String]
1001
+ #
1002
+ # @!attribute [rw] snapshot_ids
1003
+ # A list of identifiers of the snapshots to obtain the information
1004
+ # for. If this member is null or empty, all snapshots are returned
1005
+ # using the *Limit* and *NextToken* members.
1006
+ # @return [Array<String>]
1007
+ #
1008
+ # @!attribute [rw] next_token
1009
+ # The *DescribeSnapshotsResult.NextToken* value from a previous call
1010
+ # to DescribeSnapshots. Pass null if this is the first call.
1011
+ # @return [String]
1012
+ #
1013
+ # @!attribute [rw] limit
1014
+ # The maximum number of objects to return.
1015
+ # @return [Integer]
1016
+ #
1017
+ class DescribeSnapshotsRequest < Struct.new(
1018
+ :directory_id,
1019
+ :snapshot_ids,
1020
+ :next_token,
1021
+ :limit)
1022
+ include Aws::Structure
1023
+ end
1024
+
1025
+ # Contains the results of the DescribeSnapshots operation.
1026
+ #
1027
+ # @!attribute [rw] snapshots
1028
+ # The list of Snapshot objects that were retrieved.
1029
+ #
1030
+ # It is possible that this list contains less than the number of items
1031
+ # specified in the *Limit* member of the request. This occurs if there
1032
+ # are less than the requested number of items left to retrieve, or if
1033
+ # the limitations of the operation have been exceeded.
1034
+ # @return [Array<Types::Snapshot>]
1035
+ #
1036
+ # @!attribute [rw] next_token
1037
+ # If not null, more results are available. Pass this value in the
1038
+ # *NextToken* member of a subsequent call to DescribeSnapshots.
1039
+ # @return [String]
1040
+ #
1041
+ class DescribeSnapshotsResult < Struct.new(
1042
+ :snapshots,
1043
+ :next_token)
1044
+ include Aws::Structure
1045
+ end
1046
+
1047
+ # Describes the trust relationships for a particular Microsoft AD in the
1048
+ # AWS cloud. If no input parameters are are provided, such as directory
1049
+ # ID or trust ID, this request describes all the trust relationships.
1050
+ #
1051
+ # @note When making an API call, you may pass DescribeTrustsRequest
1052
+ # data as a hash:
1053
+ #
1054
+ # {
1055
+ # directory_id: "DirectoryId",
1056
+ # trust_ids: ["TrustId"],
1057
+ # next_token: "NextToken",
1058
+ # limit: 1,
1059
+ # }
1060
+ #
1061
+ # @!attribute [rw] directory_id
1062
+ # The Directory ID of the AWS directory that is a part of the
1063
+ # requested trust relationship.
1064
+ # @return [String]
1065
+ #
1066
+ # @!attribute [rw] trust_ids
1067
+ # A list of identifiers of the trust relationships for which to obtain
1068
+ # the information. If this member is null, all trust relationships
1069
+ # that belong to the current account are returned.
1070
+ #
1071
+ # An empty list results in an `InvalidParameterException` being
1072
+ # thrown.
1073
+ # @return [Array<String>]
1074
+ #
1075
+ # @!attribute [rw] next_token
1076
+ # The *DescribeTrustsResult.NextToken* value from a previous call to
1077
+ # DescribeTrusts. Pass null if this is the first call.
1078
+ # @return [String]
1079
+ #
1080
+ # @!attribute [rw] limit
1081
+ # The maximum number of objects to return.
1082
+ # @return [Integer]
1083
+ #
1084
+ class DescribeTrustsRequest < Struct.new(
1085
+ :directory_id,
1086
+ :trust_ids,
1087
+ :next_token,
1088
+ :limit)
1089
+ include Aws::Structure
1090
+ end
1091
+
1092
+ # The result of a DescribeTrust request.
1093
+ #
1094
+ # @!attribute [rw] trusts
1095
+ # The list of Trust objects that were retrieved.
1096
+ #
1097
+ # It is possible that this list contains less than the number of items
1098
+ # specified in the *Limit* member of the request. This occurs if there
1099
+ # are less than the requested number of items left to retrieve, or if
1100
+ # the limitations of the operation have been exceeded.
1101
+ # @return [Array<Types::Trust>]
1102
+ #
1103
+ # @!attribute [rw] next_token
1104
+ # If not null, more results are available. Pass this value for the
1105
+ # *NextToken* parameter in a subsequent call to DescribeTrusts to
1106
+ # retrieve the next set of items.
1107
+ # @return [String]
1108
+ #
1109
+ class DescribeTrustsResult < Struct.new(
1110
+ :trusts,
1111
+ :next_token)
1112
+ include Aws::Structure
1113
+ end
1114
+
1115
+ # Contains information for the ConnectDirectory operation when an AD
1116
+ # Connector directory is being created.
1117
+ #
1118
+ # @note When making an API call, you may pass DirectoryConnectSettings
1119
+ # data as a hash:
1120
+ #
1121
+ # {
1122
+ # vpc_id: "VpcId", # required
1123
+ # subnet_ids: ["SubnetId"], # required
1124
+ # customer_dns_ips: ["IpAddr"], # required
1125
+ # customer_user_name: "UserName", # required
1126
+ # }
1127
+ #
1128
+ # @!attribute [rw] vpc_id
1129
+ # The identifier of the VPC in which the AD Connector is created.
1130
+ # @return [String]
1131
+ #
1132
+ # @!attribute [rw] subnet_ids
1133
+ # A list of subnet identifiers in the VPC in which the AD Connector is
1134
+ # created.
1135
+ # @return [Array<String>]
1136
+ #
1137
+ # @!attribute [rw] customer_dns_ips
1138
+ # A list of one or more IP addresses of DNS servers or domain
1139
+ # controllers in the on-premises directory.
1140
+ # @return [Array<String>]
1141
+ #
1142
+ # @!attribute [rw] customer_user_name
1143
+ # The username of an account in the on-premises directory that is used
1144
+ # to connect to the directory. This account must have the following
1145
+ # privileges:
1146
+ #
1147
+ # * Read users and groups
1148
+ #
1149
+ # * Create computer objects
1150
+ #
1151
+ # * Join computers to the domain
1152
+ # @return [String]
1153
+ #
1154
+ class DirectoryConnectSettings < Struct.new(
1155
+ :vpc_id,
1156
+ :subnet_ids,
1157
+ :customer_dns_ips,
1158
+ :customer_user_name)
1159
+ include Aws::Structure
1160
+ end
1161
+
1162
+ # Contains information about an AD Connector directory.
1163
+ #
1164
+ # @!attribute [rw] vpc_id
1165
+ # The identifier of the VPC that the AD Connector is in.
1166
+ # @return [String]
1167
+ #
1168
+ # @!attribute [rw] subnet_ids
1169
+ # A list of subnet identifiers in the VPC that the AD connector is in.
1170
+ # @return [Array<String>]
1171
+ #
1172
+ # @!attribute [rw] customer_user_name
1173
+ # The username of the service account in the on-premises directory.
1174
+ # @return [String]
1175
+ #
1176
+ # @!attribute [rw] security_group_id
1177
+ # The security group identifier for the AD Connector directory.
1178
+ # @return [String]
1179
+ #
1180
+ # @!attribute [rw] availability_zones
1181
+ # A list of the Availability Zones that the directory is in.
1182
+ # @return [Array<String>]
1183
+ #
1184
+ # @!attribute [rw] connect_ips
1185
+ # The IP addresses of the AD Connector servers.
1186
+ # @return [Array<String>]
1187
+ #
1188
+ class DirectoryConnectSettingsDescription < Struct.new(
1189
+ :vpc_id,
1190
+ :subnet_ids,
1191
+ :customer_user_name,
1192
+ :security_group_id,
1193
+ :availability_zones,
1194
+ :connect_ips)
1195
+ include Aws::Structure
1196
+ end
1197
+
1198
+ # Contains information about an AWS Directory Service directory.
1199
+ #
1200
+ # @!attribute [rw] directory_id
1201
+ # The directory identifier.
1202
+ # @return [String]
1203
+ #
1204
+ # @!attribute [rw] name
1205
+ # The fully-qualified name of the directory.
1206
+ # @return [String]
1207
+ #
1208
+ # @!attribute [rw] short_name
1209
+ # The short name of the directory.
1210
+ # @return [String]
1211
+ #
1212
+ # @!attribute [rw] size
1213
+ # The directory size.
1214
+ # @return [String]
1215
+ #
1216
+ # @!attribute [rw] alias
1217
+ # The alias for the directory. If no alias has been created for the
1218
+ # directory, the alias is the directory identifier, such as
1219
+ # `d-XXXXXXXXXX`.
1220
+ # @return [String]
1221
+ #
1222
+ # @!attribute [rw] access_url
1223
+ # The access URL for the directory, such as
1224
+ # `http://<alias>.awsapps.com`. If no alias has been created for the
1225
+ # directory, `<alias>` is the directory identifier, such as
1226
+ # `d-XXXXXXXXXX`.
1227
+ # @return [String]
1228
+ #
1229
+ # @!attribute [rw] description
1230
+ # The textual description for the directory.
1231
+ # @return [String]
1232
+ #
1233
+ # @!attribute [rw] dns_ip_addrs
1234
+ # The IP addresses of the DNS servers for the directory. For a Simple
1235
+ # AD or Microsoft AD directory, these are the IP addresses of the
1236
+ # Simple AD or Microsoft AD directory servers. For an AD Connector
1237
+ # directory, these are the IP addresses of the DNS servers or domain
1238
+ # controllers in the on-premises directory to which the AD Connector
1239
+ # is connected.
1240
+ # @return [Array<String>]
1241
+ #
1242
+ # @!attribute [rw] stage
1243
+ # The current stage of the directory.
1244
+ # @return [String]
1245
+ #
1246
+ # @!attribute [rw] launch_time
1247
+ # Specifies when the directory was created.
1248
+ # @return [Time]
1249
+ #
1250
+ # @!attribute [rw] stage_last_updated_date_time
1251
+ # The date and time that the stage was last updated.
1252
+ # @return [Time]
1253
+ #
1254
+ # @!attribute [rw] type
1255
+ # The directory size.
1256
+ # @return [String]
1257
+ #
1258
+ # @!attribute [rw] vpc_settings
1259
+ # A DirectoryVpcSettingsDescription object that contains additional
1260
+ # information about a directory. This member is only present if the
1261
+ # directory is a Simple AD or Managed AD directory.
1262
+ # @return [Types::DirectoryVpcSettingsDescription]
1263
+ #
1264
+ # @!attribute [rw] connect_settings
1265
+ # A DirectoryConnectSettingsDescription object that contains
1266
+ # additional information about an AD Connector directory. This member
1267
+ # is only present if the directory is an AD Connector directory.
1268
+ # @return [Types::DirectoryConnectSettingsDescription]
1269
+ #
1270
+ # @!attribute [rw] radius_settings
1271
+ # A RadiusSettings object that contains information about the RADIUS
1272
+ # server configured for this directory.
1273
+ # @return [Types::RadiusSettings]
1274
+ #
1275
+ # @!attribute [rw] radius_status
1276
+ # The status of the RADIUS MFA server connection.
1277
+ # @return [String]
1278
+ #
1279
+ # @!attribute [rw] stage_reason
1280
+ # Additional information about the directory stage.
1281
+ # @return [String]
1282
+ #
1283
+ # @!attribute [rw] sso_enabled
1284
+ # Indicates if single-sign on is enabled for the directory. For more
1285
+ # information, see EnableSso and DisableSso.
1286
+ # @return [Boolean]
1287
+ #
1288
+ class DirectoryDescription < Struct.new(
1289
+ :directory_id,
1290
+ :name,
1291
+ :short_name,
1292
+ :size,
1293
+ :alias,
1294
+ :access_url,
1295
+ :description,
1296
+ :dns_ip_addrs,
1297
+ :stage,
1298
+ :launch_time,
1299
+ :stage_last_updated_date_time,
1300
+ :type,
1301
+ :vpc_settings,
1302
+ :connect_settings,
1303
+ :radius_settings,
1304
+ :radius_status,
1305
+ :stage_reason,
1306
+ :sso_enabled)
1307
+ include Aws::Structure
1308
+ end
1309
+
1310
+ # Contains directory limit information for a region.
1311
+ #
1312
+ # @!attribute [rw] cloud_only_directories_limit
1313
+ # The maximum number of cloud directories allowed in the region.
1314
+ # @return [Integer]
1315
+ #
1316
+ # @!attribute [rw] cloud_only_directories_current_count
1317
+ # The current number of cloud directories in the region.
1318
+ # @return [Integer]
1319
+ #
1320
+ # @!attribute [rw] cloud_only_directories_limit_reached
1321
+ # Indicates if the cloud directory limit has been reached.
1322
+ # @return [Boolean]
1323
+ #
1324
+ # @!attribute [rw] cloud_only_microsoft_ad_limit
1325
+ # The maximum number of Microsoft AD directories allowed in the
1326
+ # region.
1327
+ # @return [Integer]
1328
+ #
1329
+ # @!attribute [rw] cloud_only_microsoft_ad_current_count
1330
+ # The current number of Microsoft AD directories in the region.
1331
+ # @return [Integer]
1332
+ #
1333
+ # @!attribute [rw] cloud_only_microsoft_ad_limit_reached
1334
+ # Indicates if the Microsoft AD directory limit has been reached.
1335
+ # @return [Boolean]
1336
+ #
1337
+ # @!attribute [rw] connected_directories_limit
1338
+ # The maximum number of connected directories allowed in the region.
1339
+ # @return [Integer]
1340
+ #
1341
+ # @!attribute [rw] connected_directories_current_count
1342
+ # The current number of connected directories in the region.
1343
+ # @return [Integer]
1344
+ #
1345
+ # @!attribute [rw] connected_directories_limit_reached
1346
+ # Indicates if the connected directory limit has been reached.
1347
+ # @return [Boolean]
1348
+ #
1349
+ class DirectoryLimits < Struct.new(
1350
+ :cloud_only_directories_limit,
1351
+ :cloud_only_directories_current_count,
1352
+ :cloud_only_directories_limit_reached,
1353
+ :cloud_only_microsoft_ad_limit,
1354
+ :cloud_only_microsoft_ad_current_count,
1355
+ :cloud_only_microsoft_ad_limit_reached,
1356
+ :connected_directories_limit,
1357
+ :connected_directories_current_count,
1358
+ :connected_directories_limit_reached)
1359
+ include Aws::Structure
1360
+ end
1361
+
1362
+ # Contains VPC information for the CreateDirectory or CreateMicrosoftAD
1363
+ # operation.
1364
+ #
1365
+ # @note When making an API call, you may pass DirectoryVpcSettings
1366
+ # data as a hash:
1367
+ #
1368
+ # {
1369
+ # vpc_id: "VpcId", # required
1370
+ # subnet_ids: ["SubnetId"], # required
1371
+ # }
1372
+ #
1373
+ # @!attribute [rw] vpc_id
1374
+ # The identifier of the VPC in which to create the directory.
1375
+ # @return [String]
1376
+ #
1377
+ # @!attribute [rw] subnet_ids
1378
+ # The identifiers of the subnets for the directory servers. The two
1379
+ # subnets must be in different Availability Zones. AWS Directory
1380
+ # Service creates a directory server and a DNS server in each of these
1381
+ # subnets.
1382
+ # @return [Array<String>]
1383
+ #
1384
+ class DirectoryVpcSettings < Struct.new(
1385
+ :vpc_id,
1386
+ :subnet_ids)
1387
+ include Aws::Structure
1388
+ end
1389
+
1390
+ # Contains information about the directory.
1391
+ #
1392
+ # @!attribute [rw] vpc_id
1393
+ # The identifier of the VPC that the directory is in.
1394
+ # @return [String]
1395
+ #
1396
+ # @!attribute [rw] subnet_ids
1397
+ # The identifiers of the subnets for the directory servers.
1398
+ # @return [Array<String>]
1399
+ #
1400
+ # @!attribute [rw] security_group_id
1401
+ # The security group identifier for the directory. If the directory
1402
+ # was created before 8/1/2014, this is the identifier of the directory
1403
+ # members security group that was created when the directory was
1404
+ # created. If the directory was created after this date, this value is
1405
+ # null.
1406
+ # @return [String]
1407
+ #
1408
+ # @!attribute [rw] availability_zones
1409
+ # The list of Availability Zones that the directory is in.
1410
+ # @return [Array<String>]
1411
+ #
1412
+ class DirectoryVpcSettingsDescription < Struct.new(
1413
+ :vpc_id,
1414
+ :subnet_ids,
1415
+ :security_group_id,
1416
+ :availability_zones)
1417
+ include Aws::Structure
1418
+ end
1419
+
1420
+ # Contains the inputs for the DisableRadius operation.
1421
+ #
1422
+ # @note When making an API call, you may pass DisableRadiusRequest
1423
+ # data as a hash:
1424
+ #
1425
+ # {
1426
+ # directory_id: "DirectoryId", # required
1427
+ # }
1428
+ #
1429
+ # @!attribute [rw] directory_id
1430
+ # The identifier of the directory for which to disable MFA.
1431
+ # @return [String]
1432
+ #
1433
+ class DisableRadiusRequest < Struct.new(
1434
+ :directory_id)
1435
+ include Aws::Structure
1436
+ end
1437
+
1438
+ # Contains the results of the DisableRadius operation.
1439
+ #
1440
+ class DisableRadiusResult < Aws::EmptyStructure; end
1441
+
1442
+ # Contains the inputs for the DisableSso operation.
1443
+ #
1444
+ # @note When making an API call, you may pass DisableSsoRequest
1445
+ # data as a hash:
1446
+ #
1447
+ # {
1448
+ # directory_id: "DirectoryId", # required
1449
+ # user_name: "UserName",
1450
+ # password: "ConnectPassword",
1451
+ # }
1452
+ #
1453
+ # @!attribute [rw] directory_id
1454
+ # The identifier of the directory for which to disable single-sign on.
1455
+ # @return [String]
1456
+ #
1457
+ # @!attribute [rw] user_name
1458
+ # The username of an alternate account to use to disable single-sign
1459
+ # on. This is only used for AD Connector directories. This account
1460
+ # must have privileges to remove a service principal name.
1461
+ #
1462
+ # If the AD Connector service account does not have privileges to
1463
+ # remove a service principal name, you can specify an alternate
1464
+ # account with the *UserName* and *Password* parameters. These
1465
+ # credentials are only used to disable single sign-on and are not
1466
+ # stored by the service. The AD Connector service account is not
1467
+ # changed.
1468
+ # @return [String]
1469
+ #
1470
+ # @!attribute [rw] password
1471
+ # The password of an alternate account to use to disable single-sign
1472
+ # on. This is only used for AD Connector directories. For more
1473
+ # information, see the *UserName* parameter.
1474
+ # @return [String]
1475
+ #
1476
+ class DisableSsoRequest < Struct.new(
1477
+ :directory_id,
1478
+ :user_name,
1479
+ :password)
1480
+ include Aws::Structure
1481
+ end
1482
+
1483
+ # Contains the results of the DisableSso operation.
1484
+ #
1485
+ class DisableSsoResult < Aws::EmptyStructure; end
1486
+
1487
+ # Contains the inputs for the EnableRadius operation.
1488
+ #
1489
+ # @note When making an API call, you may pass EnableRadiusRequest
1490
+ # data as a hash:
1491
+ #
1492
+ # {
1493
+ # directory_id: "DirectoryId", # required
1494
+ # radius_settings: { # required
1495
+ # radius_servers: ["Server"],
1496
+ # radius_port: 1,
1497
+ # radius_timeout: 1,
1498
+ # radius_retries: 1,
1499
+ # shared_secret: "RadiusSharedSecret",
1500
+ # authentication_protocol: "PAP", # accepts PAP, CHAP, MS-CHAPv1, MS-CHAPv2
1501
+ # display_label: "RadiusDisplayLabel",
1502
+ # use_same_username: false,
1503
+ # },
1504
+ # }
1505
+ #
1506
+ # @!attribute [rw] directory_id
1507
+ # The identifier of the directory for which to enable MFA.
1508
+ # @return [String]
1509
+ #
1510
+ # @!attribute [rw] radius_settings
1511
+ # A RadiusSettings object that contains information about the RADIUS
1512
+ # server.
1513
+ # @return [Types::RadiusSettings]
1514
+ #
1515
+ class EnableRadiusRequest < Struct.new(
1516
+ :directory_id,
1517
+ :radius_settings)
1518
+ include Aws::Structure
1519
+ end
1520
+
1521
+ # Contains the results of the EnableRadius operation.
1522
+ #
1523
+ class EnableRadiusResult < Aws::EmptyStructure; end
1524
+
1525
+ # Contains the inputs for the EnableSso operation.
1526
+ #
1527
+ # @note When making an API call, you may pass EnableSsoRequest
1528
+ # data as a hash:
1529
+ #
1530
+ # {
1531
+ # directory_id: "DirectoryId", # required
1532
+ # user_name: "UserName",
1533
+ # password: "ConnectPassword",
1534
+ # }
1535
+ #
1536
+ # @!attribute [rw] directory_id
1537
+ # The identifier of the directory for which to enable single-sign on.
1538
+ # @return [String]
1539
+ #
1540
+ # @!attribute [rw] user_name
1541
+ # The username of an alternate account to use to enable single-sign
1542
+ # on. This is only used for AD Connector directories. This account
1543
+ # must have privileges to add a service principal name.
1544
+ #
1545
+ # If the AD Connector service account does not have privileges to add
1546
+ # a service principal name, you can specify an alternate account with
1547
+ # the *UserName* and *Password* parameters. These credentials are only
1548
+ # used to enable single sign-on and are not stored by the service. The
1549
+ # AD Connector service account is not changed.
1550
+ # @return [String]
1551
+ #
1552
+ # @!attribute [rw] password
1553
+ # The password of an alternate account to use to enable single-sign
1554
+ # on. This is only used for AD Connector directories. For more
1555
+ # information, see the *UserName* parameter.
1556
+ # @return [String]
1557
+ #
1558
+ class EnableSsoRequest < Struct.new(
1559
+ :directory_id,
1560
+ :user_name,
1561
+ :password)
1562
+ include Aws::Structure
1563
+ end
1564
+
1565
+ # Contains the results of the EnableSso operation.
1566
+ #
1567
+ class EnableSsoResult < Aws::EmptyStructure; end
1568
+
1569
+ # Information about SNS topic and AWS Directory Service directory
1570
+ # associations.
1571
+ #
1572
+ # @!attribute [rw] directory_id
1573
+ # The Directory ID of an AWS Directory Service directory that will
1574
+ # publish status messages to an SNS topic.
1575
+ # @return [String]
1576
+ #
1577
+ # @!attribute [rw] topic_name
1578
+ # The name of an AWS SNS topic the receives status messages from the
1579
+ # directory.
1580
+ # @return [String]
1581
+ #
1582
+ # @!attribute [rw] topic_arn
1583
+ # The SNS topic ARN (Amazon Resource Name).
1584
+ # @return [String]
1585
+ #
1586
+ # @!attribute [rw] created_date_time
1587
+ # The date and time of when you associated your directory with the SNS
1588
+ # topic.
1589
+ # @return [Time]
1590
+ #
1591
+ # @!attribute [rw] status
1592
+ # The topic registration status.
1593
+ # @return [String]
1594
+ #
1595
+ class EventTopic < Struct.new(
1596
+ :directory_id,
1597
+ :topic_name,
1598
+ :topic_arn,
1599
+ :created_date_time,
1600
+ :status)
1601
+ include Aws::Structure
1602
+ end
1603
+
1604
+ # Contains the inputs for the GetDirectoryLimits operation.
1605
+ #
1606
+ # @api private
1607
+ #
1608
+ class GetDirectoryLimitsRequest < Aws::EmptyStructure; end
1609
+
1610
+ # Contains the results of the GetDirectoryLimits operation.
1611
+ #
1612
+ # @!attribute [rw] directory_limits
1613
+ # A DirectoryLimits object that contains the directory limits for the
1614
+ # current region.
1615
+ # @return [Types::DirectoryLimits]
1616
+ #
1617
+ class GetDirectoryLimitsResult < Struct.new(
1618
+ :directory_limits)
1619
+ include Aws::Structure
1620
+ end
1621
+
1622
+ # Contains the inputs for the GetSnapshotLimits operation.
1623
+ #
1624
+ # @note When making an API call, you may pass GetSnapshotLimitsRequest
1625
+ # data as a hash:
1626
+ #
1627
+ # {
1628
+ # directory_id: "DirectoryId", # required
1629
+ # }
1630
+ #
1631
+ # @!attribute [rw] directory_id
1632
+ # Contains the identifier of the directory to obtain the limits for.
1633
+ # @return [String]
1634
+ #
1635
+ class GetSnapshotLimitsRequest < Struct.new(
1636
+ :directory_id)
1637
+ include Aws::Structure
1638
+ end
1639
+
1640
+ # Contains the results of the GetSnapshotLimits operation.
1641
+ #
1642
+ # @!attribute [rw] snapshot_limits
1643
+ # A SnapshotLimits object that contains the manual snapshot limits for
1644
+ # the specified directory.
1645
+ # @return [Types::SnapshotLimits]
1646
+ #
1647
+ class GetSnapshotLimitsResult < Struct.new(
1648
+ :snapshot_limits)
1649
+ include Aws::Structure
1650
+ end
1651
+
1652
+ # IP address block. This is often the address block of the DNS server
1653
+ # used for your on-premises domain.
1654
+ #
1655
+ # @note When making an API call, you may pass IpRoute
1656
+ # data as a hash:
1657
+ #
1658
+ # {
1659
+ # cidr_ip: "CidrIp",
1660
+ # description: "Description",
1661
+ # }
1662
+ #
1663
+ # @!attribute [rw] cidr_ip
1664
+ # IP address block using CIDR format, for example 10.0.0.0/24. This is
1665
+ # often the address block of the DNS server used for your on-premises
1666
+ # domain. For a single IP address use a CIDR address block with /32.
1667
+ # For example 10.0.0.0/32.
1668
+ # @return [String]
1669
+ #
1670
+ # @!attribute [rw] description
1671
+ # Description of the address block.
1672
+ # @return [String]
1673
+ #
1674
+ class IpRoute < Struct.new(
1675
+ :cidr_ip,
1676
+ :description)
1677
+ include Aws::Structure
1678
+ end
1679
+
1680
+ # Information about one or more IP address blocks.
1681
+ #
1682
+ # @!attribute [rw] directory_id
1683
+ # Identifier (ID) of the directory associated with the IP addresses.
1684
+ # @return [String]
1685
+ #
1686
+ # @!attribute [rw] cidr_ip
1687
+ # IP address block in the IpRoute.
1688
+ # @return [String]
1689
+ #
1690
+ # @!attribute [rw] ip_route_status_msg
1691
+ # The status of the IP address block.
1692
+ # @return [String]
1693
+ #
1694
+ # @!attribute [rw] added_date_time
1695
+ # The date and time the address block was added to the directory.
1696
+ # @return [Time]
1697
+ #
1698
+ # @!attribute [rw] ip_route_status_reason
1699
+ # The reason for the IpRouteStatusMsg.
1700
+ # @return [String]
1701
+ #
1702
+ # @!attribute [rw] description
1703
+ # Description of the IpRouteInfo.
1704
+ # @return [String]
1705
+ #
1706
+ class IpRouteInfo < Struct.new(
1707
+ :directory_id,
1708
+ :cidr_ip,
1709
+ :ip_route_status_msg,
1710
+ :added_date_time,
1711
+ :ip_route_status_reason,
1712
+ :description)
1713
+ include Aws::Structure
1714
+ end
1715
+
1716
+ # @note When making an API call, you may pass ListIpRoutesRequest
1717
+ # data as a hash:
1718
+ #
1719
+ # {
1720
+ # directory_id: "DirectoryId", # required
1721
+ # next_token: "NextToken",
1722
+ # limit: 1,
1723
+ # }
1724
+ #
1725
+ # @!attribute [rw] directory_id
1726
+ # Identifier (ID) of the directory for which you want to retrieve the
1727
+ # IP addresses.
1728
+ # @return [String]
1729
+ #
1730
+ # @!attribute [rw] next_token
1731
+ # The *ListIpRoutes.NextToken* value from a previous call to
1732
+ # ListIpRoutes. Pass null if this is the first call.
1733
+ # @return [String]
1734
+ #
1735
+ # @!attribute [rw] limit
1736
+ # Maximum number of items to return. If this value is zero, the
1737
+ # maximum number of items is specified by the limitations of the
1738
+ # operation.
1739
+ # @return [Integer]
1740
+ #
1741
+ class ListIpRoutesRequest < Struct.new(
1742
+ :directory_id,
1743
+ :next_token,
1744
+ :limit)
1745
+ include Aws::Structure
1746
+ end
1747
+
1748
+ # @!attribute [rw] ip_routes_info
1749
+ # A list of IpRoutes.
1750
+ # @return [Array<Types::IpRouteInfo>]
1751
+ #
1752
+ # @!attribute [rw] next_token
1753
+ # If not null, more results are available. Pass this value for the
1754
+ # *NextToken* parameter in a subsequent call to ListIpRoutes to
1755
+ # retrieve the next set of items.
1756
+ # @return [String]
1757
+ #
1758
+ class ListIpRoutesResult < Struct.new(
1759
+ :ip_routes_info,
1760
+ :next_token)
1761
+ include Aws::Structure
1762
+ end
1763
+
1764
+ # @note When making an API call, you may pass ListSchemaExtensionsRequest
1765
+ # data as a hash:
1766
+ #
1767
+ # {
1768
+ # directory_id: "DirectoryId", # required
1769
+ # next_token: "NextToken",
1770
+ # limit: 1,
1771
+ # }
1772
+ #
1773
+ # @!attribute [rw] directory_id
1774
+ # The identifier of the directory from which to retrieve the schema
1775
+ # extension information.
1776
+ # @return [String]
1777
+ #
1778
+ # @!attribute [rw] next_token
1779
+ # The `ListSchemaExtensions.NextToken` value from a previous call to
1780
+ # `ListSchemaExtensions`. Pass null if this is the first call.
1781
+ # @return [String]
1782
+ #
1783
+ # @!attribute [rw] limit
1784
+ # The maximum number of items to return.
1785
+ # @return [Integer]
1786
+ #
1787
+ class ListSchemaExtensionsRequest < Struct.new(
1788
+ :directory_id,
1789
+ :next_token,
1790
+ :limit)
1791
+ include Aws::Structure
1792
+ end
1793
+
1794
+ # @!attribute [rw] schema_extensions_info
1795
+ # Information about the schema extensions applied to the directory.
1796
+ # @return [Array<Types::SchemaExtensionInfo>]
1797
+ #
1798
+ # @!attribute [rw] next_token
1799
+ # If not null, more results are available. Pass this value for the
1800
+ # `NextToken` parameter in a subsequent call to `ListSchemaExtensions`
1801
+ # to retrieve the next set of items.
1802
+ # @return [String]
1803
+ #
1804
+ class ListSchemaExtensionsResult < Struct.new(
1805
+ :schema_extensions_info,
1806
+ :next_token)
1807
+ include Aws::Structure
1808
+ end
1809
+
1810
+ # @note When making an API call, you may pass ListTagsForResourceRequest
1811
+ # data as a hash:
1812
+ #
1813
+ # {
1814
+ # resource_id: "ResourceId", # required
1815
+ # next_token: "NextToken",
1816
+ # limit: 1,
1817
+ # }
1818
+ #
1819
+ # @!attribute [rw] resource_id
1820
+ # Identifier (ID) of the directory for which you want to retrieve
1821
+ # tags.
1822
+ # @return [String]
1823
+ #
1824
+ # @!attribute [rw] next_token
1825
+ # Reserved for future use.
1826
+ # @return [String]
1827
+ #
1828
+ # @!attribute [rw] limit
1829
+ # Reserved for future use.
1830
+ # @return [Integer]
1831
+ #
1832
+ class ListTagsForResourceRequest < Struct.new(
1833
+ :resource_id,
1834
+ :next_token,
1835
+ :limit)
1836
+ include Aws::Structure
1837
+ end
1838
+
1839
+ # @!attribute [rw] tags
1840
+ # List of tags returned by the ListTagsForResource operation.
1841
+ # @return [Array<Types::Tag>]
1842
+ #
1843
+ # @!attribute [rw] next_token
1844
+ # Reserved for future use.
1845
+ # @return [String]
1846
+ #
1847
+ class ListTagsForResourceResult < Struct.new(
1848
+ :tags,
1849
+ :next_token)
1850
+ include Aws::Structure
1851
+ end
1852
+
1853
+ # Contains information about a Remote Authentication Dial In User
1854
+ # Service (RADIUS) server.
1855
+ #
1856
+ # @note When making an API call, you may pass RadiusSettings
1857
+ # data as a hash:
1858
+ #
1859
+ # {
1860
+ # radius_servers: ["Server"],
1861
+ # radius_port: 1,
1862
+ # radius_timeout: 1,
1863
+ # radius_retries: 1,
1864
+ # shared_secret: "RadiusSharedSecret",
1865
+ # authentication_protocol: "PAP", # accepts PAP, CHAP, MS-CHAPv1, MS-CHAPv2
1866
+ # display_label: "RadiusDisplayLabel",
1867
+ # use_same_username: false,
1868
+ # }
1869
+ #
1870
+ # @!attribute [rw] radius_servers
1871
+ # An array of strings that contains the IP addresses of the RADIUS
1872
+ # server endpoints, or the IP addresses of your RADIUS server load
1873
+ # balancer.
1874
+ # @return [Array<String>]
1875
+ #
1876
+ # @!attribute [rw] radius_port
1877
+ # The port that your RADIUS server is using for communications. Your
1878
+ # on-premises network must allow inbound traffic over this port from
1879
+ # the AWS Directory Service servers.
1880
+ # @return [Integer]
1881
+ #
1882
+ # @!attribute [rw] radius_timeout
1883
+ # The amount of time, in seconds, to wait for the RADIUS server to
1884
+ # respond.
1885
+ # @return [Integer]
1886
+ #
1887
+ # @!attribute [rw] radius_retries
1888
+ # The maximum number of times that communication with the RADIUS
1889
+ # server is attempted.
1890
+ # @return [Integer]
1891
+ #
1892
+ # @!attribute [rw] shared_secret
1893
+ # Not currently used.
1894
+ # @return [String]
1895
+ #
1896
+ # @!attribute [rw] authentication_protocol
1897
+ # The protocol specified for your RADIUS endpoints.
1898
+ # @return [String]
1899
+ #
1900
+ # @!attribute [rw] display_label
1901
+ # Not currently used.
1902
+ # @return [String]
1903
+ #
1904
+ # @!attribute [rw] use_same_username
1905
+ # Not currently used.
1906
+ # @return [Boolean]
1907
+ #
1908
+ class RadiusSettings < Struct.new(
1909
+ :radius_servers,
1910
+ :radius_port,
1911
+ :radius_timeout,
1912
+ :radius_retries,
1913
+ :shared_secret,
1914
+ :authentication_protocol,
1915
+ :display_label,
1916
+ :use_same_username)
1917
+ include Aws::Structure
1918
+ end
1919
+
1920
+ # Registers a new event topic.
1921
+ #
1922
+ # @note When making an API call, you may pass RegisterEventTopicRequest
1923
+ # data as a hash:
1924
+ #
1925
+ # {
1926
+ # directory_id: "DirectoryId", # required
1927
+ # topic_name: "TopicName", # required
1928
+ # }
1929
+ #
1930
+ # @!attribute [rw] directory_id
1931
+ # The Directory ID that will publish status messages to the SNS topic.
1932
+ # @return [String]
1933
+ #
1934
+ # @!attribute [rw] topic_name
1935
+ # The SNS topic name to which the directory will publish status
1936
+ # messages. This SNS topic must be in the same region as the specified
1937
+ # Directory ID.
1938
+ # @return [String]
1939
+ #
1940
+ class RegisterEventTopicRequest < Struct.new(
1941
+ :directory_id,
1942
+ :topic_name)
1943
+ include Aws::Structure
1944
+ end
1945
+
1946
+ # The result of a RegisterEventTopic request.
1947
+ #
1948
+ class RegisterEventTopicResult < Aws::EmptyStructure; end
1949
+
1950
+ # @note When making an API call, you may pass RemoveIpRoutesRequest
1951
+ # data as a hash:
1952
+ #
1953
+ # {
1954
+ # directory_id: "DirectoryId", # required
1955
+ # cidr_ips: ["CidrIp"], # required
1956
+ # }
1957
+ #
1958
+ # @!attribute [rw] directory_id
1959
+ # Identifier (ID) of the directory from which you want to remove the
1960
+ # IP addresses.
1961
+ # @return [String]
1962
+ #
1963
+ # @!attribute [rw] cidr_ips
1964
+ # IP address blocks that you want to remove.
1965
+ # @return [Array<String>]
1966
+ #
1967
+ class RemoveIpRoutesRequest < Struct.new(
1968
+ :directory_id,
1969
+ :cidr_ips)
1970
+ include Aws::Structure
1971
+ end
1972
+
1973
+ class RemoveIpRoutesResult < Aws::EmptyStructure; end
1974
+
1975
+ # @note When making an API call, you may pass RemoveTagsFromResourceRequest
1976
+ # data as a hash:
1977
+ #
1978
+ # {
1979
+ # resource_id: "ResourceId", # required
1980
+ # tag_keys: ["TagKey"], # required
1981
+ # }
1982
+ #
1983
+ # @!attribute [rw] resource_id
1984
+ # Identifier (ID) of the directory from which to remove the tag.
1985
+ # @return [String]
1986
+ #
1987
+ # @!attribute [rw] tag_keys
1988
+ # The tag key (name) of the tag to be removed.
1989
+ # @return [Array<String>]
1990
+ #
1991
+ class RemoveTagsFromResourceRequest < Struct.new(
1992
+ :resource_id,
1993
+ :tag_keys)
1994
+ include Aws::Structure
1995
+ end
1996
+
1997
+ class RemoveTagsFromResourceResult < Aws::EmptyStructure; end
1998
+
1999
+ # An object representing the inputs for the RestoreFromSnapshot
2000
+ # operation.
2001
+ #
2002
+ # @note When making an API call, you may pass RestoreFromSnapshotRequest
2003
+ # data as a hash:
2004
+ #
2005
+ # {
2006
+ # snapshot_id: "SnapshotId", # required
2007
+ # }
2008
+ #
2009
+ # @!attribute [rw] snapshot_id
2010
+ # The identifier of the snapshot to restore from.
2011
+ # @return [String]
2012
+ #
2013
+ class RestoreFromSnapshotRequest < Struct.new(
2014
+ :snapshot_id)
2015
+ include Aws::Structure
2016
+ end
2017
+
2018
+ # Contains the results of the RestoreFromSnapshot operation.
2019
+ #
2020
+ class RestoreFromSnapshotResult < Aws::EmptyStructure; end
2021
+
2022
+ # Information about a schema extension.
2023
+ #
2024
+ # @!attribute [rw] directory_id
2025
+ # The identifier of the directory to which the schema extension is
2026
+ # applied.
2027
+ # @return [String]
2028
+ #
2029
+ # @!attribute [rw] schema_extension_id
2030
+ # The identifier of the schema extension.
2031
+ # @return [String]
2032
+ #
2033
+ # @!attribute [rw] description
2034
+ # A description of the schema extension.
2035
+ # @return [String]
2036
+ #
2037
+ # @!attribute [rw] schema_extension_status
2038
+ # The current status of the schema extension.
2039
+ # @return [String]
2040
+ #
2041
+ # @!attribute [rw] schema_extension_status_reason
2042
+ # The reason for the `SchemaExtensionStatus`.
2043
+ # @return [String]
2044
+ #
2045
+ # @!attribute [rw] start_date_time
2046
+ # The date and time that the schema extension started being applied to
2047
+ # the directory.
2048
+ # @return [Time]
2049
+ #
2050
+ # @!attribute [rw] end_date_time
2051
+ # The date and time that the schema extension was completed.
2052
+ # @return [Time]
2053
+ #
2054
+ class SchemaExtensionInfo < Struct.new(
2055
+ :directory_id,
2056
+ :schema_extension_id,
2057
+ :description,
2058
+ :schema_extension_status,
2059
+ :schema_extension_status_reason,
2060
+ :start_date_time,
2061
+ :end_date_time)
2062
+ include Aws::Structure
2063
+ end
2169
2064
 
2065
+ # Describes a directory snapshot.
2066
+ #
2067
+ # @!attribute [rw] directory_id
2068
+ # The directory identifier.
2069
+ # @return [String]
2070
+ #
2071
+ # @!attribute [rw] snapshot_id
2072
+ # The snapshot identifier.
2073
+ # @return [String]
2074
+ #
2075
+ # @!attribute [rw] type
2076
+ # The snapshot type.
2077
+ # @return [String]
2078
+ #
2079
+ # @!attribute [rw] name
2080
+ # The descriptive name of the snapshot.
2081
+ # @return [String]
2082
+ #
2083
+ # @!attribute [rw] status
2084
+ # The snapshot status.
2085
+ # @return [String]
2086
+ #
2087
+ # @!attribute [rw] start_time
2088
+ # The date and time that the snapshot was taken.
2089
+ # @return [Time]
2090
+ #
2091
+ class Snapshot < Struct.new(
2092
+ :directory_id,
2093
+ :snapshot_id,
2094
+ :type,
2095
+ :name,
2096
+ :status,
2097
+ :start_time)
2098
+ include Aws::Structure
2170
2099
  end
2100
+
2101
+ # Contains manual snapshot limit information for a directory.
2102
+ #
2103
+ # @!attribute [rw] manual_snapshots_limit
2104
+ # The maximum number of manual snapshots allowed.
2105
+ # @return [Integer]
2106
+ #
2107
+ # @!attribute [rw] manual_snapshots_current_count
2108
+ # The current number of manual snapshots of the directory.
2109
+ # @return [Integer]
2110
+ #
2111
+ # @!attribute [rw] manual_snapshots_limit_reached
2112
+ # Indicates if the manual snapshot limit has been reached.
2113
+ # @return [Boolean]
2114
+ #
2115
+ class SnapshotLimits < Struct.new(
2116
+ :manual_snapshots_limit,
2117
+ :manual_snapshots_current_count,
2118
+ :manual_snapshots_limit_reached)
2119
+ include Aws::Structure
2120
+ end
2121
+
2122
+ # @note When making an API call, you may pass StartSchemaExtensionRequest
2123
+ # data as a hash:
2124
+ #
2125
+ # {
2126
+ # directory_id: "DirectoryId", # required
2127
+ # create_snapshot_before_schema_extension: false, # required
2128
+ # ldif_content: "LdifContent", # required
2129
+ # description: "Description", # required
2130
+ # }
2131
+ #
2132
+ # @!attribute [rw] directory_id
2133
+ # The identifier of the directory for which the schema extension will
2134
+ # be applied to.
2135
+ # @return [String]
2136
+ #
2137
+ # @!attribute [rw] create_snapshot_before_schema_extension
2138
+ # If true, creates a snapshot of the directory before applying the
2139
+ # schema extension.
2140
+ # @return [Boolean]
2141
+ #
2142
+ # @!attribute [rw] ldif_content
2143
+ # The LDIF file represented as a string. To construct the LdifContent
2144
+ # string, precede each line as it would be formatted in an ldif file
2145
+ # with \\n. See the example request below for more details. The file
2146
+ # size can be no larger than 1MB.
2147
+ # @return [String]
2148
+ #
2149
+ # @!attribute [rw] description
2150
+ # A description of the schema extension.
2151
+ # @return [String]
2152
+ #
2153
+ class StartSchemaExtensionRequest < Struct.new(
2154
+ :directory_id,
2155
+ :create_snapshot_before_schema_extension,
2156
+ :ldif_content,
2157
+ :description)
2158
+ include Aws::Structure
2159
+ end
2160
+
2161
+ # @!attribute [rw] schema_extension_id
2162
+ # The identifier of the schema extension that will be applied.
2163
+ # @return [String]
2164
+ #
2165
+ class StartSchemaExtensionResult < Struct.new(
2166
+ :schema_extension_id)
2167
+ include Aws::Structure
2168
+ end
2169
+
2170
+ # Metadata assigned to a directory consisting of a key-value pair.
2171
+ #
2172
+ # @note When making an API call, you may pass Tag
2173
+ # data as a hash:
2174
+ #
2175
+ # {
2176
+ # key: "TagKey", # required
2177
+ # value: "TagValue", # required
2178
+ # }
2179
+ #
2180
+ # @!attribute [rw] key
2181
+ # Required name of the tag. The string value can be Unicode characters
2182
+ # and cannot be prefixed with "aws:". The string can contain only
2183
+ # the set of Unicode letters, digits, white-space, '\_', '.',
2184
+ # '/', '=', '+', '-' (Java regex:
2185
+ # "^(\[\\\\p\\\{L\\}\\\\p\\\{Z\\}\\\\p\\\{N\\}\_.:/=+\\\\-\]*)$").
2186
+ # @return [String]
2187
+ #
2188
+ # @!attribute [rw] value
2189
+ # The optional value of the tag. The string value can be Unicode
2190
+ # characters. The string can contain only the set of Unicode letters,
2191
+ # digits, white-space, '\_', '.', '/', '=', '+', '-' (Java
2192
+ # regex:
2193
+ # "^(\[\\\\p\\\{L\\}\\\\p\\\{Z\\}\\\\p\\\{N\\}\_.:/=+\\\\-\]*)$").
2194
+ # @return [String]
2195
+ #
2196
+ class Tag < Struct.new(
2197
+ :key,
2198
+ :value)
2199
+ include Aws::Structure
2200
+ end
2201
+
2202
+ # Describes a trust relationship between an Microsoft AD in the AWS
2203
+ # cloud and an external domain.
2204
+ #
2205
+ # @!attribute [rw] directory_id
2206
+ # The Directory ID of the AWS directory involved in the trust
2207
+ # relationship.
2208
+ # @return [String]
2209
+ #
2210
+ # @!attribute [rw] trust_id
2211
+ # The unique ID of the trust relationship.
2212
+ # @return [String]
2213
+ #
2214
+ # @!attribute [rw] remote_domain_name
2215
+ # The Fully Qualified Domain Name (FQDN) of the external domain
2216
+ # involved in the trust relationship.
2217
+ # @return [String]
2218
+ #
2219
+ # @!attribute [rw] trust_type
2220
+ # The trust relationship type.
2221
+ # @return [String]
2222
+ #
2223
+ # @!attribute [rw] trust_direction
2224
+ # The trust relationship direction.
2225
+ # @return [String]
2226
+ #
2227
+ # @!attribute [rw] trust_state
2228
+ # The trust relationship state.
2229
+ # @return [String]
2230
+ #
2231
+ # @!attribute [rw] created_date_time
2232
+ # The date and time that the trust relationship was created.
2233
+ # @return [Time]
2234
+ #
2235
+ # @!attribute [rw] last_updated_date_time
2236
+ # The date and time that the trust relationship was last updated.
2237
+ # @return [Time]
2238
+ #
2239
+ # @!attribute [rw] state_last_updated_date_time
2240
+ # The date and time that the TrustState was last updated.
2241
+ # @return [Time]
2242
+ #
2243
+ # @!attribute [rw] trust_state_reason
2244
+ # The reason for the TrustState.
2245
+ # @return [String]
2246
+ #
2247
+ class Trust < Struct.new(
2248
+ :directory_id,
2249
+ :trust_id,
2250
+ :remote_domain_name,
2251
+ :trust_type,
2252
+ :trust_direction,
2253
+ :trust_state,
2254
+ :created_date_time,
2255
+ :last_updated_date_time,
2256
+ :state_last_updated_date_time,
2257
+ :trust_state_reason)
2258
+ include Aws::Structure
2259
+ end
2260
+
2261
+ # Updates a conditional forwarder.
2262
+ #
2263
+ # @note When making an API call, you may pass UpdateConditionalForwarderRequest
2264
+ # data as a hash:
2265
+ #
2266
+ # {
2267
+ # directory_id: "DirectoryId", # required
2268
+ # remote_domain_name: "RemoteDomainName", # required
2269
+ # dns_ip_addrs: ["IpAddr"], # required
2270
+ # }
2271
+ #
2272
+ # @!attribute [rw] directory_id
2273
+ # The directory ID of the AWS directory for which to update the
2274
+ # conditional forwarder.
2275
+ # @return [String]
2276
+ #
2277
+ # @!attribute [rw] remote_domain_name
2278
+ # The fully qualified domain name (FQDN) of the remote domain with
2279
+ # which you will set up a trust relationship.
2280
+ # @return [String]
2281
+ #
2282
+ # @!attribute [rw] dns_ip_addrs
2283
+ # The updated IP addresses of the remote DNS server associated with
2284
+ # the conditional forwarder.
2285
+ # @return [Array<String>]
2286
+ #
2287
+ class UpdateConditionalForwarderRequest < Struct.new(
2288
+ :directory_id,
2289
+ :remote_domain_name,
2290
+ :dns_ip_addrs)
2291
+ include Aws::Structure
2292
+ end
2293
+
2294
+ # The result of an UpdateConditionalForwarder request.
2295
+ #
2296
+ class UpdateConditionalForwarderResult < Aws::EmptyStructure; end
2297
+
2298
+ # Contains the inputs for the UpdateRadius operation.
2299
+ #
2300
+ # @note When making an API call, you may pass UpdateRadiusRequest
2301
+ # data as a hash:
2302
+ #
2303
+ # {
2304
+ # directory_id: "DirectoryId", # required
2305
+ # radius_settings: { # required
2306
+ # radius_servers: ["Server"],
2307
+ # radius_port: 1,
2308
+ # radius_timeout: 1,
2309
+ # radius_retries: 1,
2310
+ # shared_secret: "RadiusSharedSecret",
2311
+ # authentication_protocol: "PAP", # accepts PAP, CHAP, MS-CHAPv1, MS-CHAPv2
2312
+ # display_label: "RadiusDisplayLabel",
2313
+ # use_same_username: false,
2314
+ # },
2315
+ # }
2316
+ #
2317
+ # @!attribute [rw] directory_id
2318
+ # The identifier of the directory for which to update the RADIUS
2319
+ # server information.
2320
+ # @return [String]
2321
+ #
2322
+ # @!attribute [rw] radius_settings
2323
+ # A RadiusSettings object that contains information about the RADIUS
2324
+ # server.
2325
+ # @return [Types::RadiusSettings]
2326
+ #
2327
+ class UpdateRadiusRequest < Struct.new(
2328
+ :directory_id,
2329
+ :radius_settings)
2330
+ include Aws::Structure
2331
+ end
2332
+
2333
+ # Contains the results of the UpdateRadius operation.
2334
+ #
2335
+ class UpdateRadiusResult < Aws::EmptyStructure; end
2336
+
2337
+ # Initiates the verification of an existing trust relationship between a
2338
+ # Microsoft AD in the AWS cloud and an external domain.
2339
+ #
2340
+ # @note When making an API call, you may pass VerifyTrustRequest
2341
+ # data as a hash:
2342
+ #
2343
+ # {
2344
+ # trust_id: "TrustId", # required
2345
+ # }
2346
+ #
2347
+ # @!attribute [rw] trust_id
2348
+ # The unique Trust ID of the trust relationship to verify.
2349
+ # @return [String]
2350
+ #
2351
+ class VerifyTrustRequest < Struct.new(
2352
+ :trust_id)
2353
+ include Aws::Structure
2354
+ end
2355
+
2356
+ # Result of a VerifyTrust request.
2357
+ #
2358
+ # @!attribute [rw] trust_id
2359
+ # The unique Trust ID of the trust relationship that was verified.
2360
+ # @return [String]
2361
+ #
2362
+ class VerifyTrustResult < Struct.new(
2363
+ :trust_id)
2364
+ include Aws::Structure
2365
+ end
2366
+
2171
2367
  end
2172
2368
  end