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

com.pulumi.azurenative.web.inputs.SkuDescriptionArgs 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.web.inputs;

import com.pulumi.azurenative.web.inputs.CapabilityArgs;
import com.pulumi.azurenative.web.inputs.SkuCapacityArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Description of a SKU for a scalable resource.
 * 
 */
public final class SkuDescriptionArgs extends com.pulumi.resources.ResourceArgs {

    public static final SkuDescriptionArgs Empty = new SkuDescriptionArgs();

    /**
     * Capabilities of the SKU, e.g., is traffic manager enabled?
     * 
     */
    @Import(name="capabilities")
    private @Nullable Output> capabilities;

    /**
     * @return Capabilities of the SKU, e.g., is traffic manager enabled?
     * 
     */
    public Optional>> capabilities() {
        return Optional.ofNullable(this.capabilities);
    }

    /**
     * Current number of instances assigned to the resource.
     * 
     */
    @Import(name="capacity")
    private @Nullable Output capacity;

    /**
     * @return Current number of instances assigned to the resource.
     * 
     */
    public Optional> capacity() {
        return Optional.ofNullable(this.capacity);
    }

    /**
     * Family code of the resource SKU.
     * 
     */
    @Import(name="family")
    private @Nullable Output family;

    /**
     * @return Family code of the resource SKU.
     * 
     */
    public Optional> family() {
        return Optional.ofNullable(this.family);
    }

    /**
     * Locations of the SKU.
     * 
     */
    @Import(name="locations")
    private @Nullable Output> locations;

    /**
     * @return Locations of the SKU.
     * 
     */
    public Optional>> locations() {
        return Optional.ofNullable(this.locations);
    }

    /**
     * Name of the resource SKU.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name of the resource SKU.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Size specifier of the resource SKU.
     * 
     */
    @Import(name="size")
    private @Nullable Output size;

    /**
     * @return Size specifier of the resource SKU.
     * 
     */
    public Optional> size() {
        return Optional.ofNullable(this.size);
    }

    /**
     * Min, max, and default scale values of the SKU.
     * 
     */
    @Import(name="skuCapacity")
    private @Nullable Output skuCapacity;

    /**
     * @return Min, max, and default scale values of the SKU.
     * 
     */
    public Optional> skuCapacity() {
        return Optional.ofNullable(this.skuCapacity);
    }

    /**
     * Service tier of the resource SKU.
     * 
     */
    @Import(name="tier")
    private @Nullable Output tier;

    /**
     * @return Service tier of the resource SKU.
     * 
     */
    public Optional> tier() {
        return Optional.ofNullable(this.tier);
    }

    private SkuDescriptionArgs() {}

    private SkuDescriptionArgs(SkuDescriptionArgs $) {
        this.capabilities = $.capabilities;
        this.capacity = $.capacity;
        this.family = $.family;
        this.locations = $.locations;
        this.name = $.name;
        this.size = $.size;
        this.skuCapacity = $.skuCapacity;
        this.tier = $.tier;
    }

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

    public static final class Builder {
        private SkuDescriptionArgs $;

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

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

        /**
         * @param capabilities Capabilities of the SKU, e.g., is traffic manager enabled?
         * 
         * @return builder
         * 
         */
        public Builder capabilities(@Nullable Output> capabilities) {
            $.capabilities = capabilities;
            return this;
        }

        /**
         * @param capabilities Capabilities of the SKU, e.g., is traffic manager enabled?
         * 
         * @return builder
         * 
         */
        public Builder capabilities(List capabilities) {
            return capabilities(Output.of(capabilities));
        }

        /**
         * @param capabilities Capabilities of the SKU, e.g., is traffic manager enabled?
         * 
         * @return builder
         * 
         */
        public Builder capabilities(CapabilityArgs... capabilities) {
            return capabilities(List.of(capabilities));
        }

        /**
         * @param capacity Current number of instances assigned to the resource.
         * 
         * @return builder
         * 
         */
        public Builder capacity(@Nullable Output capacity) {
            $.capacity = capacity;
            return this;
        }

        /**
         * @param capacity Current number of instances assigned to the resource.
         * 
         * @return builder
         * 
         */
        public Builder capacity(Integer capacity) {
            return capacity(Output.of(capacity));
        }

        /**
         * @param family Family code of the resource SKU.
         * 
         * @return builder
         * 
         */
        public Builder family(@Nullable Output family) {
            $.family = family;
            return this;
        }

        /**
         * @param family Family code of the resource SKU.
         * 
         * @return builder
         * 
         */
        public Builder family(String family) {
            return family(Output.of(family));
        }

        /**
         * @param locations Locations of the SKU.
         * 
         * @return builder
         * 
         */
        public Builder locations(@Nullable Output> locations) {
            $.locations = locations;
            return this;
        }

        /**
         * @param locations Locations of the SKU.
         * 
         * @return builder
         * 
         */
        public Builder locations(List locations) {
            return locations(Output.of(locations));
        }

        /**
         * @param locations Locations of the SKU.
         * 
         * @return builder
         * 
         */
        public Builder locations(String... locations) {
            return locations(List.of(locations));
        }

        /**
         * @param name Name of the resource SKU.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of the resource SKU.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param size Size specifier of the resource SKU.
         * 
         * @return builder
         * 
         */
        public Builder size(@Nullable Output size) {
            $.size = size;
            return this;
        }

        /**
         * @param size Size specifier of the resource SKU.
         * 
         * @return builder
         * 
         */
        public Builder size(String size) {
            return size(Output.of(size));
        }

        /**
         * @param skuCapacity Min, max, and default scale values of the SKU.
         * 
         * @return builder
         * 
         */
        public Builder skuCapacity(@Nullable Output skuCapacity) {
            $.skuCapacity = skuCapacity;
            return this;
        }

        /**
         * @param skuCapacity Min, max, and default scale values of the SKU.
         * 
         * @return builder
         * 
         */
        public Builder skuCapacity(SkuCapacityArgs skuCapacity) {
            return skuCapacity(Output.of(skuCapacity));
        }

        /**
         * @param tier Service tier of the resource SKU.
         * 
         * @return builder
         * 
         */
        public Builder tier(@Nullable Output tier) {
            $.tier = tier;
            return this;
        }

        /**
         * @param tier Service tier of the resource SKU.
         * 
         * @return builder
         * 
         */
        public Builder tier(String tier) {
            return tier(Output.of(tier));
        }

        public SkuDescriptionArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy