
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