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

com.pulumi.azure.elasticsan.inputs.VolumeState 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.elasticsan.inputs;

import com.pulumi.azure.elasticsan.inputs.VolumeCreateSourceArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final VolumeState Empty = new VolumeState();

    /**
     * A `create_source` block as defined below.
     * 
     */
    @Import(name="createSource")
    private @Nullable Output createSource;

    /**
     * @return A `create_source` block as defined below.
     * 
     */
    public Optional> createSource() {
        return Optional.ofNullable(this.createSource);
    }

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

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

    /**
     * Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between `1` and `65536` (16 TiB).
     * 
     * > **NOTE:** The size can only be increased. If `create_source` is specified, then the size must be equal to or greater than the source's size.
     * 
     */
    @Import(name="sizeInGib")
    private @Nullable Output sizeInGib;

    /**
     * @return Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between `1` and `65536` (16 TiB).
     * 
     * > **NOTE:** The size can only be increased. If `create_source` is specified, then the size must be equal to or greater than the source's size.
     * 
     */
    public Optional> sizeInGib() {
        return Optional.ofNullable(this.sizeInGib);
    }

    /**
     * The iSCSI Target IQN of the Elastic SAN Volume.
     * 
     */
    @Import(name="targetIqn")
    private @Nullable Output targetIqn;

    /**
     * @return The iSCSI Target IQN of the Elastic SAN Volume.
     * 
     */
    public Optional> targetIqn() {
        return Optional.ofNullable(this.targetIqn);
    }

    /**
     * The iSCSI Target Portal Host Name of the Elastic SAN Volume.
     * 
     */
    @Import(name="targetPortalHostname")
    private @Nullable Output targetPortalHostname;

    /**
     * @return The iSCSI Target Portal Host Name of the Elastic SAN Volume.
     * 
     */
    public Optional> targetPortalHostname() {
        return Optional.ofNullable(this.targetPortalHostname);
    }

    /**
     * The iSCSI Target Portal Port of the Elastic SAN Volume.
     * 
     */
    @Import(name="targetPortalPort")
    private @Nullable Output targetPortalPort;

    /**
     * @return The iSCSI Target Portal Port of the Elastic SAN Volume.
     * 
     */
    public Optional> targetPortalPort() {
        return Optional.ofNullable(this.targetPortalPort);
    }

    /**
     * Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="volumeGroupId")
    private @Nullable Output volumeGroupId;

    /**
     * @return Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.
     * 
     */
    public Optional> volumeGroupId() {
        return Optional.ofNullable(this.volumeGroupId);
    }

    /**
     * The UUID of the Elastic SAN Volume.
     * 
     */
    @Import(name="volumeId")
    private @Nullable Output volumeId;

    /**
     * @return The UUID of the Elastic SAN Volume.
     * 
     */
    public Optional> volumeId() {
        return Optional.ofNullable(this.volumeId);
    }

    private VolumeState() {}

    private VolumeState(VolumeState $) {
        this.createSource = $.createSource;
        this.name = $.name;
        this.sizeInGib = $.sizeInGib;
        this.targetIqn = $.targetIqn;
        this.targetPortalHostname = $.targetPortalHostname;
        this.targetPortalPort = $.targetPortalPort;
        this.volumeGroupId = $.volumeGroupId;
        this.volumeId = $.volumeId;
    }

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

    public static final class Builder {
        private VolumeState $;

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

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

        /**
         * @param createSource A `create_source` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder createSource(@Nullable Output createSource) {
            $.createSource = createSource;
            return this;
        }

        /**
         * @param createSource A `create_source` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder createSource(VolumeCreateSourceArgs createSource) {
            return createSource(Output.of(createSource));
        }

        /**
         * @param name Specifies the name of this Elastic SAN Volume. 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 Elastic SAN Volume. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param sizeInGib Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between `1` and `65536` (16 TiB).
         * 
         * > **NOTE:** The size can only be increased. If `create_source` is specified, then the size must be equal to or greater than the source's size.
         * 
         * @return builder
         * 
         */
        public Builder sizeInGib(@Nullable Output sizeInGib) {
            $.sizeInGib = sizeInGib;
            return this;
        }

        /**
         * @param sizeInGib Specifies the size of the Elastic SAN Volume in GiB. The size should be within the remaining capacity of the parent Elastic SAN. Possible values are between `1` and `65536` (16 TiB).
         * 
         * > **NOTE:** The size can only be increased. If `create_source` is specified, then the size must be equal to or greater than the source's size.
         * 
         * @return builder
         * 
         */
        public Builder sizeInGib(Integer sizeInGib) {
            return sizeInGib(Output.of(sizeInGib));
        }

        /**
         * @param targetIqn The iSCSI Target IQN of the Elastic SAN Volume.
         * 
         * @return builder
         * 
         */
        public Builder targetIqn(@Nullable Output targetIqn) {
            $.targetIqn = targetIqn;
            return this;
        }

        /**
         * @param targetIqn The iSCSI Target IQN of the Elastic SAN Volume.
         * 
         * @return builder
         * 
         */
        public Builder targetIqn(String targetIqn) {
            return targetIqn(Output.of(targetIqn));
        }

        /**
         * @param targetPortalHostname The iSCSI Target Portal Host Name of the Elastic SAN Volume.
         * 
         * @return builder
         * 
         */
        public Builder targetPortalHostname(@Nullable Output targetPortalHostname) {
            $.targetPortalHostname = targetPortalHostname;
            return this;
        }

        /**
         * @param targetPortalHostname The iSCSI Target Portal Host Name of the Elastic SAN Volume.
         * 
         * @return builder
         * 
         */
        public Builder targetPortalHostname(String targetPortalHostname) {
            return targetPortalHostname(Output.of(targetPortalHostname));
        }

        /**
         * @param targetPortalPort The iSCSI Target Portal Port of the Elastic SAN Volume.
         * 
         * @return builder
         * 
         */
        public Builder targetPortalPort(@Nullable Output targetPortalPort) {
            $.targetPortalPort = targetPortalPort;
            return this;
        }

        /**
         * @param targetPortalPort The iSCSI Target Portal Port of the Elastic SAN Volume.
         * 
         * @return builder
         * 
         */
        public Builder targetPortalPort(Integer targetPortalPort) {
            return targetPortalPort(Output.of(targetPortalPort));
        }

        /**
         * @param volumeGroupId Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder volumeGroupId(@Nullable Output volumeGroupId) {
            $.volumeGroupId = volumeGroupId;
            return this;
        }

        /**
         * @param volumeGroupId Specifies the Volume Group ID within which this Elastic SAN Volume should exist. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder volumeGroupId(String volumeGroupId) {
            return volumeGroupId(Output.of(volumeGroupId));
        }

        /**
         * @param volumeId The UUID of the Elastic SAN Volume.
         * 
         * @return builder
         * 
         */
        public Builder volumeId(@Nullable Output volumeId) {
            $.volumeId = volumeId;
            return this;
        }

        /**
         * @param volumeId The UUID of the Elastic SAN Volume.
         * 
         * @return builder
         * 
         */
        public Builder volumeId(String volumeId) {
            return volumeId(Output.of(volumeId));
        }

        public VolumeState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy