Caches Iscsi Volume
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 theaws.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 asUPLOAD BUFFER NOT CONFIGURED
.
Example Usage
NOTE: These examples are referencing the
aws.storagegateway.Cache
resourcegateway_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. viadepends_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
Whether mutual CHAP is enabled for the iSCSI target.
The Amazon Resource Name (ARN) of the gateway.
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.
The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.
The port used to communicate with iSCSI targets.
The snapshot ID of the snapshot to restore as the new cached volumeE.g., snap-1122aabb
.
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.
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.
The size of the volume in bytes.