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

com.pulumi.aws.ebs.outputs.GetVolumeResult Maven / Gradle / Ivy

// *** 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.ebs.outputs;

import com.pulumi.aws.ebs.outputs.GetVolumeFilter;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GetVolumeResult {
    /**
     * @return Volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).
     * 
     */
    private String arn;
    /**
     * @return AZ where the EBS volume exists.
     * 
     */
    private String availabilityZone;
    /**
     * @return Whether the disk is encrypted.
     * 
     */
    private Boolean encrypted;
    private @Nullable List filters;
    /**
     * @return The provider-assigned unique ID for this managed resource.
     * 
     */
    private String id;
    /**
     * @return Amount of IOPS for the disk.
     * 
     */
    private Integer iops;
    /**
     * @return ARN for the KMS encryption key.
     * 
     */
    private String kmsKeyId;
    private @Nullable Boolean mostRecent;
    /**
     * @return (Optional) Specifies whether Amazon EBS Multi-Attach is enabled.
     * 
     */
    private Boolean multiAttachEnabled;
    /**
     * @return ARN of the Outpost.
     * 
     */
    private String outpostArn;
    /**
     * @return Size of the drive in GiBs.
     * 
     */
    private Integer size;
    /**
     * @return Snapshot_id the EBS volume is based off.
     * 
     */
    private String snapshotId;
    /**
     * @return Map of tags for the resource.
     * 
     */
    private Map tags;
    /**
     * @return Throughput that the volume supports, in MiB/s.
     * 
     */
    private Integer throughput;
    /**
     * @return Volume ID (e.g., vol-59fcb34e).
     * 
     */
    private String volumeId;
    /**
     * @return Type of EBS volume.
     * 
     */
    private String volumeType;

    private GetVolumeResult() {}
    /**
     * @return Volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).
     * 
     */
    public String arn() {
        return this.arn;
    }
    /**
     * @return AZ where the EBS volume exists.
     * 
     */
    public String availabilityZone() {
        return this.availabilityZone;
    }
    /**
     * @return Whether the disk is encrypted.
     * 
     */
    public Boolean encrypted() {
        return this.encrypted;
    }
    public List filters() {
        return this.filters == null ? List.of() : this.filters;
    }
    /**
     * @return The provider-assigned unique ID for this managed resource.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Amount of IOPS for the disk.
     * 
     */
    public Integer iops() {
        return this.iops;
    }
    /**
     * @return ARN for the KMS encryption key.
     * 
     */
    public String kmsKeyId() {
        return this.kmsKeyId;
    }
    public Optional mostRecent() {
        return Optional.ofNullable(this.mostRecent);
    }
    /**
     * @return (Optional) Specifies whether Amazon EBS Multi-Attach is enabled.
     * 
     */
    public Boolean multiAttachEnabled() {
        return this.multiAttachEnabled;
    }
    /**
     * @return ARN of the Outpost.
     * 
     */
    public String outpostArn() {
        return this.outpostArn;
    }
    /**
     * @return Size of the drive in GiBs.
     * 
     */
    public Integer size() {
        return this.size;
    }
    /**
     * @return Snapshot_id the EBS volume is based off.
     * 
     */
    public String snapshotId() {
        return this.snapshotId;
    }
    /**
     * @return Map of tags for the resource.
     * 
     */
    public Map tags() {
        return this.tags;
    }
    /**
     * @return Throughput that the volume supports, in MiB/s.
     * 
     */
    public Integer throughput() {
        return this.throughput;
    }
    /**
     * @return Volume ID (e.g., vol-59fcb34e).
     * 
     */
    public String volumeId() {
        return this.volumeId;
    }
    /**
     * @return Type of EBS volume.
     * 
     */
    public String volumeType() {
        return this.volumeType;
    }

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

    public static Builder builder(GetVolumeResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String arn;
        private String availabilityZone;
        private Boolean encrypted;
        private @Nullable List filters;
        private String id;
        private Integer iops;
        private String kmsKeyId;
        private @Nullable Boolean mostRecent;
        private Boolean multiAttachEnabled;
        private String outpostArn;
        private Integer size;
        private String snapshotId;
        private Map tags;
        private Integer throughput;
        private String volumeId;
        private String volumeType;
        public Builder() {}
        public Builder(GetVolumeResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.arn = defaults.arn;
    	      this.availabilityZone = defaults.availabilityZone;
    	      this.encrypted = defaults.encrypted;
    	      this.filters = defaults.filters;
    	      this.id = defaults.id;
    	      this.iops = defaults.iops;
    	      this.kmsKeyId = defaults.kmsKeyId;
    	      this.mostRecent = defaults.mostRecent;
    	      this.multiAttachEnabled = defaults.multiAttachEnabled;
    	      this.outpostArn = defaults.outpostArn;
    	      this.size = defaults.size;
    	      this.snapshotId = defaults.snapshotId;
    	      this.tags = defaults.tags;
    	      this.throughput = defaults.throughput;
    	      this.volumeId = defaults.volumeId;
    	      this.volumeType = defaults.volumeType;
        }

        @CustomType.Setter
        public Builder arn(String arn) {
            if (arn == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "arn");
            }
            this.arn = arn;
            return this;
        }
        @CustomType.Setter
        public Builder availabilityZone(String availabilityZone) {
            if (availabilityZone == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "availabilityZone");
            }
            this.availabilityZone = availabilityZone;
            return this;
        }
        @CustomType.Setter
        public Builder encrypted(Boolean encrypted) {
            if (encrypted == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "encrypted");
            }
            this.encrypted = encrypted;
            return this;
        }
        @CustomType.Setter
        public Builder filters(@Nullable List filters) {

            this.filters = filters;
            return this;
        }
        public Builder filters(GetVolumeFilter... filters) {
            return filters(List.of(filters));
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder iops(Integer iops) {
            if (iops == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "iops");
            }
            this.iops = iops;
            return this;
        }
        @CustomType.Setter
        public Builder kmsKeyId(String kmsKeyId) {
            if (kmsKeyId == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "kmsKeyId");
            }
            this.kmsKeyId = kmsKeyId;
            return this;
        }
        @CustomType.Setter
        public Builder mostRecent(@Nullable Boolean mostRecent) {

            this.mostRecent = mostRecent;
            return this;
        }
        @CustomType.Setter
        public Builder multiAttachEnabled(Boolean multiAttachEnabled) {
            if (multiAttachEnabled == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "multiAttachEnabled");
            }
            this.multiAttachEnabled = multiAttachEnabled;
            return this;
        }
        @CustomType.Setter
        public Builder outpostArn(String outpostArn) {
            if (outpostArn == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "outpostArn");
            }
            this.outpostArn = outpostArn;
            return this;
        }
        @CustomType.Setter
        public Builder size(Integer size) {
            if (size == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "size");
            }
            this.size = size;
            return this;
        }
        @CustomType.Setter
        public Builder snapshotId(String snapshotId) {
            if (snapshotId == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "snapshotId");
            }
            this.snapshotId = snapshotId;
            return this;
        }
        @CustomType.Setter
        public Builder tags(Map tags) {
            if (tags == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "tags");
            }
            this.tags = tags;
            return this;
        }
        @CustomType.Setter
        public Builder throughput(Integer throughput) {
            if (throughput == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "throughput");
            }
            this.throughput = throughput;
            return this;
        }
        @CustomType.Setter
        public Builder volumeId(String volumeId) {
            if (volumeId == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "volumeId");
            }
            this.volumeId = volumeId;
            return this;
        }
        @CustomType.Setter
        public Builder volumeType(String volumeType) {
            if (volumeType == null) {
              throw new MissingRequiredPropertyException("GetVolumeResult", "volumeType");
            }
            this.volumeType = volumeType;
            return this;
        }
        public GetVolumeResult build() {
            final var _resultValue = new GetVolumeResult();
            _resultValue.arn = arn;
            _resultValue.availabilityZone = availabilityZone;
            _resultValue.encrypted = encrypted;
            _resultValue.filters = filters;
            _resultValue.id = id;
            _resultValue.iops = iops;
            _resultValue.kmsKeyId = kmsKeyId;
            _resultValue.mostRecent = mostRecent;
            _resultValue.multiAttachEnabled = multiAttachEnabled;
            _resultValue.outpostArn = outpostArn;
            _resultValue.size = size;
            _resultValue.snapshotId = snapshotId;
            _resultValue.tags = tags;
            _resultValue.throughput = throughput;
            _resultValue.volumeId = volumeId;
            _resultValue.volumeType = volumeType;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy