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