All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.netapp.inputs.ActiveDirectoryArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.netapp.inputs;

import com.pulumi.azurenative.netapp.inputs.LdapSearchScopeOptArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Active Directory
 * 
 */
public final class ActiveDirectoryArgs extends com.pulumi.resources.ResourceArgs {

    public static final ActiveDirectoryArgs Empty = new ActiveDirectoryArgs();

    /**
     * Id of the Active Directory
     * 
     */
    @Import(name="activeDirectoryId")
    private @Nullable Output activeDirectoryId;

    /**
     * @return Id of the Active Directory
     * 
     */
    public Optional> activeDirectoryId() {
        return Optional.ofNullable(this.activeDirectoryId);
    }

    /**
     * Name of the active directory machine. This optional parameter is used only while creating kerberos volume
     * 
     */
    @Import(name="adName")
    private @Nullable Output adName;

    /**
     * @return Name of the active directory machine. This optional parameter is used only while creating kerberos volume
     * 
     */
    public Optional> adName() {
        return Optional.ofNullable(this.adName);
    }

    /**
     * Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier
     * 
     */
    @Import(name="administrators")
    private @Nullable Output> administrators;

    /**
     * @return Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier
     * 
     */
    public Optional>> administrators() {
        return Optional.ofNullable(this.administrators);
    }

    /**
     * If enabled, AES encryption will be enabled for SMB communication.
     * 
     */
    @Import(name="aesEncryption")
    private @Nullable Output aesEncryption;

    /**
     * @return If enabled, AES encryption will be enabled for SMB communication.
     * 
     */
    public Optional> aesEncryption() {
        return Optional.ofNullable(this.aesEncryption);
    }

    /**
     *  If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes.
     * 
     */
    @Import(name="allowLocalNfsUsersWithLdap")
    private @Nullable Output allowLocalNfsUsersWithLdap;

    /**
     * @return  If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes.
     * 
     */
    public Optional> allowLocalNfsUsersWithLdap() {
        return Optional.ofNullable(this.allowLocalNfsUsersWithLdap);
    }

    /**
     * Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier
     * 
     */
    @Import(name="backupOperators")
    private @Nullable Output> backupOperators;

    /**
     * @return Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier
     * 
     */
    public Optional>> backupOperators() {
        return Optional.ofNullable(this.backupOperators);
    }

    /**
     * Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain
     * 
     */
    @Import(name="dns")
    private @Nullable Output dns;

    /**
     * @return Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain
     * 
     */
    public Optional> dns() {
        return Optional.ofNullable(this.dns);
    }

    /**
     * Name of the Active Directory domain
     * 
     */
    @Import(name="domain")
    private @Nullable Output domain;

    /**
     * @return Name of the Active Directory domain
     * 
     */
    public Optional> domain() {
        return Optional.ofNullable(this.domain);
    }

    /**
     * If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted.
     * 
     */
    @Import(name="encryptDCConnections")
    private @Nullable Output encryptDCConnections;

    /**
     * @return If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted.
     * 
     */
    public Optional> encryptDCConnections() {
        return Optional.ofNullable(this.encryptDCConnections);
    }

    /**
     * kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.
     * 
     */
    @Import(name="kdcIP")
    private @Nullable Output kdcIP;

    /**
     * @return kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.
     * 
     */
    public Optional> kdcIP() {
        return Optional.ofNullable(this.kdcIP);
    }

    /**
     * Specifies whether or not the LDAP traffic needs to be secured via TLS.
     * 
     */
    @Import(name="ldapOverTLS")
    private @Nullable Output ldapOverTLS;

    /**
     * @return Specifies whether or not the LDAP traffic needs to be secured via TLS.
     * 
     */
    public Optional> ldapOverTLS() {
        return Optional.ofNullable(this.ldapOverTLS);
    }

    /**
     * LDAP Search scope options
     * 
     */
    @Import(name="ldapSearchScope")
    private @Nullable Output ldapSearchScope;

    /**
     * @return LDAP Search scope options
     * 
     */
    public Optional> ldapSearchScope() {
        return Optional.ofNullable(this.ldapSearchScope);
    }

    /**
     * Specifies whether or not the LDAP traffic needs to be signed.
     * 
     */
    @Import(name="ldapSigning")
    private @Nullable Output ldapSigning;

    /**
     * @return Specifies whether or not the LDAP traffic needs to be signed.
     * 
     */
    public Optional> ldapSigning() {
        return Optional.ofNullable(this.ldapSigning);
    }

    /**
     * The Organizational Unit (OU) within the Windows Active Directory
     * 
     */
    @Import(name="organizationalUnit")
    private @Nullable Output organizationalUnit;

    /**
     * @return The Organizational Unit (OU) within the Windows Active Directory
     * 
     */
    public Optional> organizationalUnit() {
        return Optional.ofNullable(this.organizationalUnit);
    }

    /**
     * Plain text password of Active Directory domain administrator, value is masked in the response
     * 
     */
    @Import(name="password")
    private @Nullable Output password;

    /**
     * @return Plain text password of Active Directory domain administrator, value is masked in the response
     * 
     */
    public Optional> password() {
        return Optional.ofNullable(this.password);
    }

    /**
     * Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed.
     * 
     */
    @Import(name="preferredServersForLdapClient")
    private @Nullable Output preferredServersForLdapClient;

    /**
     * @return Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed.
     * 
     */
    public Optional> preferredServersForLdapClient() {
        return Optional.ofNullable(this.preferredServersForLdapClient);
    }

    /**
     * Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier
     * 
     */
    @Import(name="securityOperators")
    private @Nullable Output> securityOperators;

    /**
     * @return Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier
     * 
     */
    public Optional>> securityOperators() {
        return Optional.ofNullable(this.securityOperators);
    }

    /**
     * When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.
     * 
     */
    @Import(name="serverRootCACertificate")
    private @Nullable Output serverRootCACertificate;

    /**
     * @return When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.
     * 
     */
    public Optional> serverRootCACertificate() {
        return Optional.ofNullable(this.serverRootCACertificate);
    }

    /**
     * The Active Directory site the service will limit Domain Controller discovery to
     * 
     */
    @Import(name="site")
    private @Nullable Output site;

    /**
     * @return The Active Directory site the service will limit Domain Controller discovery to
     * 
     */
    public Optional> site() {
        return Optional.ofNullable(this.site);
    }

    /**
     * NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes
     * 
     */
    @Import(name="smbServerName")
    private @Nullable Output smbServerName;

    /**
     * @return NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes
     * 
     */
    public Optional> smbServerName() {
        return Optional.ofNullable(this.smbServerName);
    }

    /**
     * A domain user account with permission to create machine accounts
     * 
     */
    @Import(name="username")
    private @Nullable Output username;

    /**
     * @return A domain user account with permission to create machine accounts
     * 
     */
    public Optional> username() {
        return Optional.ofNullable(this.username);
    }

    private ActiveDirectoryArgs() {}

    private ActiveDirectoryArgs(ActiveDirectoryArgs $) {
        this.activeDirectoryId = $.activeDirectoryId;
        this.adName = $.adName;
        this.administrators = $.administrators;
        this.aesEncryption = $.aesEncryption;
        this.allowLocalNfsUsersWithLdap = $.allowLocalNfsUsersWithLdap;
        this.backupOperators = $.backupOperators;
        this.dns = $.dns;
        this.domain = $.domain;
        this.encryptDCConnections = $.encryptDCConnections;
        this.kdcIP = $.kdcIP;
        this.ldapOverTLS = $.ldapOverTLS;
        this.ldapSearchScope = $.ldapSearchScope;
        this.ldapSigning = $.ldapSigning;
        this.organizationalUnit = $.organizationalUnit;
        this.password = $.password;
        this.preferredServersForLdapClient = $.preferredServersForLdapClient;
        this.securityOperators = $.securityOperators;
        this.serverRootCACertificate = $.serverRootCACertificate;
        this.site = $.site;
        this.smbServerName = $.smbServerName;
        this.username = $.username;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ActiveDirectoryArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ActiveDirectoryArgs $;

        public Builder() {
            $ = new ActiveDirectoryArgs();
        }

        public Builder(ActiveDirectoryArgs defaults) {
            $ = new ActiveDirectoryArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param activeDirectoryId Id of the Active Directory
         * 
         * @return builder
         * 
         */
        public Builder activeDirectoryId(@Nullable Output activeDirectoryId) {
            $.activeDirectoryId = activeDirectoryId;
            return this;
        }

        /**
         * @param activeDirectoryId Id of the Active Directory
         * 
         * @return builder
         * 
         */
        public Builder activeDirectoryId(String activeDirectoryId) {
            return activeDirectoryId(Output.of(activeDirectoryId));
        }

        /**
         * @param adName Name of the active directory machine. This optional parameter is used only while creating kerberos volume
         * 
         * @return builder
         * 
         */
        public Builder adName(@Nullable Output adName) {
            $.adName = adName;
            return this;
        }

        /**
         * @param adName Name of the active directory machine. This optional parameter is used only while creating kerberos volume
         * 
         * @return builder
         * 
         */
        public Builder adName(String adName) {
            return adName(Output.of(adName));
        }

        /**
         * @param administrators Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier
         * 
         * @return builder
         * 
         */
        public Builder administrators(@Nullable Output> administrators) {
            $.administrators = administrators;
            return this;
        }

        /**
         * @param administrators Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier
         * 
         * @return builder
         * 
         */
        public Builder administrators(List administrators) {
            return administrators(Output.of(administrators));
        }

        /**
         * @param administrators Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier
         * 
         * @return builder
         * 
         */
        public Builder administrators(String... administrators) {
            return administrators(List.of(administrators));
        }

        /**
         * @param aesEncryption If enabled, AES encryption will be enabled for SMB communication.
         * 
         * @return builder
         * 
         */
        public Builder aesEncryption(@Nullable Output aesEncryption) {
            $.aesEncryption = aesEncryption;
            return this;
        }

        /**
         * @param aesEncryption If enabled, AES encryption will be enabled for SMB communication.
         * 
         * @return builder
         * 
         */
        public Builder aesEncryption(Boolean aesEncryption) {
            return aesEncryption(Output.of(aesEncryption));
        }

        /**
         * @param allowLocalNfsUsersWithLdap  If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes.
         * 
         * @return builder
         * 
         */
        public Builder allowLocalNfsUsersWithLdap(@Nullable Output allowLocalNfsUsersWithLdap) {
            $.allowLocalNfsUsersWithLdap = allowLocalNfsUsersWithLdap;
            return this;
        }

        /**
         * @param allowLocalNfsUsersWithLdap  If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes.
         * 
         * @return builder
         * 
         */
        public Builder allowLocalNfsUsersWithLdap(Boolean allowLocalNfsUsersWithLdap) {
            return allowLocalNfsUsersWithLdap(Output.of(allowLocalNfsUsersWithLdap));
        }

        /**
         * @param backupOperators Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier
         * 
         * @return builder
         * 
         */
        public Builder backupOperators(@Nullable Output> backupOperators) {
            $.backupOperators = backupOperators;
            return this;
        }

        /**
         * @param backupOperators Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier
         * 
         * @return builder
         * 
         */
        public Builder backupOperators(List backupOperators) {
            return backupOperators(Output.of(backupOperators));
        }

        /**
         * @param backupOperators Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier
         * 
         * @return builder
         * 
         */
        public Builder backupOperators(String... backupOperators) {
            return backupOperators(List.of(backupOperators));
        }

        /**
         * @param dns Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain
         * 
         * @return builder
         * 
         */
        public Builder dns(@Nullable Output dns) {
            $.dns = dns;
            return this;
        }

        /**
         * @param dns Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain
         * 
         * @return builder
         * 
         */
        public Builder dns(String dns) {
            return dns(Output.of(dns));
        }

        /**
         * @param domain Name of the Active Directory domain
         * 
         * @return builder
         * 
         */
        public Builder domain(@Nullable Output domain) {
            $.domain = domain;
            return this;
        }

        /**
         * @param domain Name of the Active Directory domain
         * 
         * @return builder
         * 
         */
        public Builder domain(String domain) {
            return domain(Output.of(domain));
        }

        /**
         * @param encryptDCConnections If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted.
         * 
         * @return builder
         * 
         */
        public Builder encryptDCConnections(@Nullable Output encryptDCConnections) {
            $.encryptDCConnections = encryptDCConnections;
            return this;
        }

        /**
         * @param encryptDCConnections If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted.
         * 
         * @return builder
         * 
         */
        public Builder encryptDCConnections(Boolean encryptDCConnections) {
            return encryptDCConnections(Output.of(encryptDCConnections));
        }

        /**
         * @param kdcIP kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.
         * 
         * @return builder
         * 
         */
        public Builder kdcIP(@Nullable Output kdcIP) {
            $.kdcIP = kdcIP;
            return this;
        }

        /**
         * @param kdcIP kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.
         * 
         * @return builder
         * 
         */
        public Builder kdcIP(String kdcIP) {
            return kdcIP(Output.of(kdcIP));
        }

        /**
         * @param ldapOverTLS Specifies whether or not the LDAP traffic needs to be secured via TLS.
         * 
         * @return builder
         * 
         */
        public Builder ldapOverTLS(@Nullable Output ldapOverTLS) {
            $.ldapOverTLS = ldapOverTLS;
            return this;
        }

        /**
         * @param ldapOverTLS Specifies whether or not the LDAP traffic needs to be secured via TLS.
         * 
         * @return builder
         * 
         */
        public Builder ldapOverTLS(Boolean ldapOverTLS) {
            return ldapOverTLS(Output.of(ldapOverTLS));
        }

        /**
         * @param ldapSearchScope LDAP Search scope options
         * 
         * @return builder
         * 
         */
        public Builder ldapSearchScope(@Nullable Output ldapSearchScope) {
            $.ldapSearchScope = ldapSearchScope;
            return this;
        }

        /**
         * @param ldapSearchScope LDAP Search scope options
         * 
         * @return builder
         * 
         */
        public Builder ldapSearchScope(LdapSearchScopeOptArgs ldapSearchScope) {
            return ldapSearchScope(Output.of(ldapSearchScope));
        }

        /**
         * @param ldapSigning Specifies whether or not the LDAP traffic needs to be signed.
         * 
         * @return builder
         * 
         */
        public Builder ldapSigning(@Nullable Output ldapSigning) {
            $.ldapSigning = ldapSigning;
            return this;
        }

        /**
         * @param ldapSigning Specifies whether or not the LDAP traffic needs to be signed.
         * 
         * @return builder
         * 
         */
        public Builder ldapSigning(Boolean ldapSigning) {
            return ldapSigning(Output.of(ldapSigning));
        }

        /**
         * @param organizationalUnit The Organizational Unit (OU) within the Windows Active Directory
         * 
         * @return builder
         * 
         */
        public Builder organizationalUnit(@Nullable Output organizationalUnit) {
            $.organizationalUnit = organizationalUnit;
            return this;
        }

        /**
         * @param organizationalUnit The Organizational Unit (OU) within the Windows Active Directory
         * 
         * @return builder
         * 
         */
        public Builder organizationalUnit(String organizationalUnit) {
            return organizationalUnit(Output.of(organizationalUnit));
        }

        /**
         * @param password Plain text password of Active Directory domain administrator, value is masked in the response
         * 
         * @return builder
         * 
         */
        public Builder password(@Nullable Output password) {
            $.password = password;
            return this;
        }

        /**
         * @param password Plain text password of Active Directory domain administrator, value is masked in the response
         * 
         * @return builder
         * 
         */
        public Builder password(String password) {
            return password(Output.of(password));
        }

        /**
         * @param preferredServersForLdapClient Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed.
         * 
         * @return builder
         * 
         */
        public Builder preferredServersForLdapClient(@Nullable Output preferredServersForLdapClient) {
            $.preferredServersForLdapClient = preferredServersForLdapClient;
            return this;
        }

        /**
         * @param preferredServersForLdapClient Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed.
         * 
         * @return builder
         * 
         */
        public Builder preferredServersForLdapClient(String preferredServersForLdapClient) {
            return preferredServersForLdapClient(Output.of(preferredServersForLdapClient));
        }

        /**
         * @param securityOperators Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier
         * 
         * @return builder
         * 
         */
        public Builder securityOperators(@Nullable Output> securityOperators) {
            $.securityOperators = securityOperators;
            return this;
        }

        /**
         * @param securityOperators Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier
         * 
         * @return builder
         * 
         */
        public Builder securityOperators(List securityOperators) {
            return securityOperators(Output.of(securityOperators));
        }

        /**
         * @param securityOperators Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier
         * 
         * @return builder
         * 
         */
        public Builder securityOperators(String... securityOperators) {
            return securityOperators(List.of(securityOperators));
        }

        /**
         * @param serverRootCACertificate When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.
         * 
         * @return builder
         * 
         */
        public Builder serverRootCACertificate(@Nullable Output serverRootCACertificate) {
            $.serverRootCACertificate = serverRootCACertificate;
            return this;
        }

        /**
         * @param serverRootCACertificate When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.
         * 
         * @return builder
         * 
         */
        public Builder serverRootCACertificate(String serverRootCACertificate) {
            return serverRootCACertificate(Output.of(serverRootCACertificate));
        }

        /**
         * @param site The Active Directory site the service will limit Domain Controller discovery to
         * 
         * @return builder
         * 
         */
        public Builder site(@Nullable Output site) {
            $.site = site;
            return this;
        }

        /**
         * @param site The Active Directory site the service will limit Domain Controller discovery to
         * 
         * @return builder
         * 
         */
        public Builder site(String site) {
            return site(Output.of(site));
        }

        /**
         * @param smbServerName NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes
         * 
         * @return builder
         * 
         */
        public Builder smbServerName(@Nullable Output smbServerName) {
            $.smbServerName = smbServerName;
            return this;
        }

        /**
         * @param smbServerName NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes
         * 
         * @return builder
         * 
         */
        public Builder smbServerName(String smbServerName) {
            return smbServerName(Output.of(smbServerName));
        }

        /**
         * @param username A domain user account with permission to create machine accounts
         * 
         * @return builder
         * 
         */
        public Builder username(@Nullable Output username) {
            $.username = username;
            return this;
        }

        /**
         * @param username A domain user account with permission to create machine accounts
         * 
         * @return builder
         * 
         */
        public Builder username(String username) {
            return username(Output.of(username));
        }

        public ActiveDirectoryArgs build() {
            $.organizationalUnit = Codegen.stringProp("organizationalUnit").output().arg($.organizationalUnit).def("CN=Computers").getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy