1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`JoinDomain`](crate::operation::join_domain::builders::JoinDomainFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`gateway_arn(impl Into<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::gateway_arn) / [`set_gateway_arn(Option<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::set_gateway_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the gateway. Use the <code>ListGateways</code> operation to return a list of gateways for your account and Amazon Web Services Region.</p><br>
    ///   - [`domain_name(impl Into<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::domain_name) / [`set_domain_name(Option<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::set_domain_name):<br>required: **true**<br><p>The name of the domain that you want the gateway to join.</p><br>
    ///   - [`organizational_unit(impl Into<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::organizational_unit) / [`set_organizational_unit(Option<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::set_organizational_unit):<br>required: **false**<br><p>The organizational unit (OU) is a container in an Active Directory that can hold users, groups, computers, and other OUs and this parameter specifies the OU that the gateway will join within the AD domain.</p><br>
    ///   - [`domain_controllers(impl Into<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::domain_controllers) / [`set_domain_controllers(Option<Vec::<String>>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::set_domain_controllers):<br>required: **false**<br><p>List of IPv4 addresses, NetBIOS names, or host names of your domain server. If you need to specify the port number include it after the colon (“:”). For example, <code>mydc.mydomain.com:389</code>.</p><br>
    ///   - [`timeout_in_seconds(i32)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::timeout_in_seconds) / [`set_timeout_in_seconds(Option<i32>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::set_timeout_in_seconds):<br>required: **false**<br><p>Specifies the time in seconds, in which the <code>JoinDomain</code> operation must complete. The default is 20 seconds.</p><br>
    ///   - [`user_name(impl Into<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::user_name) / [`set_user_name(Option<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::set_user_name):<br>required: **true**<br><p>Sets the user name of user who has permission to add the gateway to the Active Directory domain. The domain user account should be enabled to join computers to the domain. For example, you can use the domain administrator account or an account with delegated permissions to join computers to the domain.</p><br>
    ///   - [`password(impl Into<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::password) / [`set_password(Option<String>)`](crate::operation::join_domain::builders::JoinDomainFluentBuilder::set_password):<br>required: **true**<br><p>Sets the password of the user who has permission to add the gateway to the Active Directory domain.</p><br>
    /// - On success, responds with [`JoinDomainOutput`](crate::operation::join_domain::JoinDomainOutput) with field(s):
    ///   - [`gateway_arn(Option<String>)`](crate::operation::join_domain::JoinDomainOutput::gateway_arn): <p>The unique Amazon Resource Name (ARN) of the gateway that joined the domain.</p>
    ///   - [`active_directory_status(Option<ActiveDirectoryStatus>)`](crate::operation::join_domain::JoinDomainOutput::active_directory_status): <p>Indicates the status of the gateway as a member of the Active Directory domain.</p> <ul>  <li>   <p><code>ACCESS_DENIED</code>: Indicates that the <code>JoinDomain</code> operation failed due to an authentication error.</p></li>  <li>   <p><code>DETACHED</code>: Indicates that gateway is not joined to a domain.</p></li>  <li>   <p><code>JOINED</code>: Indicates that the gateway has successfully joined a domain.</p></li>  <li>   <p><code>JOINING</code>: Indicates that a <code>JoinDomain</code> operation is in progress.</p></li>  <li>   <p><code>NETWORK_ERROR</code>: Indicates that <code>JoinDomain</code> operation failed due to a network or connectivity error.</p></li>  <li>   <p><code>TIMEOUT</code>: Indicates that the <code>JoinDomain</code> operation failed because the operation didn't complete within the allotted time.</p></li>  <li>   <p><code>UNKNOWN_ERROR</code>: Indicates that the <code>JoinDomain</code> operation failed due to another type of error.</p></li> </ul>
    /// - On failure, responds with [`SdkError<JoinDomainError>`](crate::operation::join_domain::JoinDomainError)
    pub fn join_domain(&self) -> crate::operation::join_domain::builders::JoinDomainFluentBuilder {
        crate::operation::join_domain::builders::JoinDomainFluentBuilder::new(self.handle.clone())
    }
}