aws logo
AWS Classic v5.41.0, May 15 23

aws.ebs.getVolume

Explore with Pulumi AI

Use this data source to get information about an EBS volume for use in other resources.

Example Usage

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var ebsVolume = Aws.Ebs.GetVolume.Invoke(new()
    {
        Filters = new[]
        {
            new Aws.Ebs.Inputs.GetVolumeFilterInputArgs
            {
                Name = "volume-type",
                Values = new[]
                {
                    "gp2",
                },
            },
            new Aws.Ebs.Inputs.GetVolumeFilterInputArgs
            {
                Name = "tag:Name",
                Values = new[]
                {
                    "Example",
                },
            },
        },
        MostRecent = true,
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ebs"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ebs.LookupVolume(ctx, &ebs.LookupVolumeArgs{
			Filters: []ebs.GetVolumeFilter{
				{
					Name: "volume-type",
					Values: []string{
						"gp2",
					},
				},
				{
					Name: "tag:Name",
					Values: []string{
						"Example",
					},
				},
			},
			MostRecent: pulumi.BoolRef(true),
		}, nil)
		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.ebs.EbsFunctions;
import com.pulumi.aws.ebs.inputs.GetVolumeArgs;
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) {
        final var ebsVolume = EbsFunctions.getVolume(GetVolumeArgs.builder()
            .filters(            
                GetVolumeFilterArgs.builder()
                    .name("volume-type")
                    .values("gp2")
                    .build(),
                GetVolumeFilterArgs.builder()
                    .name("tag:Name")
                    .values("Example")
                    .build())
            .mostRecent(true)
            .build());

    }
}
import pulumi
import pulumi_aws as aws

ebs_volume = aws.ebs.get_volume(filters=[
        aws.ebs.GetVolumeFilterArgs(
            name="volume-type",
            values=["gp2"],
        ),
        aws.ebs.GetVolumeFilterArgs(
            name="tag:Name",
            values=["Example"],
        ),
    ],
    most_recent=True)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const ebsVolume = aws.ebs.getVolume({
    filters: [
        {
            name: "volume-type",
            values: ["gp2"],
        },
        {
            name: "tag:Name",
            values: ["Example"],
        },
    ],
    mostRecent: true,
});
variables:
  ebsVolume:
    fn::invoke:
      Function: aws:ebs:getVolume
      Arguments:
        filters:
          - name: volume-type
            values:
              - gp2
          - name: tag:Name
            values:
              - Example
        mostRecent: true

Using getVolume

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getVolume(args: GetVolumeArgs, opts?: InvokeOptions): Promise<GetVolumeResult>
function getVolumeOutput(args: GetVolumeOutputArgs, opts?: InvokeOptions): Output<GetVolumeResult>
def get_volume(filters: Optional[Sequence[GetVolumeFilter]] = None,
               most_recent: Optional[bool] = None,
               tags: Optional[Mapping[str, str]] = None,
               opts: Optional[InvokeOptions] = None) -> GetVolumeResult
def get_volume_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetVolumeFilterArgs]]]] = None,
               most_recent: Optional[pulumi.Input[bool]] = None,
               tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
               opts: Optional[InvokeOptions] = None) -> Output[GetVolumeResult]
func LookupVolume(ctx *Context, args *LookupVolumeArgs, opts ...InvokeOption) (*LookupVolumeResult, error)
func LookupVolumeOutput(ctx *Context, args *LookupVolumeOutputArgs, opts ...InvokeOption) LookupVolumeResultOutput

> Note: This function is named LookupVolume in the Go SDK.

public static class GetVolume 
{
    public static Task<GetVolumeResult> InvokeAsync(GetVolumeArgs args, InvokeOptions? opts = null)
    public static Output<GetVolumeResult> Invoke(GetVolumeInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetVolumeResult> getVolume(GetVolumeArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: aws:ebs/getVolume:getVolume
  arguments:
    # arguments dictionary

The following arguments are supported:

Filters List<GetVolumeFilter>

One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out [describe-volumes in the AWS CLI reference][1].

MostRecent bool

If more than one result is returned, use the most recent Volume.

Tags Dictionary<string, string>

Map of tags for the resource.

Filters []GetVolumeFilter

One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out [describe-volumes in the AWS CLI reference][1].

MostRecent bool

If more than one result is returned, use the most recent Volume.

Tags map[string]string

Map of tags for the resource.

filters List<GetVolumeFilter>

One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out [describe-volumes in the AWS CLI reference][1].

mostRecent Boolean

If more than one result is returned, use the most recent Volume.

tags Map<String,String>

Map of tags for the resource.

filters GetVolumeFilter[]

One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out [describe-volumes in the AWS CLI reference][1].

mostRecent boolean

If more than one result is returned, use the most recent Volume.

tags {[key: string]: string}

Map of tags for the resource.

filters Sequence[GetVolumeFilter]

One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out [describe-volumes in the AWS CLI reference][1].

most_recent bool

If more than one result is returned, use the most recent Volume.

tags Mapping[str, str]

Map of tags for the resource.

filters List<Property Map>

One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out [describe-volumes in the AWS CLI reference][1].

mostRecent Boolean

If more than one result is returned, use the most recent Volume.

tags Map<String>

Map of tags for the resource.

getVolume Result

The following output properties are available:

Arn string

Volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).

AvailabilityZone string

AZ where the EBS volume exists.

Encrypted bool

Whether the disk is encrypted.

Id string

The provider-assigned unique ID for this managed resource.

Iops int

Amount of IOPS for the disk.

KmsKeyId string

ARN for the KMS encryption key.

MultiAttachEnabled bool

(Optional) Specifies whether Amazon EBS Multi-Attach is enabled.

OutpostArn string

ARN of the Outpost.

Size int

Size of the drive in GiBs.

SnapshotId string

Snapshot_id the EBS volume is based off.

Tags Dictionary<string, string>

Map of tags for the resource.

Throughput int

Throughput that the volume supports, in MiB/s.

VolumeId string

Volume ID (e.g., vol-59fcb34e).

VolumeType string

Type of EBS volume.

Filters List<GetVolumeFilter>
MostRecent bool
Arn string

Volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).

AvailabilityZone string

AZ where the EBS volume exists.

Encrypted bool

Whether the disk is encrypted.

Id string

The provider-assigned unique ID for this managed resource.

Iops int

Amount of IOPS for the disk.

KmsKeyId string

ARN for the KMS encryption key.

MultiAttachEnabled bool

(Optional) Specifies whether Amazon EBS Multi-Attach is enabled.

OutpostArn string

ARN of the Outpost.

Size int

Size of the drive in GiBs.

SnapshotId string

Snapshot_id the EBS volume is based off.

Tags map[string]string

Map of tags for the resource.

Throughput int

Throughput that the volume supports, in MiB/s.

VolumeId string

Volume ID (e.g., vol-59fcb34e).

VolumeType string

Type of EBS volume.

Filters []GetVolumeFilter
MostRecent bool
arn String

Volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).

availabilityZone String

AZ where the EBS volume exists.

encrypted Boolean

Whether the disk is encrypted.

id String

The provider-assigned unique ID for this managed resource.

iops Integer

Amount of IOPS for the disk.

kmsKeyId String

ARN for the KMS encryption key.

multiAttachEnabled Boolean

(Optional) Specifies whether Amazon EBS Multi-Attach is enabled.

outpostArn String

ARN of the Outpost.

size Integer

Size of the drive in GiBs.

snapshotId String

Snapshot_id the EBS volume is based off.

tags Map<String,String>

Map of tags for the resource.

throughput Integer

Throughput that the volume supports, in MiB/s.

volumeId String

Volume ID (e.g., vol-59fcb34e).

volumeType String

Type of EBS volume.

filters List<GetVolumeFilter>
mostRecent Boolean
arn string

Volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).

availabilityZone string

AZ where the EBS volume exists.

encrypted boolean

Whether the disk is encrypted.

id string

The provider-assigned unique ID for this managed resource.

iops number

Amount of IOPS for the disk.

kmsKeyId string

ARN for the KMS encryption key.

multiAttachEnabled boolean

(Optional) Specifies whether Amazon EBS Multi-Attach is enabled.

outpostArn string

ARN of the Outpost.

size number

Size of the drive in GiBs.

snapshotId string

Snapshot_id the EBS volume is based off.

tags {[key: string]: string}

Map of tags for the resource.

throughput number

Throughput that the volume supports, in MiB/s.

volumeId string

Volume ID (e.g., vol-59fcb34e).

volumeType string

Type of EBS volume.

filters GetVolumeFilter[]
mostRecent boolean
arn str

Volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).

availability_zone str

AZ where the EBS volume exists.

encrypted bool

Whether the disk is encrypted.

id str

The provider-assigned unique ID for this managed resource.

iops int

Amount of IOPS for the disk.

kms_key_id str

ARN for the KMS encryption key.

multi_attach_enabled bool

(Optional) Specifies whether Amazon EBS Multi-Attach is enabled.

outpost_arn str

ARN of the Outpost.

size int

Size of the drive in GiBs.

snapshot_id str

Snapshot_id the EBS volume is based off.

tags Mapping[str, str]

Map of tags for the resource.

throughput int

Throughput that the volume supports, in MiB/s.

volume_id str

Volume ID (e.g., vol-59fcb34e).

volume_type str

Type of EBS volume.

filters Sequence[GetVolumeFilter]
most_recent bool
arn String

Volume ARN (e.g., arn:aws:ec2:us-east-1:0123456789012:volume/vol-59fcb34e).

availabilityZone String

AZ where the EBS volume exists.

encrypted Boolean

Whether the disk is encrypted.

id String

The provider-assigned unique ID for this managed resource.

iops Number

Amount of IOPS for the disk.

kmsKeyId String

ARN for the KMS encryption key.

multiAttachEnabled Boolean

(Optional) Specifies whether Amazon EBS Multi-Attach is enabled.

outpostArn String

ARN of the Outpost.

size Number

Size of the drive in GiBs.

snapshotId String

Snapshot_id the EBS volume is based off.

tags Map<String>

Map of tags for the resource.

throughput Number

Throughput that the volume supports, in MiB/s.

volumeId String

Volume ID (e.g., vol-59fcb34e).

volumeType String

Type of EBS volume.

filters List<Property Map>
mostRecent Boolean

Supporting Types

GetVolumeFilter

Name string
Values List<string>
Name string
Values []string
name String
values List<String>
name string
values string[]
name str
values Sequence[str]
name String
values List<String>

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.