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

com.pulumi.azurenative.dbformysql.inputs.StorageArgs 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.dbformysql.inputs;

import com.pulumi.azurenative.dbformysql.enums.EnableStatusEnum;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Storage Profile properties of a server
 * 
 */
public final class StorageArgs extends com.pulumi.resources.ResourceArgs {

    public static final StorageArgs Empty = new StorageArgs();

    /**
     * Enable Storage Auto Grow or not.
     * 
     */
    @Import(name="autoGrow")
    private @Nullable Output> autoGrow;

    /**
     * @return Enable Storage Auto Grow or not.
     * 
     */
    public Optional>> autoGrow() {
        return Optional.ofNullable(this.autoGrow);
    }

    /**
     * Enable IO Auto Scaling or not.
     * 
     */
    @Import(name="autoIoScaling")
    private @Nullable Output> autoIoScaling;

    /**
     * @return Enable IO Auto Scaling or not.
     * 
     */
    public Optional>> autoIoScaling() {
        return Optional.ofNullable(this.autoIoScaling);
    }

    /**
     * Storage IOPS for a server.
     * 
     */
    @Import(name="iops")
    private @Nullable Output iops;

    /**
     * @return Storage IOPS for a server.
     * 
     */
    public Optional> iops() {
        return Optional.ofNullable(this.iops);
    }

    /**
     * Enable Log On Disk or not.
     * 
     */
    @Import(name="logOnDisk")
    private @Nullable Output> logOnDisk;

    /**
     * @return Enable Log On Disk or not.
     * 
     */
    public Optional>> logOnDisk() {
        return Optional.ofNullable(this.logOnDisk);
    }

    /**
     * Max storage size allowed for a server.
     * 
     */
    @Import(name="storageSizeGB")
    private @Nullable Output storageSizeGB;

    /**
     * @return Max storage size allowed for a server.
     * 
     */
    public Optional> storageSizeGB() {
        return Optional.ofNullable(this.storageSizeGB);
    }

    private StorageArgs() {}

    private StorageArgs(StorageArgs $) {
        this.autoGrow = $.autoGrow;
        this.autoIoScaling = $.autoIoScaling;
        this.iops = $.iops;
        this.logOnDisk = $.logOnDisk;
        this.storageSizeGB = $.storageSizeGB;
    }

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

    public static final class Builder {
        private StorageArgs $;

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

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

        /**
         * @param autoGrow Enable Storage Auto Grow or not.
         * 
         * @return builder
         * 
         */
        public Builder autoGrow(@Nullable Output> autoGrow) {
            $.autoGrow = autoGrow;
            return this;
        }

        /**
         * @param autoGrow Enable Storage Auto Grow or not.
         * 
         * @return builder
         * 
         */
        public Builder autoGrow(Either autoGrow) {
            return autoGrow(Output.of(autoGrow));
        }

        /**
         * @param autoGrow Enable Storage Auto Grow or not.
         * 
         * @return builder
         * 
         */
        public Builder autoGrow(String autoGrow) {
            return autoGrow(Either.ofLeft(autoGrow));
        }

        /**
         * @param autoGrow Enable Storage Auto Grow or not.
         * 
         * @return builder
         * 
         */
        public Builder autoGrow(EnableStatusEnum autoGrow) {
            return autoGrow(Either.ofRight(autoGrow));
        }

        /**
         * @param autoIoScaling Enable IO Auto Scaling or not.
         * 
         * @return builder
         * 
         */
        public Builder autoIoScaling(@Nullable Output> autoIoScaling) {
            $.autoIoScaling = autoIoScaling;
            return this;
        }

        /**
         * @param autoIoScaling Enable IO Auto Scaling or not.
         * 
         * @return builder
         * 
         */
        public Builder autoIoScaling(Either autoIoScaling) {
            return autoIoScaling(Output.of(autoIoScaling));
        }

        /**
         * @param autoIoScaling Enable IO Auto Scaling or not.
         * 
         * @return builder
         * 
         */
        public Builder autoIoScaling(String autoIoScaling) {
            return autoIoScaling(Either.ofLeft(autoIoScaling));
        }

        /**
         * @param autoIoScaling Enable IO Auto Scaling or not.
         * 
         * @return builder
         * 
         */
        public Builder autoIoScaling(EnableStatusEnum autoIoScaling) {
            return autoIoScaling(Either.ofRight(autoIoScaling));
        }

        /**
         * @param iops Storage IOPS for a server.
         * 
         * @return builder
         * 
         */
        public Builder iops(@Nullable Output iops) {
            $.iops = iops;
            return this;
        }

        /**
         * @param iops Storage IOPS for a server.
         * 
         * @return builder
         * 
         */
        public Builder iops(Integer iops) {
            return iops(Output.of(iops));
        }

        /**
         * @param logOnDisk Enable Log On Disk or not.
         * 
         * @return builder
         * 
         */
        public Builder logOnDisk(@Nullable Output> logOnDisk) {
            $.logOnDisk = logOnDisk;
            return this;
        }

        /**
         * @param logOnDisk Enable Log On Disk or not.
         * 
         * @return builder
         * 
         */
        public Builder logOnDisk(Either logOnDisk) {
            return logOnDisk(Output.of(logOnDisk));
        }

        /**
         * @param logOnDisk Enable Log On Disk or not.
         * 
         * @return builder
         * 
         */
        public Builder logOnDisk(String logOnDisk) {
            return logOnDisk(Either.ofLeft(logOnDisk));
        }

        /**
         * @param logOnDisk Enable Log On Disk or not.
         * 
         * @return builder
         * 
         */
        public Builder logOnDisk(EnableStatusEnum logOnDisk) {
            return logOnDisk(Either.ofRight(logOnDisk));
        }

        /**
         * @param storageSizeGB Max storage size allowed for a server.
         * 
         * @return builder
         * 
         */
        public Builder storageSizeGB(@Nullable Output storageSizeGB) {
            $.storageSizeGB = storageSizeGB;
            return this;
        }

        /**
         * @param storageSizeGB Max storage size allowed for a server.
         * 
         * @return builder
         * 
         */
        public Builder storageSizeGB(Integer storageSizeGB) {
            return storageSizeGB(Output.of(storageSizeGB));
        }

        public StorageArgs build() {
            $.autoGrow = Codegen.stringProp("autoGrow").left(EnableStatusEnum.class).output().arg($.autoGrow).def("Disabled").getNullable();
            $.autoIoScaling = Codegen.stringProp("autoIoScaling").left(EnableStatusEnum.class).output().arg($.autoIoScaling).def("Disabled").getNullable();
            $.logOnDisk = Codegen.stringProp("logOnDisk").left(EnableStatusEnum.class).output().arg($.logOnDisk).def("Disabled").getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy