Snapshot Copy
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
Properties
Link copied to clipboard
The data encryption key identifier for the snapshot.
Link copied to clipboard
A description of what the snapshot is.
Link copied to clipboard
Link copied to clipboard
Value from an Amazon-maintained list (amazon
, aws-marketplace
, microsoft
) of snapshot owners.
Link copied to clipboard
Indicates whether to permanently restore an archived snapshot.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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.
Link copied to clipboard
The size of the drive in GiBs.