CachesIscsiVolume

class CachesIscsiVolume : KotlinCustomResource

Manages an AWS Storage Gateway cached iSCSI volume.

NOTE: The gateway must have cache added (e.g., via the aws.storagegateway.Cache resource) before creating volumes otherwise the Storage Gateway API will return an error. NOTE: The gateway must have an upload buffer added (e.g., via the aws.storagegateway.UploadBuffer resource) before the volume is operational to clients, however the Storage Gateway API will allow volume creation without error in that case and return volume status as UPLOAD BUFFER NOT CONFIGURED.

Example Usage

NOTE: These examples are referencing the aws.storagegateway.Cache resource gateway_arn attribute to ensure this provider properly adds cache before creating the volume. If you are not using this method, you may need to declare an expicit dependency (e.g. via depends_on = [aws_storagegateway_cache.example]) to ensure proper ordering.

Create Empty Cached iSCSI Volume

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.storagegateway.CachesIscsiVolume;
import com.pulumi.aws.storagegateway.CachesIscsiVolumeArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new CachesIscsiVolume("example", CachesIscsiVolumeArgs.builder()
.gatewayArn(aws_storagegateway_cache.example().gateway_arn())
.networkInterfaceId(aws_instance.example().private_ip())
.targetName("example")
.volumeSizeInBytes(5368709120)
.build());
}
}

Create Cached iSCSI Volume From Snapshot

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.storagegateway.CachesIscsiVolume;
import com.pulumi.aws.storagegateway.CachesIscsiVolumeArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new CachesIscsiVolume("example", CachesIscsiVolumeArgs.builder()
.gatewayArn(aws_storagegateway_cache.example().gateway_arn())
.networkInterfaceId(aws_instance.example().private_ip())
.snapshotId(aws_ebs_snapshot.example().id())
.targetName("example")
.volumeSizeInBytes(aws_ebs_snapshot.example().volume_size() * 1024 * 1024 * 1024)
.build());
}
}

Create Cached iSCSI Volume From Source Volume

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.storagegateway.CachesIscsiVolume;
import com.pulumi.aws.storagegateway.CachesIscsiVolumeArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new CachesIscsiVolume("example", CachesIscsiVolumeArgs.builder()
.gatewayArn(aws_storagegateway_cache.example().gateway_arn())
.networkInterfaceId(aws_instance.example().private_ip())
.sourceVolumeArn(aws_storagegateway_cached_iscsi_volume.existing().arn())
.targetName("example")
.volumeSizeInBytes(aws_storagegateway_cached_iscsi_volume.existing().volume_size_in_bytes())
.build());
}
}

Import

aws_storagegateway_cached_iscsi_volume can be imported by using the volume Amazon Resource Name (ARN), e.g.,

$ pulumi import aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume example arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678

Properties

Link copied to clipboard
val arn: Output<String>

Volume Amazon Resource Name (ARN), e.g., arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678.

Link copied to clipboard
val chapEnabled: Output<Boolean>

Whether mutual CHAP is enabled for the iSCSI target.

Link copied to clipboard
val gatewayArn: Output<String>

The Amazon Resource Name (ARN) of the gateway.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val kmsEncrypted: Output<Boolean>?

Set to true to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3.

Link copied to clipboard
val kmsKey: Output<String>?

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. Is required when kms_encrypted is set.

Link copied to clipboard
val lunNumber: Output<Int>

Logical disk number.

Link copied to clipboard

The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.

Link copied to clipboard

The port used to communicate with iSCSI targets.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val snapshotId: Output<String>?

The snapshot ID of the snapshot to restore as the new cached volumeE.g., snap-1122aabb.

Link copied to clipboard
val sourceVolumeArn: Output<String>?

The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume's latest recovery point. The volume_size_in_bytes value for this new volume must be equal to or larger than the size of the existing volume, in bytes.

Link copied to clipboard
val tags: Output<Map<String, String>>?

Key-value map 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.

Link copied to clipboard
val tagsAll: Output<Map<String, String>>

A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Link copied to clipboard
val targetArn: Output<String>

Target Amazon Resource Name (ARN), e.g., arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/target/iqn.1997-05.com.amazon:TargetName.

Link copied to clipboard
val targetName: Output<String>

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.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val volumeArn: Output<String>

Volume Amazon Resource Name (ARN), e.g., arn:aws:storagegateway:us-east-1:123456789012:gateway/sgw-12345678/volume/vol-12345678.

Link copied to clipboard
val volumeId: Output<String>

Volume ID, e.g., vol-12345678.

Link copied to clipboard
val volumeSizeInBytes: Output<Int>

The size of the volume in bytes.