CapacityReservation class

Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const _default = new aws.ec2.CapacityReservation("default", {
    instanceType: aws.ec2.InstanceType.T2_Micro,
    instancePlatform: aws.ec2.InstancePlatform.LinuxUnix,
    availabilityZone: "eu-west-1a",
    instanceCount: 1,
});
import pulumi
import pulumi_aws as aws

default = aws.ec2.CapacityReservation("default",
    instance_type=aws.ec2.InstanceType.T2_MICRO,
    instance_platform=aws.ec2.InstancePlatform.LINUX_UNIX,
    availability_zone="eu-west-1a",
    instance_count=1)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() =>
{
    var @default = new Aws.Ec2.CapacityReservation("default", new()
    {
        InstanceType = Aws.Ec2.InstanceType.T2_Micro,
        InstancePlatform = Aws.Ec2.InstancePlatform.LinuxUnix,
        AvailabilityZone = "eu-west-1a",
        InstanceCount = 1,
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ec2.NewCapacityReservation(ctx, "default", &ec2.CapacityReservationArgs{
			InstanceType:     pulumi.String(ec2.InstanceType_T2_Micro),
			InstancePlatform: pulumi.String(ec2.InstancePlatformLinuxUnix),
			AvailabilityZone: pulumi.String("eu-west-1a"),
			InstanceCount:    pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

resource "aws_ec2_capacityreservation" "default" {
  instance_type     = "t2.micro"
  instance_platform = "Linux/UNIX"
  availability_zone = "eu-west-1a"
  instance_count    = 1
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.CapacityReservation;
import com.pulumi.aws.ec2.CapacityReservationArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 CapacityReservation("default", CapacityReservationArgs.builder()
            .instanceType("t2.micro")
            .instancePlatform("Linux/UNIX")
            .availabilityZone("eu-west-1a")
            .instanceCount(1)
            .build());

    }
}
resources:
  default:
    type: aws:ec2:CapacityReservation
    properties:
      instanceType: t2.micro
      instancePlatform: Linux/UNIX
      availabilityZone: eu-west-1a
      instanceCount: 1

Import

Using pulumi import, import Capacity Reservations using the id. For example:

$ pulumi import aws:ec2/capacityReservation:CapacityReservation web cr-0123456789abcdef0

Constructors

CapacityReservation(String name, {CapacityReservationArgs? args, CustomResourceOptions? options})
Creates a new CapacityReservation. name The Pulumi resource name. args Arguments used to configure this CapacityReservation. The set of arguments for CapacityReservation. options Resource options controlling this resource's behavior.
CapacityReservation.reference(String urn)
Creates a typed reference to an existing CapacityReservation resource.

Properties

arn ↔ Output<String>
The ARN of the Capacity Reservation.
latefinal
availabilityZone ↔ Output<String>
The Availability Zone in which to create the Capacity Reservation.
latefinal
childResources Set<Resource>
finalinherited
completionSources Map<String, IOutputCompletionSource>
latefinalinherited
ebsOptimized ↔ Output<bool?>
Indicates whether the Capacity Reservation supports EBS-optimized instances.
latefinal
endDate ↔ Output<String?>
The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
latefinal
endDateType ↔ Output<String?>
Indicates the way in which the Capacity Reservation ends. Specify either unlimited or limited.
latefinal
ephemeralStorage ↔ Output<bool?>
Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.
latefinal
hashCode int
The hash code for this object.
no setterinherited
id ↔ Output<String>
getter/setter pairinherited
instanceCount ↔ Output<int>
The number of instances for which to reserve capacity.
latefinal
instanceMatchCriteria ↔ Output<String?>
Indicates the type of instance launches that the Capacity Reservation accepts. Specify either open or targeted.
latefinal
instancePlatform ↔ Output<String>
The type of operating system for which to reserve capacity. Valid options are Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard or Windows with SQL Server Web.
latefinal
instanceType ↔ Output<String>
The instance type for which to reserve capacity.
latefinal
isCustom bool
Returns whether this resource is provider-managed.
no setterinherited
isProtected bool
Returns whether this resource is protected from deletion.
no setterinherited
isRemote bool
Whether this resource is registered as remote.
no setterinherited
isResourceReference bool
Whether this instance represents a resource value returned over RPC.
finalinherited
outpostArn ↔ Output<String?>
ARN of the Outpost on which to create the Capacity Reservation.
latefinal
ownerId ↔ Output<String>
The ID of the AWS account that owns the Capacity Reservation.
latefinal
placementGroupArn ↔ Output<String?>
ARN of the cluster placement group in which to create the Capacity Reservation.
latefinal
region ↔ Output<String>
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
resourceTransforms List<ResourceTransform>
Inherited/explicit async transforms.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
tags ↔ Output<Map<String, String>?>
A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
latefinal
tagsAll ↔ Output<Map<String, String>>
A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block
latefinal
tenancy ↔ Output<String?>
Indicates the tenancy of the Capacity Reservation. Specify either default or dedicated.
latefinal
transformations List<ResourceTransformation>
Inherited/explicit legacy transformations.
no setterinherited
urn ↔ Output<String>
latefinalinherited

Methods

failId(Object error) → void
Completes this resource ID with an error when registration fails.
inherited
failOutputs(Object error) → void
Completes all output properties with error.
inherited
failUrn(Object error) → void
Completes this resource URN with an error when registration fails.
inherited
getProvider(String moduleMember) → ProviderResource?
Returns provider for moduleMember's package, if configured.
inherited
getResourceName() String
Returns this resource's logical name.
inherited
getResourceType() String
Returns this resource's Pulumi type token.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerOutput<T>(String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output<T>
Registers a dynamic output property for this resource.
inherited
resolveId(String? value, {required bool isKnown}) → void
Resolves the provider-assigned ID for this resource.
inherited
resolveOutputs(Struct outputs) → void
Resolves all output properties from a monitor response payload.
inherited
resolveUrn(String value) → void
Resolves this resource's URN once assigned by the engine.
inherited
serializeProperties(Map<String, dynamic> properties) Future<Struct>
Serializes resource properties for RPC transmission.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

get(String name, Input<String> id, {CapacityReservationState? state, CustomResourceOptions? options}) CapacityReservation
Gets an existing CapacityReservation resource's state with the given name and id.