getCapacityBlockReservation function
Future<GetCapacityBlockReservationResult>
getCapacityBlockReservation(
- GetCapacityBlockReservationArgs args, {
- InvokeOptions? options,
Information about an existing EC2 Capacity Block reservation.
This data source returns only Capacity Reservations whose reservationType is capacity-block. Use the aws.ec2.CapacityReservation data source to look up On-Demand Capacity Reservations (ODCR).
At least one of id or filter must be specified. Filter combinations that match multiple Capacity Block reservations will return an error.
Example Usage
Lookup by ID
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.ec2.getCapacityBlockReservation({
id: "cr-0123456789abcdef0",
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.get_capacity_block_reservation(id="cr-0123456789abcdef0")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = Aws.Ec2.GetCapacityBlockReservation.Invoke(new()
{
Id = "cr-0123456789abcdef0",
});
});
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.LookupCapacityBlockReservation(ctx, &ec2.LookupCapacityBlockReservationArgs{
Id: pulumi.StringRef("cr-0123456789abcdef0"),
}, nil)
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
data "aws_ec2_getcapacityblockreservation" "example" {
id = "cr-0123456789abcdef0"
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetCapacityBlockReservationArgs;
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) {
final var example = Ec2Functions.getCapacityBlockReservation(GetCapacityBlockReservationArgs.builder()
.id("cr-0123456789abcdef0")
.build());
}
}
variables:
example:
fn::invoke:
function: aws:ec2:getCapacityBlockReservation
arguments:
id: cr-0123456789abcdef0
Lookup by filter
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.ec2.getCapacityBlockReservation({
filters: [
{
name: "instance-type",
values: ["p4d.24xlarge"],
},
{
name: "state",
values: ["active"],
},
],
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.get_capacity_block_reservation(filters=[
{
"name": "instance-type",
"values": ["p4d.24xlarge"],
},
{
"name": "state",
"values": ["active"],
},
])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = Aws.Ec2.GetCapacityBlockReservation.Invoke(new()
{
Filters = new[]
{
new Aws.Ec2.Inputs.GetCapacityBlockReservationFilterInputArgs
{
Name = "instance-type",
Values = new[]
{
"p4d.24xlarge",
},
},
new Aws.Ec2.Inputs.GetCapacityBlockReservationFilterInputArgs
{
Name = "state",
Values = new[]
{
"active",
},
},
},
});
});
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.LookupCapacityBlockReservation(ctx, &ec2.LookupCapacityBlockReservationArgs{
Filters: []ec2.GetCapacityBlockReservationFilter{
{
Name: "instance-type",
Values: []string{
"p4d.24xlarge",
},
},
{
Name: "state",
Values: []string{
"active",
},
},
},
}, nil)
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
data "aws_ec2_getcapacityblockreservation" "example" {
filters {
name = "instance-type"
values = ["p4d.24xlarge"]
}
filters {
name = "state"
values = ["active"]
}
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetCapacityBlockReservationArgs;
import com.pulumi.aws.ec2.inputs.GetCapacityBlockReservationFilterArgs;
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) {
final var example = Ec2Functions.getCapacityBlockReservation(GetCapacityBlockReservationArgs.builder()
.filters(
GetCapacityBlockReservationFilterArgs.builder()
.name("instance-type")
.values("p4d.24xlarge")
.build(),
GetCapacityBlockReservationFilterArgs.builder()
.name("state")
.values("active")
.build())
.build());
}
}
variables:
example:
fn::invoke:
function: aws:ec2:getCapacityBlockReservation
arguments:
filters:
- name: instance-type
values:
- p4d.24xlarge
- name: state
values:
- active
Lookup by tag
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.ec2.getCapacityBlockReservation({
filters: [{
name: "tag:Project",
values: ["ml-training"],
}],
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.get_capacity_block_reservation(filters=[{
"name": "tag:Project",
"values": ["ml-training"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = Aws.Ec2.GetCapacityBlockReservation.Invoke(new()
{
Filters = new[]
{
new Aws.Ec2.Inputs.GetCapacityBlockReservationFilterInputArgs
{
Name = "tag:Project",
Values = new[]
{
"ml-training",
},
},
},
});
});
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.LookupCapacityBlockReservation(ctx, &ec2.LookupCapacityBlockReservationArgs{
Filters: []ec2.GetCapacityBlockReservationFilter{
{
Name: "tag:Project",
Values: []string{
"ml-training",
},
},
},
}, nil)
if err != nil {
return err
}
return nil
})
}
pulumi {
required_providers {
aws = {
source = "pulumi/aws"
}
}
}
data "aws_ec2_getcapacityblockreservation" "example" {
filters {
name = "tag:Project"
values = ["ml-training"]
}
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetCapacityBlockReservationArgs;
import com.pulumi.aws.ec2.inputs.GetCapacityBlockReservationFilterArgs;
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) {
final var example = Ec2Functions.getCapacityBlockReservation(GetCapacityBlockReservationArgs.builder()
.filters(GetCapacityBlockReservationFilterArgs.builder()
.name("tag:Project")
.values("ml-training")
.build())
.build());
}
}
variables:
example:
fn::invoke:
function: aws:ec2:getCapacityBlockReservation
arguments:
filters:
- name: tag:Project
values:
- ml-training
args Arguments passed to this invoke. Arguments for getCapacityBlockReservation.
options Invoke options controlling this call.
Implementation
Future<GetCapacityBlockReservationResult> getCapacityBlockReservation(
GetCapacityBlockReservationArgs args, {
pulumi.InvokeOptions? options,
}) async {
final deployment = pulumi.Deployment.instance;
final result = await deployment.invoke<Map<String, dynamic>>(
'aws:ec2/getCapacityBlockReservation:getCapacityBlockReservation',
args.toMap(),
options: pulumi.toDeploymentInvokeOptions(options),
);
return GetCapacityBlockReservationResult.fromMap(result);
}