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

com.pulumi.azurenative.migrate.inputs.VsphereLicenseArgs 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.migrate.inputs;

import com.pulumi.azurenative.migrate.enums.LicenseType;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;


/**
 * Representation of a vsphere licence.
 * 
 */
public final class VsphereLicenseArgs extends com.pulumi.resources.ResourceArgs {

    public static final VsphereLicenseArgs Empty = new VsphereLicenseArgs();

    /**
     * Basic support cost.
     * 
     */
    @Import(name="basicSupportCost", required=true)
    private Output basicSupportCost;

    /**
     * @return Basic support cost.
     * 
     */
    public Output basicSupportCost() {
        return this.basicSupportCost;
    }

    /**
     * Cost of a licence.
     * 
     */
    @Import(name="licenseCost", required=true)
    private Output licenseCost;

    /**
     * @return Cost of a licence.
     * 
     */
    public Output licenseCost() {
        return this.licenseCost;
    }

    /**
     * VSphere licence type.
     * 
     */
    @Import(name="licenseType", required=true)
    private Output> licenseType;

    /**
     * @return VSphere licence type.
     * 
     */
    public Output> licenseType() {
        return this.licenseType;
    }

    /**
     * Production support cost.
     * 
     */
    @Import(name="productionSupportCost", required=true)
    private Output productionSupportCost;

    /**
     * @return Production support cost.
     * 
     */
    public Output productionSupportCost() {
        return this.productionSupportCost;
    }

    private VsphereLicenseArgs() {}

    private VsphereLicenseArgs(VsphereLicenseArgs $) {
        this.basicSupportCost = $.basicSupportCost;
        this.licenseCost = $.licenseCost;
        this.licenseType = $.licenseType;
        this.productionSupportCost = $.productionSupportCost;
    }

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

    public static final class Builder {
        private VsphereLicenseArgs $;

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

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

        /**
         * @param basicSupportCost Basic support cost.
         * 
         * @return builder
         * 
         */
        public Builder basicSupportCost(Output basicSupportCost) {
            $.basicSupportCost = basicSupportCost;
            return this;
        }

        /**
         * @param basicSupportCost Basic support cost.
         * 
         * @return builder
         * 
         */
        public Builder basicSupportCost(Double basicSupportCost) {
            return basicSupportCost(Output.of(basicSupportCost));
        }

        /**
         * @param licenseCost Cost of a licence.
         * 
         * @return builder
         * 
         */
        public Builder licenseCost(Output licenseCost) {
            $.licenseCost = licenseCost;
            return this;
        }

        /**
         * @param licenseCost Cost of a licence.
         * 
         * @return builder
         * 
         */
        public Builder licenseCost(Double licenseCost) {
            return licenseCost(Output.of(licenseCost));
        }

        /**
         * @param licenseType VSphere licence type.
         * 
         * @return builder
         * 
         */
        public Builder licenseType(Output> licenseType) {
            $.licenseType = licenseType;
            return this;
        }

        /**
         * @param licenseType VSphere licence type.
         * 
         * @return builder
         * 
         */
        public Builder licenseType(Either licenseType) {
            return licenseType(Output.of(licenseType));
        }

        /**
         * @param licenseType VSphere licence type.
         * 
         * @return builder
         * 
         */
        public Builder licenseType(String licenseType) {
            return licenseType(Either.ofLeft(licenseType));
        }

        /**
         * @param licenseType VSphere licence type.
         * 
         * @return builder
         * 
         */
        public Builder licenseType(LicenseType licenseType) {
            return licenseType(Either.ofRight(licenseType));
        }

        /**
         * @param productionSupportCost Production support cost.
         * 
         * @return builder
         * 
         */
        public Builder productionSupportCost(Output productionSupportCost) {
            $.productionSupportCost = productionSupportCost;
            return this;
        }

        /**
         * @param productionSupportCost Production support cost.
         * 
         * @return builder
         * 
         */
        public Builder productionSupportCost(Double productionSupportCost) {
            return productionSupportCost(Output.of(productionSupportCost));
        }

        public VsphereLicenseArgs build() {
            if ($.basicSupportCost == null) {
                throw new MissingRequiredPropertyException("VsphereLicenseArgs", "basicSupportCost");
            }
            if ($.licenseCost == null) {
                throw new MissingRequiredPropertyException("VsphereLicenseArgs", "licenseCost");
            }
            if ($.licenseType == null) {
                throw new MissingRequiredPropertyException("VsphereLicenseArgs", "licenseType");
            }
            if ($.productionSupportCost == null) {
                throw new MissingRequiredPropertyException("VsphereLicenseArgs", "productionSupportCost");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy