aws-sdk-directoryservice 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module DirectoryService
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
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
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module DirectoryService
10
+ class Resource
11
+
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
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,2172 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ 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
2169
+
2170
+ end
2171
+ end
2172
+ end