Snapshot Copy Args
data class SnapshotCopyArgs(val completionDurationMinutes: Output<Int>? = null, val description: Output<String>? = null, val encrypted: Output<Boolean>? = null, val kmsKeyId: Output<String>? = null, val permanentRestore: Output<Boolean>? = null, val sourceRegion: Output<String>? = null, val sourceSnapshotId: Output<String>? = null, val storageTier: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val temporaryRestoreDays: Output<Int>? = null) : ConvertibleToJava<SnapshotCopyArgs>
Creates a Snapshot of a snapshot.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ebs.Volume("example", {
availabilityZone: "us-west-2a",
size: 40,
tags: {
Name: "HelloWorld",
},
});
const exampleSnapshot = new aws.ebs.Snapshot("example_snapshot", {
volumeId: example.id,
tags: {
Name: "HelloWorld_snap",
},
});
const exampleCopy = new aws.ebs.SnapshotCopy("example_copy", {
sourceSnapshotId: exampleSnapshot.id,
sourceRegion: "us-west-2",
tags: {
Name: "HelloWorld_copy_snap",
},
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.ebs.Volume("example",
availability_zone="us-west-2a",
size=40,
tags={
"Name": "HelloWorld",
})
example_snapshot = aws.ebs.Snapshot("example_snapshot",
volume_id=example.id,
tags={
"Name": "HelloWorld_snap",
})
example_copy = aws.ebs.SnapshotCopy("example_copy",
source_snapshot_id=example_snapshot.id,
source_region="us-west-2",
tags={
"Name": "HelloWorld_copy_snap",
})
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Ebs.Volume("example", new()
{
AvailabilityZone = "us-west-2a",
Size = 40,
Tags =
{
{ "Name", "HelloWorld" },
},
});
var exampleSnapshot = new Aws.Ebs.Snapshot("example_snapshot", new()
{
VolumeId = example.Id,
Tags =
{
{ "Name", "HelloWorld_snap" },
},
});
var exampleCopy = new Aws.Ebs.SnapshotCopy("example_copy", new()
{
SourceSnapshotId = exampleSnapshot.Id,
SourceRegion = "us-west-2",
Tags =
{
{ "Name", "HelloWorld_copy_snap" },
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ebs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := ebs.NewVolume(ctx, "example", &ebs.VolumeArgs{
AvailabilityZone: pulumi.String("us-west-2a"),
Size: pulumi.Int(40),
Tags: pulumi.StringMap{
"Name": pulumi.String("HelloWorld"),
},
})
if err != nil {
return err
}
exampleSnapshot, err := ebs.NewSnapshot(ctx, "example_snapshot", &ebs.SnapshotArgs{
VolumeId: example.ID(),
Tags: pulumi.StringMap{
"Name": pulumi.String("HelloWorld_snap"),
},
})
if err != nil {
return err
}
_, err = ebs.NewSnapshotCopy(ctx, "example_copy", &ebs.SnapshotCopyArgs{
SourceSnapshotId: exampleSnapshot.ID(),
SourceRegion: pulumi.String("us-west-2"),
Tags: pulumi.StringMap{
"Name": pulumi.String("HelloWorld_copy_snap"),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ebs.Volume;
import com.pulumi.aws.ebs.VolumeArgs;
import com.pulumi.aws.ebs.Snapshot;
import com.pulumi.aws.ebs.SnapshotArgs;
import com.pulumi.aws.ebs.SnapshotCopy;
import com.pulumi.aws.ebs.SnapshotCopyArgs;
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 Volume("example", VolumeArgs.builder()
.availabilityZone("us-west-2a")
.size(40)
.tags(Map.of("Name", "HelloWorld"))
.build());
var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder()
.volumeId(example.id())
.tags(Map.of("Name", "HelloWorld_snap"))
.build());
var exampleCopy = new SnapshotCopy("exampleCopy", SnapshotCopyArgs.builder()
.sourceSnapshotId(exampleSnapshot.id())
.sourceRegion("us-west-2")
.tags(Map.of("Name", "HelloWorld_copy_snap"))
.build());
}
}
Content copied to clipboard
resources:
example:
type: aws:ebs:Volume
properties:
availabilityZone: us-west-2a
size: 40
tags:
Name: HelloWorld
exampleSnapshot:
type: aws:ebs:Snapshot
name: example_snapshot
properties:
volumeId: ${example.id}
tags:
Name: HelloWorld_snap
exampleCopy:
type: aws:ebs:SnapshotCopy
name: example_copy
properties:
sourceSnapshotId: ${exampleSnapshot.id}
sourceRegion: us-west-2
tags:
Name: HelloWorld_copy_snap
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(completionDurationMinutes: Output<Int>? = null, description: Output<String>? = null, encrypted: Output<Boolean>? = null, kmsKeyId: Output<String>? = null, permanentRestore: Output<Boolean>? = null, sourceRegion: Output<String>? = null, sourceSnapshotId: Output<String>? = null, storageTier: Output<String>? = null, tags: Output<Map<String, String>>? = null, temporaryRestoreDays: Output<Int>? = null)
Properties
Link copied to clipboard
Specifies a completion duration to initiate a time-based snapshot copy. Time-based snapshot copy operations complete within the specified duration. Value must be between 15 and 2880 minutes, in 15 minute increments only.
Link copied to clipboard
A description of what the snapshot is.
Link copied to clipboard
Indicates whether to permanently restore an archived snapshot.
Link copied to clipboard
The region of the source snapshot.
Link copied to clipboard
The ARN for the snapshot to be copied.
Link copied to clipboard
The name of the storage tier. Valid values are archive
and standard
. Default value is standard
.
Link copied to clipboard
Specifies the number of days for which to temporarily restore an archived snapshot. Required for temporary restores only. The snapshot will be automatically re-archived after this period.