com.pulumi.azure.compute.outputs.ImageDataDisk Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** 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.azure.compute.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class ImageDataDisk {
/**
* @return Specifies the URI in Azure storage of the blob that you want to use to create the image.
*
*/
private @Nullable String blobUri;
/**
* @return Specifies the caching mode as `ReadWrite`, `ReadOnly`, or `None`. Defaults to `None`.
*
*/
private @Nullable String caching;
/**
* @return The ID of the Disk Encryption Set which should be used to encrypt this disk. Changing this forces a new resource to be created.
*
*/
private @Nullable String diskEncryptionSetId;
/**
* @return Specifies the logical unit number of the data disk.
*
*/
private @Nullable Integer lun;
/**
* @return Specifies the ID of the managed disk resource that you want to use to create the image. Changing this forces a new resource to be created.
*
*/
private @Nullable String managedDiskId;
/**
* @return Specifies the size of the image to be created. The target size can't be smaller than the source size.
*
*/
private @Nullable Integer sizeGb;
/**
* @return The type of Storage Disk to use. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.
*
*/
private String storageType;
private ImageDataDisk() {}
/**
* @return Specifies the URI in Azure storage of the blob that you want to use to create the image.
*
*/
public Optional blobUri() {
return Optional.ofNullable(this.blobUri);
}
/**
* @return Specifies the caching mode as `ReadWrite`, `ReadOnly`, or `None`. Defaults to `None`.
*
*/
public Optional caching() {
return Optional.ofNullable(this.caching);
}
/**
* @return The ID of the Disk Encryption Set which should be used to encrypt this disk. Changing this forces a new resource to be created.
*
*/
public Optional diskEncryptionSetId() {
return Optional.ofNullable(this.diskEncryptionSetId);
}
/**
* @return Specifies the logical unit number of the data disk.
*
*/
public Optional lun() {
return Optional.ofNullable(this.lun);
}
/**
* @return Specifies the ID of the managed disk resource that you want to use to create the image. Changing this forces a new resource to be created.
*
*/
public Optional managedDiskId() {
return Optional.ofNullable(this.managedDiskId);
}
/**
* @return Specifies the size of the image to be created. The target size can't be smaller than the source size.
*
*/
public Optional sizeGb() {
return Optional.ofNullable(this.sizeGb);
}
/**
* @return The type of Storage Disk to use. Possible values are `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS`, `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS` and `UltraSSD_LRS`. Changing this forces a new resource to be created.
*
*/
public String storageType() {
return this.storageType;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ImageDataDisk defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String blobUri;
private @Nullable String caching;
private @Nullable String diskEncryptionSetId;
private @Nullable Integer lun;
private @Nullable String managedDiskId;
private @Nullable Integer sizeGb;
private String storageType;
public Builder() {}
public Builder(ImageDataDisk defaults) {
Objects.requireNonNull(defaults);
this.blobUri = defaults.blobUri;
this.caching = defaults.caching;
this.diskEncryptionSetId = defaults.diskEncryptionSetId;
this.lun = defaults.lun;
this.managedDiskId = defaults.managedDiskId;
this.sizeGb = defaults.sizeGb;
this.storageType = defaults.storageType;
}
@CustomType.Setter
public Builder blobUri(@Nullable String blobUri) {
this.blobUri = blobUri;
return this;
}
@CustomType.Setter
public Builder caching(@Nullable String caching) {
this.caching = caching;
return this;
}
@CustomType.Setter
public Builder diskEncryptionSetId(@Nullable String diskEncryptionSetId) {
this.diskEncryptionSetId = diskEncryptionSetId;
return this;
}
@CustomType.Setter
public Builder lun(@Nullable Integer lun) {
this.lun = lun;
return this;
}
@CustomType.Setter
public Builder managedDiskId(@Nullable String managedDiskId) {
this.managedDiskId = managedDiskId;
return this;
}
@CustomType.Setter
public Builder sizeGb(@Nullable Integer sizeGb) {
this.sizeGb = sizeGb;
return this;
}
@CustomType.Setter
public Builder storageType(String storageType) {
if (storageType == null) {
throw new MissingRequiredPropertyException("ImageDataDisk", "storageType");
}
this.storageType = storageType;
return this;
}
public ImageDataDisk build() {
final var _resultValue = new ImageDataDisk();
_resultValue.blobUri = blobUri;
_resultValue.caching = caching;
_resultValue.diskEncryptionSetId = diskEncryptionSetId;
_resultValue.lun = lun;
_resultValue.managedDiskId = managedDiskId;
_resultValue.sizeGb = sizeGb;
_resultValue.storageType = storageType;
return _resultValue;
}
}
}