Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.devtestlab.DiskArgs 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.azurenative.devtestlab;
import com.pulumi.azurenative.devtestlab.enums.StorageType;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class DiskArgs extends com.pulumi.resources.ResourceArgs {
public static final DiskArgs Empty = new DiskArgs();
/**
* When backed by a blob, the name of the VHD blob without extension.
*
*/
@Import(name="diskBlobName")
private @Nullable Output diskBlobName;
/**
* @return When backed by a blob, the name of the VHD blob without extension.
*
*/
public Optional> diskBlobName() {
return Optional.ofNullable(this.diskBlobName);
}
/**
* The size of the disk in Gibibytes.
*
*/
@Import(name="diskSizeGiB")
private @Nullable Output diskSizeGiB;
/**
* @return The size of the disk in Gibibytes.
*
*/
public Optional> diskSizeGiB() {
return Optional.ofNullable(this.diskSizeGiB);
}
/**
* The storage type for the disk (i.e. Standard, Premium).
*
*/
@Import(name="diskType")
private @Nullable Output> diskType;
/**
* @return The storage type for the disk (i.e. Standard, Premium).
*
*/
public Optional>> diskType() {
return Optional.ofNullable(this.diskType);
}
/**
* When backed by a blob, the URI of underlying blob.
*
*/
@Import(name="diskUri")
private @Nullable Output diskUri;
/**
* @return When backed by a blob, the URI of underlying blob.
*
*/
public Optional> diskUri() {
return Optional.ofNullable(this.diskUri);
}
/**
* The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
*
*/
@Import(name="hostCaching")
private @Nullable Output hostCaching;
/**
* @return The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
*
*/
public Optional> hostCaching() {
return Optional.ofNullable(this.hostCaching);
}
/**
* The name of the lab.
*
*/
@Import(name="labName", required=true)
private Output labName;
/**
* @return The name of the lab.
*
*/
public Output labName() {
return this.labName;
}
/**
* The resource ID of the VM to which this disk is leased.
*
*/
@Import(name="leasedByLabVmId")
private @Nullable Output leasedByLabVmId;
/**
* @return The resource ID of the VM to which this disk is leased.
*
*/
public Optional> leasedByLabVmId() {
return Optional.ofNullable(this.leasedByLabVmId);
}
/**
* The location of the resource.
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return The location of the resource.
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* When backed by managed disk, this is the ID of the compute disk resource.
*
*/
@Import(name="managedDiskId")
private @Nullable Output managedDiskId;
/**
* @return When backed by managed disk, this is the ID of the compute disk resource.
*
*/
public Optional> managedDiskId() {
return Optional.ofNullable(this.managedDiskId);
}
/**
* The name of the disk.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name of the disk.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* The name of the resource group.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the resource group.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* When backed by a blob, the storage account where the blob is.
*
*/
@Import(name="storageAccountId")
private @Nullable Output storageAccountId;
/**
* @return When backed by a blob, the storage account where the blob is.
*
*/
public Optional> storageAccountId() {
return Optional.ofNullable(this.storageAccountId);
}
/**
* The tags of the resource.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return The tags of the resource.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* The name of the user profile.
*
*/
@Import(name="userName", required=true)
private Output userName;
/**
* @return The name of the user profile.
*
*/
public Output userName() {
return this.userName;
}
private DiskArgs() {}
private DiskArgs(DiskArgs $) {
this.diskBlobName = $.diskBlobName;
this.diskSizeGiB = $.diskSizeGiB;
this.diskType = $.diskType;
this.diskUri = $.diskUri;
this.hostCaching = $.hostCaching;
this.labName = $.labName;
this.leasedByLabVmId = $.leasedByLabVmId;
this.location = $.location;
this.managedDiskId = $.managedDiskId;
this.name = $.name;
this.resourceGroupName = $.resourceGroupName;
this.storageAccountId = $.storageAccountId;
this.tags = $.tags;
this.userName = $.userName;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(DiskArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private DiskArgs $;
public Builder() {
$ = new DiskArgs();
}
public Builder(DiskArgs defaults) {
$ = new DiskArgs(Objects.requireNonNull(defaults));
}
/**
* @param diskBlobName When backed by a blob, the name of the VHD blob without extension.
*
* @return builder
*
*/
public Builder diskBlobName(@Nullable Output diskBlobName) {
$.diskBlobName = diskBlobName;
return this;
}
/**
* @param diskBlobName When backed by a blob, the name of the VHD blob without extension.
*
* @return builder
*
*/
public Builder diskBlobName(String diskBlobName) {
return diskBlobName(Output.of(diskBlobName));
}
/**
* @param diskSizeGiB The size of the disk in Gibibytes.
*
* @return builder
*
*/
public Builder diskSizeGiB(@Nullable Output diskSizeGiB) {
$.diskSizeGiB = diskSizeGiB;
return this;
}
/**
* @param diskSizeGiB The size of the disk in Gibibytes.
*
* @return builder
*
*/
public Builder diskSizeGiB(Integer diskSizeGiB) {
return diskSizeGiB(Output.of(diskSizeGiB));
}
/**
* @param diskType The storage type for the disk (i.e. Standard, Premium).
*
* @return builder
*
*/
public Builder diskType(@Nullable Output> diskType) {
$.diskType = diskType;
return this;
}
/**
* @param diskType The storage type for the disk (i.e. Standard, Premium).
*
* @return builder
*
*/
public Builder diskType(Either diskType) {
return diskType(Output.of(diskType));
}
/**
* @param diskType The storage type for the disk (i.e. Standard, Premium).
*
* @return builder
*
*/
public Builder diskType(String diskType) {
return diskType(Either.ofLeft(diskType));
}
/**
* @param diskType The storage type for the disk (i.e. Standard, Premium).
*
* @return builder
*
*/
public Builder diskType(StorageType diskType) {
return diskType(Either.ofRight(diskType));
}
/**
* @param diskUri When backed by a blob, the URI of underlying blob.
*
* @return builder
*
*/
public Builder diskUri(@Nullable Output diskUri) {
$.diskUri = diskUri;
return this;
}
/**
* @param diskUri When backed by a blob, the URI of underlying blob.
*
* @return builder
*
*/
public Builder diskUri(String diskUri) {
return diskUri(Output.of(diskUri));
}
/**
* @param hostCaching The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
*
* @return builder
*
*/
public Builder hostCaching(@Nullable Output hostCaching) {
$.hostCaching = hostCaching;
return this;
}
/**
* @param hostCaching The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
*
* @return builder
*
*/
public Builder hostCaching(String hostCaching) {
return hostCaching(Output.of(hostCaching));
}
/**
* @param labName The name of the lab.
*
* @return builder
*
*/
public Builder labName(Output labName) {
$.labName = labName;
return this;
}
/**
* @param labName The name of the lab.
*
* @return builder
*
*/
public Builder labName(String labName) {
return labName(Output.of(labName));
}
/**
* @param leasedByLabVmId The resource ID of the VM to which this disk is leased.
*
* @return builder
*
*/
public Builder leasedByLabVmId(@Nullable Output leasedByLabVmId) {
$.leasedByLabVmId = leasedByLabVmId;
return this;
}
/**
* @param leasedByLabVmId The resource ID of the VM to which this disk is leased.
*
* @return builder
*
*/
public Builder leasedByLabVmId(String leasedByLabVmId) {
return leasedByLabVmId(Output.of(leasedByLabVmId));
}
/**
* @param location The location of the resource.
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location The location of the resource.
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param managedDiskId When backed by managed disk, this is the ID of the compute disk resource.
*
* @return builder
*
*/
public Builder managedDiskId(@Nullable Output managedDiskId) {
$.managedDiskId = managedDiskId;
return this;
}
/**
* @param managedDiskId When backed by managed disk, this is the ID of the compute disk resource.
*
* @return builder
*
*/
public Builder managedDiskId(String managedDiskId) {
return managedDiskId(Output.of(managedDiskId));
}
/**
* @param name The name of the disk.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name of the disk.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param resourceGroupName The name of the resource group.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param storageAccountId When backed by a blob, the storage account where the blob is.
*
* @return builder
*
*/
public Builder storageAccountId(@Nullable Output storageAccountId) {
$.storageAccountId = storageAccountId;
return this;
}
/**
* @param storageAccountId When backed by a blob, the storage account where the blob is.
*
* @return builder
*
*/
public Builder storageAccountId(String storageAccountId) {
return storageAccountId(Output.of(storageAccountId));
}
/**
* @param tags The tags of the resource.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags The tags of the resource.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param userName The name of the user profile.
*
* @return builder
*
*/
public Builder userName(Output userName) {
$.userName = userName;
return this;
}
/**
* @param userName The name of the user profile.
*
* @return builder
*
*/
public Builder userName(String userName) {
return userName(Output.of(userName));
}
public DiskArgs build() {
if ($.labName == null) {
throw new MissingRequiredPropertyException("DiskArgs", "labName");
}
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("DiskArgs", "resourceGroupName");
}
if ($.userName == null) {
throw new MissingRequiredPropertyException("DiskArgs", "userName");
}
return $;
}
}
}