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

com.pulumi.azurenative.recoveryservices.inputs.SkuArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.recoveryservices.inputs;

import com.pulumi.azurenative.recoveryservices.enums.SkuName;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Identifies the unique system identifier for each Azure resource.
 * 
 */
public final class SkuArgs extends com.pulumi.resources.ResourceArgs {

    public static final SkuArgs Empty = new SkuArgs();

    /**
     * The sku capacity
     * 
     */
    @Import(name="capacity")
    private @Nullable Output capacity;

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

    /**
     * The sku family
     * 
     */
    @Import(name="family")
    private @Nullable Output family;

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

    /**
     * Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig
     * 
     */
    @Import(name="name", required=true)
    private Output> name;

    /**
     * @return Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig
     * 
     */
    public Output> name() {
        return this.name;
    }

    /**
     * The sku size
     * 
     */
    @Import(name="size")
    private @Nullable Output size;

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

    /**
     * The Sku tier.
     * 
     */
    @Import(name="tier")
    private @Nullable Output tier;

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

    private SkuArgs() {}

    private SkuArgs(SkuArgs $) {
        this.capacity = $.capacity;
        this.family = $.family;
        this.name = $.name;
        this.size = $.size;
        this.tier = $.tier;
    }

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

    public static final class Builder {
        private SkuArgs $;

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

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

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

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

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

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

        /**
         * @param name Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig
         * 
         * @return builder
         * 
         */
        public Builder name(Output> name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig
         * 
         * @return builder
         * 
         */
        public Builder name(Either name) {
            return name(Output.of(name));
        }

        /**
         * @param name Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Either.ofLeft(name));
        }

        /**
         * @param name Name of SKU is RS0 (Recovery Services 0th version) and the tier is standard tier. They do not have affect on backend storage redundancy or any other vault settings. To manage storage redundancy, use the backupstorageconfig
         * 
         * @return builder
         * 
         */
        public Builder name(SkuName name) {
            return name(Either.ofRight(name));
        }

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

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

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

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

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy