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

com.pulumi.azurenative.appconfiguration.ConfigurationStoreArgs Maven / Gradle / Ivy

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

import com.pulumi.azurenative.appconfiguration.enums.CreateMode;
import com.pulumi.azurenative.appconfiguration.enums.PublicNetworkAccess;
import com.pulumi.azurenative.appconfiguration.inputs.EncryptionPropertiesArgs;
import com.pulumi.azurenative.appconfiguration.inputs.ResourceIdentityArgs;
import com.pulumi.azurenative.appconfiguration.inputs.SkuArgs;
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.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ConfigurationStoreArgs Empty = new ConfigurationStoreArgs();

    /**
     * The name of the configuration store.
     * 
     */
    @Import(name="configStoreName")
    private @Nullable Output configStoreName;

    /**
     * @return The name of the configuration store.
     * 
     */
    public Optional> configStoreName() {
        return Optional.ofNullable(this.configStoreName);
    }

    /**
     * Indicates whether the configuration store need to be recovered.
     * 
     */
    @Import(name="createMode")
    private @Nullable Output createMode;

    /**
     * @return Indicates whether the configuration store need to be recovered.
     * 
     */
    public Optional> createMode() {
        return Optional.ofNullable(this.createMode);
    }

    /**
     * Disables all authentication methods other than AAD authentication.
     * 
     */
    @Import(name="disableLocalAuth")
    private @Nullable Output disableLocalAuth;

    /**
     * @return Disables all authentication methods other than AAD authentication.
     * 
     */
    public Optional> disableLocalAuth() {
        return Optional.ofNullable(this.disableLocalAuth);
    }

    /**
     * Property specifying whether protection against purge is enabled for this configuration store.
     * 
     */
    @Import(name="enablePurgeProtection")
    private @Nullable Output enablePurgeProtection;

    /**
     * @return Property specifying whether protection against purge is enabled for this configuration store.
     * 
     */
    public Optional> enablePurgeProtection() {
        return Optional.ofNullable(this.enablePurgeProtection);
    }

    /**
     * The encryption settings of the configuration store.
     * 
     */
    @Import(name="encryption")
    private @Nullable Output encryption;

    /**
     * @return The encryption settings of the configuration store.
     * 
     */
    public Optional> encryption() {
        return Optional.ofNullable(this.encryption);
    }

    /**
     * The managed identity information, if configured.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return The managed identity information, if configured.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Control permission for data plane traffic coming from public networks while private endpoint is enabled.
     * 
     */
    @Import(name="publicNetworkAccess")
    private @Nullable Output> publicNetworkAccess;

    /**
     * @return Control permission for data plane traffic coming from public networks while private endpoint is enabled.
     * 
     */
    public Optional>> publicNetworkAccess() {
        return Optional.ofNullable(this.publicNetworkAccess);
    }

    /**
     * The name of the resource group to which the container registry belongs.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group to which the container registry belongs.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The sku of the configuration store.
     * 
     */
    @Import(name="sku", required=true)
    private Output sku;

    /**
     * @return The sku of the configuration store.
     * 
     */
    public Output sku() {
        return this.sku;
    }

    /**
     * The amount of time in days that the configuration store will be retained when it is soft deleted.
     * 
     */
    @Import(name="softDeleteRetentionInDays")
    private @Nullable Output softDeleteRetentionInDays;

    /**
     * @return The amount of time in days that the configuration store will be retained when it is soft deleted.
     * 
     */
    public Optional> softDeleteRetentionInDays() {
        return Optional.ofNullable(this.softDeleteRetentionInDays);
    }

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

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

    private ConfigurationStoreArgs() {}

    private ConfigurationStoreArgs(ConfigurationStoreArgs $) {
        this.configStoreName = $.configStoreName;
        this.createMode = $.createMode;
        this.disableLocalAuth = $.disableLocalAuth;
        this.enablePurgeProtection = $.enablePurgeProtection;
        this.encryption = $.encryption;
        this.identity = $.identity;
        this.location = $.location;
        this.publicNetworkAccess = $.publicNetworkAccess;
        this.resourceGroupName = $.resourceGroupName;
        this.sku = $.sku;
        this.softDeleteRetentionInDays = $.softDeleteRetentionInDays;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private ConfigurationStoreArgs $;

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

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

        /**
         * @param configStoreName The name of the configuration store.
         * 
         * @return builder
         * 
         */
        public Builder configStoreName(@Nullable Output configStoreName) {
            $.configStoreName = configStoreName;
            return this;
        }

        /**
         * @param configStoreName The name of the configuration store.
         * 
         * @return builder
         * 
         */
        public Builder configStoreName(String configStoreName) {
            return configStoreName(Output.of(configStoreName));
        }

        /**
         * @param createMode Indicates whether the configuration store need to be recovered.
         * 
         * @return builder
         * 
         */
        public Builder createMode(@Nullable Output createMode) {
            $.createMode = createMode;
            return this;
        }

        /**
         * @param createMode Indicates whether the configuration store need to be recovered.
         * 
         * @return builder
         * 
         */
        public Builder createMode(CreateMode createMode) {
            return createMode(Output.of(createMode));
        }

        /**
         * @param disableLocalAuth Disables all authentication methods other than AAD authentication.
         * 
         * @return builder
         * 
         */
        public Builder disableLocalAuth(@Nullable Output disableLocalAuth) {
            $.disableLocalAuth = disableLocalAuth;
            return this;
        }

        /**
         * @param disableLocalAuth Disables all authentication methods other than AAD authentication.
         * 
         * @return builder
         * 
         */
        public Builder disableLocalAuth(Boolean disableLocalAuth) {
            return disableLocalAuth(Output.of(disableLocalAuth));
        }

        /**
         * @param enablePurgeProtection Property specifying whether protection against purge is enabled for this configuration store.
         * 
         * @return builder
         * 
         */
        public Builder enablePurgeProtection(@Nullable Output enablePurgeProtection) {
            $.enablePurgeProtection = enablePurgeProtection;
            return this;
        }

        /**
         * @param enablePurgeProtection Property specifying whether protection against purge is enabled for this configuration store.
         * 
         * @return builder
         * 
         */
        public Builder enablePurgeProtection(Boolean enablePurgeProtection) {
            return enablePurgeProtection(Output.of(enablePurgeProtection));
        }

        /**
         * @param encryption The encryption settings of the configuration store.
         * 
         * @return builder
         * 
         */
        public Builder encryption(@Nullable Output encryption) {
            $.encryption = encryption;
            return this;
        }

        /**
         * @param encryption The encryption settings of the configuration store.
         * 
         * @return builder
         * 
         */
        public Builder encryption(EncryptionPropertiesArgs encryption) {
            return encryption(Output.of(encryption));
        }

        /**
         * @param identity The managed identity information, if configured.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity The managed identity information, if configured.
         * 
         * @return builder
         * 
         */
        public Builder identity(ResourceIdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param publicNetworkAccess Control permission for data plane traffic coming from public networks while private endpoint is enabled.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(@Nullable Output> publicNetworkAccess) {
            $.publicNetworkAccess = publicNetworkAccess;
            return this;
        }

        /**
         * @param publicNetworkAccess Control permission for data plane traffic coming from public networks while private endpoint is enabled.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(Either publicNetworkAccess) {
            return publicNetworkAccess(Output.of(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Control permission for data plane traffic coming from public networks while private endpoint is enabled.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(String publicNetworkAccess) {
            return publicNetworkAccess(Either.ofLeft(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Control permission for data plane traffic coming from public networks while private endpoint is enabled.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(PublicNetworkAccess publicNetworkAccess) {
            return publicNetworkAccess(Either.ofRight(publicNetworkAccess));
        }

        /**
         * @param resourceGroupName The name of the resource group to which the container registry belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group to which the container registry belongs.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param sku The sku of the configuration store.
         * 
         * @return builder
         * 
         */
        public Builder sku(Output sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku The sku of the configuration store.
         * 
         * @return builder
         * 
         */
        public Builder sku(SkuArgs sku) {
            return sku(Output.of(sku));
        }

        /**
         * @param softDeleteRetentionInDays The amount of time in days that the configuration store will be retained when it is soft deleted.
         * 
         * @return builder
         * 
         */
        public Builder softDeleteRetentionInDays(@Nullable Output softDeleteRetentionInDays) {
            $.softDeleteRetentionInDays = softDeleteRetentionInDays;
            return this;
        }

        /**
         * @param softDeleteRetentionInDays The amount of time in days that the configuration store will be retained when it is soft deleted.
         * 
         * @return builder
         * 
         */
        public Builder softDeleteRetentionInDays(Integer softDeleteRetentionInDays) {
            return softDeleteRetentionInDays(Output.of(softDeleteRetentionInDays));
        }

        /**
         * @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 ConfigurationStoreArgs build() {
            $.disableLocalAuth = Codegen.booleanProp("disableLocalAuth").output().arg($.disableLocalAuth).def(false).getNullable();
            $.enablePurgeProtection = Codegen.booleanProp("enablePurgeProtection").output().arg($.enablePurgeProtection).def(false).getNullable();
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ConfigurationStoreArgs", "resourceGroupName");
            }
            if ($.sku == null) {
                throw new MissingRequiredPropertyException("ConfigurationStoreArgs", "sku");
            }
            $.softDeleteRetentionInDays = Codegen.integerProp("softDeleteRetentionInDays").output().arg($.softDeleteRetentionInDays).def(7).getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy