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

com.pulumi.azurenative.storagesync.StorageSyncServiceArgs 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.storagesync;

import com.pulumi.azurenative.storagesync.enums.IncomingTrafficPolicy;
import com.pulumi.core.Either;
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 StorageSyncServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final StorageSyncServiceArgs Empty = new StorageSyncServiceArgs();

    /**
     * Incoming Traffic Policy
     * 
     */
    @Import(name="incomingTrafficPolicy")
    private @Nullable Output> incomingTrafficPolicy;

    /**
     * @return Incoming Traffic Policy
     * 
     */
    public Optional>> incomingTrafficPolicy() {
        return Optional.ofNullable(this.incomingTrafficPolicy);
    }

    /**
     * Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

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

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

    /**
     * Name of Storage Sync Service resource.
     * 
     */
    @Import(name="storageSyncServiceName")
    private @Nullable Output storageSyncServiceName;

    /**
     * @return Name of Storage Sync Service resource.
     * 
     */
    public Optional> storageSyncServiceName() {
        return Optional.ofNullable(this.storageSyncServiceName);
    }

    /**
     * Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private StorageSyncServiceArgs() {}

    private StorageSyncServiceArgs(StorageSyncServiceArgs $) {
        this.incomingTrafficPolicy = $.incomingTrafficPolicy;
        this.location = $.location;
        this.resourceGroupName = $.resourceGroupName;
        this.storageSyncServiceName = $.storageSyncServiceName;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private StorageSyncServiceArgs $;

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

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

        /**
         * @param incomingTrafficPolicy Incoming Traffic Policy
         * 
         * @return builder
         * 
         */
        public Builder incomingTrafficPolicy(@Nullable Output> incomingTrafficPolicy) {
            $.incomingTrafficPolicy = incomingTrafficPolicy;
            return this;
        }

        /**
         * @param incomingTrafficPolicy Incoming Traffic Policy
         * 
         * @return builder
         * 
         */
        public Builder incomingTrafficPolicy(Either incomingTrafficPolicy) {
            return incomingTrafficPolicy(Output.of(incomingTrafficPolicy));
        }

        /**
         * @param incomingTrafficPolicy Incoming Traffic Policy
         * 
         * @return builder
         * 
         */
        public Builder incomingTrafficPolicy(String incomingTrafficPolicy) {
            return incomingTrafficPolicy(Either.ofLeft(incomingTrafficPolicy));
        }

        /**
         * @param incomingTrafficPolicy Incoming Traffic Policy
         * 
         * @return builder
         * 
         */
        public Builder incomingTrafficPolicy(IncomingTrafficPolicy incomingTrafficPolicy) {
            return incomingTrafficPolicy(Either.ofRight(incomingTrafficPolicy));
        }

        /**
         * @param location Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

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

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

        /**
         * @param storageSyncServiceName Name of Storage Sync Service resource.
         * 
         * @return builder
         * 
         */
        public Builder storageSyncServiceName(@Nullable Output storageSyncServiceName) {
            $.storageSyncServiceName = storageSyncServiceName;
            return this;
        }

        /**
         * @param storageSyncServiceName Name of Storage Sync Service resource.
         * 
         * @return builder
         * 
         */
        public Builder storageSyncServiceName(String storageSyncServiceName) {
            return storageSyncServiceName(Output.of(storageSyncServiceName));
        }

        /**
         * @param tags Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy