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

com.pulumi.aws.opsworks.inputs.JavaAppLayerEbsVolumeArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
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.aws.opsworks.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class JavaAppLayerEbsVolumeArgs extends com.pulumi.resources.ResourceArgs {

    public static final JavaAppLayerEbsVolumeArgs Empty = new JavaAppLayerEbsVolumeArgs();

    @Import(name="encrypted")
    private @Nullable Output encrypted;

    public Optional> encrypted() {
        return Optional.ofNullable(this.encrypted);
    }

    /**
     * For PIOPS volumes, the IOPS per disk.
     * 
     */
    @Import(name="iops")
    private @Nullable Output iops;

    /**
     * @return For PIOPS volumes, the IOPS per disk.
     * 
     */
    public Optional> iops() {
        return Optional.ofNullable(this.iops);
    }

    /**
     * The path to mount the EBS volume on the layer's instances.
     * 
     */
    @Import(name="mountPoint", required=true)
    private Output mountPoint;

    /**
     * @return The path to mount the EBS volume on the layer's instances.
     * 
     */
    public Output mountPoint() {
        return this.mountPoint;
    }

    /**
     * The number of disks to use for the EBS volume.
     * 
     */
    @Import(name="numberOfDisks", required=true)
    private Output numberOfDisks;

    /**
     * @return The number of disks to use for the EBS volume.
     * 
     */
    public Output numberOfDisks() {
        return this.numberOfDisks;
    }

    /**
     * The RAID level to use for the volume.
     * 
     */
    @Import(name="raidLevel")
    private @Nullable Output raidLevel;

    /**
     * @return The RAID level to use for the volume.
     * 
     */
    public Optional> raidLevel() {
        return Optional.ofNullable(this.raidLevel);
    }

    /**
     * The size of the volume in gigabytes.
     * 
     */
    @Import(name="size", required=true)
    private Output size;

    /**
     * @return The size of the volume in gigabytes.
     * 
     */
    public Output size() {
        return this.size;
    }

    /**
     * The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    private JavaAppLayerEbsVolumeArgs() {}

    private JavaAppLayerEbsVolumeArgs(JavaAppLayerEbsVolumeArgs $) {
        this.encrypted = $.encrypted;
        this.iops = $.iops;
        this.mountPoint = $.mountPoint;
        this.numberOfDisks = $.numberOfDisks;
        this.raidLevel = $.raidLevel;
        this.size = $.size;
        this.type = $.type;
    }

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

    public static final class Builder {
        private JavaAppLayerEbsVolumeArgs $;

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

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

        public Builder encrypted(@Nullable Output encrypted) {
            $.encrypted = encrypted;
            return this;
        }

        public Builder encrypted(Boolean encrypted) {
            return encrypted(Output.of(encrypted));
        }

        /**
         * @param iops For PIOPS volumes, the IOPS per disk.
         * 
         * @return builder
         * 
         */
        public Builder iops(@Nullable Output iops) {
            $.iops = iops;
            return this;
        }

        /**
         * @param iops For PIOPS volumes, the IOPS per disk.
         * 
         * @return builder
         * 
         */
        public Builder iops(Integer iops) {
            return iops(Output.of(iops));
        }

        /**
         * @param mountPoint The path to mount the EBS volume on the layer's instances.
         * 
         * @return builder
         * 
         */
        public Builder mountPoint(Output mountPoint) {
            $.mountPoint = mountPoint;
            return this;
        }

        /**
         * @param mountPoint The path to mount the EBS volume on the layer's instances.
         * 
         * @return builder
         * 
         */
        public Builder mountPoint(String mountPoint) {
            return mountPoint(Output.of(mountPoint));
        }

        /**
         * @param numberOfDisks The number of disks to use for the EBS volume.
         * 
         * @return builder
         * 
         */
        public Builder numberOfDisks(Output numberOfDisks) {
            $.numberOfDisks = numberOfDisks;
            return this;
        }

        /**
         * @param numberOfDisks The number of disks to use for the EBS volume.
         * 
         * @return builder
         * 
         */
        public Builder numberOfDisks(Integer numberOfDisks) {
            return numberOfDisks(Output.of(numberOfDisks));
        }

        /**
         * @param raidLevel The RAID level to use for the volume.
         * 
         * @return builder
         * 
         */
        public Builder raidLevel(@Nullable Output raidLevel) {
            $.raidLevel = raidLevel;
            return this;
        }

        /**
         * @param raidLevel The RAID level to use for the volume.
         * 
         * @return builder
         * 
         */
        public Builder raidLevel(String raidLevel) {
            return raidLevel(Output.of(raidLevel));
        }

        /**
         * @param size The size of the volume in gigabytes.
         * 
         * @return builder
         * 
         */
        public Builder size(Output size) {
            $.size = size;
            return this;
        }

        /**
         * @param size The size of the volume in gigabytes.
         * 
         * @return builder
         * 
         */
        public Builder size(Integer size) {
            return size(Output.of(size));
        }

        /**
         * @param type The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The type of volume to create. This may be `standard` (the default), `io1` or `gp2`.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public JavaAppLayerEbsVolumeArgs build() {
            if ($.mountPoint == null) {
                throw new MissingRequiredPropertyException("JavaAppLayerEbsVolumeArgs", "mountPoint");
            }
            if ($.numberOfDisks == null) {
                throw new MissingRequiredPropertyException("JavaAppLayerEbsVolumeArgs", "numberOfDisks");
            }
            if ($.size == null) {
                throw new MissingRequiredPropertyException("JavaAppLayerEbsVolumeArgs", "size");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy