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

com.pulumi.azurenative.migrate.inputs.AzureSettingsArgs 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.BusinessCaseCurrency;
import com.pulumi.azurenative.migrate.enums.DiscoverySource;
import com.pulumi.azurenative.migrate.enums.MigrationStrategy;
import com.pulumi.azurenative.migrate.enums.SavingsOption;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Azure settings for a business case.
 * 
 */
public final class AzureSettingsArgs extends com.pulumi.resources.ResourceArgs {

    public static final AzureSettingsArgs Empty = new AzureSettingsArgs();

    /**
     * Gets Avs labour cost percentage.
     * 
     */
    @Import(name="avsLaborCostPercentage")
    private @Nullable Output avsLaborCostPercentage;

    /**
     * @return Gets Avs labour cost percentage.
     * 
     */
    public Optional> avsLaborCostPercentage() {
        return Optional.ofNullable(this.avsLaborCostPercentage);
    }

    /**
     * Migration Strategy.
     * 
     */
    @Import(name="businessCaseType")
    private @Nullable Output> businessCaseType;

    /**
     * @return Migration Strategy.
     * 
     */
    public Optional>> businessCaseType() {
        return Optional.ofNullable(this.businessCaseType);
    }

    /**
     * Gets comfort factor.
     * 
     */
    @Import(name="comfortFactor")
    private @Nullable Output comfortFactor;

    /**
     * @return Gets comfort factor.
     * 
     */
    public Optional> comfortFactor() {
        return Optional.ofNullable(this.comfortFactor);
    }

    /**
     * Business case Currency.
     * 
     */
    @Import(name="currency", required=true)
    private Output> currency;

    /**
     * @return Business case Currency.
     * 
     */
    public Output> currency() {
        return this.currency;
    }

    /**
     * Gets azure Discount percentage.
     * 
     */
    @Import(name="discountPercentage")
    private @Nullable Output discountPercentage;

    /**
     * @return Gets azure Discount percentage.
     * 
     */
    public Optional> discountPercentage() {
        return Optional.ofNullable(this.discountPercentage);
    }

    /**
     * Gets IaaS labour cost percentage.
     * 
     */
    @Import(name="iaasLaborCostPercentage")
    private @Nullable Output iaasLaborCostPercentage;

    /**
     * @return Gets IaaS labour cost percentage.
     * 
     */
    public Optional> iaasLaborCostPercentage() {
        return Optional.ofNullable(this.iaasLaborCostPercentage);
    }

    /**
     * Gets infrastructure growth rate.
     * 
     */
    @Import(name="infrastructureGrowthRate")
    private @Nullable Output infrastructureGrowthRate;

    /**
     * @return Gets infrastructure growth rate.
     * 
     */
    public Optional> infrastructureGrowthRate() {
        return Optional.ofNullable(this.infrastructureGrowthRate);
    }

    /**
     * Gets network cost percentage.
     * 
     */
    @Import(name="networkCostPercentage")
    private @Nullable Output networkCostPercentage;

    /**
     * @return Gets network cost percentage.
     * 
     */
    public Optional> networkCostPercentage() {
        return Optional.ofNullable(this.networkCostPercentage);
    }

    /**
     * Gets PaaS labour cost percentage.
     * 
     */
    @Import(name="paasLaborCostPercentage")
    private @Nullable Output paasLaborCostPercentage;

    /**
     * @return Gets PaaS labour cost percentage.
     * 
     */
    public Optional> paasLaborCostPercentage() {
        return Optional.ofNullable(this.paasLaborCostPercentage);
    }

    /**
     * Gets migration completion percentage per year.
     * 
     */
    @Import(name="perYearMigrationCompletionPercentage")
    private @Nullable Output> perYearMigrationCompletionPercentage;

    /**
     * @return Gets migration completion percentage per year.
     * 
     */
    public Optional>> perYearMigrationCompletionPercentage() {
        return Optional.ofNullable(this.perYearMigrationCompletionPercentage);
    }

    /**
     * Gets end time to use for performance.
     * 
     */
    @Import(name="performanceDataEndTime")
    private @Nullable Output performanceDataEndTime;

    /**
     * @return Gets end time to use for performance.
     * 
     */
    public Optional> performanceDataEndTime() {
        return Optional.ofNullable(this.performanceDataEndTime);
    }

    /**
     * Gets start time to use for performance.
     * 
     */
    @Import(name="performanceDataStartTime")
    private @Nullable Output performanceDataStartTime;

    /**
     * @return Gets start time to use for performance.
     * 
     */
    public Optional> performanceDataStartTime() {
        return Optional.ofNullable(this.performanceDataStartTime);
    }

    /**
     * Gets utilization percentile for performance.
     * 
     */
    @Import(name="performanceUtilizationPercentile")
    private @Nullable Output performanceUtilizationPercentile;

    /**
     * @return Gets utilization percentile for performance.
     * 
     */
    public Optional> performanceUtilizationPercentile() {
        return Optional.ofNullable(this.performanceUtilizationPercentile);
    }

    /**
     * Gets the business case savings option type.
     * 
     */
    @Import(name="savingsOption")
    private @Nullable Output> savingsOption;

    /**
     * @return Gets the business case savings option type.
     * 
     */
    public Optional>> savingsOption() {
        return Optional.ofNullable(this.savingsOption);
    }

    /**
     * Gets or sets azure location.
     * 
     */
    @Import(name="targetLocation", required=true)
    private Output targetLocation;

    /**
     * @return Gets or sets azure location.
     * 
     */
    public Output targetLocation() {
        return this.targetLocation;
    }

    /**
     * Gets wACC percentage.
     * 
     */
    @Import(name="wacc")
    private @Nullable Output wacc;

    /**
     * @return Gets wACC percentage.
     * 
     */
    public Optional> wacc() {
        return Optional.ofNullable(this.wacc);
    }

    /**
     * Workload discovery source.
     * 
     */
    @Import(name="workloadDiscoverySource")
    private @Nullable Output> workloadDiscoverySource;

    /**
     * @return Workload discovery source.
     * 
     */
    public Optional>> workloadDiscoverySource() {
        return Optional.ofNullable(this.workloadDiscoverySource);
    }

    private AzureSettingsArgs() {}

    private AzureSettingsArgs(AzureSettingsArgs $) {
        this.avsLaborCostPercentage = $.avsLaborCostPercentage;
        this.businessCaseType = $.businessCaseType;
        this.comfortFactor = $.comfortFactor;
        this.currency = $.currency;
        this.discountPercentage = $.discountPercentage;
        this.iaasLaborCostPercentage = $.iaasLaborCostPercentage;
        this.infrastructureGrowthRate = $.infrastructureGrowthRate;
        this.networkCostPercentage = $.networkCostPercentage;
        this.paasLaborCostPercentage = $.paasLaborCostPercentage;
        this.perYearMigrationCompletionPercentage = $.perYearMigrationCompletionPercentage;
        this.performanceDataEndTime = $.performanceDataEndTime;
        this.performanceDataStartTime = $.performanceDataStartTime;
        this.performanceUtilizationPercentile = $.performanceUtilizationPercentile;
        this.savingsOption = $.savingsOption;
        this.targetLocation = $.targetLocation;
        this.wacc = $.wacc;
        this.workloadDiscoverySource = $.workloadDiscoverySource;
    }

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

    public static final class Builder {
        private AzureSettingsArgs $;

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

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

        /**
         * @param avsLaborCostPercentage Gets Avs labour cost percentage.
         * 
         * @return builder
         * 
         */
        public Builder avsLaborCostPercentage(@Nullable Output avsLaborCostPercentage) {
            $.avsLaborCostPercentage = avsLaborCostPercentage;
            return this;
        }

        /**
         * @param avsLaborCostPercentage Gets Avs labour cost percentage.
         * 
         * @return builder
         * 
         */
        public Builder avsLaborCostPercentage(Double avsLaborCostPercentage) {
            return avsLaborCostPercentage(Output.of(avsLaborCostPercentage));
        }

        /**
         * @param businessCaseType Migration Strategy.
         * 
         * @return builder
         * 
         */
        public Builder businessCaseType(@Nullable Output> businessCaseType) {
            $.businessCaseType = businessCaseType;
            return this;
        }

        /**
         * @param businessCaseType Migration Strategy.
         * 
         * @return builder
         * 
         */
        public Builder businessCaseType(Either businessCaseType) {
            return businessCaseType(Output.of(businessCaseType));
        }

        /**
         * @param businessCaseType Migration Strategy.
         * 
         * @return builder
         * 
         */
        public Builder businessCaseType(String businessCaseType) {
            return businessCaseType(Either.ofLeft(businessCaseType));
        }

        /**
         * @param businessCaseType Migration Strategy.
         * 
         * @return builder
         * 
         */
        public Builder businessCaseType(MigrationStrategy businessCaseType) {
            return businessCaseType(Either.ofRight(businessCaseType));
        }

        /**
         * @param comfortFactor Gets comfort factor.
         * 
         * @return builder
         * 
         */
        public Builder comfortFactor(@Nullable Output comfortFactor) {
            $.comfortFactor = comfortFactor;
            return this;
        }

        /**
         * @param comfortFactor Gets comfort factor.
         * 
         * @return builder
         * 
         */
        public Builder comfortFactor(Double comfortFactor) {
            return comfortFactor(Output.of(comfortFactor));
        }

        /**
         * @param currency Business case Currency.
         * 
         * @return builder
         * 
         */
        public Builder currency(Output> currency) {
            $.currency = currency;
            return this;
        }

        /**
         * @param currency Business case Currency.
         * 
         * @return builder
         * 
         */
        public Builder currency(Either currency) {
            return currency(Output.of(currency));
        }

        /**
         * @param currency Business case Currency.
         * 
         * @return builder
         * 
         */
        public Builder currency(String currency) {
            return currency(Either.ofLeft(currency));
        }

        /**
         * @param currency Business case Currency.
         * 
         * @return builder
         * 
         */
        public Builder currency(BusinessCaseCurrency currency) {
            return currency(Either.ofRight(currency));
        }

        /**
         * @param discountPercentage Gets azure Discount percentage.
         * 
         * @return builder
         * 
         */
        public Builder discountPercentage(@Nullable Output discountPercentage) {
            $.discountPercentage = discountPercentage;
            return this;
        }

        /**
         * @param discountPercentage Gets azure Discount percentage.
         * 
         * @return builder
         * 
         */
        public Builder discountPercentage(Double discountPercentage) {
            return discountPercentage(Output.of(discountPercentage));
        }

        /**
         * @param iaasLaborCostPercentage Gets IaaS labour cost percentage.
         * 
         * @return builder
         * 
         */
        public Builder iaasLaborCostPercentage(@Nullable Output iaasLaborCostPercentage) {
            $.iaasLaborCostPercentage = iaasLaborCostPercentage;
            return this;
        }

        /**
         * @param iaasLaborCostPercentage Gets IaaS labour cost percentage.
         * 
         * @return builder
         * 
         */
        public Builder iaasLaborCostPercentage(Double iaasLaborCostPercentage) {
            return iaasLaborCostPercentage(Output.of(iaasLaborCostPercentage));
        }

        /**
         * @param infrastructureGrowthRate Gets infrastructure growth rate.
         * 
         * @return builder
         * 
         */
        public Builder infrastructureGrowthRate(@Nullable Output infrastructureGrowthRate) {
            $.infrastructureGrowthRate = infrastructureGrowthRate;
            return this;
        }

        /**
         * @param infrastructureGrowthRate Gets infrastructure growth rate.
         * 
         * @return builder
         * 
         */
        public Builder infrastructureGrowthRate(Double infrastructureGrowthRate) {
            return infrastructureGrowthRate(Output.of(infrastructureGrowthRate));
        }

        /**
         * @param networkCostPercentage Gets network cost percentage.
         * 
         * @return builder
         * 
         */
        public Builder networkCostPercentage(@Nullable Output networkCostPercentage) {
            $.networkCostPercentage = networkCostPercentage;
            return this;
        }

        /**
         * @param networkCostPercentage Gets network cost percentage.
         * 
         * @return builder
         * 
         */
        public Builder networkCostPercentage(Double networkCostPercentage) {
            return networkCostPercentage(Output.of(networkCostPercentage));
        }

        /**
         * @param paasLaborCostPercentage Gets PaaS labour cost percentage.
         * 
         * @return builder
         * 
         */
        public Builder paasLaborCostPercentage(@Nullable Output paasLaborCostPercentage) {
            $.paasLaborCostPercentage = paasLaborCostPercentage;
            return this;
        }

        /**
         * @param paasLaborCostPercentage Gets PaaS labour cost percentage.
         * 
         * @return builder
         * 
         */
        public Builder paasLaborCostPercentage(Double paasLaborCostPercentage) {
            return paasLaborCostPercentage(Output.of(paasLaborCostPercentage));
        }

        /**
         * @param perYearMigrationCompletionPercentage Gets migration completion percentage per year.
         * 
         * @return builder
         * 
         */
        public Builder perYearMigrationCompletionPercentage(@Nullable Output> perYearMigrationCompletionPercentage) {
            $.perYearMigrationCompletionPercentage = perYearMigrationCompletionPercentage;
            return this;
        }

        /**
         * @param perYearMigrationCompletionPercentage Gets migration completion percentage per year.
         * 
         * @return builder
         * 
         */
        public Builder perYearMigrationCompletionPercentage(Map perYearMigrationCompletionPercentage) {
            return perYearMigrationCompletionPercentage(Output.of(perYearMigrationCompletionPercentage));
        }

        /**
         * @param performanceDataEndTime Gets end time to use for performance.
         * 
         * @return builder
         * 
         */
        public Builder performanceDataEndTime(@Nullable Output performanceDataEndTime) {
            $.performanceDataEndTime = performanceDataEndTime;
            return this;
        }

        /**
         * @param performanceDataEndTime Gets end time to use for performance.
         * 
         * @return builder
         * 
         */
        public Builder performanceDataEndTime(String performanceDataEndTime) {
            return performanceDataEndTime(Output.of(performanceDataEndTime));
        }

        /**
         * @param performanceDataStartTime Gets start time to use for performance.
         * 
         * @return builder
         * 
         */
        public Builder performanceDataStartTime(@Nullable Output performanceDataStartTime) {
            $.performanceDataStartTime = performanceDataStartTime;
            return this;
        }

        /**
         * @param performanceDataStartTime Gets start time to use for performance.
         * 
         * @return builder
         * 
         */
        public Builder performanceDataStartTime(String performanceDataStartTime) {
            return performanceDataStartTime(Output.of(performanceDataStartTime));
        }

        /**
         * @param performanceUtilizationPercentile Gets utilization percentile for performance.
         * 
         * @return builder
         * 
         */
        public Builder performanceUtilizationPercentile(@Nullable Output performanceUtilizationPercentile) {
            $.performanceUtilizationPercentile = performanceUtilizationPercentile;
            return this;
        }

        /**
         * @param performanceUtilizationPercentile Gets utilization percentile for performance.
         * 
         * @return builder
         * 
         */
        public Builder performanceUtilizationPercentile(Double performanceUtilizationPercentile) {
            return performanceUtilizationPercentile(Output.of(performanceUtilizationPercentile));
        }

        /**
         * @param savingsOption Gets the business case savings option type.
         * 
         * @return builder
         * 
         */
        public Builder savingsOption(@Nullable Output> savingsOption) {
            $.savingsOption = savingsOption;
            return this;
        }

        /**
         * @param savingsOption Gets the business case savings option type.
         * 
         * @return builder
         * 
         */
        public Builder savingsOption(Either savingsOption) {
            return savingsOption(Output.of(savingsOption));
        }

        /**
         * @param savingsOption Gets the business case savings option type.
         * 
         * @return builder
         * 
         */
        public Builder savingsOption(String savingsOption) {
            return savingsOption(Either.ofLeft(savingsOption));
        }

        /**
         * @param savingsOption Gets the business case savings option type.
         * 
         * @return builder
         * 
         */
        public Builder savingsOption(SavingsOption savingsOption) {
            return savingsOption(Either.ofRight(savingsOption));
        }

        /**
         * @param targetLocation Gets or sets azure location.
         * 
         * @return builder
         * 
         */
        public Builder targetLocation(Output targetLocation) {
            $.targetLocation = targetLocation;
            return this;
        }

        /**
         * @param targetLocation Gets or sets azure location.
         * 
         * @return builder
         * 
         */
        public Builder targetLocation(String targetLocation) {
            return targetLocation(Output.of(targetLocation));
        }

        /**
         * @param wacc Gets wACC percentage.
         * 
         * @return builder
         * 
         */
        public Builder wacc(@Nullable Output wacc) {
            $.wacc = wacc;
            return this;
        }

        /**
         * @param wacc Gets wACC percentage.
         * 
         * @return builder
         * 
         */
        public Builder wacc(Double wacc) {
            return wacc(Output.of(wacc));
        }

        /**
         * @param workloadDiscoverySource Workload discovery source.
         * 
         * @return builder
         * 
         */
        public Builder workloadDiscoverySource(@Nullable Output> workloadDiscoverySource) {
            $.workloadDiscoverySource = workloadDiscoverySource;
            return this;
        }

        /**
         * @param workloadDiscoverySource Workload discovery source.
         * 
         * @return builder
         * 
         */
        public Builder workloadDiscoverySource(Either workloadDiscoverySource) {
            return workloadDiscoverySource(Output.of(workloadDiscoverySource));
        }

        /**
         * @param workloadDiscoverySource Workload discovery source.
         * 
         * @return builder
         * 
         */
        public Builder workloadDiscoverySource(String workloadDiscoverySource) {
            return workloadDiscoverySource(Either.ofLeft(workloadDiscoverySource));
        }

        /**
         * @param workloadDiscoverySource Workload discovery source.
         * 
         * @return builder
         * 
         */
        public Builder workloadDiscoverySource(DiscoverySource workloadDiscoverySource) {
            return workloadDiscoverySource(Either.ofRight(workloadDiscoverySource));
        }

        public AzureSettingsArgs build() {
            $.avsLaborCostPercentage = Codegen.doubleProp("avsLaborCostPercentage").output().arg($.avsLaborCostPercentage).def(7.5e+01).getNullable();
            $.businessCaseType = Codegen.stringProp("businessCaseType").left(MigrationStrategy.class).output().arg($.businessCaseType).def("OptimizeForCost").getNullable();
            $.comfortFactor = Codegen.doubleProp("comfortFactor").output().arg($.comfortFactor).def(1e+00).getNullable();
            $.currency = Codegen.stringProp("currency").left(BusinessCaseCurrency.class).output().arg($.currency).def("USD").require();
            $.iaasLaborCostPercentage = Codegen.doubleProp("iaasLaborCostPercentage").output().arg($.iaasLaborCostPercentage).def(7.5e+01).getNullable();
            $.infrastructureGrowthRate = Codegen.doubleProp("infrastructureGrowthRate").output().arg($.infrastructureGrowthRate).def(5e+00).getNullable();
            $.networkCostPercentage = Codegen.doubleProp("networkCostPercentage").output().arg($.networkCostPercentage).def(5e+00).getNullable();
            $.paasLaborCostPercentage = Codegen.doubleProp("paasLaborCostPercentage").output().arg($.paasLaborCostPercentage).def(6e+01).getNullable();
            $.performanceUtilizationPercentile = Codegen.doubleProp("performanceUtilizationPercentile").output().arg($.performanceUtilizationPercentile).def(9.5e+01).getNullable();
            $.savingsOption = Codegen.stringProp("savingsOption").left(SavingsOption.class).output().arg($.savingsOption).def("RI3Year").getNullable();
            if ($.targetLocation == null) {
                throw new MissingRequiredPropertyException("AzureSettingsArgs", "targetLocation");
            }
            $.workloadDiscoverySource = Codegen.stringProp("workloadDiscoverySource").left(DiscoverySource.class).output().arg($.workloadDiscoverySource).def("Appliance").getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy