1. Packages
  2. AWS
  3. API Docs
  4. ebs
  5. getSnapshotIds
AWS v6.76.0 published on Tuesday, Apr 8, 2025 by Pulumi

aws.ebs.getSnapshotIds

Explore with Pulumi AI

AWS v6.76.0 published on Tuesday, Apr 8, 2025 by Pulumi

Use this data source to get a list of EBS Snapshot IDs matching the specified criteria.

Example Usage

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

const ebsVolumes = aws.ebs.getSnapshotIds({
    owners: ["self"],
    filters: [
        {
            name: "volume-size",
            values: ["40"],
        },
        {
            name: "tag:Name",
            values: ["Example"],
        },
    ],
});
Copy
import pulumi
import pulumi_aws as aws

ebs_volumes = aws.ebs.get_snapshot_ids(owners=["self"],
    filters=[
        {
            "name": "volume-size",
            "values": ["40"],
        },
        {
            "name": "tag:Name",
            "values": ["Example"],
        },
    ])
Copy
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ebs.GetSnapshotIds(ctx, &ebs.GetSnapshotIdsArgs{
			Owners: []string{
				"self",
			},
			Filters: []ebs.GetSnapshotIdsFilter{
				{
					Name: "volume-size",
					Values: []string{
						"40",
					},
				},
				{
					Name: "tag:Name",
					Values: []string{
						"Example",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var ebsVolumes = Aws.Ebs.GetSnapshotIds.Invoke(new()
    {
        Owners = new[]
        {
            "self",
        },
        Filters = new[]
        {
            new Aws.Ebs.Inputs.GetSnapshotIdsFilterInputArgs
            {
                Name = "volume-size",
                Values = new[]
                {
                    "40",
                },
            },
            new Aws.Ebs.Inputs.GetSnapshotIdsFilterInputArgs
            {
                Name = "tag:Name",
                Values = new[]
                {
                    "Example",
                },
            },
        },
    });

});
Copy
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.GetSnapshotIdsArgs;
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 ebsVolumes = EbsFunctions.getSnapshotIds(GetSnapshotIdsArgs.builder()
            .owners("self")
            .filters(            
                GetSnapshotIdsFilterArgs.builder()
                    .name("volume-size")
                    .values("40")
                    .build(),
                GetSnapshotIdsFilterArgs.builder()
                    .name("tag:Name")
                    .values("Example")
                    .build())
            .build());

    }
}
Copy
variables:
  ebsVolumes:
    fn::invoke:
      function: aws:ebs:getSnapshotIds
      arguments:
        owners:
          - self
        filters:
          - name: volume-size
            values:
              - '40'
          - name: tag:Name
            values:
              - Example
Copy

Using getSnapshotIds

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 getSnapshotIds(args: GetSnapshotIdsArgs, opts?: InvokeOptions): Promise<GetSnapshotIdsResult>
function getSnapshotIdsOutput(args: GetSnapshotIdsOutputArgs, opts?: InvokeOptions): Output<GetSnapshotIdsResult>
Copy
def get_snapshot_ids(filters: Optional[Sequence[GetSnapshotIdsFilter]] = None,
                     owners: Optional[Sequence[str]] = None,
                     restorable_by_user_ids: Optional[Sequence[str]] = None,
                     opts: Optional[InvokeOptions] = None) -> GetSnapshotIdsResult
def get_snapshot_ids_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetSnapshotIdsFilterArgs]]]] = None,
                     owners: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                     restorable_by_user_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                     opts: Optional[InvokeOptions] = None) -> Output[GetSnapshotIdsResult]
Copy
func GetSnapshotIds(ctx *Context, args *GetSnapshotIdsArgs, opts ...InvokeOption) (*GetSnapshotIdsResult, error)
func GetSnapshotIdsOutput(ctx *Context, args *GetSnapshotIdsOutputArgs, opts ...InvokeOption) GetSnapshotIdsResultOutput
Copy

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

public static class GetSnapshotIds 
{
    public static Task<GetSnapshotIdsResult> InvokeAsync(GetSnapshotIdsArgs args, InvokeOptions? opts = null)
    public static Output<GetSnapshotIdsResult> Invoke(GetSnapshotIdsInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetSnapshotIdsResult> getSnapshotIds(GetSnapshotIdsArgs args, InvokeOptions options)
public static Output<GetSnapshotIdsResult> getSnapshotIds(GetSnapshotIdsArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: aws:ebs/getSnapshotIds:getSnapshotIds
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Filters List<GetSnapshotIdsFilter>
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].
Owners List<string>
Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
RestorableByUserIds List<string>
One or more AWS accounts IDs that can create volumes from the snapshot.
Filters []GetSnapshotIdsFilter
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].
Owners []string
Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
RestorableByUserIds []string
One or more AWS accounts IDs that can create volumes from the snapshot.
filters List<GetSnapshotIdsFilter>
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].
owners List<String>
Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
restorableByUserIds List<String>
One or more AWS accounts IDs that can create volumes from the snapshot.
filters GetSnapshotIdsFilter[]
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].
owners string[]
Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
restorableByUserIds string[]
One or more AWS accounts IDs that can create volumes from the snapshot.
filters Sequence[GetSnapshotIdsFilter]
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].
owners Sequence[str]
Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
restorable_by_user_ids Sequence[str]
One or more AWS accounts IDs that can create volumes from the snapshot.
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].
owners List<String>
Returns the snapshots owned by the specified owner id. Multiple owners can be specified.
restorableByUserIds List<String>
One or more AWS accounts IDs that can create volumes from the snapshot.

getSnapshotIds Result

The following output properties are available:

Id string
The provider-assigned unique ID for this managed resource.
Ids List<string>
Set of EBS snapshot IDs, sorted by creation time in descending order.
Filters List<GetSnapshotIdsFilter>
Owners List<string>
RestorableByUserIds List<string>
Id string
The provider-assigned unique ID for this managed resource.
Ids []string
Set of EBS snapshot IDs, sorted by creation time in descending order.
Filters []GetSnapshotIdsFilter
Owners []string
RestorableByUserIds []string
id String
The provider-assigned unique ID for this managed resource.
ids List<String>
Set of EBS snapshot IDs, sorted by creation time in descending order.
filters List<GetSnapshotIdsFilter>
owners List<String>
restorableByUserIds List<String>
id string
The provider-assigned unique ID for this managed resource.
ids string[]
Set of EBS snapshot IDs, sorted by creation time in descending order.
filters GetSnapshotIdsFilter[]
owners string[]
restorableByUserIds string[]
id str
The provider-assigned unique ID for this managed resource.
ids Sequence[str]
Set of EBS snapshot IDs, sorted by creation time in descending order.
filters Sequence[GetSnapshotIdsFilter]
owners Sequence[str]
restorable_by_user_ids Sequence[str]
id String
The provider-assigned unique ID for this managed resource.
ids List<String>
Set of EBS snapshot IDs, sorted by creation time in descending order.
filters List<Property Map>
owners List<String>
restorableByUserIds List<String>

Supporting Types

GetSnapshotIdsFilter

Name This property is required. string
Values This property is required. List<string>
Name This property is required. string
Values This property is required. []string
name This property is required. String
values This property is required. List<String>
name This property is required. string
values This property is required. string[]
name This property is required. str
values This property is required. Sequence[str]
name This property is required. String
values This property is required. 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.
AWS v6.76.0 published on Tuesday, Apr 8, 2025 by Pulumi