CachesIscsiVolume

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

Create Empty Cached iSCSI Volume

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var example = new Aws.StorageGateway.CachesIscsiVolume("example", new Aws.StorageGateway.CachesIscsiVolumeArgs
        {
            GatewayArn = aws_storagegateway_cache.Example.Gateway_arn,
            NetworkInterfaceId = aws_instance.Example.Private_ip,
            TargetName = "example",
            VolumeSizeInBytes = 5368709120,
        });
        // 5 GB
    }

}
package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/storagegateway"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := storagegateway.NewCachesIscsiVolume(ctx, "example", &storagegateway.CachesIscsiVolumeArgs{
            GatewayArn:         pulumi.String(aws_storagegateway_cache.Example.Gateway_arn),
            NetworkInterfaceId: pulumi.String(aws_instance.Example.Private_ip),
            TargetName:         pulumi.String("example"),
            VolumeSizeInBytes:  pulumi.Int(5368709120),
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_aws as aws

example = aws.storagegateway.CachesIscsiVolume("example",
    gateway_arn=aws_storagegateway_cache["example"]["gateway_arn"],
    network_interface_id=aws_instance["example"]["private_ip"],
    target_name="example",
    volume_size_in_bytes=5368709120)
# 5 GB
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.storagegateway.CachesIscsiVolume("example", {
    gatewayArn: aws_storagegateway_cache_example.gatewayArn,
    networkInterfaceId: aws_instance_example.privateIp,
    targetName: "example",
    volumeSizeInBytes: 5368709120, // 5 GB
});

Create Cached iSCSI Volume From Snapshot

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var example = new Aws.StorageGateway.CachesIscsiVolume("example", new Aws.StorageGateway.CachesIscsiVolumeArgs
        {
            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,
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/storagegateway"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := storagegateway.NewCachesIscsiVolume(ctx, "example", &storagegateway.CachesIscsiVolumeArgs{
            GatewayArn:         pulumi.String(aws_storagegateway_cache.Example.Gateway_arn),
            NetworkInterfaceId: pulumi.String(aws_instance.Example.Private_ip),
            SnapshotId:         pulumi.String(aws_ebs_snapshot.Example.Id),
            TargetName:         pulumi.String("example"),
            VolumeSizeInBytes:  pulumi.Int(aws_ebs_snapshot.Example.Volume_size * 1024 * 1024 * 1024),
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_aws as aws

example = aws.storagegateway.CachesIscsiVolume("example",
    gateway_arn=aws_storagegateway_cache["example"]["gateway_arn"],
    network_interface_id=aws_instance["example"]["private_ip"],
    snapshot_id=aws_ebs_snapshot["example"]["id"],
    target_name="example",
    volume_size_in_bytes=aws_ebs_snapshot["example"]["volume_size"] * 1024 * 1024 * 1024)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.storagegateway.CachesIscsiVolume("example", {
    gatewayArn: aws_storagegateway_cache_example.gatewayArn,
    networkInterfaceId: aws_instance_example.privateIp,
    snapshotId: aws_ebs_snapshot_example.id,
    targetName: "example",
    volumeSizeInBytes: aws_ebs_snapshot_example.volumeSize.apply(volumeSize => (((volumeSize * 1024) * 1024) * 1024)),
});

Create Cached iSCSI Volume From Source Volume

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var example = new Aws.StorageGateway.CachesIscsiVolume("example", new Aws.StorageGateway.CachesIscsiVolumeArgs
        {
            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,
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/storagegateway"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := storagegateway.NewCachesIscsiVolume(ctx, "example", &storagegateway.CachesIscsiVolumeArgs{
            GatewayArn:         pulumi.String(aws_storagegateway_cache.Example.Gateway_arn),
            NetworkInterfaceId: pulumi.String(aws_instance.Example.Private_ip),
            SourceVolumeArn:    pulumi.String(aws_storagegateway_cached_iscsi_volume.Existing.Arn),
            TargetName:         pulumi.String("example"),
            VolumeSizeInBytes:  pulumi.String(aws_storagegateway_cached_iscsi_volume.Existing.Volume_size_in_bytes),
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_aws as aws

example = aws.storagegateway.CachesIscsiVolume("example",
    gateway_arn=aws_storagegateway_cache["example"]["gateway_arn"],
    network_interface_id=aws_instance["example"]["private_ip"],
    source_volume_arn=aws_storagegateway_cached_iscsi_volume["existing"]["arn"],
    target_name="example",
    volume_size_in_bytes=aws_storagegateway_cached_iscsi_volume["existing"]["volume_size_in_bytes"])
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.storagegateway.CachesIscsiVolume("example", {
    gatewayArn: aws_storagegateway_cache_example.gatewayArn,
    networkInterfaceId: aws_instance_example.privateIp,
    sourceVolumeArn: aws_storagegateway_cached_iscsi_volume_existing.arn,
    targetName: "example",
    volumeSizeInBytes: aws_storagegateway_cached_iscsi_volume_existing.volumeSizeInBytes,
});

Create a CachesIscsiVolume Resource

def CachesIscsiVolume(resource_name, opts=None, gateway_arn=None, network_interface_id=None, snapshot_id=None, source_volume_arn=None, tags=None, target_name=None, volume_size_in_bytes=None, __props__=None);
name string
The unique name of the resource.
args CachesIscsiVolumeArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args CachesIscsiVolumeArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args CachesIscsiVolumeArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

CachesIscsiVolume Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The CachesIscsiVolume resource accepts the following input properties:

GatewayArn string

The Amazon Resource Name (ARN) of the gateway.

NetworkInterfaceId string

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

TargetName 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.

VolumeSizeInBytes int

The size of the volume in bytes.

SnapshotId string

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

SourceVolumeArn 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.

Tags Dictionary<string, string>

Key-value map of resource tags

GatewayArn string

The Amazon Resource Name (ARN) of the gateway.

NetworkInterfaceId string

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

TargetName 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.

VolumeSizeInBytes int

The size of the volume in bytes.

SnapshotId string

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

SourceVolumeArn 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.

Tags map[string]string

Key-value map of resource tags

gatewayArn string

The Amazon Resource Name (ARN) of the gateway.

networkInterfaceId string

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

targetName 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.

volumeSizeInBytes number

The size of the volume in bytes.

snapshotId string

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

sourceVolumeArn 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.

tags {[key: string]: string}

Key-value map of resource tags

gateway_arn str

The Amazon Resource Name (ARN) of the gateway.

network_interface_id str

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

target_name str

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.

volume_size_in_bytes float

The size of the volume in bytes.

snapshot_id str

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

source_volume_arn str

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.

tags Dict[str, str]

Key-value map of resource tags

Outputs

All input properties are implicitly available as output properties. Additionally, the CachesIscsiVolume resource produces the following output properties:

Arn string

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

ChapEnabled bool

Whether mutual CHAP is enabled for the iSCSI target.

Id string
The provider-assigned unique ID for this managed resource.
LunNumber int

Logical disk number.

NetworkInterfacePort int

The port used to communicate with iSCSI targets.

TargetArn 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.

VolumeArn string

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

VolumeId string

Volume ID, e.g. vol-12345678.

Arn string

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

ChapEnabled bool

Whether mutual CHAP is enabled for the iSCSI target.

Id string
The provider-assigned unique ID for this managed resource.
LunNumber int

Logical disk number.

NetworkInterfacePort int

The port used to communicate with iSCSI targets.

TargetArn 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.

VolumeArn string

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

VolumeId string

Volume ID, e.g. vol-12345678.

arn string

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

chapEnabled boolean

Whether mutual CHAP is enabled for the iSCSI target.

id string
The provider-assigned unique ID for this managed resource.
lunNumber number

Logical disk number.

networkInterfacePort number

The port used to communicate with iSCSI targets.

targetArn 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.

volumeArn string

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

volumeId string

Volume ID, e.g. vol-12345678.

arn str

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

chap_enabled bool

Whether mutual CHAP is enabled for the iSCSI target.

id str
The provider-assigned unique ID for this managed resource.
lun_number float

Logical disk number.

network_interface_port float

The port used to communicate with iSCSI targets.

target_arn str

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

volume_arn str

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

volume_id str

Volume ID, e.g. vol-12345678.

Look up an Existing CachesIscsiVolume Resource

Get an existing CachesIscsiVolume resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: CachesIscsiVolumeState, opts?: CustomResourceOptions): CachesIscsiVolume
static get(resource_name, id, opts=None, arn=None, chap_enabled=None, gateway_arn=None, lun_number=None, network_interface_id=None, network_interface_port=None, snapshot_id=None, source_volume_arn=None, tags=None, target_arn=None, target_name=None, volume_arn=None, volume_id=None, volume_size_in_bytes=None, __props__=None);
func GetCachesIscsiVolume(ctx *Context, name string, id IDInput, state *CachesIscsiVolumeState, opts ...ResourceOption) (*CachesIscsiVolume, error)
public static CachesIscsiVolume Get(string name, Input<string> id, CachesIscsiVolumeState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Arn string

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

ChapEnabled bool

Whether mutual CHAP is enabled for the iSCSI target.

GatewayArn string

The Amazon Resource Name (ARN) of the gateway.

LunNumber int

Logical disk number.

NetworkInterfaceId string

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

NetworkInterfacePort int

The port used to communicate with iSCSI targets.

SnapshotId string

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

SourceVolumeArn 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.

Tags Dictionary<string, string>

Key-value map of resource tags

TargetArn 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.

TargetName 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.

VolumeArn string

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

VolumeId string

Volume ID, e.g. vol-12345678.

VolumeSizeInBytes int

The size of the volume in bytes.

Arn string

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

ChapEnabled bool

Whether mutual CHAP is enabled for the iSCSI target.

GatewayArn string

The Amazon Resource Name (ARN) of the gateway.

LunNumber int

Logical disk number.

NetworkInterfaceId string

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

NetworkInterfacePort int

The port used to communicate with iSCSI targets.

SnapshotId string

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

SourceVolumeArn 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.

Tags map[string]string

Key-value map of resource tags

TargetArn 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.

TargetName 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.

VolumeArn string

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

VolumeId string

Volume ID, e.g. vol-12345678.

VolumeSizeInBytes int

The size of the volume in bytes.

arn string

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

chapEnabled boolean

Whether mutual CHAP is enabled for the iSCSI target.

gatewayArn string

The Amazon Resource Name (ARN) of the gateway.

lunNumber number

Logical disk number.

networkInterfaceId string

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

networkInterfacePort number

The port used to communicate with iSCSI targets.

snapshotId string

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

sourceVolumeArn 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.

tags {[key: string]: string}

Key-value map of resource tags

targetArn 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.

targetName 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.

volumeArn string

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

volumeId string

Volume ID, e.g. vol-12345678.

volumeSizeInBytes number

The size of the volume in bytes.

arn str

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

chap_enabled bool

Whether mutual CHAP is enabled for the iSCSI target.

gateway_arn str

The Amazon Resource Name (ARN) of the gateway.

lun_number float

Logical disk number.

network_interface_id str

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

network_interface_port float

The port used to communicate with iSCSI targets.

snapshot_id str

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

source_volume_arn str

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.

tags Dict[str, str]

Key-value map of resource tags

target_arn str

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

target_name str

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.

volume_arn str

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

volume_id str

Volume ID, e.g. vol-12345678.

volume_size_in_bytes float

The size of the volume in bytes.

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.