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

com.pulumi.aws.imagebuilder.outputs.ImageRecipeBlockDeviceMappingEbs Maven / Gradle / Ivy

Go to download

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

The 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.imagebuilder.outputs;

import com.pulumi.core.annotations.CustomType;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ImageRecipeBlockDeviceMappingEbs {
    /**
     * @return Whether to delete the volume on termination. Defaults to unset, which is the value inherited from the parent image.
     * 
     */
    private @Nullable String deleteOnTermination;
    /**
     * @return Whether to encrypt the volume. Defaults to unset, which is the value inherited from the parent image.
     * 
     */
    private @Nullable String encrypted;
    /**
     * @return Number of Input/Output (I/O) operations per second to provision for an `io1` or `io2` volume.
     * 
     */
    private @Nullable Integer iops;
    /**
     * @return Amazon Resource Name (ARN) of the Key Management Service (KMS) Key for encryption.
     * 
     */
    private @Nullable String kmsKeyId;
    /**
     * @return Identifier of the EC2 Volume Snapshot.
     * 
     */
    private @Nullable String snapshotId;
    /**
     * @return For GP3 volumes only. The throughput in MiB/s that the volume supports.
     * 
     */
    private @Nullable Integer throughput;
    /**
     * @return Size of the volume, in GiB.
     * 
     */
    private @Nullable Integer volumeSize;
    /**
     * @return Type of the volume. For example, `gp2` or `io2`.
     * 
     */
    private @Nullable String volumeType;

    private ImageRecipeBlockDeviceMappingEbs() {}
    /**
     * @return Whether to delete the volume on termination. Defaults to unset, which is the value inherited from the parent image.
     * 
     */
    public Optional deleteOnTermination() {
        return Optional.ofNullable(this.deleteOnTermination);
    }
    /**
     * @return Whether to encrypt the volume. Defaults to unset, which is the value inherited from the parent image.
     * 
     */
    public Optional encrypted() {
        return Optional.ofNullable(this.encrypted);
    }
    /**
     * @return Number of Input/Output (I/O) operations per second to provision for an `io1` or `io2` volume.
     * 
     */
    public Optional iops() {
        return Optional.ofNullable(this.iops);
    }
    /**
     * @return Amazon Resource Name (ARN) of the Key Management Service (KMS) Key for encryption.
     * 
     */
    public Optional kmsKeyId() {
        return Optional.ofNullable(this.kmsKeyId);
    }
    /**
     * @return Identifier of the EC2 Volume Snapshot.
     * 
     */
    public Optional snapshotId() {
        return Optional.ofNullable(this.snapshotId);
    }
    /**
     * @return For GP3 volumes only. The throughput in MiB/s that the volume supports.
     * 
     */
    public Optional throughput() {
        return Optional.ofNullable(this.throughput);
    }
    /**
     * @return Size of the volume, in GiB.
     * 
     */
    public Optional volumeSize() {
        return Optional.ofNullable(this.volumeSize);
    }
    /**
     * @return Type of the volume. For example, `gp2` or `io2`.
     * 
     */
    public Optional volumeType() {
        return Optional.ofNullable(this.volumeType);
    }

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

    public static Builder builder(ImageRecipeBlockDeviceMappingEbs defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String deleteOnTermination;
        private @Nullable String encrypted;
        private @Nullable Integer iops;
        private @Nullable String kmsKeyId;
        private @Nullable String snapshotId;
        private @Nullable Integer throughput;
        private @Nullable Integer volumeSize;
        private @Nullable String volumeType;
        public Builder() {}
        public Builder(ImageRecipeBlockDeviceMappingEbs defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.deleteOnTermination = defaults.deleteOnTermination;
    	      this.encrypted = defaults.encrypted;
    	      this.iops = defaults.iops;
    	      this.kmsKeyId = defaults.kmsKeyId;
    	      this.snapshotId = defaults.snapshotId;
    	      this.throughput = defaults.throughput;
    	      this.volumeSize = defaults.volumeSize;
    	      this.volumeType = defaults.volumeType;
        }

        @CustomType.Setter
        public Builder deleteOnTermination(@Nullable String deleteOnTermination) {

            this.deleteOnTermination = deleteOnTermination;
            return this;
        }
        @CustomType.Setter
        public Builder encrypted(@Nullable String encrypted) {

            this.encrypted = encrypted;
            return this;
        }
        @CustomType.Setter
        public Builder iops(@Nullable Integer iops) {

            this.iops = iops;
            return this;
        }
        @CustomType.Setter
        public Builder kmsKeyId(@Nullable String kmsKeyId) {

            this.kmsKeyId = kmsKeyId;
            return this;
        }
        @CustomType.Setter
        public Builder snapshotId(@Nullable String snapshotId) {

            this.snapshotId = snapshotId;
            return this;
        }
        @CustomType.Setter
        public Builder throughput(@Nullable Integer throughput) {

            this.throughput = throughput;
            return this;
        }
        @CustomType.Setter
        public Builder volumeSize(@Nullable Integer volumeSize) {

            this.volumeSize = volumeSize;
            return this;
        }
        @CustomType.Setter
        public Builder volumeType(@Nullable String volumeType) {

            this.volumeType = volumeType;
            return this;
        }
        public ImageRecipeBlockDeviceMappingEbs build() {
            final var _resultValue = new ImageRecipeBlockDeviceMappingEbs();
            _resultValue.deleteOnTermination = deleteOnTermination;
            _resultValue.encrypted = encrypted;
            _resultValue.iops = iops;
            _resultValue.kmsKeyId = kmsKeyId;
            _resultValue.snapshotId = snapshotId;
            _resultValue.throughput = throughput;
            _resultValue.volumeSize = volumeSize;
            _resultValue.volumeType = volumeType;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy