com.pulumi.spotinst.gcp.outputs.ElastigroupDiskInitializeParam Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spotinst Show documentation
Show all versions of spotinst Show documentation
A Pulumi package for creating and managing spotinst 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.spotinst.gcp.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class ElastigroupDiskInitializeParam {
/**
* @return Specifies disk size in gigabytes. Must be in increments of 2.
*
*/
private @Nullable String diskSizeGb;
/**
* @return Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
*
*/
private @Nullable String diskType;
/**
* @return A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.
*
* Usage:
*
*/
private String sourceImage;
private ElastigroupDiskInitializeParam() {}
/**
* @return Specifies disk size in gigabytes. Must be in increments of 2.
*
*/
public Optional diskSizeGb() {
return Optional.ofNullable(this.diskSizeGb);
}
/**
* @return Specifies the disk type to use to create the instance. Valid values: pd-ssd, local-ssd.
*
*/
public Optional diskType() {
return Optional.ofNullable(this.diskType);
}
/**
* @return A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project.
*
* Usage:
*
*/
public String sourceImage() {
return this.sourceImage;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ElastigroupDiskInitializeParam defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String diskSizeGb;
private @Nullable String diskType;
private String sourceImage;
public Builder() {}
public Builder(ElastigroupDiskInitializeParam defaults) {
Objects.requireNonNull(defaults);
this.diskSizeGb = defaults.diskSizeGb;
this.diskType = defaults.diskType;
this.sourceImage = defaults.sourceImage;
}
@CustomType.Setter
public Builder diskSizeGb(@Nullable String diskSizeGb) {
this.diskSizeGb = diskSizeGb;
return this;
}
@CustomType.Setter
public Builder diskType(@Nullable String diskType) {
this.diskType = diskType;
return this;
}
@CustomType.Setter
public Builder sourceImage(String sourceImage) {
if (sourceImage == null) {
throw new MissingRequiredPropertyException("ElastigroupDiskInitializeParam", "sourceImage");
}
this.sourceImage = sourceImage;
return this;
}
public ElastigroupDiskInitializeParam build() {
final var _resultValue = new ElastigroupDiskInitializeParam();
_resultValue.diskSizeGb = diskSizeGb;
_resultValue.diskType = diskType;
_resultValue.sourceImage = sourceImage;
return _resultValue;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy