Ami From Instance Args
The "AMI from instance" resource allows the creation of an Amazon Machine Image (AMI) modeled after an existing EBS-backed EC2 instance. The created AMI will refer to implicitly-created snapshots of the instance's EBS volumes and mimick its assigned block device configuration at the time the resource is created. This resource is best applied to an instance that is stopped when this instance is created, so that the contents of the created image are predictable. When applied to an instance that is running, the instance will be stopped before taking the snapshots and then started back up again, resulting in a period of downtime. Note that the source instance is inspected only at the initial creation of this resource. Ongoing updates to the referenced instance will not be propagated into the generated AMI. Users may taint or otherwise recreate the resource in order to produce a fresh snapshot.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.AmiFromInstance("example", {
name: "example",
sourceInstanceId: "i-xxxxxxxx",
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.AmiFromInstance("example",
name="example",
source_instance_id="i-xxxxxxxx")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Ec2.AmiFromInstance("example", new()
{
Name = "example",
SourceInstanceId = "i-xxxxxxxx",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ec2.NewAmiFromInstance(ctx, "example", &ec2.AmiFromInstanceArgs{
Name: pulumi.String("example"),
SourceInstanceId: pulumi.String("i-xxxxxxxx"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.AmiFromInstance;
import com.pulumi.aws.ec2.AmiFromInstanceArgs;
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 AmiFromInstance("example", AmiFromInstanceArgs.builder()
.name("example")
.sourceInstanceId("i-xxxxxxxx")
.build());
}
}
resources:
example:
type: aws:ec2:AmiFromInstance
properties:
name: example
sourceInstanceId: i-xxxxxxxx
Constructors
Properties
Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ
)
Longer, human-readable description for the AMI.
Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
Boolean that overrides the behavior of stopping the instance before snapshotting. This is risky since it may cause a snapshot of an inconsistent filesystem state, but can be used to avoid downtime if the user otherwise guarantees that no filesystem writes will be underway at the time of snapshot.
ID of the instance to use as the basis of the AMI.