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

com.pulumi.azurenative.aad.DomainServiceArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.aad;

import com.pulumi.azurenative.aad.enums.FilteredSync;
import com.pulumi.azurenative.aad.enums.SyncScope;
import com.pulumi.azurenative.aad.inputs.ConfigDiagnosticsArgs;
import com.pulumi.azurenative.aad.inputs.DomainSecuritySettingsArgs;
import com.pulumi.azurenative.aad.inputs.LdapsSettingsArgs;
import com.pulumi.azurenative.aad.inputs.NotificationSettingsArgs;
import com.pulumi.azurenative.aad.inputs.ReplicaSetArgs;
import com.pulumi.azurenative.aad.inputs.ResourceForestSettingsArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class DomainServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final DomainServiceArgs Empty = new DomainServiceArgs();

    /**
     * Configuration diagnostics data containing latest execution from client.
     * 
     */
    @Import(name="configDiagnostics")
    private @Nullable Output configDiagnostics;

    /**
     * @return Configuration diagnostics data containing latest execution from client.
     * 
     */
    public Optional> configDiagnostics() {
        return Optional.ofNullable(this.configDiagnostics);
    }

    /**
     * Domain Configuration Type
     * 
     */
    @Import(name="domainConfigurationType")
    private @Nullable Output domainConfigurationType;

    /**
     * @return Domain Configuration Type
     * 
     */
    public Optional> domainConfigurationType() {
        return Optional.ofNullable(this.domainConfigurationType);
    }

    /**
     * The name of the Azure domain that the user would like to deploy Domain Services to.
     * 
     */
    @Import(name="domainName")
    private @Nullable Output domainName;

    /**
     * @return The name of the Azure domain that the user would like to deploy Domain Services to.
     * 
     */
    public Optional> domainName() {
        return Optional.ofNullable(this.domainName);
    }

    /**
     * DomainSecurity Settings
     * 
     */
    @Import(name="domainSecuritySettings")
    private @Nullable Output domainSecuritySettings;

    /**
     * @return DomainSecurity Settings
     * 
     */
    public Optional> domainSecuritySettings() {
        return Optional.ofNullable(this.domainSecuritySettings);
    }

    /**
     * The name of the domain service.
     * 
     */
    @Import(name="domainServiceName")
    private @Nullable Output domainServiceName;

    /**
     * @return The name of the domain service.
     * 
     */
    public Optional> domainServiceName() {
        return Optional.ofNullable(this.domainServiceName);
    }

    /**
     * Enabled or Disabled flag to turn on Group-based filtered sync
     * 
     */
    @Import(name="filteredSync")
    private @Nullable Output> filteredSync;

    /**
     * @return Enabled or Disabled flag to turn on Group-based filtered sync
     * 
     */
    public Optional>> filteredSync() {
        return Optional.ofNullable(this.filteredSync);
    }

    /**
     * Secure LDAP Settings
     * 
     */
    @Import(name="ldapsSettings")
    private @Nullable Output ldapsSettings;

    /**
     * @return Secure LDAP Settings
     * 
     */
    public Optional> ldapsSettings() {
        return Optional.ofNullable(this.ldapsSettings);
    }

    /**
     * Resource location
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Resource location
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Notification Settings
     * 
     */
    @Import(name="notificationSettings")
    private @Nullable Output notificationSettings;

    /**
     * @return Notification Settings
     * 
     */
    public Optional> notificationSettings() {
        return Optional.ofNullable(this.notificationSettings);
    }

    /**
     * List of ReplicaSets
     * 
     */
    @Import(name="replicaSets")
    private @Nullable Output> replicaSets;

    /**
     * @return List of ReplicaSets
     * 
     */
    public Optional>> replicaSets() {
        return Optional.ofNullable(this.replicaSets);
    }

    /**
     * Resource Forest Settings
     * 
     */
    @Import(name="resourceForestSettings")
    private @Nullable Output resourceForestSettings;

    /**
     * @return Resource Forest Settings
     * 
     */
    public Optional> resourceForestSettings() {
        return Optional.ofNullable(this.resourceForestSettings);
    }

    /**
     * The name of the resource group within the user's subscription. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group within the user's subscription. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Sku Type
     * 
     */
    @Import(name="sku")
    private @Nullable Output sku;

    /**
     * @return Sku Type
     * 
     */
    public Optional> sku() {
        return Optional.ofNullable(this.sku);
    }

    /**
     * All or CloudOnly, All users in AAD are synced to AAD DS domain or only users actively syncing in the cloud
     * 
     */
    @Import(name="syncScope")
    private @Nullable Output> syncScope;

    /**
     * @return All or CloudOnly, All users in AAD are synced to AAD DS domain or only users actively syncing in the cloud
     * 
     */
    public Optional>> syncScope() {
        return Optional.ofNullable(this.syncScope);
    }

    /**
     * Resource tags
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private DomainServiceArgs() {}

    private DomainServiceArgs(DomainServiceArgs $) {
        this.configDiagnostics = $.configDiagnostics;
        this.domainConfigurationType = $.domainConfigurationType;
        this.domainName = $.domainName;
        this.domainSecuritySettings = $.domainSecuritySettings;
        this.domainServiceName = $.domainServiceName;
        this.filteredSync = $.filteredSync;
        this.ldapsSettings = $.ldapsSettings;
        this.location = $.location;
        this.notificationSettings = $.notificationSettings;
        this.replicaSets = $.replicaSets;
        this.resourceForestSettings = $.resourceForestSettings;
        this.resourceGroupName = $.resourceGroupName;
        this.sku = $.sku;
        this.syncScope = $.syncScope;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private DomainServiceArgs $;

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

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

        /**
         * @param configDiagnostics Configuration diagnostics data containing latest execution from client.
         * 
         * @return builder
         * 
         */
        public Builder configDiagnostics(@Nullable Output configDiagnostics) {
            $.configDiagnostics = configDiagnostics;
            return this;
        }

        /**
         * @param configDiagnostics Configuration diagnostics data containing latest execution from client.
         * 
         * @return builder
         * 
         */
        public Builder configDiagnostics(ConfigDiagnosticsArgs configDiagnostics) {
            return configDiagnostics(Output.of(configDiagnostics));
        }

        /**
         * @param domainConfigurationType Domain Configuration Type
         * 
         * @return builder
         * 
         */
        public Builder domainConfigurationType(@Nullable Output domainConfigurationType) {
            $.domainConfigurationType = domainConfigurationType;
            return this;
        }

        /**
         * @param domainConfigurationType Domain Configuration Type
         * 
         * @return builder
         * 
         */
        public Builder domainConfigurationType(String domainConfigurationType) {
            return domainConfigurationType(Output.of(domainConfigurationType));
        }

        /**
         * @param domainName The name of the Azure domain that the user would like to deploy Domain Services to.
         * 
         * @return builder
         * 
         */
        public Builder domainName(@Nullable Output domainName) {
            $.domainName = domainName;
            return this;
        }

        /**
         * @param domainName The name of the Azure domain that the user would like to deploy Domain Services to.
         * 
         * @return builder
         * 
         */
        public Builder domainName(String domainName) {
            return domainName(Output.of(domainName));
        }

        /**
         * @param domainSecuritySettings DomainSecurity Settings
         * 
         * @return builder
         * 
         */
        public Builder domainSecuritySettings(@Nullable Output domainSecuritySettings) {
            $.domainSecuritySettings = domainSecuritySettings;
            return this;
        }

        /**
         * @param domainSecuritySettings DomainSecurity Settings
         * 
         * @return builder
         * 
         */
        public Builder domainSecuritySettings(DomainSecuritySettingsArgs domainSecuritySettings) {
            return domainSecuritySettings(Output.of(domainSecuritySettings));
        }

        /**
         * @param domainServiceName The name of the domain service.
         * 
         * @return builder
         * 
         */
        public Builder domainServiceName(@Nullable Output domainServiceName) {
            $.domainServiceName = domainServiceName;
            return this;
        }

        /**
         * @param domainServiceName The name of the domain service.
         * 
         * @return builder
         * 
         */
        public Builder domainServiceName(String domainServiceName) {
            return domainServiceName(Output.of(domainServiceName));
        }

        /**
         * @param filteredSync Enabled or Disabled flag to turn on Group-based filtered sync
         * 
         * @return builder
         * 
         */
        public Builder filteredSync(@Nullable Output> filteredSync) {
            $.filteredSync = filteredSync;
            return this;
        }

        /**
         * @param filteredSync Enabled or Disabled flag to turn on Group-based filtered sync
         * 
         * @return builder
         * 
         */
        public Builder filteredSync(Either filteredSync) {
            return filteredSync(Output.of(filteredSync));
        }

        /**
         * @param filteredSync Enabled or Disabled flag to turn on Group-based filtered sync
         * 
         * @return builder
         * 
         */
        public Builder filteredSync(String filteredSync) {
            return filteredSync(Either.ofLeft(filteredSync));
        }

        /**
         * @param filteredSync Enabled or Disabled flag to turn on Group-based filtered sync
         * 
         * @return builder
         * 
         */
        public Builder filteredSync(FilteredSync filteredSync) {
            return filteredSync(Either.ofRight(filteredSync));
        }

        /**
         * @param ldapsSettings Secure LDAP Settings
         * 
         * @return builder
         * 
         */
        public Builder ldapsSettings(@Nullable Output ldapsSettings) {
            $.ldapsSettings = ldapsSettings;
            return this;
        }

        /**
         * @param ldapsSettings Secure LDAP Settings
         * 
         * @return builder
         * 
         */
        public Builder ldapsSettings(LdapsSettingsArgs ldapsSettings) {
            return ldapsSettings(Output.of(ldapsSettings));
        }

        /**
         * @param location Resource location
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Resource location
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param notificationSettings Notification Settings
         * 
         * @return builder
         * 
         */
        public Builder notificationSettings(@Nullable Output notificationSettings) {
            $.notificationSettings = notificationSettings;
            return this;
        }

        /**
         * @param notificationSettings Notification Settings
         * 
         * @return builder
         * 
         */
        public Builder notificationSettings(NotificationSettingsArgs notificationSettings) {
            return notificationSettings(Output.of(notificationSettings));
        }

        /**
         * @param replicaSets List of ReplicaSets
         * 
         * @return builder
         * 
         */
        public Builder replicaSets(@Nullable Output> replicaSets) {
            $.replicaSets = replicaSets;
            return this;
        }

        /**
         * @param replicaSets List of ReplicaSets
         * 
         * @return builder
         * 
         */
        public Builder replicaSets(List replicaSets) {
            return replicaSets(Output.of(replicaSets));
        }

        /**
         * @param replicaSets List of ReplicaSets
         * 
         * @return builder
         * 
         */
        public Builder replicaSets(ReplicaSetArgs... replicaSets) {
            return replicaSets(List.of(replicaSets));
        }

        /**
         * @param resourceForestSettings Resource Forest Settings
         * 
         * @return builder
         * 
         */
        public Builder resourceForestSettings(@Nullable Output resourceForestSettings) {
            $.resourceForestSettings = resourceForestSettings;
            return this;
        }

        /**
         * @param resourceForestSettings Resource Forest Settings
         * 
         * @return builder
         * 
         */
        public Builder resourceForestSettings(ResourceForestSettingsArgs resourceForestSettings) {
            return resourceForestSettings(Output.of(resourceForestSettings));
        }

        /**
         * @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param sku Sku Type
         * 
         * @return builder
         * 
         */
        public Builder sku(@Nullable Output sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku Sku Type
         * 
         * @return builder
         * 
         */
        public Builder sku(String sku) {
            return sku(Output.of(sku));
        }

        /**
         * @param syncScope All or CloudOnly, All users in AAD are synced to AAD DS domain or only users actively syncing in the cloud
         * 
         * @return builder
         * 
         */
        public Builder syncScope(@Nullable Output> syncScope) {
            $.syncScope = syncScope;
            return this;
        }

        /**
         * @param syncScope All or CloudOnly, All users in AAD are synced to AAD DS domain or only users actively syncing in the cloud
         * 
         * @return builder
         * 
         */
        public Builder syncScope(Either syncScope) {
            return syncScope(Output.of(syncScope));
        }

        /**
         * @param syncScope All or CloudOnly, All users in AAD are synced to AAD DS domain or only users actively syncing in the cloud
         * 
         * @return builder
         * 
         */
        public Builder syncScope(String syncScope) {
            return syncScope(Either.ofLeft(syncScope));
        }

        /**
         * @param syncScope All or CloudOnly, All users in AAD are synced to AAD DS domain or only users actively syncing in the cloud
         * 
         * @return builder
         * 
         */
        public Builder syncScope(SyncScope syncScope) {
            return syncScope(Either.ofRight(syncScope));
        }

        /**
         * @param tags Resource tags
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public DomainServiceArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("DomainServiceArgs", "resourceGroupName");
            }
            $.syncScope = Codegen.stringProp("syncScope").left(SyncScope.class).output().arg($.syncScope).def("All").getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy