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

com.pulumi.azurenative.workloads.inputs.GetSAPSizingRecommendationsArgs 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.workloads.inputs;

import com.pulumi.azurenative.workloads.enums.SAPDatabaseScaleMethod;
import com.pulumi.azurenative.workloads.enums.SAPDatabaseType;
import com.pulumi.azurenative.workloads.enums.SAPDeploymentType;
import com.pulumi.azurenative.workloads.enums.SAPEnvironmentType;
import com.pulumi.azurenative.workloads.enums.SAPHighAvailabilityType;
import com.pulumi.azurenative.workloads.enums.SAPProductType;
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;
import java.util.Optional;
import javax.annotation.Nullable;


public final class GetSAPSizingRecommendationsArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetSAPSizingRecommendationsArgs Empty = new GetSAPSizingRecommendationsArgs();

    /**
     * The geo-location where the resource is to be created.
     * 
     */
    @Import(name="appLocation", required=true)
    private Output appLocation;

    /**
     * @return The geo-location where the resource is to be created.
     * 
     */
    public Output appLocation() {
        return this.appLocation;
    }

    /**
     * The database type.
     * 
     */
    @Import(name="databaseType", required=true)
    private Output> databaseType;

    /**
     * @return The database type.
     * 
     */
    public Output> databaseType() {
        return this.databaseType;
    }

    /**
     * The database memory configuration.
     * 
     */
    @Import(name="dbMemory", required=true)
    private Output dbMemory;

    /**
     * @return The database memory configuration.
     * 
     */
    public Output dbMemory() {
        return this.dbMemory;
    }

    /**
     * The DB scale method.
     * 
     */
    @Import(name="dbScaleMethod")
    private @Nullable Output> dbScaleMethod;

    /**
     * @return The DB scale method.
     * 
     */
    public Optional>> dbScaleMethod() {
        return Optional.ofNullable(this.dbScaleMethod);
    }

    /**
     * The deployment type. Eg: SingleServer/ThreeTier
     * 
     */
    @Import(name="deploymentType", required=true)
    private Output> deploymentType;

    /**
     * @return The deployment type. Eg: SingleServer/ThreeTier
     * 
     */
    public Output> deploymentType() {
        return this.deploymentType;
    }

    /**
     * Defines the environment type - Production/Non Production.
     * 
     */
    @Import(name="environment", required=true)
    private Output> environment;

    /**
     * @return Defines the environment type - Production/Non Production.
     * 
     */
    public Output> environment() {
        return this.environment;
    }

    /**
     * The high availability type.
     * 
     */
    @Import(name="highAvailabilityType")
    private @Nullable Output> highAvailabilityType;

    /**
     * @return The high availability type.
     * 
     */
    public Optional>> highAvailabilityType() {
        return Optional.ofNullable(this.highAvailabilityType);
    }

    /**
     * The name of Azure region.
     * 
     */
    @Import(name="location", required=true)
    private Output location;

    /**
     * @return The name of Azure region.
     * 
     */
    public Output location() {
        return this.location;
    }

    /**
     * Defines the SAP Product type.
     * 
     */
    @Import(name="sapProduct", required=true)
    private Output> sapProduct;

    /**
     * @return Defines the SAP Product type.
     * 
     */
    public Output> sapProduct() {
        return this.sapProduct;
    }

    /**
     * The SAP Application Performance Standard measurement.
     * 
     */
    @Import(name="saps", required=true)
    private Output saps;

    /**
     * @return The SAP Application Performance Standard measurement.
     * 
     */
    public Output saps() {
        return this.saps;
    }

    private GetSAPSizingRecommendationsArgs() {}

    private GetSAPSizingRecommendationsArgs(GetSAPSizingRecommendationsArgs $) {
        this.appLocation = $.appLocation;
        this.databaseType = $.databaseType;
        this.dbMemory = $.dbMemory;
        this.dbScaleMethod = $.dbScaleMethod;
        this.deploymentType = $.deploymentType;
        this.environment = $.environment;
        this.highAvailabilityType = $.highAvailabilityType;
        this.location = $.location;
        this.sapProduct = $.sapProduct;
        this.saps = $.saps;
    }

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

    public static final class Builder {
        private GetSAPSizingRecommendationsArgs $;

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

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

        /**
         * @param appLocation The geo-location where the resource is to be created.
         * 
         * @return builder
         * 
         */
        public Builder appLocation(Output appLocation) {
            $.appLocation = appLocation;
            return this;
        }

        /**
         * @param appLocation The geo-location where the resource is to be created.
         * 
         * @return builder
         * 
         */
        public Builder appLocation(String appLocation) {
            return appLocation(Output.of(appLocation));
        }

        /**
         * @param databaseType The database type.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(Output> databaseType) {
            $.databaseType = databaseType;
            return this;
        }

        /**
         * @param databaseType The database type.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(Either databaseType) {
            return databaseType(Output.of(databaseType));
        }

        /**
         * @param databaseType The database type.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(String databaseType) {
            return databaseType(Either.ofLeft(databaseType));
        }

        /**
         * @param databaseType The database type.
         * 
         * @return builder
         * 
         */
        public Builder databaseType(SAPDatabaseType databaseType) {
            return databaseType(Either.ofRight(databaseType));
        }

        /**
         * @param dbMemory The database memory configuration.
         * 
         * @return builder
         * 
         */
        public Builder dbMemory(Output dbMemory) {
            $.dbMemory = dbMemory;
            return this;
        }

        /**
         * @param dbMemory The database memory configuration.
         * 
         * @return builder
         * 
         */
        public Builder dbMemory(Double dbMemory) {
            return dbMemory(Output.of(dbMemory));
        }

        /**
         * @param dbScaleMethod The DB scale method.
         * 
         * @return builder
         * 
         */
        public Builder dbScaleMethod(@Nullable Output> dbScaleMethod) {
            $.dbScaleMethod = dbScaleMethod;
            return this;
        }

        /**
         * @param dbScaleMethod The DB scale method.
         * 
         * @return builder
         * 
         */
        public Builder dbScaleMethod(Either dbScaleMethod) {
            return dbScaleMethod(Output.of(dbScaleMethod));
        }

        /**
         * @param dbScaleMethod The DB scale method.
         * 
         * @return builder
         * 
         */
        public Builder dbScaleMethod(String dbScaleMethod) {
            return dbScaleMethod(Either.ofLeft(dbScaleMethod));
        }

        /**
         * @param dbScaleMethod The DB scale method.
         * 
         * @return builder
         * 
         */
        public Builder dbScaleMethod(SAPDatabaseScaleMethod dbScaleMethod) {
            return dbScaleMethod(Either.ofRight(dbScaleMethod));
        }

        /**
         * @param deploymentType The deployment type. Eg: SingleServer/ThreeTier
         * 
         * @return builder
         * 
         */
        public Builder deploymentType(Output> deploymentType) {
            $.deploymentType = deploymentType;
            return this;
        }

        /**
         * @param deploymentType The deployment type. Eg: SingleServer/ThreeTier
         * 
         * @return builder
         * 
         */
        public Builder deploymentType(Either deploymentType) {
            return deploymentType(Output.of(deploymentType));
        }

        /**
         * @param deploymentType The deployment type. Eg: SingleServer/ThreeTier
         * 
         * @return builder
         * 
         */
        public Builder deploymentType(String deploymentType) {
            return deploymentType(Either.ofLeft(deploymentType));
        }

        /**
         * @param deploymentType The deployment type. Eg: SingleServer/ThreeTier
         * 
         * @return builder
         * 
         */
        public Builder deploymentType(SAPDeploymentType deploymentType) {
            return deploymentType(Either.ofRight(deploymentType));
        }

        /**
         * @param environment Defines the environment type - Production/Non Production.
         * 
         * @return builder
         * 
         */
        public Builder environment(Output> environment) {
            $.environment = environment;
            return this;
        }

        /**
         * @param environment Defines the environment type - Production/Non Production.
         * 
         * @return builder
         * 
         */
        public Builder environment(Either environment) {
            return environment(Output.of(environment));
        }

        /**
         * @param environment Defines the environment type - Production/Non Production.
         * 
         * @return builder
         * 
         */
        public Builder environment(String environment) {
            return environment(Either.ofLeft(environment));
        }

        /**
         * @param environment Defines the environment type - Production/Non Production.
         * 
         * @return builder
         * 
         */
        public Builder environment(SAPEnvironmentType environment) {
            return environment(Either.ofRight(environment));
        }

        /**
         * @param highAvailabilityType The high availability type.
         * 
         * @return builder
         * 
         */
        public Builder highAvailabilityType(@Nullable Output> highAvailabilityType) {
            $.highAvailabilityType = highAvailabilityType;
            return this;
        }

        /**
         * @param highAvailabilityType The high availability type.
         * 
         * @return builder
         * 
         */
        public Builder highAvailabilityType(Either highAvailabilityType) {
            return highAvailabilityType(Output.of(highAvailabilityType));
        }

        /**
         * @param highAvailabilityType The high availability type.
         * 
         * @return builder
         * 
         */
        public Builder highAvailabilityType(String highAvailabilityType) {
            return highAvailabilityType(Either.ofLeft(highAvailabilityType));
        }

        /**
         * @param highAvailabilityType The high availability type.
         * 
         * @return builder
         * 
         */
        public Builder highAvailabilityType(SAPHighAvailabilityType highAvailabilityType) {
            return highAvailabilityType(Either.ofRight(highAvailabilityType));
        }

        /**
         * @param location The name of Azure region.
         * 
         * @return builder
         * 
         */
        public Builder location(Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The name of Azure region.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param sapProduct Defines the SAP Product type.
         * 
         * @return builder
         * 
         */
        public Builder sapProduct(Output> sapProduct) {
            $.sapProduct = sapProduct;
            return this;
        }

        /**
         * @param sapProduct Defines the SAP Product type.
         * 
         * @return builder
         * 
         */
        public Builder sapProduct(Either sapProduct) {
            return sapProduct(Output.of(sapProduct));
        }

        /**
         * @param sapProduct Defines the SAP Product type.
         * 
         * @return builder
         * 
         */
        public Builder sapProduct(String sapProduct) {
            return sapProduct(Either.ofLeft(sapProduct));
        }

        /**
         * @param sapProduct Defines the SAP Product type.
         * 
         * @return builder
         * 
         */
        public Builder sapProduct(SAPProductType sapProduct) {
            return sapProduct(Either.ofRight(sapProduct));
        }

        /**
         * @param saps The SAP Application Performance Standard measurement.
         * 
         * @return builder
         * 
         */
        public Builder saps(Output saps) {
            $.saps = saps;
            return this;
        }

        /**
         * @param saps The SAP Application Performance Standard measurement.
         * 
         * @return builder
         * 
         */
        public Builder saps(Double saps) {
            return saps(Output.of(saps));
        }

        public GetSAPSizingRecommendationsArgs build() {
            if ($.appLocation == null) {
                throw new MissingRequiredPropertyException("GetSAPSizingRecommendationsArgs", "appLocation");
            }
            if ($.databaseType == null) {
                throw new MissingRequiredPropertyException("GetSAPSizingRecommendationsArgs", "databaseType");
            }
            if ($.dbMemory == null) {
                throw new MissingRequiredPropertyException("GetSAPSizingRecommendationsArgs", "dbMemory");
            }
            if ($.deploymentType == null) {
                throw new MissingRequiredPropertyException("GetSAPSizingRecommendationsArgs", "deploymentType");
            }
            if ($.environment == null) {
                throw new MissingRequiredPropertyException("GetSAPSizingRecommendationsArgs", "environment");
            }
            if ($.location == null) {
                throw new MissingRequiredPropertyException("GetSAPSizingRecommendationsArgs", "location");
            }
            if ($.sapProduct == null) {
                throw new MissingRequiredPropertyException("GetSAPSizingRecommendationsArgs", "sapProduct");
            }
            if ($.saps == null) {
                throw new MissingRequiredPropertyException("GetSAPSizingRecommendationsArgs", "saps");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy