Spot Datafeed Subscription
Note: There is only a single subscription allowed per account. To help you understand the charges for your Spot instances, Amazon EC2 provides a data feed that describes your Spot instance usage and pricing. This data feed is sent to an Amazon S3 bucket that you specify when you subscribe to the data feed.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const _default = new aws.s3.BucketV2("default", {bucket: "tf-spot-datafeed"});
const defaultSpotDatafeedSubscription = new aws.ec2.SpotDatafeedSubscription("default", {
bucket: _default.id,
prefix: "my_subdirectory",
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
default = aws.s3.BucketV2("default", bucket="tf-spot-datafeed")
default_spot_datafeed_subscription = aws.ec2.SpotDatafeedSubscription("default",
bucket=default.id,
prefix="my_subdirectory")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var @default = new Aws.S3.BucketV2("default", new()
{
Bucket = "tf-spot-datafeed",
});
var defaultSpotDatafeedSubscription = new Aws.Ec2.SpotDatafeedSubscription("default", new()
{
Bucket = @default.Id,
Prefix = "my_subdirectory",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := s3.NewBucketV2(ctx, "default", &s3.BucketV2Args{
Bucket: pulumi.String("tf-spot-datafeed"),
})
if err != nil {
return err
}
_, err = ec2.NewSpotDatafeedSubscription(ctx, "default", &ec2.SpotDatafeedSubscriptionArgs{
Bucket: _default.ID(),
Prefix: pulumi.String("my_subdirectory"),
})
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.s3.BucketV2;
import com.pulumi.aws.s3.BucketV2Args;
import com.pulumi.aws.ec2.SpotDatafeedSubscription;
import com.pulumi.aws.ec2.SpotDatafeedSubscriptionArgs;
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 default_ = new BucketV2("default", BucketV2Args.builder()
.bucket("tf-spot-datafeed")
.build());
var defaultSpotDatafeedSubscription = new SpotDatafeedSubscription("defaultSpotDatafeedSubscription", SpotDatafeedSubscriptionArgs.builder()
.bucket(default_.id())
.prefix("my_subdirectory")
.build());
}
}
Content copied to clipboard
resources:
default:
type: aws:s3:BucketV2
properties:
bucket: tf-spot-datafeed
defaultSpotDatafeedSubscription:
type: aws:ec2:SpotDatafeedSubscription
name: default
properties:
bucket: ${default.id}
prefix: my_subdirectory
Content copied to clipboard
Import
Using pulumi import
, import a Spot Datafeed Subscription using the word spot-datafeed-subscription
. For example:
$ pulumi import aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription mysubscription spot-datafeed-subscription
Content copied to clipboard