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

com.pulumi.azure.compute.inputs.ImplicitDataDiskFromSourceState Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 6.10.0-alpha.1731737215
Show 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.azure.compute.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ImplicitDataDiskFromSourceState extends com.pulumi.resources.ResourceArgs {

    public static final ImplicitDataDiskFromSourceState Empty = new ImplicitDataDiskFromSourceState();

    /**
     * Specifies the caching requirements for this Data Disk. Possible values are `ReadOnly` and `ReadWrite`.
     * 
     */
    @Import(name="caching")
    private @Nullable Output caching;

    /**
     * @return Specifies the caching requirements for this Data Disk. Possible values are `ReadOnly` and `ReadWrite`.
     * 
     */
    public Optional> caching() {
        return Optional.ofNullable(this.caching);
    }

    /**
     * Specifies the Create Option of the Data Disk. The only possible value is `Copy`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="createOption")
    private @Nullable Output createOption;

    /**
     * @return Specifies the Create Option of the Data Disk. The only possible value is `Copy`. Changing this forces a new resource to be created.
     * 
     */
    public Optional> createOption() {
        return Optional.ofNullable(this.createOption);
    }

    /**
     * Specifies the size of the Data Disk in gigabytes. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="diskSizeGb")
    private @Nullable Output diskSizeGb;

    /**
     * @return Specifies the size of the Data Disk in gigabytes. Changing this forces a new resource to be created.
     * 
     */
    public Optional> diskSizeGb() {
        return Optional.ofNullable(this.diskSizeGb);
    }

    /**
     * The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="lun")
    private @Nullable Output lun;

    /**
     * @return The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.
     * 
     */
    public Optional> lun() {
        return Optional.ofNullable(this.lun);
    }

    /**
     * Specifies the name of this Data Disk. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Specifies the name of this Data Disk. Changing this forces a new resource to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The ID of the source resource which this Data Disk was created from. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="sourceResourceId")
    private @Nullable Output sourceResourceId;

    /**
     * @return The ID of the source resource which this Data Disk was created from. Changing this forces a new resource to be created.
     * 
     */
    public Optional> sourceResourceId() {
        return Optional.ofNullable(this.sourceResourceId);
    }

    /**
     * The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="virtualMachineId")
    private @Nullable Output virtualMachineId;

    /**
     * @return The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.
     * 
     */
    public Optional> virtualMachineId() {
        return Optional.ofNullable(this.virtualMachineId);
    }

    /**
     * Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to `false`.
     * 
     */
    @Import(name="writeAcceleratorEnabled")
    private @Nullable Output writeAcceleratorEnabled;

    /**
     * @return Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to `false`.
     * 
     */
    public Optional> writeAcceleratorEnabled() {
        return Optional.ofNullable(this.writeAcceleratorEnabled);
    }

    private ImplicitDataDiskFromSourceState() {}

    private ImplicitDataDiskFromSourceState(ImplicitDataDiskFromSourceState $) {
        this.caching = $.caching;
        this.createOption = $.createOption;
        this.diskSizeGb = $.diskSizeGb;
        this.lun = $.lun;
        this.name = $.name;
        this.sourceResourceId = $.sourceResourceId;
        this.virtualMachineId = $.virtualMachineId;
        this.writeAcceleratorEnabled = $.writeAcceleratorEnabled;
    }

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

    public static final class Builder {
        private ImplicitDataDiskFromSourceState $;

        public Builder() {
            $ = new ImplicitDataDiskFromSourceState();
        }

        public Builder(ImplicitDataDiskFromSourceState defaults) {
            $ = new ImplicitDataDiskFromSourceState(Objects.requireNonNull(defaults));
        }

        /**
         * @param caching Specifies the caching requirements for this Data Disk. Possible values are `ReadOnly` and `ReadWrite`.
         * 
         * @return builder
         * 
         */
        public Builder caching(@Nullable Output caching) {
            $.caching = caching;
            return this;
        }

        /**
         * @param caching Specifies the caching requirements for this Data Disk. Possible values are `ReadOnly` and `ReadWrite`.
         * 
         * @return builder
         * 
         */
        public Builder caching(String caching) {
            return caching(Output.of(caching));
        }

        /**
         * @param createOption Specifies the Create Option of the Data Disk. The only possible value is `Copy`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder createOption(@Nullable Output createOption) {
            $.createOption = createOption;
            return this;
        }

        /**
         * @param createOption Specifies the Create Option of the Data Disk. The only possible value is `Copy`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder createOption(String createOption) {
            return createOption(Output.of(createOption));
        }

        /**
         * @param diskSizeGb Specifies the size of the Data Disk in gigabytes. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder diskSizeGb(@Nullable Output diskSizeGb) {
            $.diskSizeGb = diskSizeGb;
            return this;
        }

        /**
         * @param diskSizeGb Specifies the size of the Data Disk in gigabytes. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder diskSizeGb(Integer diskSizeGb) {
            return diskSizeGb(Output.of(diskSizeGb));
        }

        /**
         * @param lun The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder lun(@Nullable Output lun) {
            $.lun = lun;
            return this;
        }

        /**
         * @param lun The Logical Unit Number of the Data Disk, which needs to be unique within the Virtual Machine. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder lun(Integer lun) {
            return lun(Output.of(lun));
        }

        /**
         * @param name Specifies the name of this Data Disk. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Specifies the name of this Data Disk. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param sourceResourceId The ID of the source resource which this Data Disk was created from. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder sourceResourceId(@Nullable Output sourceResourceId) {
            $.sourceResourceId = sourceResourceId;
            return this;
        }

        /**
         * @param sourceResourceId The ID of the source resource which this Data Disk was created from. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder sourceResourceId(String sourceResourceId) {
            return sourceResourceId(Output.of(sourceResourceId));
        }

        /**
         * @param virtualMachineId The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineId(@Nullable Output virtualMachineId) {
            $.virtualMachineId = virtualMachineId;
            return this;
        }

        /**
         * @param virtualMachineId The ID of the Virtual Machine to which the Data Disk should be attached. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineId(String virtualMachineId) {
            return virtualMachineId(Output.of(virtualMachineId));
        }

        /**
         * @param writeAcceleratorEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder writeAcceleratorEnabled(@Nullable Output writeAcceleratorEnabled) {
            $.writeAcceleratorEnabled = writeAcceleratorEnabled;
            return this;
        }

        /**
         * @param writeAcceleratorEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on `Premium_LRS` managed disks with no caching and [M-Series VMs](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/how-to-enable-write-accelerator). Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder writeAcceleratorEnabled(Boolean writeAcceleratorEnabled) {
            return writeAcceleratorEnabled(Output.of(writeAcceleratorEnabled));
        }

        public ImplicitDataDiskFromSourceState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy