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

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