1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 smithydocument "github.com/aws/smithy-go/document" 7 "time" 8) 9 10// Represents a named directory attribute. 11type Attribute struct { 12 13 // The name of the attribute. 14 Name *string 15 16 // The value of the attribute. 17 Value *string 18 19 noSmithyDocumentSerde 20} 21 22// Information about the certificate. 23type Certificate struct { 24 25 // The identifier of the certificate. 26 CertificateId *string 27 28 // A ClientCertAuthSettings object that contains client certificate authentication 29 // settings. 30 ClientCertAuthSettings *ClientCertAuthSettings 31 32 // The common name for the certificate. 33 CommonName *string 34 35 // The date and time when the certificate will expire. 36 ExpiryDateTime *time.Time 37 38 // The date and time that the certificate was registered. 39 RegisteredDateTime *time.Time 40 41 // The state of the certificate. 42 State CertificateState 43 44 // Describes a state change for the certificate. 45 StateReason *string 46 47 // The function that the registered certificate performs. Valid values include 48 // ClientLDAPS or ClientCertAuth. The default value is ClientLDAPS. 49 Type CertificateType 50 51 noSmithyDocumentSerde 52} 53 54// Contains general information about a certificate. 55type CertificateInfo struct { 56 57 // The identifier of the certificate. 58 CertificateId *string 59 60 // The common name for the certificate. 61 CommonName *string 62 63 // The date and time when the certificate will expire. 64 ExpiryDateTime *time.Time 65 66 // The state of the certificate. 67 State CertificateState 68 69 // The function that the registered certificate performs. Valid values include 70 // ClientLDAPS or ClientCertAuth. The default value is ClientLDAPS. 71 Type CertificateType 72 73 noSmithyDocumentSerde 74} 75 76// Contains information about a client authentication method for a directory. 77type ClientAuthenticationSettingInfo struct { 78 79 // The date and time when the status of the client authentication type was last 80 // updated. 81 LastUpdatedDateTime *time.Time 82 83 // Whether the client authentication type is enabled or disabled for the specified 84 // directory. 85 Status ClientAuthenticationStatus 86 87 // The type of client authentication for the specified directory. If no type is 88 // specified, a list of all client authentication types that are supported for the 89 // directory is retrieved. 90 Type ClientAuthenticationType 91 92 noSmithyDocumentSerde 93} 94 95// Contains information about the client certificate authentication settings for 96// the RegisterCertificate and DescribeCertificate operations. 97type ClientCertAuthSettings struct { 98 99 // Specifies the URL of the default OCSP server used to check for revocation 100 // status. A secondary value to any OCSP address found in the AIA extension of the 101 // user certificate. 102 OCSPUrl *string 103 104 noSmithyDocumentSerde 105} 106 107// Contains information about a computer account in a directory. 108type Computer struct { 109 110 // An array of Attribute objects containing the LDAP attributes that belong to the 111 // computer account. 112 ComputerAttributes []Attribute 113 114 // The identifier of the computer. 115 ComputerId *string 116 117 // The computer name. 118 ComputerName *string 119 120 noSmithyDocumentSerde 121} 122 123// Points to a remote domain with which you are setting up a trust relationship. 124// Conditional forwarders are required in order to set up a trust relationship with 125// another domain. 126type ConditionalForwarder struct { 127 128 // The IP addresses of the remote DNS server associated with RemoteDomainName. This 129 // is the IP address of the DNS server that your conditional forwarder points to. 130 DnsIpAddrs []string 131 132 // The fully qualified domain name (FQDN) of the remote domains pointed to by the 133 // conditional forwarder. 134 RemoteDomainName *string 135 136 // The replication scope of the conditional forwarder. The only allowed value is 137 // Domain, which will replicate the conditional forwarder to all of the domain 138 // controllers for your Amazon Web Services directory. 139 ReplicationScope ReplicationScope 140 141 noSmithyDocumentSerde 142} 143 144// Contains information for the ConnectDirectory operation when an AD Connector 145// directory is being created. 146type DirectoryConnectSettings struct { 147 148 // A list of one or more IP addresses of DNS servers or domain controllers in your 149 // self-managed directory. 150 // 151 // This member is required. 152 CustomerDnsIps []string 153 154 // The user name of an account in your self-managed directory that is used to 155 // connect to the directory. This account must have the following permissions: 156 // 157 // * 158 // Read users and groups 159 // 160 // * Create computer objects 161 // 162 // * Join computers to the domain 163 // 164 // This member is required. 165 CustomerUserName *string 166 167 // A list of subnet identifiers in the VPC in which the AD Connector is created. 168 // 169 // This member is required. 170 SubnetIds []string 171 172 // The identifier of the VPC in which the AD Connector is created. 173 // 174 // This member is required. 175 VpcId *string 176 177 noSmithyDocumentSerde 178} 179 180// Contains information about an AD Connector directory. 181type DirectoryConnectSettingsDescription struct { 182 183 // A list of the Availability Zones that the directory is in. 184 AvailabilityZones []string 185 186 // The IP addresses of the AD Connector servers. 187 ConnectIps []string 188 189 // The user name of the service account in your self-managed directory. 190 CustomerUserName *string 191 192 // The security group identifier for the AD Connector directory. 193 SecurityGroupId *string 194 195 // A list of subnet identifiers in the VPC that the AD Connector is in. 196 SubnetIds []string 197 198 // The identifier of the VPC that the AD Connector is in. 199 VpcId *string 200 201 noSmithyDocumentSerde 202} 203 204// Contains information about an Directory Service directory. 205type DirectoryDescription struct { 206 207 // The access URL for the directory, such as http://.awsapps.com. If no alias has 208 // been created for the directory, is the directory identifier, such as 209 // d-XXXXXXXXXX. 210 AccessUrl *string 211 212 // The alias for the directory. If no alias has been created for the directory, the 213 // alias is the directory identifier, such as d-XXXXXXXXXX. 214 Alias *string 215 216 // A DirectoryConnectSettingsDescription object that contains additional 217 // information about an AD Connector directory. This member is only present if the 218 // directory is an AD Connector directory. 219 ConnectSettings *DirectoryConnectSettingsDescription 220 221 // The description for the directory. 222 Description *string 223 224 // The desired number of domain controllers in the directory if the directory is 225 // Microsoft AD. 226 DesiredNumberOfDomainControllers int32 227 228 // The directory identifier. 229 DirectoryId *string 230 231 // The IP addresses of the DNS servers for the directory. For a Simple AD or 232 // Microsoft AD directory, these are the IP addresses of the Simple AD or Microsoft 233 // AD directory servers. For an AD Connector directory, these are the IP addresses 234 // of the DNS servers or domain controllers in your self-managed directory to which 235 // the AD Connector is connected. 236 DnsIpAddrs []string 237 238 // The edition associated with this directory. 239 Edition DirectoryEdition 240 241 // Specifies when the directory was created. 242 LaunchTime *time.Time 243 244 // The fully qualified name of the directory. 245 Name *string 246 247 // Describes the Managed Microsoft AD directory in the directory owner account. 248 OwnerDirectoryDescription *OwnerDirectoryDescription 249 250 // A RadiusSettings object that contains information about the RADIUS server 251 // configured for this directory. 252 RadiusSettings *RadiusSettings 253 254 // The status of the RADIUS MFA server connection. 255 RadiusStatus RadiusStatus 256 257 // Lists the Regions where the directory has replicated. 258 RegionsInfo *RegionsInfo 259 260 // The method used when sharing a directory to determine whether the directory 261 // should be shared within your Amazon Web Services organization (ORGANIZATIONS) or 262 // with any Amazon Web Services account by sending a shared directory request 263 // (HANDSHAKE). 264 ShareMethod ShareMethod 265 266 // A directory share request that is sent by the directory owner to the directory 267 // consumer. The request includes a typed message to help the directory consumer 268 // administrator determine whether to approve or reject the share invitation. 269 ShareNotes *string 270 271 // Current directory status of the shared Managed Microsoft AD directory. 272 ShareStatus ShareStatus 273 274 // The short name of the directory. 275 ShortName *string 276 277 // The directory size. 278 Size DirectorySize 279 280 // Indicates if single sign-on is enabled for the directory. For more information, 281 // see EnableSso and DisableSso. 282 SsoEnabled bool 283 284 // The current stage of the directory. 285 Stage DirectoryStage 286 287 // The date and time that the stage was last updated. 288 StageLastUpdatedDateTime *time.Time 289 290 // Additional information about the directory stage. 291 StageReason *string 292 293 // The directory size. 294 Type DirectoryType 295 296 // A DirectoryVpcSettingsDescription object that contains additional information 297 // about a directory. This member is only present if the directory is a Simple AD 298 // or Managed Microsoft AD directory. 299 VpcSettings *DirectoryVpcSettingsDescription 300 301 noSmithyDocumentSerde 302} 303 304// Contains directory limit information for a Region. 305type DirectoryLimits struct { 306 307 // The current number of cloud directories in the Region. 308 CloudOnlyDirectoriesCurrentCount *int32 309 310 // The maximum number of cloud directories allowed in the Region. 311 CloudOnlyDirectoriesLimit *int32 312 313 // Indicates if the cloud directory limit has been reached. 314 CloudOnlyDirectoriesLimitReached bool 315 316 // The current number of Managed Microsoft AD directories in the region. 317 CloudOnlyMicrosoftADCurrentCount *int32 318 319 // The maximum number of Managed Microsoft AD directories allowed in the region. 320 CloudOnlyMicrosoftADLimit *int32 321 322 // Indicates if the Managed Microsoft AD directory limit has been reached. 323 CloudOnlyMicrosoftADLimitReached bool 324 325 // The current number of connected directories in the Region. 326 ConnectedDirectoriesCurrentCount *int32 327 328 // The maximum number of connected directories allowed in the Region. 329 ConnectedDirectoriesLimit *int32 330 331 // Indicates if the connected directory limit has been reached. 332 ConnectedDirectoriesLimitReached bool 333 334 noSmithyDocumentSerde 335} 336 337// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation. 338type DirectoryVpcSettings struct { 339 340 // The identifiers of the subnets for the directory servers. The two subnets must 341 // be in different Availability Zones. Directory Service creates a directory server 342 // and a DNS server in each of these subnets. 343 // 344 // This member is required. 345 SubnetIds []string 346 347 // The identifier of the VPC in which to create the directory. 348 // 349 // This member is required. 350 VpcId *string 351 352 noSmithyDocumentSerde 353} 354 355// Contains information about the directory. 356type DirectoryVpcSettingsDescription struct { 357 358 // The list of Availability Zones that the directory is in. 359 AvailabilityZones []string 360 361 // The domain controller security group identifier for the directory. 362 SecurityGroupId *string 363 364 // The identifiers of the subnets for the directory servers. 365 SubnetIds []string 366 367 // The identifier of the VPC that the directory is in. 368 VpcId *string 369 370 noSmithyDocumentSerde 371} 372 373// Contains information about the domain controllers for a specified directory. 374type DomainController struct { 375 376 // The Availability Zone where the domain controller is located. 377 AvailabilityZone *string 378 379 // Identifier of the directory where the domain controller resides. 380 DirectoryId *string 381 382 // The IP address of the domain controller. 383 DnsIpAddr *string 384 385 // Identifies a specific domain controller in the directory. 386 DomainControllerId *string 387 388 // Specifies when the domain controller was created. 389 LaunchTime *time.Time 390 391 // The status of the domain controller. 392 Status DomainControllerStatus 393 394 // The date and time that the status was last updated. 395 StatusLastUpdatedDateTime *time.Time 396 397 // A description of the domain controller state. 398 StatusReason *string 399 400 // Identifier of the subnet in the VPC that contains the domain controller. 401 SubnetId *string 402 403 // The identifier of the VPC that contains the domain controller. 404 VpcId *string 405 406 noSmithyDocumentSerde 407} 408 409// Information about Amazon SNS topic and Directory Service directory associations. 410type EventTopic struct { 411 412 // The date and time of when you associated your directory with the Amazon SNS 413 // topic. 414 CreatedDateTime *time.Time 415 416 // The Directory ID of an Directory Service directory that will publish status 417 // messages to an Amazon SNS topic. 418 DirectoryId *string 419 420 // The topic registration status. 421 Status TopicStatus 422 423 // The Amazon SNS topic ARN (Amazon Resource Name). 424 TopicArn *string 425 426 // The name of an Amazon SNS topic the receives status messages from the directory. 427 TopicName *string 428 429 noSmithyDocumentSerde 430} 431 432// IP address block. This is often the address block of the DNS server used for 433// your self-managed domain. 434type IpRoute struct { 435 436 // IP address block using CIDR format, for example 10.0.0.0/24. This is often the 437 // address block of the DNS server used for your self-managed domain. For a single 438 // IP address use a CIDR address block with /32. For example 10.0.0.0/32. 439 CidrIp *string 440 441 // Description of the address block. 442 Description *string 443 444 noSmithyDocumentSerde 445} 446 447// Information about one or more IP address blocks. 448type IpRouteInfo struct { 449 450 // The date and time the address block was added to the directory. 451 AddedDateTime *time.Time 452 453 // IP address block in the IpRoute. 454 CidrIp *string 455 456 // Description of the IpRouteInfo. 457 Description *string 458 459 // Identifier (ID) of the directory associated with the IP addresses. 460 DirectoryId *string 461 462 // The status of the IP address block. 463 IpRouteStatusMsg IpRouteStatusMsg 464 465 // The reason for the IpRouteStatusMsg. 466 IpRouteStatusReason *string 467 468 noSmithyDocumentSerde 469} 470 471// Contains general information about the LDAPS settings. 472type LDAPSSettingInfo struct { 473 474 // The state of the LDAPS settings. 475 LDAPSStatus LDAPSStatus 476 477 // Describes a state change for LDAPS. 478 LDAPSStatusReason *string 479 480 // The date and time when the LDAPS settings were last updated. 481 LastUpdatedDateTime *time.Time 482 483 noSmithyDocumentSerde 484} 485 486// Represents a log subscription, which tracks real-time data from a chosen log 487// group to a specified destination. 488type LogSubscription struct { 489 490 // Identifier (ID) of the directory that you want to associate with the log 491 // subscription. 492 DirectoryId *string 493 494 // The name of the log group. 495 LogGroupName *string 496 497 // The date and time that the log subscription was created. 498 SubscriptionCreatedDateTime *time.Time 499 500 noSmithyDocumentSerde 501} 502 503// Describes the directory owner account details that have been shared to the 504// directory consumer account. 505type OwnerDirectoryDescription struct { 506 507 // Identifier of the directory owner account. 508 AccountId *string 509 510 // Identifier of the Managed Microsoft AD directory in the directory owner account. 511 DirectoryId *string 512 513 // IP address of the directory’s domain controllers. 514 DnsIpAddrs []string 515 516 // A RadiusSettings object that contains information about the RADIUS server. 517 RadiusSettings *RadiusSettings 518 519 // Information about the status of the RADIUS server. 520 RadiusStatus RadiusStatus 521 522 // Information about the VPC settings for the directory. 523 VpcSettings *DirectoryVpcSettingsDescription 524 525 noSmithyDocumentSerde 526} 527 528// Contains information about a Remote Authentication Dial In User Service (RADIUS) 529// server. 530type RadiusSettings struct { 531 532 // The protocol specified for your RADIUS endpoints. 533 AuthenticationProtocol RadiusAuthenticationProtocol 534 535 // Not currently used. 536 DisplayLabel *string 537 538 // The port that your RADIUS server is using for communications. Your self-managed 539 // network must allow inbound traffic over this port from the Directory Service 540 // servers. 541 RadiusPort int32 542 543 // The maximum number of times that communication with the RADIUS server is 544 // attempted. 545 RadiusRetries int32 546 547 // An array of strings that contains the fully qualified domain name (FQDN) or IP 548 // addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your 549 // RADIUS server load balancer. 550 RadiusServers []string 551 552 // The amount of time, in seconds, to wait for the RADIUS server to respond. 553 RadiusTimeout int32 554 555 // Required for enabling RADIUS on the directory. 556 SharedSecret *string 557 558 // Not currently used. 559 UseSameUsername bool 560 561 noSmithyDocumentSerde 562} 563 564// The replicated Region information for a directory. 565type RegionDescription struct { 566 567 // The desired number of domain controllers in the specified Region for the 568 // specified directory. 569 DesiredNumberOfDomainControllers int32 570 571 // The identifier of the directory. 572 DirectoryId *string 573 574 // The date and time that the Region description was last updated. 575 LastUpdatedDateTime *time.Time 576 577 // Specifies when the Region replication began. 578 LaunchTime *time.Time 579 580 // The name of the Region. For example, us-east-1. 581 RegionName *string 582 583 // Specifies whether the Region is the primary Region or an additional Region. 584 RegionType RegionType 585 586 // The status of the replication process for the specified Region. 587 Status DirectoryStage 588 589 // The date and time that the Region status was last updated. 590 StatusLastUpdatedDateTime *time.Time 591 592 // Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation. 593 VpcSettings *DirectoryVpcSettings 594 595 noSmithyDocumentSerde 596} 597 598// Provides information about the Regions that are configured for multi-Region 599// replication. 600type RegionsInfo struct { 601 602 // Lists the Regions where the directory has been replicated, excluding the primary 603 // Region. 604 AdditionalRegions []string 605 606 // The Region where the Managed Microsoft AD directory was originally created. 607 PrimaryRegion *string 608 609 noSmithyDocumentSerde 610} 611 612// Information about a schema extension. 613type SchemaExtensionInfo struct { 614 615 // A description of the schema extension. 616 Description *string 617 618 // The identifier of the directory to which the schema extension is applied. 619 DirectoryId *string 620 621 // The date and time that the schema extension was completed. 622 EndDateTime *time.Time 623 624 // The identifier of the schema extension. 625 SchemaExtensionId *string 626 627 // The current status of the schema extension. 628 SchemaExtensionStatus SchemaExtensionStatus 629 630 // The reason for the SchemaExtensionStatus. 631 SchemaExtensionStatusReason *string 632 633 // The date and time that the schema extension started being applied to the 634 // directory. 635 StartDateTime *time.Time 636 637 noSmithyDocumentSerde 638} 639 640// Details about the shared directory in the directory owner account for which the 641// share request in the directory consumer account has been accepted. 642type SharedDirectory struct { 643 644 // The date and time that the shared directory was created. 645 CreatedDateTime *time.Time 646 647 // The date and time that the shared directory was last updated. 648 LastUpdatedDateTime *time.Time 649 650 // Identifier of the directory owner account, which contains the directory that has 651 // been shared to the consumer account. 652 OwnerAccountId *string 653 654 // Identifier of the directory in the directory owner account. 655 OwnerDirectoryId *string 656 657 // The method used when sharing a directory to determine whether the directory 658 // should be shared within your Amazon Web Services organization (ORGANIZATIONS) or 659 // with any Amazon Web Services account by sending a shared directory request 660 // (HANDSHAKE). 661 ShareMethod ShareMethod 662 663 // A directory share request that is sent by the directory owner to the directory 664 // consumer. The request includes a typed message to help the directory consumer 665 // administrator determine whether to approve or reject the share invitation. 666 ShareNotes *string 667 668 // Current directory status of the shared Managed Microsoft AD directory. 669 ShareStatus ShareStatus 670 671 // Identifier of the directory consumer account that has access to the shared 672 // directory (OwnerDirectoryId) in the directory owner account. 673 SharedAccountId *string 674 675 // Identifier of the shared directory in the directory consumer account. This 676 // identifier is different for each directory owner account. 677 SharedDirectoryId *string 678 679 noSmithyDocumentSerde 680} 681 682// Identifier that contains details about the directory consumer account. 683type ShareTarget struct { 684 685 // Identifier of the directory consumer account. 686 // 687 // This member is required. 688 Id *string 689 690 // Type of identifier to be used in the Id field. 691 // 692 // This member is required. 693 Type TargetType 694 695 noSmithyDocumentSerde 696} 697 698// Describes a directory snapshot. 699type Snapshot struct { 700 701 // The directory identifier. 702 DirectoryId *string 703 704 // The descriptive name of the snapshot. 705 Name *string 706 707 // The snapshot identifier. 708 SnapshotId *string 709 710 // The date and time that the snapshot was taken. 711 StartTime *time.Time 712 713 // The snapshot status. 714 Status SnapshotStatus 715 716 // The snapshot type. 717 Type SnapshotType 718 719 noSmithyDocumentSerde 720} 721 722// Contains manual snapshot limit information for a directory. 723type SnapshotLimits struct { 724 725 // The current number of manual snapshots of the directory. 726 ManualSnapshotsCurrentCount *int32 727 728 // The maximum number of manual snapshots allowed. 729 ManualSnapshotsLimit *int32 730 731 // Indicates if the manual snapshot limit has been reached. 732 ManualSnapshotsLimitReached bool 733 734 noSmithyDocumentSerde 735} 736 737// Metadata assigned to a directory consisting of a key-value pair. 738type Tag struct { 739 740 // Required name of the tag. The string value can be Unicode characters and cannot 741 // be prefixed with "aws:". The string can contain only the set of Unicode letters, 742 // digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: 743 // "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). 744 // 745 // This member is required. 746 Key *string 747 748 // The optional value of the tag. The string value can be Unicode characters. The 749 // string can contain only the set of Unicode letters, digits, white-space, '_', 750 // '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). 751 // 752 // This member is required. 753 Value *string 754 755 noSmithyDocumentSerde 756} 757 758// Describes a trust relationship between an Managed Microsoft AD directory and an 759// external domain. 760type Trust struct { 761 762 // The date and time that the trust relationship was created. 763 CreatedDateTime *time.Time 764 765 // The Directory ID of the Amazon Web Services directory involved in the trust 766 // relationship. 767 DirectoryId *string 768 769 // The date and time that the trust relationship was last updated. 770 LastUpdatedDateTime *time.Time 771 772 // The Fully Qualified Domain Name (FQDN) of the external domain involved in the 773 // trust relationship. 774 RemoteDomainName *string 775 776 // Current state of selective authentication for the trust. 777 SelectiveAuth SelectiveAuth 778 779 // The date and time that the TrustState was last updated. 780 StateLastUpdatedDateTime *time.Time 781 782 // The trust relationship direction. 783 TrustDirection TrustDirection 784 785 // The unique ID of the trust relationship. 786 TrustId *string 787 788 // The trust relationship state. 789 TrustState TrustState 790 791 // The reason for the TrustState. 792 TrustStateReason *string 793 794 // The trust relationship type. Forest is the default. 795 TrustType TrustType 796 797 noSmithyDocumentSerde 798} 799 800// Identifier that contains details about the directory consumer account with whom 801// the directory is being unshared. 802type UnshareTarget struct { 803 804 // Identifier of the directory consumer account. 805 // 806 // This member is required. 807 Id *string 808 809 // Type of identifier to be used in the Id field. 810 // 811 // This member is required. 812 Type TargetType 813 814 noSmithyDocumentSerde 815} 816 817type noSmithyDocumentSerde = smithydocument.NoSerde 818