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

com.pulumi.azurenative.appconfiguration.KeyValueArgs 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.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final KeyValueArgs Empty = new KeyValueArgs();

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

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

    /**
     * The content type of the key-value's value.
     * Providing a proper content-type can enable transformations of values when they are retrieved by applications.
     * 
     */
    @Import(name="contentType")
    private @Nullable Output contentType;

    /**
     * @return The content type of the key-value's value.
     * Providing a proper content-type can enable transformations of values when they are retrieved by applications.
     * 
     */
    public Optional> contentType() {
        return Optional.ofNullable(this.contentType);
    }

    /**
     * Identifier of key and label combination. Key and label are joined by $ character. Label is optional.
     * 
     */
    @Import(name="keyValueName")
    private @Nullable Output keyValueName;

    /**
     * @return Identifier of key and label combination. Key and label are joined by $ character. Label is optional.
     * 
     */
    public Optional> keyValueName() {
        return Optional.ofNullable(this.keyValueName);
    }

    /**
     * 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;
    }

    /**
     * A dictionary of tags that can help identify what a key-value may be applicable for.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A dictionary of tags that can help identify what a key-value may be applicable for.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The value of the key-value.
     * 
     */
    @Import(name="value")
    private @Nullable Output value;

    /**
     * @return The value of the key-value.
     * 
     */
    public Optional> value() {
        return Optional.ofNullable(this.value);
    }

    private KeyValueArgs() {}

    private KeyValueArgs(KeyValueArgs $) {
        this.configStoreName = $.configStoreName;
        this.contentType = $.contentType;
        this.keyValueName = $.keyValueName;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
        this.value = $.value;
    }

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

    public static final class Builder {
        private KeyValueArgs $;

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

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

        /**
         * @param configStoreName The name of the configuration store.
         * 
         * @return builder
         * 
         */
        public Builder configStoreName(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 contentType The content type of the key-value's value.
         * Providing a proper content-type can enable transformations of values when they are retrieved by applications.
         * 
         * @return builder
         * 
         */
        public Builder contentType(@Nullable Output contentType) {
            $.contentType = contentType;
            return this;
        }

        /**
         * @param contentType The content type of the key-value's value.
         * Providing a proper content-type can enable transformations of values when they are retrieved by applications.
         * 
         * @return builder
         * 
         */
        public Builder contentType(String contentType) {
            return contentType(Output.of(contentType));
        }

        /**
         * @param keyValueName Identifier of key and label combination. Key and label are joined by $ character. Label is optional.
         * 
         * @return builder
         * 
         */
        public Builder keyValueName(@Nullable Output keyValueName) {
            $.keyValueName = keyValueName;
            return this;
        }

        /**
         * @param keyValueName Identifier of key and label combination. Key and label are joined by $ character. Label is optional.
         * 
         * @return builder
         * 
         */
        public Builder keyValueName(String keyValueName) {
            return keyValueName(Output.of(keyValueName));
        }

        /**
         * @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 tags A dictionary of tags that can help identify what a key-value may be applicable for.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A dictionary of tags that can help identify what a key-value may be applicable for.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param value The value of the key-value.
         * 
         * @return builder
         * 
         */
        public Builder value(@Nullable Output value) {
            $.value = value;
            return this;
        }

        /**
         * @param value The value of the key-value.
         * 
         * @return builder
         * 
         */
        public Builder value(String value) {
            return value(Output.of(value));
        }

        public KeyValueArgs build() {
            if ($.configStoreName == null) {
                throw new MissingRequiredPropertyException("KeyValueArgs", "configStoreName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("KeyValueArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy