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

com.pulumi.aws.storagegateway.inputs.StoredIscsiVolumeState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.66.3
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.aws.storagegateway.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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final StoredIscsiVolumeState Empty = new StoredIscsiVolumeState();

    /**
     * Volume Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return Volume Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * Whether mutual CHAP is enabled for the iSCSI target.
     * 
     */
    @Import(name="chapEnabled")
    private @Nullable Output chapEnabled;

    /**
     * @return Whether mutual CHAP is enabled for the iSCSI target.
     * 
     */
    public Optional> chapEnabled() {
        return Optional.ofNullable(this.chapEnabled);
    }

    /**
     * The unique identifier for the gateway local disk that is configured as a stored volume.
     * 
     */
    @Import(name="diskId")
    private @Nullable Output diskId;

    /**
     * @return The unique identifier for the gateway local disk that is configured as a stored volume.
     * 
     */
    public Optional> diskId() {
        return Optional.ofNullable(this.diskId);
    }

    /**
     * The Amazon Resource Name (ARN) of the gateway.
     * 
     */
    @Import(name="gatewayArn")
    private @Nullable Output gatewayArn;

    /**
     * @return The Amazon Resource Name (ARN) of the gateway.
     * 
     */
    public Optional> gatewayArn() {
        return Optional.ofNullable(this.gatewayArn);
    }

    /**
     * `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional.
     * 
     */
    @Import(name="kmsEncrypted")
    private @Nullable Output kmsEncrypted;

    /**
     * @return `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional.
     * 
     */
    public Optional> kmsEncrypted() {
        return Optional.ofNullable(this.kmsEncrypted);
    }

    /**
     * The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kms_encrypted` is `true`.
     * 
     */
    @Import(name="kmsKey")
    private @Nullable Output kmsKey;

    /**
     * @return The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kms_encrypted` is `true`.
     * 
     */
    public Optional> kmsKey() {
        return Optional.ofNullable(this.kmsKey);
    }

    /**
     * Logical disk number.
     * 
     */
    @Import(name="lunNumber")
    private @Nullable Output lunNumber;

    /**
     * @return Logical disk number.
     * 
     */
    public Optional> lunNumber() {
        return Optional.ofNullable(this.lunNumber);
    }

    /**
     * The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
     * 
     */
    @Import(name="networkInterfaceId")
    private @Nullable Output networkInterfaceId;

    /**
     * @return The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
     * 
     */
    public Optional> networkInterfaceId() {
        return Optional.ofNullable(this.networkInterfaceId);
    }

    /**
     * The port used to communicate with iSCSI targets.
     * 
     */
    @Import(name="networkInterfacePort")
    private @Nullable Output networkInterfacePort;

    /**
     * @return The port used to communicate with iSCSI targets.
     * 
     */
    public Optional> networkInterfacePort() {
        return Optional.ofNullable(this.networkInterfacePort);
    }

    /**
     * Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.
     * 
     */
    @Import(name="preserveExistingData")
    private @Nullable Output preserveExistingData;

    /**
     * @return Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.
     * 
     */
    public Optional> preserveExistingData() {
        return Optional.ofNullable(this.preserveExistingData);
    }

    /**
     * The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`.
     * 
     */
    @Import(name="snapshotId")
    private @Nullable Output snapshotId;

    /**
     * @return The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`.
     * 
     */
    public Optional> snapshotId() {
        return Optional.ofNullable(this.snapshotId);
    }

    /**
     * Key-value mapping of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value mapping of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    /**
     * Target Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`.
     * 
     */
    @Import(name="targetArn")
    private @Nullable Output targetArn;

    /**
     * @return Target Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`.
     * 
     */
    public Optional> targetArn() {
        return Optional.ofNullable(this.targetArn);
    }

    /**
     * The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
     * 
     */
    @Import(name="targetName")
    private @Nullable Output targetName;

    /**
     * @return The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
     * 
     */
    public Optional> targetName() {
        return Optional.ofNullable(this.targetName);
    }

    /**
     * A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway.
     * 
     */
    @Import(name="volumeAttachmentStatus")
    private @Nullable Output volumeAttachmentStatus;

    /**
     * @return A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway.
     * 
     */
    public Optional> volumeAttachmentStatus() {
        return Optional.ofNullable(this.volumeAttachmentStatus);
    }

    /**
     * Volume ID, e.g., `vol-12345678`.
     * 
     */
    @Import(name="volumeId")
    private @Nullable Output volumeId;

    /**
     * @return Volume ID, e.g., `vol-12345678`.
     * 
     */
    public Optional> volumeId() {
        return Optional.ofNullable(this.volumeId);
    }

    /**
     * The size of the data stored on the volume in bytes.
     * 
     */
    @Import(name="volumeSizeInBytes")
    private @Nullable Output volumeSizeInBytes;

    /**
     * @return The size of the data stored on the volume in bytes.
     * 
     */
    public Optional> volumeSizeInBytes() {
        return Optional.ofNullable(this.volumeSizeInBytes);
    }

    /**
     * indicates the state of the storage volume.
     * 
     */
    @Import(name="volumeStatus")
    private @Nullable Output volumeStatus;

    /**
     * @return indicates the state of the storage volume.
     * 
     */
    public Optional> volumeStatus() {
        return Optional.ofNullable(this.volumeStatus);
    }

    /**
     * indicates the type of the volume.
     * 
     */
    @Import(name="volumeType")
    private @Nullable Output volumeType;

    /**
     * @return indicates the type of the volume.
     * 
     */
    public Optional> volumeType() {
        return Optional.ofNullable(this.volumeType);
    }

    private StoredIscsiVolumeState() {}

    private StoredIscsiVolumeState(StoredIscsiVolumeState $) {
        this.arn = $.arn;
        this.chapEnabled = $.chapEnabled;
        this.diskId = $.diskId;
        this.gatewayArn = $.gatewayArn;
        this.kmsEncrypted = $.kmsEncrypted;
        this.kmsKey = $.kmsKey;
        this.lunNumber = $.lunNumber;
        this.networkInterfaceId = $.networkInterfaceId;
        this.networkInterfacePort = $.networkInterfacePort;
        this.preserveExistingData = $.preserveExistingData;
        this.snapshotId = $.snapshotId;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.targetArn = $.targetArn;
        this.targetName = $.targetName;
        this.volumeAttachmentStatus = $.volumeAttachmentStatus;
        this.volumeId = $.volumeId;
        this.volumeSizeInBytes = $.volumeSizeInBytes;
        this.volumeStatus = $.volumeStatus;
        this.volumeType = $.volumeType;
    }

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

    public static final class Builder {
        private StoredIscsiVolumeState $;

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

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

        /**
         * @param arn Volume Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn Volume Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678`.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param chapEnabled Whether mutual CHAP is enabled for the iSCSI target.
         * 
         * @return builder
         * 
         */
        public Builder chapEnabled(@Nullable Output chapEnabled) {
            $.chapEnabled = chapEnabled;
            return this;
        }

        /**
         * @param chapEnabled Whether mutual CHAP is enabled for the iSCSI target.
         * 
         * @return builder
         * 
         */
        public Builder chapEnabled(Boolean chapEnabled) {
            return chapEnabled(Output.of(chapEnabled));
        }

        /**
         * @param diskId The unique identifier for the gateway local disk that is configured as a stored volume.
         * 
         * @return builder
         * 
         */
        public Builder diskId(@Nullable Output diskId) {
            $.diskId = diskId;
            return this;
        }

        /**
         * @param diskId The unique identifier for the gateway local disk that is configured as a stored volume.
         * 
         * @return builder
         * 
         */
        public Builder diskId(String diskId) {
            return diskId(Output.of(diskId));
        }

        /**
         * @param gatewayArn The Amazon Resource Name (ARN) of the gateway.
         * 
         * @return builder
         * 
         */
        public Builder gatewayArn(@Nullable Output gatewayArn) {
            $.gatewayArn = gatewayArn;
            return this;
        }

        /**
         * @param gatewayArn The Amazon Resource Name (ARN) of the gateway.
         * 
         * @return builder
         * 
         */
        public Builder gatewayArn(String gatewayArn) {
            return gatewayArn(Output.of(gatewayArn));
        }

        /**
         * @param kmsEncrypted `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional.
         * 
         * @return builder
         * 
         */
        public Builder kmsEncrypted(@Nullable Output kmsEncrypted) {
            $.kmsEncrypted = kmsEncrypted;
            return this;
        }

        /**
         * @param kmsEncrypted `true` to use Amazon S3 server side encryption with your own AWS KMS key, or `false` to use a key managed by Amazon S3. Optional.
         * 
         * @return builder
         * 
         */
        public Builder kmsEncrypted(Boolean kmsEncrypted) {
            return kmsEncrypted(Output.of(kmsEncrypted));
        }

        /**
         * @param kmsKey The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kms_encrypted` is `true`.
         * 
         * @return builder
         * 
         */
        public Builder kmsKey(@Nullable Output kmsKey) {
            $.kmsKey = kmsKey;
            return this;
        }

        /**
         * @param kmsKey The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when `kms_encrypted` is `true`.
         * 
         * @return builder
         * 
         */
        public Builder kmsKey(String kmsKey) {
            return kmsKey(Output.of(kmsKey));
        }

        /**
         * @param lunNumber Logical disk number.
         * 
         * @return builder
         * 
         */
        public Builder lunNumber(@Nullable Output lunNumber) {
            $.lunNumber = lunNumber;
            return this;
        }

        /**
         * @param lunNumber Logical disk number.
         * 
         * @return builder
         * 
         */
        public Builder lunNumber(Integer lunNumber) {
            return lunNumber(Output.of(lunNumber));
        }

        /**
         * @param networkInterfaceId The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceId(@Nullable Output networkInterfaceId) {
            $.networkInterfaceId = networkInterfaceId;
            return this;
        }

        /**
         * @param networkInterfaceId The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceId(String networkInterfaceId) {
            return networkInterfaceId(Output.of(networkInterfaceId));
        }

        /**
         * @param networkInterfacePort The port used to communicate with iSCSI targets.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfacePort(@Nullable Output networkInterfacePort) {
            $.networkInterfacePort = networkInterfacePort;
            return this;
        }

        /**
         * @param networkInterfacePort The port used to communicate with iSCSI targets.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfacePort(Integer networkInterfacePort) {
            return networkInterfacePort(Output.of(networkInterfacePort));
        }

        /**
         * @param preserveExistingData Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.
         * 
         * @return builder
         * 
         */
        public Builder preserveExistingData(@Nullable Output preserveExistingData) {
            $.preserveExistingData = preserveExistingData;
            return this;
        }

        /**
         * @param preserveExistingData Specify this field as `true` if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.
         * 
         * @return builder
         * 
         */
        public Builder preserveExistingData(Boolean preserveExistingData) {
            return preserveExistingData(Output.of(preserveExistingData));
        }

        /**
         * @param snapshotId The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`.
         * 
         * @return builder
         * 
         */
        public Builder snapshotId(@Nullable Output snapshotId) {
            $.snapshotId = snapshotId;
            return this;
        }

        /**
         * @param snapshotId The snapshot ID of the snapshot to restore as the new stored volumeE.g., `snap-1122aabb`.
         * 
         * @return builder
         * 
         */
        public Builder snapshotId(String snapshotId) {
            return snapshotId(Output.of(snapshotId));
        }

        /**
         * @param tags Key-value mapping of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value mapping of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        /**
         * @param targetArn Target Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`.
         * 
         * @return builder
         * 
         */
        public Builder targetArn(@Nullable Output targetArn) {
            $.targetArn = targetArn;
            return this;
        }

        /**
         * @param targetArn Target Amazon Resource Name (ARN), e.g., `arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName`.
         * 
         * @return builder
         * 
         */
        public Builder targetArn(String targetArn) {
            return targetArn(Output.of(targetArn));
        }

        /**
         * @param targetName The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
         * 
         * @return builder
         * 
         */
        public Builder targetName(@Nullable Output targetName) {
            $.targetName = targetName;
            return this;
        }

        /**
         * @param targetName The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.
         * 
         * @return builder
         * 
         */
        public Builder targetName(String targetName) {
            return targetName(Output.of(targetName));
        }

        /**
         * @param volumeAttachmentStatus A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway.
         * 
         * @return builder
         * 
         */
        public Builder volumeAttachmentStatus(@Nullable Output volumeAttachmentStatus) {
            $.volumeAttachmentStatus = volumeAttachmentStatus;
            return this;
        }

        /**
         * @param volumeAttachmentStatus A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway.
         * 
         * @return builder
         * 
         */
        public Builder volumeAttachmentStatus(String volumeAttachmentStatus) {
            return volumeAttachmentStatus(Output.of(volumeAttachmentStatus));
        }

        /**
         * @param volumeId Volume ID, e.g., `vol-12345678`.
         * 
         * @return builder
         * 
         */
        public Builder volumeId(@Nullable Output volumeId) {
            $.volumeId = volumeId;
            return this;
        }

        /**
         * @param volumeId Volume ID, e.g., `vol-12345678`.
         * 
         * @return builder
         * 
         */
        public Builder volumeId(String volumeId) {
            return volumeId(Output.of(volumeId));
        }

        /**
         * @param volumeSizeInBytes The size of the data stored on the volume in bytes.
         * 
         * @return builder
         * 
         */
        public Builder volumeSizeInBytes(@Nullable Output volumeSizeInBytes) {
            $.volumeSizeInBytes = volumeSizeInBytes;
            return this;
        }

        /**
         * @param volumeSizeInBytes The size of the data stored on the volume in bytes.
         * 
         * @return builder
         * 
         */
        public Builder volumeSizeInBytes(Integer volumeSizeInBytes) {
            return volumeSizeInBytes(Output.of(volumeSizeInBytes));
        }

        /**
         * @param volumeStatus indicates the state of the storage volume.
         * 
         * @return builder
         * 
         */
        public Builder volumeStatus(@Nullable Output volumeStatus) {
            $.volumeStatus = volumeStatus;
            return this;
        }

        /**
         * @param volumeStatus indicates the state of the storage volume.
         * 
         * @return builder
         * 
         */
        public Builder volumeStatus(String volumeStatus) {
            return volumeStatus(Output.of(volumeStatus));
        }

        /**
         * @param volumeType indicates the type of the volume.
         * 
         * @return builder
         * 
         */
        public Builder volumeType(@Nullable Output volumeType) {
            $.volumeType = volumeType;
            return this;
        }

        /**
         * @param volumeType indicates the type of the volume.
         * 
         * @return builder
         * 
         */
        public Builder volumeType(String volumeType) {
            return volumeType(Output.of(volumeType));
        }

        public StoredIscsiVolumeState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy