aws-sdk-directoryservice 1.0.0.rc1

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