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

com.pulumi.azurenative.awsconnector.inputs.BlockDeviceMappingArgs Maven / Gradle / Ivy

There is a newer version: 2.89.2
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.awsconnector.inputs;

import com.pulumi.azurenative.awsconnector.inputs.EbsBlockDeviceArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of BlockDeviceMapping
 * 
 */
public final class BlockDeviceMappingArgs extends com.pulumi.resources.ResourceArgs {

    public static final BlockDeviceMappingArgs Empty = new BlockDeviceMappingArgs();

    /**
     * <p>The device name (for example, <code>/dev/sdh</code> or <code>xvdh</code>).</p>
     * 
     */
    @Import(name="deviceName")
    private @Nullable Output deviceName;

    /**
     * @return <p>The device name (for example, <code>/dev/sdh</code> or <code>xvdh</code>).</p>
     * 
     */
    public Optional> deviceName() {
        return Optional.ofNullable(this.deviceName);
    }

    /**
     * <p>Parameters used to automatically set up EBS volumes when the instance is launched.</p>
     * 
     */
    @Import(name="ebs")
    private @Nullable Output ebs;

    /**
     * @return <p>Parameters used to automatically set up EBS volumes when the instance is launched.</p>
     * 
     */
    public Optional> ebs() {
        return Optional.ofNullable(this.ebs);
    }

    /**
     * <p>To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.</p>
     * 
     */
    @Import(name="noDevice")
    private @Nullable Output noDevice;

    /**
     * @return <p>To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.</p>
     * 
     */
    public Optional> noDevice() {
        return Optional.ofNullable(this.noDevice);
    }

    /**
     * <p>The virtual device name (<code>ephemeral</code>N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for <code>ephemeral0</code> and <code>ephemeral1</code>. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.</p> <p>NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.</p> <p>Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.</p>
     * 
     */
    @Import(name="virtualName")
    private @Nullable Output virtualName;

    /**
     * @return <p>The virtual device name (<code>ephemeral</code>N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for <code>ephemeral0</code> and <code>ephemeral1</code>. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.</p> <p>NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.</p> <p>Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.</p>
     * 
     */
    public Optional> virtualName() {
        return Optional.ofNullable(this.virtualName);
    }

    private BlockDeviceMappingArgs() {}

    private BlockDeviceMappingArgs(BlockDeviceMappingArgs $) {
        this.deviceName = $.deviceName;
        this.ebs = $.ebs;
        this.noDevice = $.noDevice;
        this.virtualName = $.virtualName;
    }

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

    public static final class Builder {
        private BlockDeviceMappingArgs $;

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

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

        /**
         * @param deviceName <p>The device name (for example, <code>/dev/sdh</code> or <code>xvdh</code>).</p>
         * 
         * @return builder
         * 
         */
        public Builder deviceName(@Nullable Output deviceName) {
            $.deviceName = deviceName;
            return this;
        }

        /**
         * @param deviceName <p>The device name (for example, <code>/dev/sdh</code> or <code>xvdh</code>).</p>
         * 
         * @return builder
         * 
         */
        public Builder deviceName(String deviceName) {
            return deviceName(Output.of(deviceName));
        }

        /**
         * @param ebs <p>Parameters used to automatically set up EBS volumes when the instance is launched.</p>
         * 
         * @return builder
         * 
         */
        public Builder ebs(@Nullable Output ebs) {
            $.ebs = ebs;
            return this;
        }

        /**
         * @param ebs <p>Parameters used to automatically set up EBS volumes when the instance is launched.</p>
         * 
         * @return builder
         * 
         */
        public Builder ebs(EbsBlockDeviceArgs ebs) {
            return ebs(Output.of(ebs));
        }

        /**
         * @param noDevice <p>To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.</p>
         * 
         * @return builder
         * 
         */
        public Builder noDevice(@Nullable Output noDevice) {
            $.noDevice = noDevice;
            return this;
        }

        /**
         * @param noDevice <p>To omit the device from the block device mapping, specify an empty string. When this property is specified, the device is removed from the block device mapping regardless of the assigned value.</p>
         * 
         * @return builder
         * 
         */
        public Builder noDevice(String noDevice) {
            return noDevice(Output.of(noDevice));
        }

        /**
         * @param virtualName <p>The virtual device name (<code>ephemeral</code>N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for <code>ephemeral0</code> and <code>ephemeral1</code>. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.</p> <p>NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.</p> <p>Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.</p>
         * 
         * @return builder
         * 
         */
        public Builder virtualName(@Nullable Output virtualName) {
            $.virtualName = virtualName;
            return this;
        }

        /**
         * @param virtualName <p>The virtual device name (<code>ephemeral</code>N). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for <code>ephemeral0</code> and <code>ephemeral1</code>. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.</p> <p>NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.</p> <p>Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.</p>
         * 
         * @return builder
         * 
         */
        public Builder virtualName(String virtualName) {
            return virtualName(Output.of(virtualName));
        }

        public BlockDeviceMappingArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy